= nng_msg_header_chop(3) // // Copyright 2018 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_msg_header_chop - remove data from end of message header == SYNOPSIS [source, c] ---- #include int nng_msg_header_chop(nng_msg *msg, size_t size); int nng_msg_header_chop_u16(nng_msg *msg, uint16_t *val16); int nng_msg_header_chop_u32(nng_msg *msg, uint32_t *val32); int nng_msg_header_chop_u64(nng_msg *msg, uint64_t *val64); ---- == DESCRIPTION The `nng_msg_header_chop()` family of functions removes data from the end of the header of message _msg_. The first function removes _size_ bytes. The remaining functions remove 2, 4, or 8 bytes, and stores them in the value (such as _val32_), after converting them from network-byte order (big-endian) to native byte order. == RETURN VALUES These function return 0 on success, and non-zero otherwise. == ERRORS [horizontal] `NNG_EINVAL`:: The message header is too short to remove the requested data. == SEE ALSO [.text-left] xref:nng_msg_alloc.3.adoc[nng_msg_alloc(3)], xref:nng_msg_header.3.adoc[nng_msg_header(3)], xref:nng_msg_header_append.3.adoc[nng_msg_header_append(3)], xref:nng_msg_header_insert.3.adoc[nng_msg_header_insert(3)], xref:nng_msg_header_len.3.adoc[nng_msg_header_len(3)], xref:nng_msg_header_trim.3.adoc[nng_msg_header_trim(3)], xref:nng_msg_free.3.adoc[nng_msg_free(3)], xref:nng_strerror.3.adoc[nng_strerror(3)], xref:nng.7.adoc[nng(7)]