X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilccore%2Fsilccommand.h;h=059797e5bc5d03c95beb5dc299490f94d19b6b66;hp=3fbda03a977df1dfa22a862d308599749b938ca3;hb=HEAD;hpb=fbcba64240f0accf54c44249df6b03652bb86dfc diff --git a/lib/silccore/silccommand.h b/lib/silccore/silccommand.h index 3fbda03a..059797e5 100644 --- a/lib/silccore/silccommand.h +++ b/lib/silccore/silccommand.h @@ -1,16 +1,15 @@ /* - + silccommand.h - + Author: Pekka Riikonen - - Copyright (C) 1997 - 2001 Pekka Riikonen - + + Copyright (C) 1997 - 2008 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - + the Free Software Foundation; version 2 of the License. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -31,27 +30,10 @@ #ifndef SILCCOMMAND_H #define SILCCOMMAND_H -/****f* silccore/SilcCommandAPI/SilcCommandCb - * - * SYNOPSIS - * - * typedef void (*SilcCommandCb)(void *context, void *context2); - * - * DESCRIPTION - * - * Command function callback. The actual command function pointer. - * This is generic command callback that the application may choose to - * use with its command routines. However, none of the generic - * routines depend on this callback so application may freely define - * their own command callback if desired. - * - ***/ -typedef void (*SilcCommandCb)(void *context, void *context2); - /****s* silccore/SilcCommandAPI/SilcCommandPayload * * NAME - * + * * typedef struct SilcCommandPayloadStruct *SilcCommandPayload; * * DESCRIPTION @@ -67,7 +49,7 @@ typedef struct SilcCommandPayloadStruct *SilcCommandPayload; /****d* silccore/SilcCommandAPI/SilcCommandFlags * * NAME - * + * * typedef enum { ... } SilcCommandFlags; * * DESCRIPTION @@ -98,7 +80,7 @@ typedef enum { /* Command is available only for server operators */ SILC_CF_OPER = (1L << 4), - /* Command is available only for SILC (router) operators. If this + /* Command is available only for SILC (router) operators. If this is set SILC_CF_OPER is not necessary to be set. */ SILC_CF_SILC_OPER = (1L << 5), @@ -108,8 +90,8 @@ typedef enum { /****d* silccore/SilcCommandAPI/SilcCommand * * NAME - * - * typedef unsigned char SilcCommand; + * + * typedef SilcUInt8 SilcCommand; * * DESCRIPTION * @@ -119,7 +101,7 @@ typedef enum { * * SOURCE */ -typedef unsigned char SilcCommand; +typedef SilcUInt8 SilcCommand; /* All SILC commands. These are commands that have client and server counterparts. */ @@ -154,7 +136,6 @@ typedef unsigned char SilcCommand; /* Private range start */ #define SILC_COMMAND_PRIVATE 200 - #define SILC_COMMAND_PRIV_CONNECT 200 #define SILC_COMMAND_PRIV_CLOSE 201 #define SILC_COMMAND_PRIV_SHUTDOWN 202 @@ -169,7 +150,7 @@ typedef unsigned char SilcCommand; * * SYNOPSIS * - * SilcCommandPayload + * SilcCommandPayload * silc_command_payload_parse(const unsigned char *payload, * SilcUInt32 payload_len); * @@ -209,7 +190,7 @@ SilcBuffer silc_command_payload_encode(SilcCommand cmd, * * SYNOPSIS * - * SilcBuffer + * SilcBuffer * silc_command_payload_encode_payload(SilcCommandPayload payload); * * DESCRIPTION @@ -224,31 +205,31 @@ SilcBuffer silc_command_payload_encode_payload(SilcCommandPayload payload); * * SYNOPSIS * - * SilcBuffer silc_command_payload_encode_va(SilcCommand cmd, - * SilcUInt16 ident, + * SilcBuffer silc_command_payload_encode_va(SilcCommand cmd, + * SilcUInt16 ident, * SilcUInt32 argc, ...); * * DESCRIPTION * * Encodes Command payload with variable argument list. The arguments - * must be: SilcUInt32, unsigned char *, unsigned int, ... One - * {SilcUInt32, unsigned char * and unsigned int} forms one argument, - * thus `argc' in case when sending one {SilcUInt32, unsigned char * + * must be: SilcUInt32, unsigned char *, unsigned int, ... One + * {SilcUInt32, unsigned char * and unsigned int} forms one argument, + * thus `argc' in case when sending one {SilcUInt32, unsigned char * * and SilcUInt32} equals one (1) and when sending two of those it * equals two (2), and so on. This has to be preserved or bad things * will happen. The variable arguments is: {type, data, data_len}. * ***/ -SilcBuffer silc_command_payload_encode_va(SilcCommand cmd, - SilcUInt16 ident, +SilcBuffer silc_command_payload_encode_va(SilcCommand cmd, + SilcUInt16 ident, SilcUInt32 argc, ...); /****f* silccore/SilcCommandAPI/silc_command_payload_encode_vap * * SYNOPSIS * - * SilcBuffer silc_command_payload_encode_vap(SilcCommand cmd, - * SilcUInt16 ident, + * SilcBuffer silc_command_payload_encode_vap(SilcCommand cmd, + * SilcUInt16 ident, * SilcUInt32 argc, va_list ap); * * DESCRIPTION @@ -257,16 +238,16 @@ SilcBuffer silc_command_payload_encode_va(SilcCommand cmd, * takes the va_list as argument. * ***/ -SilcBuffer silc_command_payload_encode_vap(SilcCommand cmd, - SilcUInt16 ident, +SilcBuffer silc_command_payload_encode_vap(SilcCommand cmd, + SilcUInt16 ident, SilcUInt32 argc, va_list ap); /****f* silccore/SilcCommandAPI/silc_command_reply_payload_encode_va * * SYNOPSIS * - * SilcBuffer - * silc_command_reply_payload_encode_va(SilcCommand cmd, + * SilcBuffer + * silc_command_reply_payload_encode_va(SilcCommand cmd, * SilcStatus status, * SilcStatus error, * SilcUInt16 ident, @@ -274,8 +255,8 @@ SilcBuffer silc_command_payload_encode_vap(SilcCommand cmd, * * DESCRIPTION * - * Same as silc_command_payload_encode_va except that this is used to - * encode strictly command reply packets. The `argc' must not count + * Same as silc_command_payload_encode_va except that this is used to + * encode strictly command reply packets. The `argc' must not count * `status' and `error' as arguments. The `status' includes the * command reply status. If single reply will be sent then it includes * SILC_STATUS_OK if error did not occur. It includes an error value @@ -293,8 +274,8 @@ SilcBuffer silc_command_payload_encode_vap(SilcCommand cmd, * replies are sent after the successful replies. * ***/ -SilcBuffer -silc_command_reply_payload_encode_va(SilcCommand cmd, +SilcBuffer +silc_command_reply_payload_encode_va(SilcCommand cmd, SilcStatus status, SilcStatus error, SilcUInt16 ident, @@ -304,8 +285,8 @@ silc_command_reply_payload_encode_va(SilcCommand cmd, * * SYNOPSIS * - * SilcBuffer - * silc_command_reply_payload_encode_vap(SilcCommand cmd, + * SilcBuffer + * silc_command_reply_payload_encode_vap(SilcCommand cmd, * SilcStatus status, * SilcStatus error, * SilcUInt16 ident, SilcUInt32 argc, @@ -317,11 +298,11 @@ silc_command_reply_payload_encode_va(SilcCommand cmd, * takes the va_list as argument. * ***/ -SilcBuffer -silc_command_reply_payload_encode_vap(SilcCommand cmd, +SilcBuffer +silc_command_reply_payload_encode_vap(SilcCommand cmd, SilcStatus status, SilcStatus error, - SilcUInt16 ident, SilcUInt32 argc, + SilcUInt16 ident, SilcUInt32 argc, va_list ap); /****f* silccore/SilcCommandAPI/silc_command_free @@ -384,7 +365,7 @@ SilcUInt16 silc_command_get_ident(SilcCommandPayload payload); * * SYNOPSIS * - * bool silc_command_get_status(SilcCommandPayload payload, + * SilcBool silc_command_get_status(SilcCommandPayload payload, * SilcStatus *status, * SilcStatus *error); * @@ -398,22 +379,22 @@ SilcUInt16 silc_command_get_ident(SilcCommandPayload payload); * which indicates that there will be list of errors. * ***/ -bool silc_command_get_status(SilcCommandPayload payload, - SilcStatus *status, - SilcStatus *error); +SilcBool silc_command_get_status(SilcCommandPayload payload, + SilcStatus *status, + SilcStatus *error); /****f* silccore/SilcCommandAPI/silc_command_set_ident * * SYNOPSIS * - * void silc_command_set_ident(SilcCommandPayload payload, + * void silc_command_set_ident(SilcCommandPayload payload, * SilcUInt16 ident); * * DESCRIPTION * * Function to set identifier to already allocated Command Payload. Command * payloads are frequentlly resent in SILC and thusly this makes it easy - * to set the identifier without encoding new Command Payload. + * to set the identifier without encoding new Command Payload. * ***/ void silc_command_set_ident(SilcCommandPayload payload, SilcUInt16 ident); @@ -422,7 +403,7 @@ void silc_command_set_ident(SilcCommandPayload payload, SilcUInt16 ident); * * SYNOPSIS * - * void silc_command_set_command(SilcCommandPayload payload, + * void silc_command_set_command(SilcCommandPayload payload, * SilcCommand command); * * DESCRIPTION