SimpleLink CC3120/CC3220 Host Driver
Version 2.0.1.22
Simplifies the implementation of Internet connectivity
|
Controls standard client/server sockets programming options and capabilities. More...
Functions | |
struct hostent * | gethostbyname (const char *name) |
Get host IP by name Obtain the IP Address of machine on network, by machine name. More... | |
static int | select (int nfds, fd_set *readsds, fd_set *writesds, fd_set *exceptsds, struct timeval *timeout) |
Monitor socket activity. More... | |
int | socket (int Domain, int Type, int Protocol) |
Create an endpoint for communication. More... | |
static int | close (int sd) |
Gracefully close socket. More... | |
int | accept (int sd, sockaddr *addr, socklen_t *addrlen) |
Accept a connection on a socket. More... | |
int | bind (int sd, const sockaddr *addr, socklen_t addrlen) |
Assign a name to a socket. More... | |
int | listen (int sd, int backlog) |
Listen for connections on a socket. More... | |
int | connect (int sd, const sockaddr *addr, socklen_t addrlen) |
Initiate a connection on a socket. More... | |
int | setsockopt (int sd, int level, int optname, const void *optval, socklen_t optlen) |
Set socket options-. More... | |
int | getsockopt (int sd, int level, int optname, void *optval, socklen_t *optlen) |
Get socket options. More... | |
ssize_t | recv (int sd, void *pBuf, size_t Len, int flags) |
Read data from TCP socket. More... | |
ssize_t | recvfrom (int sd, void *buf, _i16 Len, _i16 flags, sockaddr *from, socklen_t *fromlen) |
Read data from socket. More... | |
ssize_t | send (int sd, const void *pBuf, _i16 Len, _i16 flags) |
Write data to TCP socket. More... | |
ssize_t | sendto (int sd, const void *pBuf, size_t Len, int flags, const sockaddr *to, socklen_t tolen) |
Write data to socket. More... | |
Typedefs | |
typedef struct hostent | hostent_t |
Controls standard client/server sockets programming options and capabilities.
int accept | ( | int | sd, |
sockaddr * | addr, | ||
socklen_t * | addrlen | ||
) |
Accept a connection on a socket.
This function is used with connection-based socket types (SOCK_STREAM).
It extracts the first connection request on the queue of pending connections, creates a new connected socket, and returns a new file descriptor referring to that socket.
The newly created socket is not in the listening state. The original socket sd is unaffected by this call.
The argument sd is a socket that has been created with socket(), bound to a local address with bind(), and is listening for connections after a listen(). The argument addr is a pointer to a sockaddr structure. This structure is filled in with the address of the peer socket, as known to the communications layer. The exact format of the address returned addr is determined by the socket's address family.
The addrlen argument is a value-result argument: it should initially contain the size of the structure pointed to by addr, on return it will contain the actual length (in bytes) of the address returned.
[in] | sd | Socket descriptor (handle) |
[out] | addr | The argument addr is a pointer to a sockaddr structure. This structure is filled in with the address of the peer socket, as known to the communications layer. The exact format of the address returned addr is determined by the socket's address sockaddr: - code for the address format. On this version only AF_INET is supported. - socket address, the length depends on the code format |
[out] | addrlen | The addrlen argument is a value-result argument: it should initially contain the size of the structure pointed to by addr |
Definition at line 130 of file socket.c.
int bind | ( | int | sd, |
const sockaddr * | addr, | ||
socklen_t | addrlen | ||
) |
Assign a name to a socket.
This function gives the socket the local address addr. addr is addrlen bytes long. Traditionally, this is called When a socket is created with socket, it exists in a name space (address family) but has no name assigned. It is necessary to assign a local address before a SOCK_STREAM socket may receive connections.
[in] | sd | Socket descriptor (handle) |
[in] | addr | Specifies the destination addrs sockaddr: - code for the address format. On this version only AF_INET is supported. - socket address, the length depends on the code format. |
[in] | addrlen | Contains the size of the structure pointed to by addr |
Definition at line 63 of file socket.c.
|
inlinestatic |
Gracefully close socket.
This function causes the system to release resources allocated to a socket.
In case of TCP, the connection is terminated.
[in] | sd | Socket handle (received in socket) |
Definition at line 162 of file socket.h.
int connect | ( | int | sd, |
const sockaddr * | addr, | ||
socklen_t | addrlen | ||
) |
Initiate a connection on a socket.
Function connects the socket referred to by the socket descriptor sd, to the address specified by addr. The addrlen argument specifies the size of addr. The format of the address in addr is determined by the address space of the socket. If it is of type SOCK_DGRAM, this call specifies the peer with which the socket is to be associated; this address is that to which datagrams are to be sent, and the only address from which datagrams are to be received. If the socket is of type SOCK_STREAM, this call attempts to make a connection to another socket. The other socket is specified by address, which is an address in the communications space of the socket.
[in] | sd | Socket descriptor (handle) |
[in] | addr | Specifies the destination addr sockaddr: - code for the address format. On this version only AF_INET is supported. - socket address, the length depends on the code format |
[in] | addrlen | Contains the size of the structure pointed to by addr |
Definition at line 97 of file socket.c.
struct hostent* gethostbyname | ( | const char * | name | ) |
Get host IP by name
Obtain the IP Address of machine on network, by machine name.
[in] | const | char *name Host name |
Definition at line 50 of file netdb.c.
int getsockopt | ( | int | sd, |
int | level, | ||
int | optname, | ||
void * | optval, | ||
socklen_t * | optlen | ||
) |
Get socket options.
This function manipulate the options associated with a socket. Options may exist at multiple protocol levels; they are always present at the uppermost socket level.
When manipulating socket options the level at which the option resides and the name of the option must be specified. To manipulate options at the socket level, level is specified as SOL_SOCKET. To manipulate options at any other level the protocol number of the appropriate proto- col controlling the option is supplied. For example, to indicate that an option is to be interpreted by the TCP protocol, level should be set to the protocol number of TCP;
The parameters optval and optlen are used to access optval - ues for setsockopt(). For getsockopt() they identify a buffer in which the value for the requested option(s) are to be returned. For getsockopt(), optlen is a value-result parameter, initially containing the size of the buffer pointed to by option_value, and modified on return to indicate the actual size of the value returned. If no option value is to be supplied or returned, option_value may be NULL.
[in] | sd | Socket handle |
[in] | level | Defines the protocol level for this option |
[in] | optname | defines the option name to interrogate |
[out] | optval | Specifies a value for the option |
[out] | optlen | Specifies the length of the option value |
Definition at line 184 of file socket.c.
int listen | ( | int | sd, |
int | backlog | ||
) |
Listen for connections on a socket.
The willingness to accept incoming connections and a queue limit for incoming connections are specified with listen(), and then the connections are accepted with accept. The listen() call applies only to sockets of type SOCK_STREAM The backlog parameter defines the maximum length the queue of pending connections may grow to.
[in] | sd | Socket descriptor (handle) |
[in] | backlog | Specifies the listen queue depth. |
Definition at line 119 of file socket.c.
ssize_t recv | ( | int | sd, |
void * | pBuf, | ||
size_t | Len, | ||
int | flags | ||
) |
Read data from TCP socket.
Function receives a message from a connection-mode socket
[in] | sd | Socket handle |
[out] | buf | Points to the buffer where the message should be stored. |
[in] | len | Specifies the length in bytes of the buffer pointed to by the buffer argument. Range: 1-16000 bytes |
[in] | flags | Specifies the type of message reception. On this version, this parameter is not supported. |
Definition at line 141 of file socket.c.
ssize_t recvfrom | ( | int | sd, |
void * | buf, | ||
_i16 | Len, | ||
_i16 | flags, | ||
sockaddr * | from, | ||
socklen_t * | fromlen | ||
) |
Read data from socket.
Function receives a message from a connection-mode or connectionless-mode socket
[in] | sd | Socket handle |
[out] | buf | Points to the buffer where the message should be stored. |
[in] | len | Specifies the length in bytes of the buffer pointed to by the buffer argument. Range: 1-16000 bytes |
[in] | flags | Specifies the type of message reception. On this version, this parameter is not supported. |
[in] | from | Pointer to an address structure indicating the source address. sockaddr: - code for the address format. On this version only AF_INET is supported. - socket address, the length depends on the code format |
[in] | fromlen | Source address structure size. This parameter MUST be set to the size of the structure pointed to by addr. |
Definition at line 86 of file socket.c.
|
inlinestatic |
Monitor socket activity.
Select allow a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become "ready" for some class of I/O operation.
[in] | nfds | The highest-numbered file descriptor in any of the three sets, plus 1. |
[out] | readsds | Socket descriptors list for read monitoring and accept monitoring |
[out] | writesds | Socket descriptors list for connect monitoring only, write monitoring is not supported |
[out] | exceptsds | Socket descriptors list for exception monitoring, not supported. |
[in] | timeout | Is an upper bound on the amount of time elapsed before select() returns. Null or above 0xffff seconds means infinity timeout. The minimum timeout is 10 milliseconds, less than 10 milliseconds will be set automatically to 10 milliseconds. Max microseconds supported is 0xfffc00. In trigger mode the timout fields must be set to zero. |
Several threads can call select at the same time.Calling this API while the same command is called from another thread, may result in one of the following scenarios:
In case all the user sockets are open, select will exhibit the behaviour mentioned in (2) This is due to the fact select supports multiple callers by utilizing one user socket internally. User who wish to ensure multiple select calls at any given time, must reserve one socket out of the 16 given.
Definition at line 185 of file select.h.
ssize_t send | ( | int | sd, |
const void * | pBuf, | ||
_i16 | Len, | ||
_i16 | flags | ||
) |
Write data to TCP socket.
This function is used to transmit a message to another socket. Returns immediately after sending data to device. In case of TCP failure an async event SL_SOCKET_TX_FAILED_EVENT is going to be received.
[in] | sd | Socket handle |
[in] | buf | Points to a buffer containing the message to be sent |
[in] | len | Message size in bytes. Range: 1-1460 bytes |
[in] | flags | Specifies the type of message transmission. On this version, this parameter is not supported for TCP. |
Definition at line 108 of file socket.c.
ssize_t sendto | ( | int | sd, |
const void * | pBuf, | ||
size_t | Len, | ||
int | flags, | ||
const sockaddr * | to, | ||
socklen_t | tolen | ||
) |
Write data to socket.
This function is used to transmit a message to another socket (connection less socket SOCK_DGRAM, SOCK_RAW).
Returns immediately after sending data to device.
In case of transmission failure an async event SL_SOCKET_TX_FAILED_EVENT is going to be received.
[in] | sd | Socket handle |
[in] | buf | Points to a buffer containing the message to be sent |
[in] | len | message size in bytes. Range: 1-1460 bytes |
[in] | flags | Specifies the type of message transmission. On this version, this parameter is not supported |
[in] | to | Pointer to an address structure indicating the destination address. sockaddr: - code for the address format. On this version only AF_INET is supported. - socket address, the length depends on the code format |
[in] | tolen | Destination address structure size |
Definition at line 75 of file socket.c.
int setsockopt | ( | int | sd, |
int | level, | ||
int | optname, | ||
const void * | optval, | ||
socklen_t | optlen | ||
) |
Set socket options-.
This function manipulate the options associated with a socket.
Options may exist at multiple protocol levels; they are always present at the uppermost socket level.
When manipulating socket options the level at which the option resides and the name of the option must be specified. To manipulate options at the socket level, level is specified as SOL_SOCKET. To manipulate options at any other level the protocol number of the appropriate proto- col controlling the option is supplied. For example, to indicate that an option is to be interpreted by the TCP protocol, level should be set to the protocol number of TCP;
The parameters optval and optlen are used to access optval - ues for setsockopt(). For getsockopt() they identify a buffer in which the value for the requested option(s) are to be returned. For getsockopt(), optlen is a value-result parameter, initially containing the size of the buffer pointed to by option_value, and modified on return to indicate the actual size of the value returned. If no option value is to be supplied or returned, option_value may be NULL.
[in] | sd | Socket handle |
[in] | level | Defines the protocol level for this option
|
[in] | optname | Defines the option name to interrogate
|
[in] | optval | Specifies a value for the option |
[in] | optlen | Specifies the length of the option value |
Definition at line 152 of file socket.c.
int socket | ( | int | Domain, |
int | Type, | ||
int | Protocol | ||
) |
Create an endpoint for communication.
The socket function creates a new socket of a certain socket type, identified by an integer number, and allocates system resources to it.
This function is called by the application layer to obtain a socket handle.
[in] | Domain | Specifies the protocol family of the created socket. For example:
|
[in] | Type | specifies the communication semantic, one of:
|
[in] | Protocol | specifies a particular transport to be used with the socket. The most common are
|
Definition at line 51 of file socket.c.