Splitted SILC core library. Core library includes now only
[silc.git] / lib / silccore / silcbuffmt.h
diff --git a/lib/silccore/silcbuffmt.h b/lib/silccore/silcbuffmt.h
deleted file mode 100644 (file)
index 6d9acae..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
-
-  silcbuffmt.h
-
-  Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
-
-  Copyright (C) 1997 - 2000 Pekka Riikonen
-
-  This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
-  
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-*/
-
-#ifndef SILCBUFFMT_H
-#define SILCBUFFMT_H
-
-/* Buffer parameter types.
-
-   _SI_ = signed
-   _UI_ = unsigned
-
-*/
-typedef enum {
-  SILC_BUFFER_PARAM_SI8_CHAR,
-  SILC_BUFFER_PARAM_UI8_CHAR,
-
-  SILC_BUFFER_PARAM_SI16_SHORT,
-  SILC_BUFFER_PARAM_UI16_SHORT,
-
-  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_END
-} SilcBufferParamType;
-
-/* Macros for expanding parameters into variable function argument list. 
-   These are passed to silc_buffer_format and silc_buffer_unformat 
-   functions. */
-
-/* One signed/unsigned character.
-
-   Formatting:    SILC_STR_SI_CHAR(char)
-                  SILC_STR_UI_CHAR(unsigned char)
-   Unformatting:  SILC_STR_SI_CHAR(char *)
-                  SILC_STR_UI_CHAR(unsigned char *)
-
-*/
-#define SILC_STR_SI_CHAR(x) SILC_BUFFER_PARAM_SI8_CHAR, (x)
-#define SILC_STR_UI_CHAR(x) SILC_BUFFER_PARAM_UI8_CHAR, (x)
-
-/* Signed/unsigned short. 
-
-   Formatting:    SILC_STR_SI_SHORT(short)
-                  SILC_STR_UI_SHORT(unsigned short)
-   Unformatting:  SILC_STR_SI_SHORT(short *)
-                  SILC_STR_UI_SHORT(unsigned short *)
-
-*/
-#define SILC_STR_SI_SHORT(x) SILC_BUFFER_PARAM_SI16_SHORT, (x)
-#define SILC_STR_UI_SHORT(x) SILC_BUFFER_PARAM_UI16_SHORT, (x)
-
-/* Signed/unsigned int. 
-
-   Formatting:    SILC_STR_SI_INT(int)
-                  SILC_STR_UI_INT(unsigned int)
-   Unformatting:  SILC_STR_SI_INT(int *)
-                  SILC_STR_UI_INT(unsigned int *)
-
-*/
-#define SILC_STR_SI_INT(x) SILC_BUFFER_PARAM_SI32_INT, (x)
-#define SILC_STR_UI_INT(x) SILC_BUFFER_PARAM_UI32_INT, (x)
-
-/* Unsigned NULL terminated string. Note that the string must be
-   NULL terminated because strlen() will be used to get the length of
-   the string. 
-
-   Formatting:    SILC_STR_UI32_STRING(unsigned char *)
-   Unformatting:  SILC_STR_UI32_STRING(unsigned char **)
-
-   Unformatting procedure will check for length of the string from the
-   buffer before trying to get the string out. Thus, one *must* format the
-   length as UI_INT or UI_SHORT into the buffer *before* formatting the 
-   actual string to the buffer, and, in unformatting one must ignore the 
-   length of the string because unformatting procedure will take it 
-   automatically.
-
-   Example:
-
-   Formatting:    ..., SILC_STR_UI_INT(strlen(string)), 
-                       SILC_STR_UI32_STRING(string), ...
-   Unformatting:  ..., SILC_STR_UI32_STRING(&string), ...
-
-   I.e., you ignore the formatted length field in unformatting. If you don't
-   the unformatting procedure might fail and it definitely does not unformat
-   the data reliably. 
-
-   _ALLOC routines automatically allocates memory for the variable sent 
-   as argument in unformatting.
-
-*/
-#define SILC_STR_UI16_STRING(x) SILC_BUFFER_PARAM_UI16_STRING, (x)
-#define SILC_STR_UI16_STRING_ALLOC(x) SILC_BUFFER_PARAM_UI16_STRING_ALLOC, (x)
-#define SILC_STR_UI32_STRING(x) SILC_BUFFER_PARAM_UI32_STRING, (x)
-#define SILC_STR_UI32_STRING_ALLOC(x) SILC_BUFFER_PARAM_UI32_STRING_ALLOC, (x)
-
-/* Unsigned string. Second argument is the length of the string.
-
-   Formatting:    SILC_STR_UI32_NSTRING(unsigned char *, unsigned int)
-   Unformatting:  SILC_STR_UI32_NSTRING(unsigned char **, unsigned int *)
-
-   Unformatting procedure will check for length of the string from the
-   buffer before trying to get the string out. Thus, one *must* format the
-   length as UI_INT or UI_SHORT into the buffer *before* formatting the 
-   actual string to the buffer, and, in unformatting one must ignore the 
-   length of the string because unformatting procedure will take it 
-   automatically.
-
-   Example:
-
-   Formatting:    ..., SILC_STR_UI_INT(strlen(string)), 
-                       SILC_STR_UI32_NSTRING(string, strlen(string)), ...
-   Unformatting:  ..., SILC_STR_UI32_NSTRING(&string, &len), ...
-
-   I.e., you ignore the formatted length field in unformatting. If you don't
-   the unformatting procedure might fail and it definitely does not unformat
-   the data reliably. The length taken from the buffer is returned to the
-   pointer sent as argument (&len in above example).
-
-   UI/SI16 and UI/SI32 means that the length is considered to be either
-   short (16 bits) or int (32 bits) in unformatting.
-
-   _ALLOC routines automatically allocates memory for the variable sent 
-   as argument in unformatting.
-
-*/
-#define SILC_STR_UI16_NSTRING(x, l) SILC_BUFFER_PARAM_UI16_NSTRING, (x), (l)
-#define SILC_STR_UI16_NSTRING_ALLOC(x, l) \
-  SILC_BUFFER_PARAM_UI16_NSTRING_ALLOC, (x), (l)
-#define SILC_STR_UI32_NSTRING(x, l) SILC_BUFFER_PARAM_UI32_NSTRING, (x), (l)
-#define SILC_STR_UI32_NSTRING_ALLOC(x, l) \
-  SILC_BUFFER_PARAM_UI32_NSTRING_ALLOC, (x), (l)
-
-/* Extended Unsigned string formatting. Second argument is the length of 
-   the string.
-
-   Formatting:    This is equal to using *_NSTRING
-   Unformatting:  SILC_STR_UI_XNSTRING(unsigned char **, unsigned int)
-
-   This type can be used to take arbitrary length string from the buffer
-   by sending the requested amount of bytes as argument. This differs
-   from *_STRING and *_NSTRING so that this doesn't try to find the
-   length of the data from the buffer but the length of the data is
-   sent as argument. This a handy way to unformat fixed length strings
-   from the buffer without having the length of the string formatted
-   in the buffer.
-
-   _ALLOC routines automatically allocates memory for the variable sent 
-   as argument in unformatting.
-
-*/
-#define SILC_STR_UI_XNSTRING(x, l) SILC_BUFFER_PARAM_UI_XNSTRING, (x), (l)
-#define SILC_STR_UI_XNSTRING_ALLOC(x, l) \
-  SILC_BUFFER_PARAM_UI_XNSTRING_ALLOC, (x), (l)
-
-/* Marks end of the argument list. This must the at the end of the
-   argument list or error will occur. */
-#define SILC_STR_END SILC_BUFFER_PARAM_END
-
-/* Prototypes */
-int silc_buffer_format(SilcBuffer dst, ...);
-int silc_buffer_unformat(SilcBuffer src, ...);
-
-#endif