#ifndef UCX_STREAMS_H
#define UCX_STREAMS_H
#include "common.h"
#ifdef __cplusplus
extern "C" {
#endif
cx_attr_nonnull_arg(
1,
2,
3,
4)
cx_attr_access_r(
1)
cx_attr_access_w(
2)
cx_attr_access_w(
5)
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
);
#define cx_stream_bcopy(src, dest, rfnc, wfnc, buf, bufsize) \
cx_stream_bncopy(src, dest, rfnc, wfnc, buf, bufsize,
SIZE_MAX)
cx_attr_nonnull
cx_attr_access_r(
1)
cx_attr_access_w(
2)
size_t cx_stream_ncopy(
void *src,
void *dest,
cx_read_func rfnc,
cx_write_func wfnc,
size_t n
);
#define cx_stream_copy(src, dest, rfnc, wfnc) \
cx_stream_ncopy(src, dest, rfnc, wfnc,
SIZE_MAX)
#ifdef __cplusplus
}
#endif
#endif