libcmutils 0.6.5
Multi-platform C99 utility library
Loading...
Searching...
No Matches
CMUTIL_DGramSocket Struct Reference

Datagram socket object. More...

Data Fields

CMSocketResult(* Bind )(CMUTIL_DGramSocket *dsock, const CMUTIL_SocketAddr *saddr)
 Bind the datagram socket to a specific address.
 
CMSocketResult(* Connect )(CMUTIL_DGramSocket *dsock, const CMUTIL_SocketAddr *saddr)
 Connect the datagram socket to a specific address.
 
CMBool(* IsConnected )(CMUTIL_DGramSocket *dsock)
 Check if the datagram socket is connected.
 
void(* Disconnect )(CMUTIL_DGramSocket *dsock)
 Disconnect the datagram socket.
 
CMSocketResult(* GetRemoteAddr )(CMUTIL_DGramSocket *dsock, CMUTIL_SocketAddr *saddr)
 Get the remote address of the datagram socket.
 
CMSocketResult(* GetLocalAddr )(CMUTIL_DGramSocket *dsock, CMUTIL_SocketAddr *saddr)
 Get the local address of the datagram socket.
 
CMSocketResult(* Send )(CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, long timeout)
 Send data to the connected remote address.
 
CMSocketResult(* Recv )(CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, long timeout)
 Receive data from the connected remote address.
 
CMSocketResult(* SendTo )(CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, CMUTIL_SocketAddr *saddr, long timeout)
 Send data to a specific address.
 
CMSocketResult(* RecvFrom )(CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, CMUTIL_SocketAddr *saddr, long timeout)
 Receive data from a specific address.
 
void(* Close )(CMUTIL_DGramSocket *dsock)
 Close the datagram socket.
 

Detailed Description

Datagram socket object.

Field Documentation

◆ Bind

CMSocketResult(* CMUTIL_DGramSocket::Bind) (CMUTIL_DGramSocket *dsock, const CMUTIL_SocketAddr *saddr)

Bind the datagram socket to a specific address.

Parameters
dsockThe datagram socket object to bind.
saddrThe socket address to bind to.
Returns
CMSocketResult indicating success or failure.

◆ Connect

CMSocketResult(* CMUTIL_DGramSocket::Connect) (CMUTIL_DGramSocket *dsock, const CMUTIL_SocketAddr *saddr)

Connect the datagram socket to a specific address.

Parameters
dsockThe datagram socket object to connect.
saddrThe socket address to connect to.
Returns
CMSocketResult indicating success or failure.

◆ IsConnected

CMBool(* CMUTIL_DGramSocket::IsConnected) (CMUTIL_DGramSocket *dsock)

Check if the datagram socket is connected.

Parameters
dsockThe datagram socket object to check.
Returns
CMTrue if the socket is connected, CMFalse otherwise.

◆ Disconnect

void(* CMUTIL_DGramSocket::Disconnect) (CMUTIL_DGramSocket *dsock)

Disconnect the datagram socket.

Parameters
dsockThe datagram socket object to disconnect.

◆ GetRemoteAddr

CMSocketResult(* CMUTIL_DGramSocket::GetRemoteAddr) (CMUTIL_DGramSocket *dsock, CMUTIL_SocketAddr *saddr)

Get the remote address of the datagram socket.

Parameters
dsockThe datagram socket object.
saddrPointer to the socket address object to store the remote address.
Returns
CMSocketResult indicating success or failure.

◆ GetLocalAddr

CMSocketResult(* CMUTIL_DGramSocket::GetLocalAddr) (CMUTIL_DGramSocket *dsock, CMUTIL_SocketAddr *saddr)

Get the local address of the datagram socket.

Parameters
dsockThe datagram socket object.
saddrPointer to the socket address object to store the local address.
Returns
CMSocketResult indicating success or failure.

◆ Send

CMSocketResult(* CMUTIL_DGramSocket::Send) (CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, long timeout)

Send data to the connected remote address.

To use this function, the datagram socket must be connected first.

Parameters
dsockThe datagram socket object.
bufThe byte buffer containing the data to send.
timeoutThe send operation timeout in milliseconds.
Returns
CMSocketResult indicating success or failure.

◆ Recv

CMSocketResult(* CMUTIL_DGramSocket::Recv) (CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, long timeout)

Receive data from the connected remote address.

To use this function, the datagram socket must be connected first.

Parameters
dsockThe datagram socket object.
bufThe byte buffer to store the received data.
timeoutThe receive operation timeout in milliseconds.
Returns
CMSocketResult indicating success or failure.

◆ SendTo

CMSocketResult(* CMUTIL_DGramSocket::SendTo) (CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, CMUTIL_SocketAddr *saddr, long timeout)

Send data to a specific address.

Parameters
dsockThe datagram socket object.
bufThe byte buffer containing the data to send.
saddrThe socket address to send the data to.
timeoutThe send operation timeout in milliseconds.
Returns
CMSocketResult indicating success or failure.

◆ RecvFrom

CMSocketResult(* CMUTIL_DGramSocket::RecvFrom) (CMUTIL_DGramSocket *dsock, CMUTIL_ByteBuffer *buf, CMUTIL_SocketAddr *saddr, long timeout)

Receive data from a specific address.

Parameters
dsockThe datagram socket object.
bufThe byte buffer to store the received data.
saddrPointer to the socket address object to store the sender's address.
timeoutThe receive operation timeout in milliseconds.
Returns
CMSocketResult indicating success or failure.

◆ Close

void(* CMUTIL_DGramSocket::Close) (CMUTIL_DGramSocket *dsock)

Close the datagram socket.

This function closes the datagram socket and releases any associated resources.

Parameters
dsockThe datagram socket object to be closed.

The documentation for this struct was generated from the following file: