Merged silc_1_0_branch to trunk.
[silc.git] / lib / silccore / silcid.h
index 975d19d7ef2812a12dec8b38b6f686c272320ea0..741ad9edb8cf9e884ca0fbf7dc74d280c9c10c94 100644 (file)
@@ -18,7 +18,7 @@
 
 */
 
-/****h* silccore/SilcIDAPI
+/****h* silccore/SILC ID Interface
  *
  * DESCRIPTION
  *
@@ -44,7 +44,7 @@
  *
  * NAME
  * 
- *    typedef uint16 SilcIdType;
+ *    typedef SilcUInt16 SilcIdType;
  *
  * DESCRIPTION
  *
@@ -52,7 +52,7 @@
  *
  * SOURCE
  */
-typedef uint16 SilcIdType;
+typedef SilcUInt16 SilcIdType;
 
 /* The SILC ID Types */
 #define SILC_ID_NONE        0
@@ -85,22 +85,6 @@ typedef uint16 SilcIdType;
  ***/
 typedef struct SilcIDPayloadStruct *SilcIDPayload;
 
-/****s* silccore/SilcIDAPI/SilcArgumentPayload
- *
- * NAME
- * 
- *    typedef struct SilcArgumentPayloadStruct *SilcArgumentPayload;
- *
- * DESCRIPTION
- *
- *    This context is the actual Argument Payload and is allocated
- *    by silc_argument_payload_parse and given as argument usually to
- *    all silc_argument_payload_* functions.  It is freed by the
- *    silc_argument_payload_free function.
- *
- ***/
-typedef struct SilcArgumentPayloadStruct *SilcArgumentPayload;
-
 /* Prototypes */
 
 /****f* silccore/SilcIDAPI/silc_id_payload_parse
@@ -108,22 +92,25 @@ typedef struct SilcArgumentPayloadStruct *SilcArgumentPayload;
  * SYNOPSIS
  *
  *    SilcIDPayload silc_id_payload_parse(const unsigned char *payload,
- *                                        uint32 payload_len);
+ *                                        SilcUInt32 payload_len);
  *
  * DESCRIPTION
  *
  *    Parses buffer and return ID payload into payload structure. The
- *    `buffer' is raw payload buffer.
+ *    `buffer' is raw payload buffer.  The caller must free the returned
+ *    payload.
  *
  ***/
 SilcIDPayload silc_id_payload_parse(const unsigned char *payload,
-                                   uint32 payload_len);
+                                   SilcUInt32 payload_len);
 
 /****f* silccore/SilcIDAPI/silc_id_payload_parse_id
  *
  * SYNOPSIS
  *
- *    void *silc_id_payload_parse_id(const unsigned char *data, uint32 len);
+ *    void *silc_id_payload_parse_id(const unsigned char *data, 
+ *                                   SilcUInt32 len,
+ *                                   SilcIdType *type);
  *
  * DESCRIPTION
  *
@@ -131,7 +118,8 @@ SilcIDPayload silc_id_payload_parse(const unsigned char *payload,
  *    caller must free the returned ID.
  *
  ***/
-void *silc_id_payload_parse_id(const unsigned char *data, uint32 len);
+void *silc_id_payload_parse_id(const unsigned char *data, SilcUInt32 len,
+                              SilcIdType *type);
 
 /****f* silccore/SilcIDAPI/silc_id_payload_encode
  *
@@ -161,7 +149,7 @@ SilcBuffer silc_id_payload_encode(const void *id, SilcIdType type);
  *
  ***/
 SilcBuffer silc_id_payload_encode_data(const unsigned char *id,
-                                      uint32 id_len, SilcIdType type);
+                                      SilcUInt32 id_len, SilcIdType type);
 
 /****f* silccore/SilcIDAPI/silc_id_payload_free
  *
@@ -222,14 +210,14 @@ unsigned char *silc_id_payload_get_data(SilcIDPayload payload);
  *
  * SYNOPSIS
  *
- *    uint32 silc_id_payload_get_len(SilcIDPayload payload);
+ *    SilcUInt32 silc_id_payload_get_len(SilcIDPayload payload);
  *
  * DESCRIPTION
  *
  *    Returns the length of the ID in the ID Payload.
  *
  ***/
-uint32 silc_id_payload_get_len(SilcIDPayload payload);
+SilcUInt32 silc_id_payload_get_len(SilcIDPayload payload);
 
 /****s* silccore/SilcIDAPI/SilcIDIP
  *
@@ -247,7 +235,7 @@ uint32 silc_id_payload_get_len(SilcIDPayload payload);
  */
 typedef struct {
   unsigned char data[16];      /* IP data (in MSB first order) */
-  uint8 data_len;              /* Length of the data (4 or 16) */
+  SilcUInt8 data_len;          /* Length of the data (4 or 16) */
 } SilcIDIP;
 /***/
 
@@ -269,8 +257,8 @@ typedef struct {
  */
 typedef struct {
   SilcIDIP ip;                 /* n bit IP address */
-  uint16 port;                 /* 16 bit port */
-  uint16 rnd;                  /* 16 bit random number */
+  SilcUInt16 port;             /* 16 bit port */
+  SilcUInt16 rnd;              /* 16 bit random number */
 } SilcServerID;
 /***/
 
@@ -286,7 +274,7 @@ typedef struct {
  *
  *      n bit ServerID IP address [bits 1-32 or bits 1-128]
  *      8 bit random number
- *     88 bit hash value from nickname
+ *     88 bit hash value from lowercase nickname
  *
  * SOURCE
  */
@@ -314,9 +302,9 @@ typedef struct {
  * SOURCE
  */
 typedef struct {
-  SilcIDIP ip;                                 /* n bit IP address */
-  uint16 port;                                 /* 16 bit port */
-  uint16 rnd;                                  /* 16 bit random number */
+  SilcIDIP ip;                 /* n bit IP address */
+  SilcUInt16 port;             /* 16 bit port */
+  SilcUInt16 rnd;              /* 16 bit random number */
 } SilcChannelID;
 /***/
 
@@ -434,7 +422,8 @@ typedef struct {
  * DESCRIPTION
  *
  *    Converts an ID of type `type' to data. This can be used to
- *    convert the ID's to data for inclusion in the packets.
+ *    convert the ID's to data for inclusion in the packets.  Use the
+ *    silc_id_get_len to get the length of the ID.
  *
  ***/
 unsigned char *silc_id_id2str(const void *id, SilcIdType type);
@@ -443,7 +432,7 @@ unsigned char *silc_id_id2str(const void *id, SilcIdType type);
  *
  * SYNOPSIS
  *
- *    void *silc_id_str2id(const unsigned char *id, uint32 id_len, 
+ *    void *silc_id_str2id(const unsigned char *id, SilcUInt32 id_len, 
  *                         SilcIdType type);
  *
  * DESCRIPTION
@@ -452,20 +441,21 @@ unsigned char *silc_id_id2str(const void *id, SilcIdType type);
  *    ID out of data that has been taken for example from packet.
  *
  ***/
-void *silc_id_str2id(const unsigned char *id, uint32 id_len, SilcIdType type);
+void *silc_id_str2id(const unsigned char *id, SilcUInt32 id_len,
+                    SilcIdType type);
 
 /****f* silccore/SilcIDAPI/silc_id_get_len
  *
  * SYNOPSIS
  *
- *    uint32 silc_id_get_len(const void *id, SilcIdType type);
+ *    SilcUInt32 silc_id_get_len(const void *id, SilcIdType type);
  *
  * DESCRIPTION
  *
  *    Returns the true length of the ID of the type `type'.
  *
  ***/
-uint32 silc_id_get_len(const void *id, SilcIdType type);
+SilcUInt32 silc_id_get_len(const void *id, SilcIdType type);
 
 /****f* silccore/SilcIDAPI/silc_id_dup
  *