updates. New data types.
[silc.git] / lib / silccore / silcnotify.h
index 3b42fbaa368baa9b0fa6275b386e5a1bdad9930f..4bae376e8f88a2c07178838b5fa069d7c4828b5f 100644 (file)
 typedef struct SilcNotifyPayloadStruct *SilcNotifyPayload;
 
 /* Type definition of notify type */
-typedef unsigned short SilcNotifyType;
+typedef uint16 SilcNotifyType;
 
 /* SILC notify types. Server may send these notify types to client to
    notify of some action. */
 #define SILC_NOTIFY_TYPE_NONE            0 /* no specific type */
-#define SILC_NOTIFY_TYPE_INVITE          1 /* "invites you to channel" */
+#define SILC_NOTIFY_TYPE_INVITE          1 /* invites/invite list change */
 #define SILC_NOTIFY_TYPE_JOIN            2 /* "has joined channel" */
 #define SILC_NOTIFY_TYPE_LEAVE           3 /* "has left channel" */
 #define SILC_NOTIFY_TYPE_SIGNOFF         4 /* "signoff" */
@@ -44,14 +44,18 @@ typedef unsigned short SilcNotifyType;
 #define SILC_NOTIFY_TYPE_KICKED          12 /* Kicked from channel */
 #define SILC_NOTIFY_TYPE_KILLED          13 /* Killed from the network */
 #define SILC_NOTIFY_TYPE_UMODE_CHANGE    14 /* user mode was changed */
+#define SILC_NOTIFY_TYPE_BAN             15 /* ban list change */
 
 /* Prototypes */
 SilcNotifyPayload silc_notify_payload_parse(SilcBuffer buffer);
-SilcBuffer silc_notify_payload_encode(SilcNotifyType type, unsigned int argc, 
+SilcBuffer silc_notify_payload_encode(SilcNotifyType type, uint32 argc, 
                                      va_list ap);
+SilcBuffer silc_notify_payload_encode_args(SilcNotifyType type, 
+                                          uint32 argc,
+                                          SilcBuffer args);
 void silc_notify_payload_free(SilcNotifyPayload payload);
 SilcNotifyType silc_notify_get_type(SilcNotifyPayload payload);
-unsigned int silc_notify_get_arg_num(SilcNotifyPayload payload);
+uint32 silc_notify_get_arg_num(SilcNotifyPayload payload);
 SilcArgumentPayload silc_notify_get_args(SilcNotifyPayload payload);
 
 #endif