Soletta™ Framework
Framework for making IoT devices

Full online documentation | C API Index
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
sol-socket.h File Reference
#include <sol-network.h>

Go to the source code of this file.

Data Structures

struct  sol_socket
 Structure to represent a socket. More...
 
struct  sol_socket_ip_options
 Defines specific IP layer related behaviour of a socket instance. More...
 
struct  sol_socket_options
 Defines the behaviour of a socket instance. More...
 
struct  sol_socket_type
 Structure to represent a socket class. More...
 

Macros

#define SOL_SOCKET_IP_OPTIONS_SUB_API_VERSION   (1)
 compile time API version to be checked during runtime More...
 
#define SOL_SOCKET_OPTIONS_API_VERSION   (1)
 compile time API version to be checked during runtime More...
 
#define SOL_SOCKET_TYPE_API_VERSION   (1)
 compile time API version to be checked during runtime More...
 

Typedefs

typedef struct sol_socket sol_socket
 Structure to represent a socket. More...
 
typedef struct
sol_socket_ip_options 
sol_socket_ip_options
 Defines specific IP layer related behaviour of a socket instance. More...
 
typedef struct sol_socket_options sol_socket_options
 Defines the behaviour of a socket instance. More...
 
typedef struct sol_socket_type sol_socket_type
 Structure to represent a socket class. More...
 

Enumerations

enum  sol_socket_dtls_cipher { SOL_SOCKET_DTLS_CIPHER_ECDH_ANON_AES128_CBC_SHA256, SOL_SOCKET_DTLS_CIPHER_PSK_AES128_CCM8, SOL_SOCKET_DTLS_CIPHER_ECDHE_ECDSA_AES128_CCM8 }
 Represents supported Cipher Suites for use with DTLS. More...
 

Functions

int sol_socket_bind (struct sol_socket *s, const struct sol_network_link_addr *addr)
 Binds the socket to a specific address. More...
 
void sol_socket_del (struct sol_socket *s)
 Destroy the socket instance. More...
 
struct sol_socketsol_socket_ip_new (const struct sol_socket_options *options)
 Creates an endpoint for communication. More...
 
int sol_socket_join_group (struct sol_socket *s, int ifindex, const struct sol_network_link_addr *group)
 Joins a multicast group. More...
 
ssize_t sol_socket_recvmsg (struct sol_socket *s, struct sol_buffer *buffer, struct sol_network_link_addr *cliaddr)
 Receive a message from a socket. More...
 
ssize_t sol_socket_sendmsg (struct sol_socket *s, const struct sol_buffer *buffer, const struct sol_network_link_addr *cliaddr)
 Transmits a message using the socket. More...
 
int sol_socket_set_read_monitor (struct sol_socket *s, bool on)
 Adds a function to be called when the socket had data to be read. More...
 
int sol_socket_set_write_monitor (struct sol_socket *s, bool on)
 Adds a function to be called when the socket is able to send data. More...
 

Macro Definition Documentation

#define SOL_SOCKET_IP_OPTIONS_SUB_API_VERSION   (1)

compile time API version to be checked during runtime

#define SOL_SOCKET_OPTIONS_API_VERSION   (1)

compile time API version to be checked during runtime

Examples:
/src/samples/network/echo-client.c, and /src/samples/network/echo-server.c.

Referenced by startup_client(), and startup_server().

#define SOL_SOCKET_TYPE_API_VERSION   (1)

compile time API version to be checked during runtime