aboutsummaryrefslogtreecommitdiff
path: root/src/nng.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-03-14 15:40:46 -0700
committerGarrett D'Amore <garrett@damore.org>2018-03-14 17:16:39 -0700
commit85ccb0066a86a3558ae81cd357463f8dc631f94b (patch)
tree15838902439f6ed188ffb70fe2170605f26894bc /src/nng.h
parentf4de6b5302df8befbd2b229b701d0bf9ca81a5fb (diff)
downloadnng-85ccb0066a86a3558ae81cd357463f8dc631f94b.tar.gz
nng-85ccb0066a86a3558ae81cd357463f8dc631f94b.tar.bz2
nng-85ccb0066a86a3558ae81cd357463f8dc631f94b.zip
fixes #289 nng_sockaddr could just be a union
fixes #290 sockaddr improvements
Diffstat (limited to 'src/nng.h')
-rw-r--r--src/nng.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/nng.h b/src/nng.h
index b7adee93..a581d434 100644
--- a/src/nng.h
+++ b/src/nng.h
@@ -619,13 +619,18 @@ enum nng_errno_enum {
// sockaddr, but we have our own to cope with our unique families, etc.
// The details of this structure are directly exposed to applications.
// These structures can be obtained via property lookups, etc.
+struct nng_sockaddr_inproc {
+ uint16_t sa_family;
+ char sa_name[NNG_MAXADDRLEN];
+};
+typedef struct nng_sockaddr_inproc nng_sockaddr_inproc;
+
struct nng_sockaddr_path {
uint16_t sa_family;
char sa_path[NNG_MAXADDRLEN];
};
typedef struct nng_sockaddr_path nng_sockaddr_path;
typedef struct nng_sockaddr_path nng_sockaddr_ipc;
-typedef struct nng_sockaddr_path nng_sockaddr_inproc;
struct nng_sockaddr_in6 {
uint16_t sa_family;
@@ -654,15 +659,13 @@ typedef struct nng_sockaddr_in nng_sockaddr_udp;
typedef struct nng_sockaddr_in nng_sockaddr_tcp;
typedef struct nng_sockaddr_zt nng_sockaddr_zt;
-typedef struct nng_sockaddr {
- union {
- uint16_t s_family;
- nng_sockaddr_path s_path;
- nng_sockaddr_inproc s_inproc;
- nng_sockaddr_in6 s_in6;
- nng_sockaddr_in s_in;
- nng_sockaddr_zt s_zt;
- } s_un;
+typedef union nng_sockaddr {
+ uint16_t s_family;
+ nng_sockaddr_ipc s_ipc;
+ nng_sockaddr_inproc s_inproc;
+ nng_sockaddr_in6 s_in6;
+ nng_sockaddr_in s_in;
+ nng_sockaddr_zt s_zt;
} nng_sockaddr;
enum nng_sockaddr_family {