59 #define IF_p6IEnumAddrs {0x9BD24E32,0x5116,0x4D37,{0x9F,0xF3,0x2C,0xAD,0xBB,0xC9,0x49,0xD5}}
76 #define IF_p6IEnumAliases {0x02370101,0x1D65,0x4946,{0xBB,0xAE,0x5F,0x4D,0x71,0x2F,0x06,0xE1}}
138 #define IF_p6IHostent {0x47544238,0x7574,0x41FD,{0x86,0x00,0x05,0xAF,0xE2,0x78,0x1E,0xFB}}
185 #define IF_p6IProtoent {0x5CF4F86A,0x1548,0x4605,{0x8B,0x31,0x78,0x73,0x7D,0x4F,0x9C,0x4A}}
246 #define IF_p6IServent {0xBAE7A477,0xE898,0x419A,{0xBD,0x53,0x85,0xEC,0x14,0xD8,0xCC,0x9D}}
270 #define IF_p6IEnumInterfaces {0x94583D57,0x54A0,0x48BD,{0x8E,0x84,0xCF,0xCF,0x37,0x31,0x3B,0x19}}
470 #define IF_p6INetdb {0x0012BE20,0x541C,0x4850,{0x9C,0xDB,0x12,0xAF,0x65,0x22,0x38,0xB2}}
472 #define COMP_p6Netdb {0x5E836E31,0x910E,0x47e2,{0xAB,0xC5,0xC0,0x8B,0xB5,0x31,0xFC,0x50}}
527 #define IF_p6ISocketOptions {0x980583C5,0xF272,0x4c9f,{0xA7,0x03,0x60,0x10,0xF6,0x55,0x0A,0x9A}}
740 #define IF_p6IUdpSocket {0x77D29B06,0x2E8C,0x4aeb,{0x99,0xCF,0x1D,0x64,0xCA,0xC0,0x38,0x56}}
742 #define COMP_p6UdpSocket {0xB111E23D,0x5F72,0x4e5e,{0x97,0x95,0xDC,0xD9,0x94,0x74,0x40,0x3C}}
830 #define IF_p6ITcpSecureSocket {0xBC3BA5EB,0x41C8,0x4A34,{0xB1,0x80,0xD8,0x5E,0xF5,0xA1,0xE2,0x04}}
1069 #define IF_p6ITcpSocket {0x0D205C9D,0x27BE,0x4dd8,{0x88,0x5D,0x0C,0x08,0x9D,0x2D,0xC4,0x91}}
1071 #define COMP_p6TcpSocket {0x57B33148,0xAF90,0x495a,{0x9A,0x9E,0x7A,0xCD,0x77,0xB9,0x4A,0xBE}}
1075 static const P6SOCKFACTORYFLAGS P6SFF_NOFLAGS = 0x00000000;
1076 static const P6SOCKFACTORYFLAGS P6SFF_SECURESSL = 0x00000002;
1098 #define IF_p6ISocketFactory {0x47F73495,0xAE0E,0x4542,{0x9A,0x7A,0xD2,0x0B,0x1B,0x06,0x76,0x49}}
1101 #define COMP_p6SocketFactory {0xC8806A3E,0x9CFE,0x43F3,{0x97,0xCE,0xE5,0x77,0xB9,0xE8,0x6B,0xB6}}
virtual P6R::P6ERR soSendBuf(P6R::P6BOOL bSet, P6R::P6UINT32 *pSize)=0
virtual P6R::P6ERR soLinger(P6R::P6BOOL bSet, P6R::P6BOOL *pbEnable, P6R::P6INTERVAL *ptLinger)=0
virtual P6R::P6ERR createClientSocket2(P6R::P6SOCKFACTORYFLAGS fFlags, const P6R::P6CHAR *pszBindAddrStr, P6R::p6ITcpSocket **ppSocket)=0
virtual P6R::P6ERR send(P6R::P6UINT8 *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBytesSent, P6R::P6INTERVAL timeout)=0
This method is used to send a datagram on a connected socket.
This interface allows the caller to find an existing key, certificate, or blob (e.g., password) by a namespace and name pair.
virtual P6R::P6ERR getServByPort(P6R::P6UINT16 nPort, const P6R::P6CHAR *pszProto, P6R::p6IServent **ppEnt)=0
Retreieves service information that corresponds with the specified service port.
virtual P6R::P6ERR soReuseAddr(P6R::P6BOOL bSet, P6R::P6BOOL *pbReuse)=0
virtual P6R::P6ERR sendIoBuffer(P6R::p6IIoBuffer *pIoBuffer, P6R::P6UINT32 *pcBytesSent, P6R::P6INTERVAL timeout)=0
This method is used to send data contained in an p6IIoBuffer on a connected socket.
Threading interfaces and definitions.
P6R's keystore component to manage keys, certificates, and blobs.
virtual P6R::P6ERR next(P6R::P6UINT32 cElements, P6R::P6NETADDR *parElements, P6R::P6UINT32 *pcReturned)=0
virtual P6R::P6ERR getProto(P6R::P6CHAR *pBuffer, P6R::P6UINT32 *pcBuffer)=0
Retrieves the name of the protocol to use when contacting this service.
virtual P6R::P6ERR recvIoBuffer(P6R::p6IIoBuffer *pIoBuffer, P6R::P6UINT32 *pcBytesRead, P6R::P6INTERVAL timeout)=0
Given an previsouly allocated p6IIoBuffer, this method receives data from the specified socket which ...
virtual P6R::P6ERR shutdown(P6R::SHUTDOWNFLAGS fFlags)=0
Notifies the TCP stack to begin shutdown of the socket in the direction(s) specified by the fFlags ar...
virtual P6R::P6ERR initialize()=0
virtual P6R::P6ERR mcastTTL(P6R::P6BOOL bSet, P6R::P6UINT16 *pTTL)=0
virtual P6R::P6ERR getHostByName(const P6R::P6CHAR *pszHostname, P6R::P6NETADDR *pAddr)=0
Retrieves host address information for the host specified in pszHostname.
This interface is used to enumerate addresses returned from methods (eg.
virtual P6R::P6ERR getName(P6R::P6CHAR *pBuffer, P6UINT32 *pcBuffer)=0
Retrieves the official protocol name.
virtual P6R::P6ERR getHostname(P6R::P6CHAR *pBuffer, P6R::P6UINT32 cBuffer)=0
Retrieves the hostname of the local machine.
virtual P6R::P6ERR reset()=0
This factory interface is responsible for creating and managing memory pooled Io Buffers (p6IIoBuffer...
virtual P6R::P6ERR getNegotiatedCipher(P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer)=0
Returns a description of the cipher that was negotiated for the current connection.
virtual P6R::P6ERR initialize(P6R::P6ADDRFAM af, P6R::P6SOCKFLAGS fFlags)=0
Initializes the UDP socket component.
virtual P6R::P6ERR initialize(P6R::P6ADDRFAM af, P6R::P6SOCKFLAGS fFlags)=0
Initializes the instance for use and must be called prior to calling any other method on the interfac...
virtual P6R::P6ERR ipTTL(P6R::P6BOOL bSet, P6R::P6UINT16 *pTTL)=0
This structure is used to hold alias strings returned by enumertators like p6IEnumAliases.
virtual P6R::P6ERR listen(P6R::P6INT32 cBacklog)=0
Places the socket in a state where it listens for incomming connections.
virtual P6R::P6ERR getHostByName2W(const P6R::P6WCHAR *pszHostname, P6R::p6IHostent **ppEnt)=0
Retrieves host information for the host specified in pszHostname.
virtual P6R::P6ERR mcastIF(P6R::P6BOOL bSet, P6R::P6NETADDR *pLocalAddr)=0
virtual P6R::P6ERR enumAddresses(p6IEnumAddrs **ppEnum)=0
Retrieves an enumeration interface that will allow the hosts addresses to be enumerated.
virtual P6R::P6ERR getServByPortW(P6R::P6UINT16 nPort, const P6R::P6WCHAR *pszProto, P6R::p6IServent **ppEnt)=0
Retreieves service information that corresponds with the specified service port.
const SHUTDOWNFLAGS SDF_RECV
virtual P6R::P6ERR enumAliases(p6IEnumAliases **ppEnum)=0
Retrieves an enumeration interface that will allow the hosts aliases to be enumerated.
virtual P6R::P6ERR getServByName(const P6R::P6CHAR *pszName, const P6R::P6CHAR *pszProto, P6R::p6IServent **ppEnt)=0
Retreieves service information that corresponds with the specified service name.
const P6IFFLAGS P6IFF_LOOPBACK
virtual P6R::P6ERR getHostByAddr(const P6R::P6NETADDR *pInAddr, P6R::p6IHostent **ppEnt)=0
Retrieves host information for the specified network address.
P6UINT32 P6SOCKFACTORYFLAGS
virtual P6R::P6ERR bind(P6R::P6NETADDR *pLocalAddr)=0
Bind the socket to the specified local address and port.
const P6INADDR P6INADDR_ANY
const P6IFFLAGS P6IFF_POINT2POINT
virtual P6R::P6ERR next(P6R::P6UINT32 cElements, P6R::P6IFACEINFO *parElements, P6R::P6UINT32 *pcReturned)=0
unsigned short int P6UINT16
virtual P6R::P6ERR recv(P6R::P6UINT8 *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBytesRead, P6R::P6INTERVAL timeout)=0
Receives data from the specified socket which has been previously "connected" using the connect metho...
P6COM runtime interfaces definitions.
virtual P6R::P6ERR getServByNameW(const P6R::P6WCHAR *pszName, const P6R::P6WCHAR *pszProto, P6R::p6IServent **ppEnt)=0
Retreieves service information that corresponds with the specified service name.
virtual P6R::P6ERR getName(P6R::P6CHAR *pBuffer, P6UINT32 *pcBuffer)=0
Retrieves the hostname associated with this host entry.
const P6IFFLAGS P6IFF_NONE
virtual P6R::P6ERR getID(P6R::P6SIZE *pHandle)=0
Retrieves an ID that can be used to identify this socket.
wchar_t P6WCHAR
Wide character type see p6i18n.h.
const P6INADDR P6INADDR_BROADCAST
virtual P6R::P6ERR getLocalAddr(P6R::P6NETADDR *pLocalAddr)=0
Get the local address of the socket if bound.
virtual P6R::P6ERR mcastDropGroup(P6R::P6NETADDR *pmcastAddr, P6R::P6NETADDR *pLocalAddr)=0
The base interface all [p6]COM components must derive from and implement.
P6R::P6UINT32 P6SECURESOCKETFLAGS
virtual P6R::P6ERR connect(P6R::P6NETADDR *pRemoteAddr, P6R::P6INTERVAL timeout)=0
Attempt to establish a connection to the remote endpoint.
virtual P6R::P6ERR soKeepAlive(P6R::P6BOOL bSet, P6R::P6BOOL *pbEnable)=0
virtual P6R::P6ERR getProtoByNumber(P6R::P6INT32 nNumber, P6R::p6IProtoent **ppEnt)=0
Retreieves protocol information that corresponds with the specified protocol number.
Log producer component interfaces.
virtual P6R::P6ERR createServerSocketSimple(P6R::P6SOCKFACTORYFLAGS fFlags, P6R::p6ITcpSocket **ppSocket)=0
Creates a socket meant for use with p6IEventQ.
virtual P6R::P6ERR mcastLoopback(P6R::P6BOOL bSet, P6R::P6BOOL *pbEnable)=0
virtual P6R::P6ERR getHostByName2(const P6R::P6CHAR *pszHostname, P6R::p6IHostent **ppEnt)=0
Retrieves host information for the host specified in pszHostname.
const SHUTDOWNFLAGS SDF_SEND
This interface encapsulates protocol information retrieved using various network API's.
virtual P6R::P6ERR enumAliases(p6IEnumAliases **ppEnum)=0
Retrieves an enumeration interface that will allow the protocol's aliases to be enumerated.
virtual P6R::P6ERR createServerSocket2(P6R::P6SOCKFACTORYFLAGS fFlags, const P6R::P6CHAR *pszBindAddrStr, P6R::p6ITcpSocket **ppSocket)=0
virtual P6R::P6ERR recv(P6R::P6UINT8 *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBytesRead, P6R::P6INTERVAL timeout)=0
Receives data from the specified socket which has been previously "connected" using the connect metho...
virtual P6R::P6ERR getLocalAddr(P6R::P6NETADDR *pLocalAddr)=0
Get the local address of the socket if bound.
virtual P6R::P6ERR createClientSocket(P6R::P6SOCKFACTORYFLAGS fFlags, const P6R::P6NETADDR *pBindAddr, P6R::p6ITcpSocket **ppSocket)=0
virtual P6R::P6ERR getFlags(P6R::P6SOCKFLAGS *pfFlags)=0
Retrieves the flags that were specified in the initialize method.
This interface encapsulates protocol information retrieved using various network API's.
virtual P6R::P6ERR tcpMaxSeg(P6R::P6BOOL bSet, P6R::P6UINT32 *pSize)=0
virtual P6R::P6ERR createServerSocket(P6R::P6SOCKFACTORYFLAGS fFlags, const P6R::P6NETADDR *pBindAddr, P6R::p6ITcpSocket **ppSocket)=0
This interface encapsultes host information retrieved using various network API's.
virtual P6R::P6ERR bind(P6R::P6NETADDR *pLocalAddr)=0
Bind the socket to the specified local address and port.
virtual P6R::P6ERR getPeerAddr(P6R::P6NETADDR *pPeerAddr)=0
Retrieve the remote end-point address information on a connected socket.
virtual P6R::P6ERR send(P6R::P6UINT8 *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBytesSent, P6R::P6INTERVAL timeout)=0
This method is used to send data on a connected socket.
virtual P6R::P6ERR getType(P6R::P6INT32 *pAddrType)=0
Retrieve the type of addresses being returned (P6AF_INET or P6AF_INTE6).
virtual P6R::P6ERR soRecvBuf(P6R::P6BOOL bSet, P6R::P6UINT32 *pSize)=0
virtual P6R::P6ERR reset()=0
virtual P6R::P6ERR getName(P6R::P6CHAR *pBuffer, P6R::P6UINT32 *pcBuffer)=0
Retrieves the official name of the service.
virtual P6R::P6ERR next(P6R::P6UINT32 cElements, P6R::P6NETALIAS *parElements, P6R::P6UINT32 *pcReturned)=0
virtual P6R::P6ERR createClientSocketSimple(P6R::P6SOCKFACTORYFLAGS fFlags, P6R::p6ITcpSocket **ppSocket)=0
const SHUTDOWNFLAGS SDF_BOTH
P6COM runtime interfaces definitions.
virtual P6R::P6ERR getProto(P6R::P6UINT16 *pnProto)=0
Retrieves the protocol number in host byte order.
virtual P6R::P6ERR getID(P6R::P6SIZE *pHandle)=0
Retrieves an ID that can be used to identify this socket.
virtual P6R::P6ERR enumAliases(P6R::p6IEnumAliases **ppEnum)=0
Retrieves an enumeration interface that will allow the service's aliases to be enumerated.
P6COM runtime component interface definitions.
virtual P6R::P6ERR recvFrom(P6R::P6UINT8 *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBytesRead, P6R::P6INTERVAL timeout, P6R::P6NETADDR *pRemoteAddr)=0
Receives data from the socket.
virtual P6R::P6ERR soNonBlock(P6R::P6BOOL bSet, P6R::P6BOOL *pbEnable)=0
const P6IFFLAGS P6IFF_MULTICAST
virtual P6R::P6ERR sendTo(P6R::P6UINT8 *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBytesSent, P6R::P6INTERVAL timeout, P6R::P6NETADDR *pRemoteAddr)=0
Sends a datagram to the specified endpoint on an un-connected socket.
virtual P6R::P6ERR getFlags(P6R::P6SOCKFLAGS *pfFlags)=0
Retrieves the flags that were specified in the initialize method.
const P6IFFLAGS P6IFF_BROADCAST
virtual P6R::P6ERR connect(P6R::P6NETADDR *pRemoteAddr, P6R::P6INTERVAL timeout)=0
Connect the socket with the end-point specified in pRemoteAddr.
Set various options on the current socket.
const P6INADDR P6INADDR_LOOPBACK
virtual P6R::P6ERR initSecureSocket(P6R::p6IKeystore *pKeystore, P6R::p6IIoBufferFactory *pFactory, const P6R::P6WCHAR *pszHostname, const P6R::P6WCHAR *pszCiphers, P6R::P6SECURESOCKETFLAGS fSecureFlags)=0
Initializes the socket for use with SSL/TLS.
virtual P6R::P6ERR getPort(P6R::P6UINT16 *pnPort)=0
Retrieves the port number (in network byte order) at which the service can be contacted.
virtual P6R::P6ERR accept(P6R::P6NETADDR *pAddr, P6R::P6INTERVAL timeout, P6R::p6ITcpSocket **ppSocket)=0
Accepts an incomming connection attempt on the the socket.
virtual P6R::P6ERR reset()=0
virtual P6R::P6ERR getHostnameW(P6R::P6WCHAR *pBuffer, P6R::P6UINT32 cBuffer)=0
Retrieves the hostname of the local machine.
virtual P6R::P6ERR getPeerAddr(P6R::P6NETADDR *pPeerAddr)=0
Retrieve the remote end-point address information on a connected socket.
virtual P6R::P6ERR getProtoByName(const P6R::P6CHAR *pszName, P6R::p6IProtoent **ppEnt)=0
Retreieves protocol information that corresponds with the specified protocol name.
virtual P6R::P6ERR tcpNoDelay(P6R::P6BOOL bSet, P6R::P6BOOL *pbEnable)=0
Used to enable/disable Nagle for the current socket.
P6R::P6UINT32 P6SOCKFLAGS
This interface is used to enumerate aliases for host and protocol alias information.
virtual P6R::P6ERR getProtoByNameW(const P6R::P6WCHAR *pszName, P6R::p6IProtoent **ppEnt)=0
Retreieves protocol infromation that corresponds with the specified protocol name.
virtual P6R::P6ERR mcastJoinGroup(P6R::P6NETADDR *pmcastAddr, P6R::P6NETADDR *pLocalAddr)=0
virtual P6R::P6ERR getHostByNameW(const P6R::P6WCHAR *pszHostname, P6R::P6NETADDR *pAddr)=0
Retrieves host address information for the host specified in pszHostname.
char P6CHAR
Narrow character type.
virtual P6R::P6ERR ipTOS(P6R::P6BOOL bSet, P6R::P6UINT16 *pTOS)=0
This method gets or sets the type-of-service field in the IP header for a TCP or UDP socket...
virtual P6R::P6ERR enumInterfaces(P6R::P6ADDRFAM nFamily, P6R::p6IEnumInterfaces **ppEnum)=0