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 Argument 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