libcw/cwSocketDecls.h
2024-12-01 14:35:24 -05:00

46 lines
1.1 KiB
C++

//| Copyright: (C) 2020-2024 Kevin Larke <contact AT larke DOT org>
//| License: GNU GPL version 3.0 or above. See the accompanying LICENSE file.
#ifndef cwSocketDecls_H
#define cwSocketDecls_H
namespace cw
{
namespace sock
{
typedef uint16_t portNumber_t;
typedef enum
{
kConnectCbId,
kReceiveCbId,
kDisconnectCbId,
} cbOpId_t;
enum
{
kNonBlockingFl = 0x000, // Create a non-blocking socket.
kBlockingFl = 0x001, // Create a blocking socket.
kTcpFl = 0x002, // Create a TCP socket rather than a UDP socket.
kBroadcastFl = 0x004, //
kReuseAddrFl = 0x008, //
kReusePortFl = 0x010, //
kMultiCastTtlFl = 0x020, //
kMultiCastLoopFl = 0x040, //
kListenFl = 0x080, // Use this socket to listen for incoming connections
kStreamFl = 0x100, // Connected stream (not Datagram)
kTcpNoDelayFl = 0x200, // TCP stream option only (Implements TCP_NODELAY)
};
enum
{
// port 0 is reserved by and is therefore a convenient invalid port number
kInvalidPortNumber = 0
};
}
}
#endif