main index

section index




/*-------------------------------------------------------------*/
/***************************************************************
 * A mixed string permits to represent data as a clear form    *
 * using hexadecimal and text.                                 *
 * Hexadecimal is used without "0x" or "0h"                    *
 * Text is included between apostrophes "'"                    *
 * The character ' is ''                                       *
 * For example :                                               *
 *   'hello' : data "hello"                                    *
 *   'a' 'b' : data "ab"                                       *
 *   41 'b'  : data "Ab" (because 'A'==0x41)                   *
 *   'man'00 : data "man" ending with 0x00                     *
 *   'a''b'  : data "a'b"                                      *
 * Real examples :                                             *
 *  'hello' 0D 0A 'this is after a newline'                    *
 *  'one' 09 'two' 0D 0A                                       *
 ***************************************************************/

/*-------------------------------------------------------------*/
typedef enum {
  NETWIB_DECODETYPE_DATA = 1,        /* exact data */
  NETWIB_DECODETYPE_HEXA,            /* hexadecimal */
  NETWIB_DECODETYPE_MIXED,           /* mixed */
  NETWIB_DECODETYPE_BASE64           /* base64 */
} netwib_decodetype;

/*-------------------------------------------------------------*/
/* Name : netwib_buf_decode
   Description :
     Append a decoded buffer.
   Input parameter(s) :
     *pbuftodecode : buffer to decode
     decodetype : decoding type
   Input/output parameter(s) :
     *pbuf : netwib_buf updated
   Output parameter(s) :
   Normal return values :
     NETWIB_ERR_OK : ok
*/
netwib_err netwib_buf_decode(netwib_constbuf *pbuftodecode,
                             netwib_decodetype decodetype,
                             netwib_buf *pbuf);





main index

section index