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

SILC Toolkit Reference Manual SILC Core Library SILC Authentication Interface SILC Channel Interface SILC Command Interface SILC ID Interface SILC ID Cache Interface SILC Modes SILC Notify Interface SILC Argument Interface SILC Private Message 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 Util Interface SILC List Interface SILC Dynamic List Interface SILC Zip API SILC Key Exchange Library SILC SKE Interface SKE Status Types SKE Diffie Hellman Groups SKE Payloads SILC Client Library Using SILC Client Library Client Library Interface SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC HMAC Interface SILC Cipher API SILC Hash API SILC PKCS API Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQ
Structure SilcSocketConnectionStruct NAME
        struct SilcSocketConnectionStruct { ... };
DESCRIPTION
        This object holds information about the connected sockets to the server.
        This is quite important object since this is referenced by the server all
        the time when figuring out what the connection is supposed to be doing
        and to whom we should send a message. This structure is the structure
        for the SilcSocketConnection forward declaration.

        Following short description of the fields:

        int sock

          The actual connected socket. This is usually saved when accepting
          new connection to the server.

        SilcSocketType type

          Type of the socket. This identifies the type of the connection. This
          is mainly used to identify whether the connection is a client or a
          server connection.

        void *user_data

          This is a pointer to a data that is is saved here at the same
          time a new connection object is allocated. Usually this is a
          back-pointer to some important data for fast referencing. For
          SILC server this is a pointer to the ID list and for SILC client
          to object holding active connections (windows).

        SilcProtocol protocol

          Protocol object for the socket. Currently only one protocol can be
          executing at a time for a particular socket.

        SilcUInt32 flags

          Socket flags that indicate the status of the socket. This can
          indicate several different status that can affect the use of the
          socket object.

        int users

          Reference counter. When allocated it is set to one (1) and it won't
          be freed until it hits zero (0).

        char *hostname
        char *ip
        SilcUInt16 port

          Resolved hostname, IP address and port of the connection who owns
          this object.

        SilcBuffer inbuf
        SilcBuffer outbuf

          Incoming and outgoing buffers for the particular socket connection.
          Incoming data from the socket is put after decryption in to the
          inbuf buffer and outgoing data after encryption is put to the outbuf
          buffer.

        SilcSocketConnectionHB hb

          The heartbeat context.  If NULL, heartbeat is not performed.
SILC Socket Interface SilcSocketConnection SilcSocketConnectionHB SilcSocketType SilcSocketConnectionStruct silc_socket_alloc silc_socket_free silc_socket_dup silc_socket_read silc_socket_write silc_socket_get_error SilcSocketConnectionHBCb silc_socket_set_heartbeat SilcSocketHostLookupCb silc_socket_host_lookup

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