src/cx/streams.h

changeset 1426
3a89b31f0724
parent 1424
563033aa998c
equal deleted inserted replaced
1425:83284b289430 1426:3a89b31f0724
60 * If this is larger than @p bufsize, the content is copied over multiple 60 * If this is larger than @p bufsize, the content is copied over multiple
61 * iterations. 61 * iterations.
62 * @return the total number of bytes copied 62 * @return the total number of bytes copied
63 */ 63 */
64 cx_attr_nonnull_arg(1, 2, 3, 4) 64 cx_attr_nonnull_arg(1, 2, 3, 4)
65 cx_attr_access_r(1) 65 cx_attr_access_r(1) cx_attr_access_w(2) cx_attr_access_w(5)
66 cx_attr_access_w(2) 66 CX_EXPORT size_t cx_stream_bncopy(void *src, void *dest,
67 cx_attr_access_w(5) 67 cx_read_func rfnc, cx_write_func wfnc,
68 cx_attr_export 68 char *buf, size_t bufsize, size_t n);
69 size_t cx_stream_bncopy(
70 void *src,
71 void *dest,
72 cx_read_func rfnc,
73 cx_write_func wfnc,
74 char *buf,
75 size_t bufsize,
76 size_t n
77 );
78 69
79 /** 70 /**
80 * Reads data from a stream and writes it to another stream. 71 * Reads data from a stream and writes it to another stream.
81 * 72 *
82 * @param src (@c void*) the source stream 73 * @param src (@c void*) the source stream
102 * @param rfnc the read function 93 * @param rfnc the read function
103 * @param wfnc the write function 94 * @param wfnc the write function
104 * @param n the maximum number of bytes that shall be copied. 95 * @param n the maximum number of bytes that shall be copied.
105 * @return total number of bytes copied 96 * @return total number of bytes copied
106 */ 97 */
107 cx_attr_nonnull 98 cx_attr_nonnull cx_attr_access_r(1) cx_attr_access_w(2)
108 cx_attr_access_r(1) 99 CX_EXPORT size_t cx_stream_ncopy(void *src, void *dest,
109 cx_attr_access_w(2) 100 cx_read_func rfnc, cx_write_func wfnc, size_t n);
110 cx_attr_export
111 size_t cx_stream_ncopy(
112 void *src,
113 void *dest,
114 cx_read_func rfnc,
115 cx_write_func wfnc,
116 size_t n
117 );
118 101
119 /** 102 /**
120 * Reads data from a stream and writes it to another stream. 103 * Reads data from a stream and writes it to another stream.
121 * 104 *
122 * The data is temporarily stored in a stack-allocated buffer. 105 * The data is temporarily stored in a stack-allocated buffer.

mercurial