SYNOPSIS¶
#include <ixp.h>
void ixp_pstrings(IxpMsg *msg, uint16_t *num, char *strings[], uint max);
DESCRIPTION¶
Packs or unpacks an array of UTF-8 encoded strings. The packed representation
consists of a 16-bit element count followed by an array of strings as packed
by ixp_pstring(3). The unpacked representation is an array of
nul-terminated character arrays.
If msg->mode is MsgPack, *num strings in the
array pointed to by strings are packed into the buffer at
msg->pos. If msg->mode is MsgUnpack, *num is
loaded with the number of strings unpacked, the array at *strings is
loaded with pointers to the unpacked strings, and
(*strings)[0] must be freed by the user. In either case,
msg->pos is advanced by the number of bytes read or written. If
the action would advance msg->pos beyond msg->end,
msg->pos is still advanced, but no other action is taken. If
*num is greater than max, msg->pos is set beyond
msg->end and no other action is taken.
SEE ALSO¶
IxpMsg, ixp_pstring, ixp_pdata