summaryrefslogtreecommitdiffstats
path: root/src/responder
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2013-11-07 11:04:13 +0100
committerJakub Hrozek <jhrozek@redhat.com>2013-11-15 20:38:08 +0100
commit4ecd8a3173b3564be0c5f762de0b07e2f189ad59 (patch)
treed51894f628a4b5e6b4afa9d84828f1c958771b92 /src/responder
parent9c83da3f27cb4473bd6bbc0167b471ed88acd842 (diff)
downloadsssd-4ecd8a3173b3564be0c5f762de0b07e2f189ad59.tar.gz
sssd-4ecd8a3173b3564be0c5f762de0b07e2f189ad59.tar.xz
sssd-4ecd8a3173b3564be0c5f762de0b07e2f189ad59.zip
Add sss_packet_get_status()
sss_packet_get_status() will currently only used to test if packets have the right status set.
Diffstat (limited to 'src/responder')
-rw-r--r--src/responder/common/responder_packet.c9
-rw-r--r--src/responder/common/responder_packet.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/responder/common/responder_packet.c b/src/responder/common/responder_packet.c
index 58e7cbfd2..1a201c15c 100644
--- a/src/responder/common/responder_packet.c
+++ b/src/responder/common/responder_packet.c
@@ -266,6 +266,15 @@ enum sss_cli_command sss_packet_get_cmd(struct sss_packet *packet)
return (enum sss_cli_command)cmd;
}
+uint32_t sss_packet_get_status(struct sss_packet *packet)
+{
+ uint32_t status;
+
+ SAFEALIGN_COPY_UINT32(&status, packet->buffer + SSS_PACKET_ERR_OFFSET,
+ NULL);
+ return status;
+}
+
void sss_packet_get_body(struct sss_packet *packet, uint8_t **body, size_t *blen)
{
*body = packet->buffer + SSS_PACKET_BODY_OFFSET;
diff --git a/src/responder/common/responder_packet.h b/src/responder/common/responder_packet.h
index 2bfdc8a32..3ad0eee28 100644
--- a/src/responder/common/responder_packet.h
+++ b/src/responder/common/responder_packet.h
@@ -37,6 +37,7 @@ int sss_packet_set_size(struct sss_packet *packet, size_t size);
int sss_packet_recv(struct sss_packet *packet, int fd);
int sss_packet_send(struct sss_packet *packet, int fd);
enum sss_cli_command sss_packet_get_cmd(struct sss_packet *packet);
+uint32_t sss_packet_get_status(struct sss_packet *packet);
void sss_packet_get_body(struct sss_packet *packet, uint8_t **body, size_t *blen);
void sss_packet_set_error(struct sss_packet *packet, int error);