diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-03-14 15:40:46 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-03-14 17:16:39 -0700 |
| commit | 85ccb0066a86a3558ae81cd357463f8dc631f94b (patch) | |
| tree | 15838902439f6ed188ffb70fe2170605f26894bc /src/nng.h | |
| parent | f4de6b5302df8befbd2b229b701d0bf9ca81a5fb (diff) | |
| download | nng-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.h | 23 |
1 files changed, 13 insertions, 10 deletions
@@ -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 { |
