64 char *buf,
size_t bufsize,
size_t n);
79#define cx_stream_bcopy(src, dest, rfnc, wfnc, buf, bufsize) \
80 cx_stream_bncopy(src, dest, rfnc, wfnc, buf, bufsize, SIZE_MAX)
109#define cx_stream_copy(src, dest, rfnc, wfnc) \
110 cx_stream_ncopy(src, dest, rfnc, wfnc, SIZE_MAX)
Common definitions and feature checks.
size_t(* cx_write_func)(const void *, size_t, size_t, void *)
Function pointer compatible with fwrite-like functions.
Definition common.h:325
size_t(* cx_read_func)(void *, size_t, size_t, void *)
Function pointer compatible with fread-like functions.
Definition common.h:330
#define CX_NONNULL
All pointer arguments must be non-NULL.
Definition common.h:141
#define CX_NONNULL_ARG(...)
The specified pointer arguments must be non-NULL.
Definition common.h:146
#define CX_EXTERN
Declares a function with external linkage.
Definition common.h:297
#define CX_ACCESS_R(...)
Specifies that the function will only read through the given pointer.
Definition common.h:230
#define CX_ACCESS_W(...)
Specifies that the function will only write through the given pointer.
Definition common.h:246
size_t cx_stream_ncopy(void *src, void *dest, cx_read_func rfnc, cx_write_func wfnc, size_t n)
Reads data from a stream and writes it to another stream.
size_t cx_stream_bncopy(void *src, void *dest, cx_read_func rfnc, cx_write_func wfnc, char *buf, size_t bufsize, size_t n)
Reads data from a stream and writes it to another stream.