.TH NDBUF_WRITE_RAW 3 "15 September 2018" "NDBUF" "Binary buffers lib manual" .SH NAME ndbuf_write_u8, ndbuf_write_u16, ndbuf_write_u32, ndbuf_write_u64, ndbuf_write_raw - write data to the buffer of specified length and type .SH SYNOPSIS .B "#include " .PP .nf uint32_t ndbuf_write_u8(ndbuf_t *b, uint8_t val); uint32_t ndbuf_write_u16(ndbuf_t *b, uint16_t val); uint32_t ndbuf_write_u32(ndbuf_t *b, uint32_t val); uint32_t ndbuf_write_u64(ndbuf_t *b, uint64_t val); uint32_t ndbuf_write_raw(ndbuf_t *b, void *src, uint32_t len); .fi .SH DESCRIPTION The ndbuf_write_ family writes data to an .B ndbuf_t instance from caller-provided storage. On success each function returns the number of bytes written; on error it returns 0. .TP .B ndbuf_write_u8(ndbuf_t *b, uint8_t val) Write one unsigned 8‑bit value to the current buffer position from .I val and advance the buffer cursor by one byte. Returned value is the number of bytes written (1) or 0 on error. .TP .B ndbuf_write_u16(ndbuf_t *b, uint16_t val) Writes one unsigned 16‑bit value, from .I val and advance the cursor by two bytes. Returns 2 on success or 0 on error. .TP .B ndbuf_write_u32(ndbuf_t *b, uint32_t val) Write one unsigned 32‑bit value, from .I val and advance the cursor by four bytes. Returns 4 on success or 0 on error. .TP .B ndbuf_write_u64(ndbuf_t *b, uint64_t val) Write one unsigned 64‑bit value, from .I val and advance the cursor by eight bytes. Returns 8 on success or 0 on error. .TP .B ndbuf_read_raw(ndbuf_t *b, void *dst, uint32_t len) Copy .I len from .I dst to the buffer and advance the cursor by .I len. The caller must ensure .I dst points to memory at least .I len bytes long. Returns the number of bytes copied or 0 on error. .SH RETURN VALUE On success each function returns the number of bytes read. On error they return 0; no specific .I errno value is set. .SH ERRORS Functions return 0 when the requested read would exceed the available data, when .I b is NULL, or on other internal errors. Callers must validate the return value before using output data. .SH RATIONALE None .SH EXAMPLES None .PP .SH SEE ALSO .BR ndbuf_read_raw(3), .BR ndbuf_print(3) .SH COPYRIGHT This software licensed under GNU LGPL v2.1 or later. See COPYING for further details. .PP (c) Authors of libndbuf 2017-2018 .SH AUTHOR Alexander Vdolainen (alex@vapaa.xyz)