LibreOffice: osl::DatagramSocket Class Reference

LibreOffice LibreOffice 26.8 SDK C/C++ API Reference

Loading...
Searching...
No Matches
osl::DatagramSocket Class Reference

A connectionless socket to send and receive datagrams. More...

`#include <socket_decl.hxx>`

Inheritance diagram for osl::DatagramSocket:

## Public Member Functions
| DatagramSocket (oslAddrFamily Family=osl_Socket_FamilyInet, oslProtocol Protocol=osl_Socket_ProtocolIp, oslSocketType Type=osl_Socket_TypeDgram)
| Creates a datagram socket.
sal_Int32 | recvFrom (void *pBuffer, sal_uInt32 BufferSize, SocketAddr *pSenderAddr=NULL, oslSocketMsgFlag Flag=osl_Socket_MsgNormal)
| Tries to receives BufferSize data from the socket, if no error occurs.
sal_Int32 | sendTo (const SocketAddr &ReceiverAddr, const void *pBuffer, sal_uInt32 BufferSize, oslSocketMsgFlag Flag=osl_Socket_MsgNormal)
| Tries to send one datagram with BytesToSend size to the given ReceiverAddr.
Public Member Functions inherited from osl::Socket
| Socket ()
| Socket (const Socket &socket)
| Socket (oslSocket socketHandle)
| Socket (oslSocket socketHandle, __sal_NoAcquire noacquire)
| The instance takes over the handle's ownership without acquiring the handle, but releases it within the dtor.
| ~Socket ()
| Destructor.
Socket & | operator= (oslSocket socketHandle)
| Assignment operator.
Socket & | operator= (const Socket &sock)
| Assignment operator.
bool | operator== (const Socket &rSocket) const
bool | operator== (const oslSocket socketHandle) const
void | shutdown (oslSocketDirection Direction=osl_Socket_DirReadWrite)
| Closes a definite or both directions of the bidirectional stream.
void | close ()
| Closes a socket.
void | getLocalAddr (SocketAddr &Addr) const
| Retrieves the address of the local interface of this socket.
sal_Int32 | getLocalPort () const
| Get the local port of the socket.
inline ::rtl::OUString | getLocalHost () const
| Get the hostname for the local interface.
void | getPeerAddr (SocketAddr &Addr) const
| Retrieves the address of the remote host of this socket.
sal_Int32 | getPeerPort () const
| Get the remote port of the socket.
inline ::rtl::OUString | getPeerHost () const
| Get the hostname for the remote interface.
bool | bind (const SocketAddr &LocalInterface)
| Binds the socket to the specified (local) interface.
bool | isRecvReady (const TimeValue *pTimeout=NULL) const
| Checks if read operations will block.
bool | isSendReady (const TimeValue *pTimeout=NULL) const
| Checks if send operations will block.
bool | isExceptionPending (const TimeValue *pTimeout=NULL) const
| Checks if a request for out-of-band data will block.
oslSocketType | getType () const
| Queries the socket for its type.
sal_Int32 | getOption (oslSocketOption Option, void *pBuffer, sal_uInt32 BufferLen, oslSocketOptionLevel Level=osl_Socket_LevelSocket) const
| Retrieves option-attributes associated with the socket.
bool | setOption (oslSocketOption Option, void *pBuffer, sal_uInt32 BufferLen, oslSocketOptionLevel Level=osl_Socket_LevelSocket) const
| Sets the sockets attributes.
bool | setOption (oslSocketOption option, sal_Int32 nValue)
| Convenience function for setting sal_Bool and sal_Int32 option values.
sal_Int32 | getOption (oslSocketOption option) const
| Convenience function for retrieving sal_Bool and sal_Int32 option values.
bool | enableNonBlockingMode (bool bNonBlockingMode)
| Enables/disables non-blocking mode of the socket.
bool | isNonBlockingMode () const
| Query blocking mode of the socket.
void | clearError () const
| clears the error status
oslSocketError | getError () const
| returns a constant describing the last error for the socket system.
inline ::rtl::OUString | getErrorAsString () const
| Builds a string with the last error-message for the socket.
oslSocket | getHandle () const
| Returns the underlying handle unacquired (The caller must acquire it to keep it).

## Additional Inherited Members
Protected Member Functions inherited from osl::Socket
| Socket (oslSocketType Type, oslAddrFamily Family=osl_Socket_FamilyInet, oslProtocol Protocol=osl_Socket_ProtocolIp)
| Creates a socket.
Protected Attributes inherited from osl::Socket
oslSocket | m_handle

## Detailed Description

A connectionless socket to send and receive datagrams.

## Constructor & Destructor Documentation

## ◆ DatagramSocket()

osl::DatagramSocket::DatagramSocket | ( | oslAddrFamily | Family = osl_Socket_FamilyInet,
|  | oslProtocol | Protocol = osl_Socket_ProtocolIp,
|  | oslSocketType | Type = osl_Socket_TypeDgram )
| inline

Creates a datagram socket.

Parameters

  Family | the Family of the socket (Inet by default)
  Protocol | the Protocon of the socket (IP by default)
  Type | is sock_dgram by default.

## Member Function Documentation

## ◆ recvFrom()

sal_Int32 osl::DatagramSocket::recvFrom | ( | void * | pBuffer,
|  | sal_uInt32 | BufferSize,
|  | SocketAddr * | pSenderAddr = NULL,
|  | oslSocketMsgFlag | Flag = osl_Socket_MsgNormal )
| inline

Tries to receives BufferSize data from the socket, if no error occurs.

Parameters

  pSenderAddr | [out] You must provide pointer to a SocketAddr. It will be filled with the address of the datagrams sender. If pSenderAddr is 0, it is ignored.
  pBuffer | [out] Points to a buffer that will be filled with the received datagram.
  BufferSize | [in] The size of pBuffer.
  Flag | [in] Modifier for the call. Valid values are: `osl_Socket_MsgNormal` `osl_Socket_MsgOOB` `osl_Socket_MsgPeek` `osl_Socket_MsgDontRoute` `osl_Socket_MsgMaxIOVLen`

Returns
  the number of received bytes.

## ◆ sendTo()

sal_Int32 osl::DatagramSocket::sendTo | ( | const SocketAddr & | ReceiverAddr,
|  | const void * | pBuffer,
|  | sal_uInt32 | BufferSize,
|  | oslSocketMsgFlag | Flag = osl_Socket_MsgNormal )
| inline

Tries to send one datagram with BytesToSend size to the given ReceiverAddr.

Since there is only send one packet, the function doesn't care about packet boundaries.

Parameters

  ReceiverAddr | [in] A SocketAddr that contains the destination address for this send.
  pBuffer | [in] Points to a buffer that contains the send-data.
  BufferSize | [in] The number of bytes to send. pBuffer must have at least this size.
  Flag | [in] Modifier for the call. Valid values are:

- `osl_Socket_MsgNormal`
- `osl_Socket_MsgOOB`
- `osl_Socket_MsgPeek`
- `osl_Socket_MsgDontRoute`
- `osl_Socket_MsgMaxIOVLen`

Returns
  the number of transferred bytes.

The documentation for this class was generated from the following files:

- osl/socket_decl.hxx
- osl/socket.hxx