+/* Same as above but takes argument from the `args' Argument Payload. */
+
+SilcBuffer silc_notify_payload_encode_args(SilcNotifyType type,
+ SilcUInt32 argc,
+ SilcBuffer args)
+{
+ SilcBuffer buffer;
+ SilcUInt32 len;
+
+ len = 5 + (args ? silc_buffer_len(args) : 0);
+ buffer = silc_buffer_alloc_size(len);
+ if (!buffer)
+ return NULL;
+ silc_buffer_format(buffer,
+ SILC_STR_UI_SHORT(type),
+ SILC_STR_UI_SHORT(len),
+ SILC_STR_UI_CHAR(argc),
+ SILC_STR_END);
+
+ if (args) {
+ silc_buffer_pull(buffer, 5);
+ silc_buffer_format(buffer,
+ SILC_STR_UI_XNSTRING(args->data, silc_buffer_len(args)),
+ SILC_STR_END);
+ silc_buffer_push(buffer, 5);
+ }
+
+ return buffer;
+}
+
+/* Frees notify payload */