diff --git a/src/include/gpxe/socket.h b/src/include/gpxe/socket.h index 44322f24..ea602537 100644 --- a/src/include/gpxe/socket.h +++ b/src/include/gpxe/socket.h @@ -7,9 +7,62 @@ * */ -/* Network address family numbers */ -#define AF_INET 1 -#define AF_INET6 2 +/** + * @defgroup commdomains Communication domains + * + * @{ + */ +#define PF_INET 1 /**< IPv4 Internet protocols */ +#define PF_INET6 2 /**< IPv6 Internet protocols */ +/** @} */ + +/** + * Name communication domain + * + * @v domain Communication domain (e.g. PF_INET) + * @ret name Name of communication domain + */ +static inline __attribute__ (( always_inline )) const char * +socket_domain_name ( int domain ) { + switch ( domain ) { + case PF_INET: return "PF_INET"; + case PF_INET6: return "PF_INET6"; + default: return "PF_UNKNOWN"; + } +} + +/** + * @defgroup commtypes Communication types + * + * @{ + */ +#define SOCK_STREAM 1 /**< Connection-based, reliable streams */ +#define SOCK_DGRAM 2 /**< Connectionless, unreliable streams */ +/** @} */ + +/** + * Name communication type + * + * @v type Communication type (e.g. SOCK_STREAM) + * @ret name Name of communication type + */ +static inline __attribute__ (( always_inline )) const char * +socket_type_name ( int type ) { + switch ( type ) { + case SOCK_STREAM: return "SOCK_STREAM"; + case SOCK_DGRAM: return "SOCK_DGRAM"; + default: return "SOCK_UNKNOWN"; + } +} + +/** + * @defgroup addrfam Address families + * + * @{ + */ +#define AF_INET 1 /**< IPv4 Internet addresses */ +#define AF_INET6 2 /**< IPv6 Internet addresses */ +/** @} */ /** A socket address family */ typedef uint16_t sa_family_t;