diff options
Diffstat (limited to 'src/testing/nuts.h')
| -rw-r--r-- | src/testing/nuts.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/testing/nuts.h b/src/testing/nuts.h index 5fe193db..f2e50c2c 100644 --- a/src/testing/nuts.h +++ b/src/testing/nuts.h @@ -85,6 +85,10 @@ extern uint16_t nuts_next_port(void); // 64 bytes to ensure no truncation occurs. extern void nuts_scratch_addr(const char *, size_t, char *); +// like nuts_scratch_addr, but attempts to use an autobind (0 port) +// address instead. +extern void nuts_scratch_addr_zero(const char *, size_t, char *); + // nuts_marry connects two sockets using inproc. It uses socket // pipe hooks to ensure that it does not return before both sockets // are fully connected. @@ -264,6 +268,14 @@ extern const char *nuts_ecdsa_client_crt; (var) = nuts_addr_; \ } while (0) +#define NUTS_ADDR_ZERO(var, scheme) \ + do { \ + static char nuts_addr_[64]; \ + nuts_scratch_addr_zero( \ + scheme, sizeof(nuts_addr_), nuts_addr_); \ + (var) = nuts_addr_; \ + } while (0) + #define NUTS_OPEN(sock) NUTS_PASS(nng_pair1_open(&(sock))) #define NUTS_CLOSE(sock) NUTS_PASS(nng_close(sock)) |
