//| Copyright: (C) 2020-2024 Kevin Larke //| 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