summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);