# OS_NS_sys_socket.h File Reference

`#include "ace/config-all.h"`
`#include "ace/os_include/sys/os_socket.h"`
`#include "ace/os_include/net/os_if.h"`
`#include "ace/OS_NS_stropts.h"`
`#include "ace/ACE_export.h"`
`#include "ace/OS_NS_sys_socket.inl"`

Include dependency graph for OS_NS_sys_socket.h:

This graph shows which files directly or indirectly include this file:

## Namespaces

namespace | ACE_OS

## A set of wrappers for sockets.

ACE_NAMESPACE_INLINE_FUNCTION ACE_HANDLE | accept (ACE_HANDLE handle, struct sockaddr *addr, int *addrlen)
| BSD-style <accept> (no QoS).
ACE_Export ACE_HANDLE | accept (ACE_HANDLE handle, struct sockaddr *addr, int *addrlen, const ACE_Accept_QoS_Params &qos_params)
ACE_NAMESPACE_INLINE_FUNCTION int | bind (ACE_HANDLE s, struct sockaddr *name, int namelen)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION int | closesocket (ACE_HANDLE s)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION int | connect (ACE_HANDLE handle, struct sockaddr *addr, int addrlen)
| BSD-style <connect> (no QoS).
ACE_Export int | connect (ACE_HANDLE handle, const sockaddr *addr, int addrlen, const ACE_QoS_Params &qos_params)
ACE_NAMESPACE_INLINE_FUNCTION int | enum_protocols (int *protocols, ACE_Protocol_Info *protocol_buffer, u_long *buffer_length)
ACE_NAMESPACE_INLINE_FUNCTION int | getpeername (ACE_HANDLE handle, struct sockaddr *addr, int *addrlen)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION int | getsockname (ACE_HANDLE handle, struct sockaddr *addr, int *addrlen)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION int | getsockopt (ACE_HANDLE handle, int level, int optname, char *optval, int *optlen)
| BSD-style <accept> (no QoS).
ACE_Export ACE_HANDLE | join_leaf (ACE_HANDLE socket, const sockaddr *name, int namelen, const ACE_QoS_Params &qos_params)
| Joins a leaf node into a QoS-enabled multi-point session.
ACE_NAMESPACE_INLINE_FUNCTION int | listen (ACE_HANDLE handle, int backlog)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | recv (ACE_HANDLE handle, char *buf, size_t len, int flags=0)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | recvfrom (ACE_HANDLE handle, char *buf, size_t len, int flags, struct sockaddr *addr, int *addrlen)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | recvfrom (ACE_HANDLE handle, iovec *buffers, int buffer_count, size_t &number_of_bytes_recvd, int &flags, struct sockaddr *addr, int *addrlen, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | recvmsg (ACE_HANDLE handle, struct msghdr *msg, int flags)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | recvv (ACE_HANDLE handle, iovec *iov, int iovlen)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | send (ACE_HANDLE handle, const char *buf, size_t len, int flags=0)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | sendmsg (ACE_HANDLE handle, const struct msghdr *msg, int flags)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | sendto (ACE_HANDLE handle, const char *buf, size_t len, int flags, const struct sockaddr *addr, int addrlen)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | sendto (ACE_HANDLE handle, const iovec *buffers, int buffer_count, size_t &number_of_bytes_sent, int flags, const struct sockaddr *addr, int addrlen, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ssize_t | sendv (ACE_HANDLE handle, const iovec *iov, int iovcnt)
| BSD-style <accept> (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION int | setsockopt (ACE_HANDLE handle, int level, int optname, const char *optval, int optlen)
| Manipulate the options associated with a socket.
ACE_NAMESPACE_INLINE_FUNCTION int | shutdown (ACE_HANDLE handle, int how)
| BSD-style <accept> (no QoS).
ACE_Export int | socket_init (int version_high=1, int version_low=1)
ACE_Export int | socket_fini (void)
| Finalize WinSock after last use (e.g., when a DLL is unloaded).
ACE_NAMESPACE_INLINE_FUNCTION ACE_HANDLE | socket (int protocol_family, int type, int proto)
| Create a BSD-style socket (no QoS).
ACE_NAMESPACE_INLINE_FUNCTION ACE_HANDLE | socket (int protocol_family, int type, int proto, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags)
ACE_NAMESPACE_INLINE_FUNCTION int | socketpair (int domain, int type, int protocol, ACE_HANDLE sv[2])
| BSD-style <accept> (no QoS).

## Defines

#define | ACE_EXPORT_MACRO ACE_Export
#define | ACE_SHUTDOWN_READ 0
| These are available values for the how argument to ACE_OS::shutdown().
#define | ACE_SHUTDOWN_WRITE 1
#define | ACE_SHUTDOWN_BOTH 2
#define | ACE_INLINE inline

## Variables

ACE_Export int | socket_initialized_
| Keeps track of whether we've already initialized WinSock...

## Detailed Description

Id
  OS_NS_sys_socket.h,v 1.11 2006/02/28 00:23:12 shuston Exp

Author:
  Douglas C. Schmidt <schmidt@cs.wustl.edu>

  Jesper S. M|ller<stophph@diku.dk>

  and a cast of thousands...

Originally in OS.h.

## Define Documentation

#define ACE_EXPORT_MACRO ACE_Export

#define ACE_INLINE inline

#define ACE_SHUTDOWN_BOTH 2

#define ACE_SHUTDOWN_READ 0

| These are available values for the how argument to ACE_OS::shutdown().

#define ACE_SHUTDOWN_WRITE 1

## Function Documentation

ACE_HANDLE ACE_OS::accept | ( | ACE_HANDLE | handle,
|  | struct sockaddr * | addr,
|  | int * | addrlen,
|  | const ACE_Accept_QoS_Params & | qos_params
| ) |

| QoS-enabled <accept>, which passes <qos_params> to <accept>. If the OS platform doesn't support QoS-enabled <accept> then the <qos_params> are ignored and the BSD-style <accept> is called.

ACE_INLINE ACE_HANDLE ACE_OS::accept | ( | ACE_HANDLE | handle,
|  | struct sockaddr * | addr,
|  | int * | addrlen
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE int ACE_OS::bind | ( | ACE_HANDLE | s,
|  | struct sockaddr * | name,
|  | int | namelen
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE int ACE_OS::closesocket | ( | ACE_HANDLE | s | ) |

| BSD-style <accept> (no QoS).

int ACE_OS::connect | ( | ACE_HANDLE | handle,
|  | const sockaddr * | addr,
|  | int | addrlen,
|  | const ACE_QoS_Params & | qos_params
| ) |

| QoS-enabled <connect>, which passes <qos_params> to <connect>. If the OS platform doesn't support QoS-enabled <connect> then the <qos_params> are ignored and the BSD-style <connect> is called.

ACE_INLINE int ACE_OS::connect | ( | ACE_HANDLE | handle,
|  | struct sockaddr * | addr,
|  | int | addrlen
| ) |

| BSD-style <connect> (no QoS).

ACE_INLINE int ACE_OS::enum_protocols | ( | int * | protocols,
|  | ACE_Protocol_Info * | protocol_buffer,
|  | u_long * | buffer_length
| ) |

| Retrieve information about available transport protocols installed on the local machine. Windows specific...

ACE_INLINE int ACE_OS::getpeername | ( | ACE_HANDLE | handle,
|  | struct sockaddr * | addr,
|  | int * | addrlen
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE int ACE_OS::getsockname | ( | ACE_HANDLE | handle,
|  | struct sockaddr * | addr,
|  | int * | addrlen
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE int ACE_OS::getsockopt | ( | ACE_HANDLE | handle,
|  | int | level,
|  | int | optname,
|  | char * | optval,
|  | int * | optlen
| ) |

| BSD-style <accept> (no QoS).

ACE_HANDLE ACE_OS::join_leaf | ( | ACE_HANDLE | socket,
|  | const sockaddr * | name,
|  | int | namelen,
|  | const ACE_QoS_Params & | qos_params
| ) |

| Joins a leaf node into a QoS-enabled multi-point session.

ACE_INLINE int ACE_OS::listen | ( | ACE_HANDLE | handle,
|  | int | backlog
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::recv | ( | ACE_HANDLE | handle,
|  | char * | buf,
|  | size_t | len,
|  | int | flags = `0`
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::recvfrom | ( | ACE_HANDLE | handle,
|  | iovec * | buffers,
|  | int | buffer_count,
|  | size_t & | number_of_bytes_recvd,
|  | int & | flags,
|  | struct sockaddr * | addr,
|  | int * | addrlen,
|  | ACE_OVERLAPPED * | overlapped,
|  | ACE_OVERLAPPED_COMPLETION_FUNC | func
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::recvfrom | ( | ACE_HANDLE | handle,
|  | char * | buf,
|  | size_t | len,
|  | int | flags,
|  | struct sockaddr * | addr,
|  | int * | addrlen
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::recvmsg | ( | ACE_HANDLE | handle,
|  | struct msghdr * | msg,
|  | int | flags
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::recvv | ( | ACE_HANDLE | handle,
|  | iovec * | iov,
|  | int | iovlen
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::send | ( | ACE_HANDLE | handle,
|  | const char * | buf,
|  | size_t | len,
|  | int | flags = `0`
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::sendmsg | ( | ACE_HANDLE | handle,
|  | const struct msghdr * | msg,
|  | int | flags
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::sendto | ( | ACE_HANDLE | handle,
|  | const iovec * | buffers,
|  | int | buffer_count,
|  | size_t & | number_of_bytes_sent,
|  | int | flags,
|  | const struct sockaddr * | addr,
|  | int | addrlen,
|  | ACE_OVERLAPPED * | overlapped,
|  | ACE_OVERLAPPED_COMPLETION_FUNC | func
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::sendto | ( | ACE_HANDLE | handle,
|  | const char * | buf,
|  | size_t | len,
|  | int | flags,
|  | const struct sockaddr * | addr,
|  | int | addrlen
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ssize_t ACE_OS::sendv | ( | ACE_HANDLE | handle,
|  | const iovec * | iov,
|  | int | iovcnt
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE int ACE_OS::setsockopt | ( | ACE_HANDLE | handle,
|  | int | level,
|  | int | optname,
|  | const char * | optval,
|  | int | optlen
| ) |

| Manipulate the options associated with a socket.

ACE_INLINE int ACE_OS::shutdown | ( | ACE_HANDLE | handle,
|  | int | how
| ) |

| BSD-style <accept> (no QoS).

ACE_INLINE ACE_HANDLE ACE_OS::socket | ( | int | protocol_family,
|  | int | type,
|  | int | proto,
|  | ACE_Protocol_Info * | protocolinfo,
|  | ACE_SOCK_GROUP | g,
|  | u_long | flags
| ) |

| Create a QoS-enabled socket. If the OS platform doesn't support QoS-enabled <socket> then the BSD-style <socket> is called.

ACE_INLINE ACE_HANDLE ACE_OS::socket | ( | int | protocol_family,
|  | int | type,
|  | int | proto
| ) |

| Create a BSD-style socket (no QoS).

int ACE_OS::socket_fini | ( | void |  | ) |

| Finalize WinSock after last use (e.g., when a DLL is unloaded).

int ACE_OS::socket_init | ( | int | version_high = `1`,
|  | int | version_low = `1`
| ) |

| Initialize WinSock before first use (e.g., when a DLL is first loaded or the first use of a socket() call.

ACE_INLINE int ACE_OS::socketpair | ( | int | domain,
|  | int | type,
|  | int | protocol,
|  | ACE_HANDLE | sv[2]
| ) |

| BSD-style <accept> (no QoS).

## Variable Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL int ACE_OS::socket_initialized_

| Keeps track of whether we've already initialized WinSock...