Merged silc_1_0_branch to trunk.
[silc.git] / lib / silccore / silcstatus.h
index f619ea9ed5964cb54983d9f5c3658833e92d9f91..3b5c7cd0ec648fd97cee67c6fbfd0cfada70ec17 100644 (file)
@@ -1,10 +1,10 @@
 /*
 
-  silcstatus.h 
+  silcstatus.h
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2002 Pekka Riikonen
+  Copyright (C) 2002 - 2003 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
@@ -36,7 +36,7 @@
 /****d* silccore/StatusTypes/SilcStatus
  *
  * NAME
- * 
+ *
  *    typedef SilcUInt8 SilcStatus
  *
  * DESCRIPTION
@@ -99,8 +99,31 @@ typedef SilcUInt8 SilcStatus;
 #define SILC_STATUS_ERR_BAD_SERVER_ID       51
 #define SILC_STATUS_ERR_KEY_EXCHANGE_FAILED 52
 #define SILC_STATUS_ERR_BAD_VERSION         53
+#define SILC_STATUS_ERR_TIMEDOUT            54
+#define SILC_STATUS_ERR_UNSUPPORTED_PUBLIC_KEY    55
+#define SILC_STATUS_ERR_OPERATION_ALLOWED   56
 /***/
 
 #define SILC_STATUS_IS_ERROR(status) (status >= SILC_STATUS_ERR_NO_SUCH_NICK)
 
+/****f* silccore/SilcStatusTypes/silc_status_get_args
+ *
+ * SYNOPSIS
+ *
+ *    SilcUInt32 silc_status_get_args(SilcStatus status,
+ *                                    SilcArgumentPayload args,
+ *                                    void **ret_arg1, **ret_arg2);
+ *
+ * DESCRIPTION
+ *
+ *    Parses and returns the arguments from the `args' by the status type
+ *    indicated by `status'.  Returns the number of arguments (0, 1 or 2)
+ *    parsed.  The caller must free with silc_free the returned arguments.
+ *
+ ***/
+SilcUInt32 silc_status_get_args(SilcStatus status,
+                               SilcArgumentPayload args,
+                               void **ret_arg1, void **ret_arg2);
+
+
 #endif /* SILCSTATUS_H */