|
|
 |
|
|
 |
Collaboration diagram for UDP Sockets:
Detailed Description
UDP sockets.
Nut/Net supports connectionless UDP sockets only.
|
Functions |
| UDPSOCKET * | NutUdpCreateSocket (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.
|
| UDPSOCKET * | NutUdpFindSocket (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 |
| UDPSOCKET * | udpSocketList |
Function Documentation
|
|
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.
|
|
|
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:
-
- Returns:
- 0 on success, -1 otherwise.
|
|
|
Find a matching socket.
Loop through all sockets and find a matching one.
- Note:
- Applications typically do not need to call this function.
- Parameters:
-
- 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.
|
|
|
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.
|
|
|
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
|
|
Linked list of all UDP sockets. |
|
 |
|