Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index

SILC Toolkit Reference Manual
SILC Crypto Library
Introduction to SILC RNG
SILC RNG Interface
SILC Cipher API
SILC PKCS API
SILC Public Key API
SILC PKCS #1 API
SILC Hash Interface
SILC HMAC Interface
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 Argument Interface
SILC Attributes Interface
Packet Engine Interface
SILC Public Key Payload Interface
SILC Key Exchange Library
SILC SKE Interface
SILC Connection Authentication Interface
SILC VCard Library
SILC VCard Interface
SILC Math Library
SILC MP Interface
SILC Math Interface
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
Unicode and UTF-8 Strings in Client Library
Client Library Interface Reference
Client Entry Interface Reference
SILC ASN.1 Library
SILC ASN.1 Interface
SILC BER interface
SILC HTTP Library
SILC HTTP Server Interface
SILC HTTP PHP Translator
SILC Utility Library
Basic Types and Definitions
Data Buffer Interface
Data Buffer Format Interface
Hash Table Interface
Memory Allocation Interface
Data Stack (memory pool) Interface
Finite State Machine Interface
Thread Interface
Mutual Exclusion Lock Interface
Condition Variable Interface
Atomic Operations Interface
Network (TCP and UDP) Interface
Scheduler Interface
Asynchronous Operation Interface
Abstract Stream Interface
Socket Stream Interface
File Descriptor Stream Interface
File Utility Functions
String Utility Interface
Snprintf Interface
UTF-8 String Interface
Stringprep Interface
Utility Functions
List Interface
Dynamic List Interface
MIME Interface
Time Utility Functions
Logging Interface
Config File Interface
SILC Key Repository Library
SILC SKR Interface
SILC Application Utility Library
SILC Application Utilities
SILC ID Cache Interface
SILC SFTP Library
SILC SFTP Interface
SFTP Filesystems Interface
Resource Links
SILC Project Website
SILC Protocol Documentation
SILC White Paper
SILC FAQs

Function silc_net_udp_connect
SYNOPSIS

        SilcStream
        silc_net_udp_connect(const char *local_ip_addr, int local_port,
                             const char *remote_ip_addr, int remote_port,
                             SilcSchedule schedule);

DESCRIPTION

        This function creates UDP stream.  The UDP stream is bound to the
        `local_ip_addr' if it is specified.  If `local_port' is non-zero the
        stream is bound to that port.  If the `remote_ip_addr' and `remote_port'
        is also provided, packets may be sent to that address using
        silc_stream_write function and packets may be received using
        silc_stream_read function.

        If the remote address is not provided the stream is in connectionless
        state.  This means that packets can be received only by using
        silc_net_udp_receive and sent only by using the function
        silc_net_udp_send.

        To receive packets the silc_stream_set_notifier must be called for the
        returned SilcStream.  The packets are always received in the notifier
        callback when the SILC_STREAM_CAN_READ is returned to the callback
        To read the packet use silc_stream_read if the remote address was
        provided, and silc_net_udp_receive if it was not.

        Supports IPv6 if the platform supports it.

EXAMPLE

        SilcStream udpstream;

        // Create UDP stream and prepare to receive packets
        udpstream = silc_net_udp_connect("10.2.1.7", 5000,
                                         "10.2.1.100, 5000, schedule);
        silc_stream_set_notifier(udpstream, schedule, receive_callback, context);

        // Send packet to remote host
        silc_stream_write(udpstream, data, data_len);

        Create UDP listener:

        udpstream = silc_net_udp_connect("0.0.0.0", 500, NULL, 0, schedule);
        silc_stream_set_notifier(udpstream, schedule, receive_callback, context);

SILC Net Interface
SilcNetListener
SilcNetStatus
SilcNetCallback
silc_net_tcp_create_listener
silc_net_listener_get_port
silc_net_listener_get_ip
silc_net_listener_get_hostname
silc_net_close_listener
silc_net_tcp_connect
silc_net_udp_connect
silc_net_udp_receive
silc_net_udp_send
silc_net_get_error_string
silc_net_close_connection
silc_net_accept_connection
silc_net_set_socket_opt
silc_net_get_socket_opt
silc_net_set_socket_nonblock
silc_net_is_ip4
silc_net_is_ip6
silc_net_is_ip
silc_net_addr2bin
SilcNetResolveCallback
silc_net_gethostbyname
silc_net_gethostbyname_async
silc_net_gethostbyaddr
silc_net_gethostbyaddr_async
silc_net_check_host_by_sock
silc_net_check_local_by_sock
silc_net_get_remote_port
silc_net_get_local_port
silc_net_localhost
silc_net_localip

Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index