M src/libood/ood/inet/socket.c => src/libood/ood/inet/socket.c +2 -2
@@ 9,7 9,7 @@
static struct ood_inet_socket *
-alloc_connection(int socket, union sa_address *address)
+alloc_connection(int socket, union sa *address)
{
assert(socket >= 0);
@@ 37,7 37,7 @@ ood_inet_socket_accept(struct ood_inet_socket *listener, struct ood_inet_socket
assert(listener);
assert(connection_out);
- union sa_address *client_address;
+ union sa *client_address;
errno = 0;
int fd = sa_accept_alloc(listener->fd, &client_address);
M src/libood/ood/inet/socket.h => src/libood/ood/inet/socket.h +2 -2
@@ 8,7 8,7 @@
#define OOD_INET_SOCKET_FLAGS_LISTENING 0x00000001
-union sa_address;
+union sa;
struct ood_inet_socket;
@@ 19,7 19,7 @@ typedef void
struct ood_inet_socket {
int fd;
uint32_t flags;
- union sa_address *address;
+ union sa *address;
void *data;
ood_inet_socket_fn *on_error;
ood_inet_socket_fn *on_read;
M src/sa/sa.c => src/sa/sa.c +24 -24
@@ 6,14 6,14 @@
#include <stdio.h>
-union sa_address *
+union sa *
sa_alloc(void)
{
- return calloc(1, sizeof(union sa_address));
+ return calloc(1, sizeof(union sa));
}
-union sa_address *
+union sa *
sa_alloc_from_in_addr_and_port(in_addr_t in_addr, in_port_t port)
{
struct sockaddr_in ipv4_address = {
@@ 25,7 25,7 @@ sa_alloc_from_in_addr_and_port(in_addr_t in_addr, in_port_t port)
}
-union sa_address *
+union sa *
sa_alloc_from_in6_addr_and_port(struct in6_addr in6_addr, in_port_t port)
{
struct sockaddr_in6 inet6 = {
@@ 37,7 37,7 @@ sa_alloc_from_in6_addr_and_port(struct in6_addr in6_addr, in_port_t port)
}
-union sa_address *
+union sa *
sa_alloc_from_ipv4_str_and_port(char const *ipv4_str, in_port_t port)
{
if (!ipv4_str) return NULL;
@@ 50,7 50,7 @@ sa_alloc_from_ipv4_str_and_port(char const *ipv4_str, in_port_t port)
}
-union sa_address *
+union sa *
sa_alloc_from_ipv6_str_and_port(char const *ipv6_str, in_port_t port)
{
if (!ipv6_str) return NULL;
@@ 63,7 63,7 @@ sa_alloc_from_ipv6_str_and_port(char const *ipv6_str, in_port_t port)
}
-union sa_address *
+union sa *
sa_alloc_from_path(char const *path)
{
if (!path) return NULL;
@@ 77,7 77,7 @@ sa_alloc_from_path(char const *path)
}
-union sa_address *
+union sa *
sa_alloc_from_sockaddr(struct sockaddr const *generic_address)
{
if (!generic_address) return NULL;
@@ 91,12 91,12 @@ sa_alloc_from_sockaddr(struct sockaddr const *generic_address)
}
-union sa_address *
+union sa *
sa_alloc_from_sockaddr_in(struct sockaddr_in const *ipv4_address)
{
if (!ipv4_address) return NULL;
- union sa_address *address = calloc(1, sizeof(union sa_address));
+ union sa *address = calloc(1, sizeof(union sa));
if (!address) return NULL;
address->ipv4 = *ipv4_address;
@@ 117,12 117,12 @@ sa_alloc_from_sockaddr_in(struct sockaddr_in const *ipv4_address)
}
-union sa_address *
+union sa *
sa_alloc_from_sockaddr_in6(struct sockaddr_in6 const *ipv6_address)
{
if (!ipv6_address) return NULL;
- union sa_address *address = calloc(1, sizeof(union sa_address));
+ union sa *address = calloc(1, sizeof(union sa));
if (!address) return NULL;
address->ipv6 = *ipv6_address;
@@ 143,12 143,12 @@ sa_alloc_from_sockaddr_in6(struct sockaddr_in6 const *ipv6_address)
}
-union sa_address *
+union sa *
sa_alloc_from_sockaddr_un(struct sockaddr_un const *local_address)
{
if (!local_address) return NULL;
- union sa_address *address = calloc(1, sizeof(union sa_address));
+ union sa *address = calloc(1, sizeof(union sa));
if (!address) return NULL;
address->local = *local_address;
@@ 158,9 158,9 @@ sa_alloc_from_sockaddr_un(struct sockaddr_un const *local_address)
int
-sa_accept_alloc(int socket, union sa_address **address_out)
+sa_accept_alloc(int socket, union sa **address_out)
{
- union sa_address *address = sa_alloc();
+ union sa *address = sa_alloc();
if (!address) return -1;
socklen_t len = sizeof(struct sockaddr_storage);
@@ 174,10 174,10 @@ sa_accept_alloc(int socket, union sa_address **address_out)
}
-union sa_address *
+union sa *
sa_alloc_getpeername(int socket)
{
- union sa_address *address = sa_alloc();
+ union sa *address = sa_alloc();
if (!address) return NULL;
socklen_t len = sizeof(struct sockaddr_storage);
@@ 191,10 191,10 @@ sa_alloc_getpeername(int socket)
}
-union sa_address *
+union sa *
sa_alloc_getsockname(int socket)
{
- union sa_address *address = sa_alloc();
+ union sa *address = sa_alloc();
if (!address) return NULL;
socklen_t len = sizeof(struct sockaddr_storage);
@@ 209,7 209,7 @@ sa_alloc_getsockname(int socket)
socklen_t
-sa_len(union sa_address const *address)
+sa_len(union sa const *address)
{
if (!address) return 0;
@@ 224,7 224,7 @@ sa_len(union sa_address const *address)
char const *
-sa_str(union sa_address const *address)
+sa_str(union sa const *address)
{
if (!address) return "(null)";
@@ 239,8 239,8 @@ sa_str(union sa_address const *address)
extern int
-sa_bind(int socket, union sa_address const *address);
+sa_bind(int socket, union sa const *address);
extern int
-sa_connect(int socket, union sa_address const *address);
+sa_connect(int socket, union sa const *address);
M src/sa/sa.h => src/sa/sa.h +20 -20
@@ 24,15 24,15 @@
#endif
-/* The `sa_address` union holds storage for each of the `sockaddr`
+/* The `sa` union holds storage for each of the `sockaddr`
[type puns](https://en.wikipedia.org/wiki/Type_punning) along with space for
a string representation. For the `sockaddr_un` address type, the `sun_path`
field is used as the string representation.
- Because the symbol `unix` is #defined in some Unix C compilers, `sa_address`
+ Because the symbol `unix` is #defined in some Unix C compilers, `sa`
uses the name `local` to refer to Unix domain sockets, which are sometimes
referred to as "local" sockets. */
-union sa_address {
+union sa {
struct sockaddr generic;
struct {
struct sockaddr_in ipv4;
@@ 49,75 49,75 @@ union sa_address {
// # Allocate socket address from components
-union sa_address *
+union sa *
sa_alloc(void);
// `in_addr` and `port` are in host byte order
-union sa_address *
+union sa *
sa_alloc_from_in_addr_and_port(in_addr_t in_addr, in_port_t port);
// `port` is in host byte order
-union sa_address *
+union sa *
sa_alloc_from_in6_addr_and_port(struct in6_addr in6_addr, in_port_t port);
// `port` is in host byte order
-union sa_address *
+union sa *
sa_alloc_from_ipv4_str_and_port(char const *ipv4_str, in_port_t port);
// `port` is in host byte order
-union sa_address *
+union sa *
sa_alloc_from_ipv6_str_and_port(char const *ipv6_str, in_port_t port);
-union sa_address *
+union sa *
sa_alloc_from_path(char const *path);
// # Allocate socket address from a `sockaddr`-type struct
-union sa_address *
+union sa *
sa_alloc_from_sockaddr(struct sockaddr const *generic_address);
-union sa_address *
+union sa *
sa_alloc_from_sockaddr_in(struct sockaddr_in const *ipv4_address);
-union sa_address *
+union sa *
sa_alloc_from_sockaddr_in6(struct sockaddr_in6 const *ipv6_address);
-union sa_address *
+union sa *
sa_alloc_from_sockaddr_un(struct sockaddr_un const *local_address);
// # Allocate socket address from a socket
int
-sa_accept_alloc(int socket, union sa_address **address_out);
+sa_accept_alloc(int socket, union sa **address_out);
-union sa_address *
+union sa *
sa_alloc_getpeername(int socket);
-union sa_address *
+union sa *
sa_alloc_getsockname(int socket);
// # Get info about a socket address
socklen_t
-sa_len(union sa_address const *address);
+sa_len(union sa const *address);
char const *
-sa_str(union sa_address const *address);
+sa_str(union sa const *address);
// # Wrap socket functions that use `sockaddr` structs
inline int
-sa_bind(int socket, union sa_address const *address)
+sa_bind(int socket, union sa const *address)
{
return bind(socket, &address->generic, sa_len(address));
}
inline int
-sa_connect(int socket, union sa_address const *address)
+sa_connect(int socket, union sa const *address)
{
return connect(socket, &address->generic, sa_len(address));
}
M src/sa/sa_tests.c => src/sa/sa_tests.c +31 -31
@@ 11,7 11,7 @@
static void
test_sa_alloc(void)
{
- union sa_address *address = sa_alloc();
+ union sa *address = sa_alloc();
assert(address);
assert(AF_UNSPEC == address->generic.sa_family);
@@ 26,7 26,7 @@ test_sa_alloc(void)
static void
test_sa_alloc_from_in_addr_and_port(void)
{
- union sa_address *address = sa_alloc_from_in_addr_and_port(INADDR_LOOPBACK, 8080);
+ union sa *address = sa_alloc_from_in_addr_and_port(INADDR_LOOPBACK, 8080);
assert(address);
assert(AF_INET == address->generic.sa_family);
@@ 45,7 45,7 @@ test_sa_alloc_from_in_addr_and_port(void)
static void
test_sa_alloc_from_in6_addr_and_port(void)
{
- union sa_address *address = sa_alloc_from_in6_addr_and_port(in6addr_loopback, 8080);
+ union sa *address = sa_alloc_from_in6_addr_and_port(in6addr_loopback, 8080);
assert(address);
assert(AF_INET6 == address->generic.sa_family);
@@ 64,7 64,7 @@ test_sa_alloc_from_in6_addr_and_port(void)
static void
test_sa_alloc_from_ipv4_str_and_port(void)
{
- union sa_address *address = sa_alloc_from_ipv4_str_and_port("127.0.0.1", 8080);
+ union sa *address = sa_alloc_from_ipv4_str_and_port("127.0.0.1", 8080);
assert(address);
assert(AF_INET == address->generic.sa_family);
@@ 83,7 83,7 @@ test_sa_alloc_from_ipv4_str_and_port(void)
static void
test_sa_alloc_from_ipv4_str_and_port_when_null(void)
{
- union sa_address *address = sa_alloc_from_ipv4_str_and_port(NULL, 8080);
+ union sa *address = sa_alloc_from_ipv4_str_and_port(NULL, 8080);
assert(!address);
}
@@ 92,7 92,7 @@ test_sa_alloc_from_ipv4_str_and_port_when_null(void)
static void
test_sa_alloc_from_ipv4_str_and_port_when_invalid(void)
{
- union sa_address *address = sa_alloc_from_ipv4_str_and_port("invalid", 8080);
+ union sa *address = sa_alloc_from_ipv4_str_and_port("invalid", 8080);
assert(!address);
}
@@ 101,7 101,7 @@ test_sa_alloc_from_ipv4_str_and_port_when_invalid(void)
static void
test_sa_alloc_from_ipv6_str_and_port(void)
{
- union sa_address *address = sa_alloc_from_ipv6_str_and_port("::1", 8080);
+ union sa *address = sa_alloc_from_ipv6_str_and_port("::1", 8080);
assert(address);
assert(AF_INET6 == address->generic.sa_family);
@@ 120,7 120,7 @@ test_sa_alloc_from_ipv6_str_and_port(void)
static void
test_sa_alloc_from_ipv6_str_and_port_when_null(void)
{
- union sa_address *address = sa_alloc_from_ipv6_str_and_port(NULL, 8080);
+ union sa *address = sa_alloc_from_ipv6_str_and_port(NULL, 8080);
assert(!address);
}
@@ 129,7 129,7 @@ test_sa_alloc_from_ipv6_str_and_port_when_null(void)
static void
test_sa_alloc_from_ipv6_str_and_port_when_invalid(void)
{
- union sa_address *address = sa_alloc_from_ipv6_str_and_port("invalid", 8080);
+ union sa *address = sa_alloc_from_ipv6_str_and_port("invalid", 8080);
assert(!address);
}
@@ 138,7 138,7 @@ test_sa_alloc_from_ipv6_str_and_port_when_invalid(void)
static void
test_sa_alloc_from_path(void)
{
- union sa_address *address = sa_alloc_from_path("/var/dood/http");
+ union sa *address = sa_alloc_from_path("/var/dood/http");
assert(address);
assert(AF_UNIX == address->generic.sa_family);
@@ 156,7 156,7 @@ test_sa_alloc_from_path(void)
static void
test_sa_alloc_from_path_when_null(void)
{
- union sa_address *address = sa_alloc_from_path(NULL);
+ union sa *address = sa_alloc_from_path(NULL);
assert(!address);
}
@@ 168,7 168,7 @@ test_sa_alloc_from_path_when_too_long(void)
char const *too_long = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
assert(strlen(too_long) > UNIX_PATH_MAX);
- union sa_address *address = sa_alloc_from_path(too_long);
+ union sa *address = sa_alloc_from_path(too_long);
assert(!address);
}
@@ 181,7 181,7 @@ test_sa_alloc_from_sockaddr_for_unspecified(void)
.sa_family=AF_UNSPEC,
};
- union sa_address *address = sa_alloc_from_sockaddr(&generic);
+ union sa *address = sa_alloc_from_sockaddr(&generic);
assert(!address);
}
@@ 199,7 199,7 @@ test_sa_alloc_from_sockaddr_for_ipv4(void)
};
struct sockaddr *generic = (struct sockaddr *)&ipv4;
- union sa_address *address = sa_alloc_from_sockaddr(generic);
+ union sa *address = sa_alloc_from_sockaddr(generic);
assert(address);
assert(AF_INET == address->generic.sa_family);
@@ 225,7 225,7 @@ test_sa_alloc_from_sockaddr_for_ipv6(void)
};
struct sockaddr *generic = (struct sockaddr *)&ipv6;
- union sa_address *address = sa_alloc_from_sockaddr(generic);
+ union sa *address = sa_alloc_from_sockaddr(generic);
assert(address);
assert(AF_INET6 == address->generic.sa_family);
@@ 250,7 250,7 @@ test_sa_alloc_from_sockaddr_for_local(void)
};
struct sockaddr *generic = (struct sockaddr *)&local;
- union sa_address *address = sa_alloc_from_sockaddr(generic);
+ union sa *address = sa_alloc_from_sockaddr(generic);
assert(address);
assert(AF_UNIX == address->generic.sa_family);
@@ 272,7 272,7 @@ test_sa_alloc_from_sockaddr_for_unsupported(void)
.sa_family=0xff,
};
- union sa_address *address = sa_alloc_from_sockaddr(&generic);
+ union sa *address = sa_alloc_from_sockaddr(&generic);
assert(!address);
}
@@ 281,7 281,7 @@ test_sa_alloc_from_sockaddr_for_unsupported(void)
static void
test_sa_alloc_from_sockaddr_when_null(void)
{
- union sa_address *address = sa_alloc_from_sockaddr(NULL);
+ union sa *address = sa_alloc_from_sockaddr(NULL);
assert(!address);
}
@@ 298,7 298,7 @@ test_sa_alloc_from_sockaddr_in(void)
.sin_port=htons(8080),
};
- union sa_address *address = sa_alloc_from_sockaddr_in(&ipv4);
+ union sa *address = sa_alloc_from_sockaddr_in(&ipv4);
assert(address);
assert(AF_INET == address->generic.sa_family);
@@ 317,7 317,7 @@ test_sa_alloc_from_sockaddr_in(void)
static void
test_sa_alloc_from_sockaddr_in_when_null(void)
{
- union sa_address *address = sa_alloc_from_sockaddr_in(NULL);
+ union sa *address = sa_alloc_from_sockaddr_in(NULL);
assert(!address);
}
@@ 332,7 332,7 @@ test_sa_alloc_from_sockaddr_in6(void)
.sin6_port=htons(8080),
};
- union sa_address *address = sa_alloc_from_sockaddr_in6(&ipv6);
+ union sa *address = sa_alloc_from_sockaddr_in6(&ipv6);
assert(address);
assert(AF_INET6 == address->generic.sa_family);
@@ 351,7 351,7 @@ test_sa_alloc_from_sockaddr_in6(void)
static void
test_sa_alloc_from_sockaddr_in6_when_null(void)
{
- union sa_address *address = sa_alloc_from_sockaddr_in6(NULL);
+ union sa *address = sa_alloc_from_sockaddr_in6(NULL);
assert(!address);
}
@@ 365,7 365,7 @@ test_sa_alloc_from_sockaddr_un(void)
.sun_path = "/var/dood/http",
};
- union sa_address *address = sa_alloc_from_sockaddr_un(&local);
+ union sa *address = sa_alloc_from_sockaddr_un(&local);
assert(address);
assert(AF_UNIX == address->generic.sa_family);
@@ 383,7 383,7 @@ test_sa_alloc_from_sockaddr_un(void)
static void
test_sa_alloc_from_sockaddr_un_when_null(void)
{
- union sa_address *address = sa_alloc_from_sockaddr_un(NULL);
+ union sa *address = sa_alloc_from_sockaddr_un(NULL);
assert(!address);
}
@@ 392,7 392,7 @@ test_sa_alloc_from_sockaddr_un_when_null(void)
static void
test_sa_len_for_unspecified(void)
{
- union sa_address address = {
+ union sa address = {
.generic = {
.sa_family = AF_UNSPEC,
}
@@ 405,7 405,7 @@ test_sa_len_for_unspecified(void)
static void
test_sa_len_for_ipv4(void)
{
- union sa_address *address = sa_alloc_from_in_addr_and_port(INADDR_LOOPBACK, 8080);
+ union sa *address = sa_alloc_from_in_addr_and_port(INADDR_LOOPBACK, 8080);
assert(sizeof(struct sockaddr_in) == sa_len(address));
@@ 416,7 416,7 @@ test_sa_len_for_ipv4(void)
static void
test_sa_len_for_ipv6(void)
{
- union sa_address *address = sa_alloc_from_in6_addr_and_port(in6addr_loopback, 8080);
+ union sa *address = sa_alloc_from_in6_addr_and_port(in6addr_loopback, 8080);
assert(sizeof(struct sockaddr_in6) == sa_len(address));
@@ 427,7 427,7 @@ test_sa_len_for_ipv6(void)
static void
test_sa_len_for_local(void)
{
- union sa_address *address = sa_alloc_from_path("/var/dood/http");
+ union sa *address = sa_alloc_from_path("/var/dood/http");
assert(sizeof(struct sockaddr_un) == sa_len(address));
@@ 438,7 438,7 @@ test_sa_len_for_local(void)
static void
test_sa_len_for_unsupported(void)
{
- union sa_address address = {
+ union sa address = {
.generic = {
.sa_family = 0xff,
}
@@ 458,7 458,7 @@ test_sa_len_for_null(void)
static void
test_sa_str_for_unspecified(void)
{
- union sa_address address = {
+ union sa address = {
.generic = {
.sa_family = AF_UNSPEC,
}
@@ 471,7 471,7 @@ test_sa_str_for_unspecified(void)
static void
test_sa_str_for_unsupported(void)
{
- union sa_address address = {
+ union sa address = {
.generic = {
.sa_family = 0xff,
}