/*
- silcstatus.h
+ silcstatus.h
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2002 Pekka Riikonen
+ Copyright (C) 2002 - 2007 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
/****d* silccore/StatusTypes/SilcStatus
*
* NAME
- *
+ *
* typedef SilcUInt8 SilcStatus
*
* DESCRIPTION
#define SILC_STATUS_ERR_NO_SUCH_NICK 10
#define SILC_STATUS_ERR_NO_SUCH_CHANNEL 11
#define SILC_STATUS_ERR_NO_SUCH_SERVER 12
-#define SILC_STATUS_ERR_TOO_MANY_TARGETS 13
+#define SILC_STATUS_ERR_INCOMPLETE_INFORMATION 13
#define SILC_STATUS_ERR_NO_RECIPIENT 14
#define SILC_STATUS_ERR_UNKNOWN_COMMAND 15
#define SILC_STATUS_ERR_WILDCARDS 16
#define SILC_STATUS_ERR_NO_SUCH_SERVER_ID 47
#define SILC_STATUS_ERR_RESOURCE_LIMIT 48
#define SILC_STATUS_ERR_NO_SUCH_SERVICE 49
+#define SILC_STATUS_ERR_NOT_AUTHENTICATED 50
+#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_ERR_BAD_SERVER 57
+#define SILC_STATUS_ERR_BAD_USERNAME 58
+#define SILC_STATUS_ERR_NO_SUCH_PUBLIC_KEY 59
/***/
+#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 */