X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcbuffmt.h;h=e50e45502ed7d306120ee210ac44009dfe928651;hb=48d89bc2868ec49c2ab9aa74efe9ac703eee8f29;hp=25834505cac375bb383907d7f1f81e8b512c4b79;hpb=10ec50cff8ad9d6a77080821037c1234dc066b47;p=silc.git diff --git a/lib/silcutil/silcbuffmt.h b/lib/silcutil/silcbuffmt.h index 25834505..e50e4550 100644 --- a/lib/silcutil/silcbuffmt.h +++ b/lib/silcutil/silcbuffmt.h @@ -26,6 +26,13 @@ _SI_ = signed _UI_ = unsigned + Any XXX_STRING_ALLOC types will allocate space for the data and + memcpy the data to the pointer sent as argument (in unformatting). + + Any XXX_STRING will not allocate or copy any data. Instead it + will set the pointer to the data. Note that the data pointer + returned (in unformatting) must not be freed. + */ typedef enum { SILC_BUFFER_PARAM_SI8_CHAR, @@ -37,16 +44,16 @@ typedef enum { SILC_BUFFER_PARAM_SI32_INT, SILC_BUFFER_PARAM_UI32_INT, - SILC_BUFFER_PARAM_UI16_STRING, - SILC_BUFFER_PARAM_UI16_STRING_ALLOC, - SILC_BUFFER_PARAM_UI32_STRING, - SILC_BUFFER_PARAM_UI32_STRING_ALLOC, - SILC_BUFFER_PARAM_UI16_NSTRING, - SILC_BUFFER_PARAM_UI16_NSTRING_ALLOC, - SILC_BUFFER_PARAM_UI32_NSTRING, - SILC_BUFFER_PARAM_UI32_NSTRING_ALLOC, - SILC_BUFFER_PARAM_UI_XNSTRING, - SILC_BUFFER_PARAM_UI_XNSTRING_ALLOC, + SILC_BUFFER_PARAM_UI16_STRING, /* No copy */ + SILC_BUFFER_PARAM_UI16_STRING_ALLOC, /* Alloc + memcpy */ + SILC_BUFFER_PARAM_UI32_STRING, /* No copy */ + SILC_BUFFER_PARAM_UI32_STRING_ALLOC, /* Alloc + memcpy */ + SILC_BUFFER_PARAM_UI16_NSTRING, /* No copy */ + SILC_BUFFER_PARAM_UI16_NSTRING_ALLOC, /* Alloc + memcpy */ + SILC_BUFFER_PARAM_UI32_NSTRING, /* No copy */ + SILC_BUFFER_PARAM_UI32_NSTRING_ALLOC, /* Alloc + memcpy */ + SILC_BUFFER_PARAM_UI_XNSTRING, /* No copy */ + SILC_BUFFER_PARAM_UI_XNSTRING_ALLOC, /* Alloc + memcpy */ SILC_BUFFER_PARAM_END } SilcBufferParamType;