From 77cf6e2d9d0d81694bbe1233b0ba27748fae642f Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 11 Aug 2017 10:03:00 -0700 Subject: Add 32-bit accessors for messages, and tests for them. --- src/nng.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/nng.h | 17 +++++++++++++---- 2 files changed, 77 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/nng.c b/src/nng.c index 7bf5bc9c..61aaa9c4 100644 --- a/src/nng.c +++ b/src/nng.c @@ -492,6 +492,70 @@ nng_msg_header_append(nng_msg *msg, const void *data, size_t sz) return (nni_msg_header_append(msg, data, sz)); } +int +nng_msg_header_append_u32(nng_msg *msg, uint32_t val) +{ + return (nni_msg_header_append_u32(msg, val)); +} + +int +nng_msg_header_insert_u32(nng_msg *msg, uint32_t val) +{ + return (nni_msg_header_insert_u32(msg, val)); +} + +int +nng_msg_header_chop_u32(nng_msg *msg, uint32_t *valp) +{ + if (nni_msg_header_len(msg) < sizeof(uint32_t)) { + return (NNG_EINVAL); + } + *valp = nni_msg_header_chop_u32(msg); + return (0); +} + +int +nng_msg_header_trim_u32(nng_msg *msg, uint32_t *valp) +{ + if (nni_msg_header_len(msg) < sizeof(uint32_t)) { + return (NNG_EINVAL); + } + *valp = nni_msg_header_trim_u32(msg); + return (0); +} + +int +nng_msg_append_u32(nng_msg *msg, uint32_t val) +{ + return (nni_msg_append_u32(msg, val)); +} + +int +nng_msg_insert_u32(nng_msg *msg, uint32_t val) +{ + return (nni_msg_insert_u32(msg, val)); +} + +int +nng_msg_chop_u32(nng_msg *msg, uint32_t *valp) +{ + if (nni_msg_len(msg) < sizeof(uint32_t)) { + return (NNG_EINVAL); + } + *valp = nni_msg_chop_u32(msg); + return (0); +} + +int +nng_msg_trim_u32(nng_msg *msg, uint32_t *valp) +{ + if (nni_msg_len(msg) < sizeof(uint32_t)) { + return (NNG_EINVAL); + } + *valp = nni_msg_trim_u32(msg); + return (0); +} + int nng_msg_header_insert(nng_msg *msg, const void *data, size_t sz) { diff --git a/src/nng.h b/src/nng.h index 18912b4c..880614ea 100644 --- a/src/nng.h +++ b/src/nng.h @@ -263,10 +263,19 @@ NNG_DECL int nng_msg_header_append(nng_msg *, const void *, size_t); NNG_DECL int nng_msg_header_insert(nng_msg *, const void *, size_t); NNG_DECL int nng_msg_header_trim(nng_msg *, size_t); NNG_DECL int nng_msg_header_chop(nng_msg *, size_t); -NNG_DECL int nng_msg_dup(nng_msg **, const nng_msg *); -NNG_DECL void nng_msg_clear(nng_msg *); -NNG_DECL void nng_msg_header_clear(nng_msg *); -NNG_DECL void nng_msg_set_pipe(nng_msg *, nng_pipe); +NNG_DECL int nng_msg_header_append_u32(nng_msg *, uint32_t); +NNG_DECL int nng_msg_header_insert_u32(nng_msg *, uint32_t); +NNG_DECL int nng_msg_header_chop_u32(nng_msg *, uint32_t *); +NNG_DECL int nng_msg_header_trim_u32(nng_msg *, uint32_t *); +NNG_DECL int nng_msg_append_u32(nng_msg *, uint32_t); +NNG_DECL int nng_msg_insert_u32(nng_msg *, uint32_t); +NNG_DECL int nng_msg_chop_u32(nng_msg *, uint32_t *); +NNG_DECL int nng_msg_trim_u32(nng_msg *, uint32_t *); + +NNG_DECL int nng_msg_dup(nng_msg **, const nng_msg *); +NNG_DECL void nng_msg_clear(nng_msg *); +NNG_DECL void nng_msg_header_clear(nng_msg *); +NNG_DECL void nng_msg_set_pipe(nng_msg *, nng_pipe); NNG_DECL nng_pipe nng_msg_get_pipe(const nng_msg *); NNG_DECL int nng_msg_getopt(nng_msg *, int, void *, size_t *); -- cgit v1.2.3-70-g09d2