SILC Core Library
    SILC Auth API
    SILC Channel API
    SILC Command API
    SILC ID API
    SILC ID Cache API
    SILC Modes
    SILC Notify API
    SILC Packet API
    SILC Payload API
    SILC Private API
SILC Math Library
    SILC Math API
    SILC MP API
SILC SFTP Library
    SILC SFTP API
    SILC SFTP Filesystems
SILC Utility Library
    SILC Buffer API
    SILC Buffer Format API
    SILC Buffer Utility API
    SILC Hash Table API
    SILC Log and Debug API
    SILC Memory API
    SILC Mutex API
    SILC Thread API
    SILC Net API
    SILC Schedule API
    SILC Socket Connection API
    SILC Protocol API
    SILC Util API
    SILC Zip API
    SILC List API
    SILC Dynamic List API
SILC Key Exchange Library
    SILC SKE API
    SILC SKE Status
SILC Client Library
    SILC Client API
SILC Crypto Library
    SILC Cipher API
    SILC Hash API
    SILC HMAC API
    SILC PKCS API
    SILC RNG API
SilcProtocolState

NAME
 
    typedef unsigned char SilcProtocolState;

DESCRIPTION

    Protocol state definition and the defined protocol states. These
    states are the generic states. However, each protocol actually
    implements the states. The state after SILC_PROTOCOL_STATE_START
    would be state 2 in the application. These states can be easily
    used for example inside switch() statement.

EXAMPLE

    switch (protocol->state) {
    case SILC_PROTOCOL_STATE_START:
      protocol_starts_here();
    case 2:
      ...
    case 3:
      ...
    case SILC_PROTOCOL_STATE_END:
      protocol_ends_here();
    case SILC_PROTOCOL_STATE_FAILURE:
      remote_end_sent_failure();
    case SILC_PROTOCOL_STATE_ERROR:
      local_error_during_protocol();
    }

SOURCE
    typedef unsigned char SilcProtocolState;
    
    /* Protocol states. Do NOT change the values of these states, especially
       the START state or you break every protocol. */
    #define SILC_PROTOCOL_STATE_UNKNOWN 0
    #define SILC_PROTOCOL_STATE_START 1
    #define SILC_PROTOCOL_STATE_END 252
    #define SILC_PROTOCOL_STATE_FAILURE 253  /* Received failure from remote */
    #define SILC_PROTOCOL_STATE_ERROR 254    /* Local error at our end */
>> silcprotocol.h
>> SilcProtocolType
>> SilcProtocolState
>> SilcProtocolCallback
>> SilcProtocolFinalCallback
>> SilcProtocolObject
>> SilcProtocol
>> silc_protocol_register
>> silc_protocol_unregister
>> silc_protocol_alloc
>> silc_protocol_free
>> silc_protocol_execute
>> silc_protocol_execute_final
>> silc_protocol_cancel