Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

UDP Sockets
[Socket API]


Detailed Description

UDP sockets.

Nut/Net supports connectionless UDP sockets only.


Functions

UDPSOCKETNutUdpCreateSocket (u_short port)
 Create an UDP socket.

int NutUdpSendTo (UDPSOCKET *sock, u_long addr, u_short port, void *data, u_short len)
 Send an UDP datagram.

int NutUdpReceiveFrom (UDPSOCKET *sock, u_long *addr, u_short *port, void *data, u_short size, u_long timeout)
 Receive an UDP datagram.

int NutUdpDestroySocket (UDPSOCKET *sock)
 Close UDP socket.

UDPSOCKETNutUdpFindSocket (u_short port)
 Find a matching socket.

int NutUdpSetSockOpt (UDPSOCKET *sock, int optname, CONST void *optval, int optlen)
 Set value of a UDP socket option.

int NutUdpGetSockOpt (UDPSOCKET *sock, int optname, void *optval, int optlen)
 Get a UDP socket option value.


Variables

UDPSOCKETudpSocketList


Function Documentation

UDPSOCKET* NutUdpCreateSocket u_short  port  ) 
 

Create an UDP socket.

Parameters:
port Server applications provide the local port number with this parameter. Client applications should pass zero.
Returns:
Socket descriptor of the newly created UDP socket or 0 if there is not enough memory left.

int NutUdpDestroySocket UDPSOCKET sock  ) 
 

Close UDP socket.

The memory occupied by the socket is immediately released after calling this function. The application must not use the socket after this call.

Parameters:
sock Socket descriptor. This pointer must have been retrieved by calling NutUdpCreateSocket().
Returns:
0 on success, -1 otherwise.

UDPSOCKET* NutUdpFindSocket u_short  port  ) 
 

Find a matching socket.

Loop through all sockets and find a matching one.

Note:
Applications typically do not need to call this function.
Parameters:
port Local port number.
Returns:
Socket descriptor.

int NutUdpGetSockOpt UDPSOCKET sock,
int  optname,
void *  optval,
int  optlen
 

Get a UDP socket option value.

The following values can be set:

  • SO_RCVBUF Socket input buffer size (u_short).

Parameters:
sock Socket descriptor. This pointer must have been retrieved by calling NutUdpCreateSocket().
optname Option to get.
optval Points to a buffer receiving the value.
optlen Length of the value buffer.
Returns:
0 on success, -1 otherwise.

int NutUdpReceiveFrom UDPSOCKET sock,
u_long addr,
u_short port,
void *  data,
u_short  size,
u_long  timeout
 

Receive an UDP datagram.

Parameters:
sock Socket descriptor. This pointer must have been retrieved by calling NutUdpCreateSocket().
addr IP address of the remote host in network byte order.
port Remote port number in host byte order.
data Pointer to the buffer that receives the data.
size Size of the buffer that receives the data.
timeout Maximum number of milliseconds to wait.
Returns:
The number of bytes received, if successful. The return value -1 indicates an error. On timeout 0 is returned.
Note:
Timeout is limited to the granularity of the system timer.

int NutUdpSendTo UDPSOCKET sock,
u_long  addr,
u_short  port,
void *  data,
u_short  len
 

Send an UDP datagram.

Parameters:
sock Socket descriptor. This pointer must have been retrieved by calling NutUdpCreateSocket().
addr IP address of the remote host in network byte order.
port Remote port number in host byte order.
data Pointer to a buffer containing the data to send.
len Number of bytes to be sent.
Returns:
0 on success, -1 otherwise.

int NutUdpSetSockOpt UDPSOCKET sock,
int  optname,
CONST void *  optval,
int  optlen
 

Set value of a UDP socket option.

The following values can be set:

  • SO_RCVBUF Socket input buffer size (u_short).

Parameters:
sock Socket descriptor. This pointer must have been retrieved by calling NutUdpCreateSocket().
optname Option to set.
optval Pointer to the value.
optlen Length of the value.
Returns:
0 on success, -1 otherwise.


Variable Documentation

UDPSOCKET* udpSocketList
 

Linked list of all UDP sockets.


© 2000-2003 by egnite Software GmbH - visit http://www.ethernut.de/