A LOT updates. Cannot separate. :)
[silc.git] / lib / silccore / silcnotify.h
index 42fe9b12c623b57b80ee7fef08c7a1944bb81080..3362d7fc3df95464014de1df8ccd580f20bfffb4 100644 (file)
@@ -21,6 +21,9 @@
 #ifndef SILCNOTIFY_H
 #define SILCNOTIFY_H
 
+/* Forward declarations */
+typedef struct SilcNotifyPayloadStruct *SilcNotifyPayload;
+
 /* Type definition of notify type */
 typedef unsigned short SilcNotifyType;
 
@@ -32,5 +35,19 @@ typedef unsigned short SilcNotifyType;
 #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" */
+#define SILC_NOTIFY_TYPE_TOPIC_SET       5 /* "topic has been changed" */
+#define SILC_NOTIFY_TYPE_NICK_CHANGE     6 /* "has changed nickname" */
+#define SILC_NOTIFY_TYPE_CMODE_CHANGE    7 /* "has changed channel mode" */
+#define SILC_NOTIFY_TYPE_CUMODE_CHANGE   8 /* "has change mode" */
+#define SILC_NOTIFY_TYPE_MOTD            9 /* message of the day */
+
+/* Prototypes */
+SilcNotifyPayload silc_notify_payload_parse(SilcBuffer buffer);
+SilcBuffer silc_notify_payload_encode(SilcNotifyType type, unsigned int argc, 
+                                     va_list ap);
+void silc_notify_payload_free(SilcNotifyPayload payload);
+SilcNotifyType silc_notify_get_type(SilcNotifyPayload payload);
+unsigned int silc_notify_get_arg_num(SilcNotifyPayload payload);
+SilcArgumentPayload silc_notify_get_args(SilcNotifyPayload payload);
 
 #endif