Copyright © 2001 - 2002 SILC Project
SILC Project Website
SILC Toolkit Reference Manual
Index

SILC Toolkit Reference Manual
SILC Core Library
    SILC Authentication Interface
    SILC Message Interface
    SILC Channel Interface
    SILC Command Interface
    SILC Notify Interface
    SILC Status Types
    SILC Modes
    SILC ID Interface
    SILC ID Cache Interface
    SILC Argument Interface
    SILC Attributes Interface
    Packet Protocol Interface
SILC Math Library
    SILC MP Interface
    SILC Math Interface
SILC SFTP Library
    SILC SFTP Interface
    SFTP Filesystems Interface
SILC Utility Library
    Basic SILC Types
    SILC Buffer Interface
    SILC Buffer Format Interface
    SILC Hash Table Interface
    SILC Logging Interface
    SILC Memory Interface
    SILC Mutex Interface
    SILC Thread Interface
    SILC Network Interface
    SILC Schedule Interface
    SILC Socket Interface
    SILC Protocol Interface
    SILC Config Interface
    SILC File Util Interface
    SILC String Util Interface
    SILC Util Interface
    SILC List Interface
    SILC Dynamic List Interface
    SILC VCard Interface
    SILC Application Utilities
SILC Key Exchange Library
    SILC SKE Interface
    SKE Status Types
    SKE Diffie Hellman Groups
    SKE Payloads
SILC Client Library
    Using SILC Client Library Tutorial
    Arguments for command_reply Client Operation
    SilcStatus Error Arguments in command_reply Client Operation
    Arguments for notify Client Operation
    Client Library Interface Reference
SILC Crypto Library
    Introduction to SILC RNG
    SILC RNG Interface
    SILC Cipher API
    SILC PKCS API
    SILC PKCS#1 API
    SILC Hash Interface
    SILC HMAC Interface

Resource Links
SILC Project Website
SILC Protocol Documentation
SILC White Paper
SILC FAQs





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 */





SILC Protocol Interface
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




Copyright © 2001 - 2002 SILC Project
SILC Project Website
SILC Toolkit Reference Manual
Index