49 pbuf_stream->offset =
offset;
50 pbuf_stream->length =
length;
51 pbuf_stream->pbuf =
p;
57snmp_pbuf_stream_read(
struct snmp_pbuf_stream *pbuf_stream,
u8_t *
data)
59 if (pbuf_stream->length == 0) {
67 pbuf_stream->offset++;
68 pbuf_stream->length--;
74snmp_pbuf_stream_write(
struct snmp_pbuf_stream *pbuf_stream,
u8_t data)
76 return snmp_pbuf_stream_writebuf(pbuf_stream, &
data, 1);
80snmp_pbuf_stream_writebuf(
struct snmp_pbuf_stream *pbuf_stream,
const void *
buf,
u16_t buf_len)
82 if (pbuf_stream->length < buf_len) {
90 pbuf_stream->offset += buf_len;
91 pbuf_stream->length -= buf_len;
97snmp_pbuf_stream_writeto(
struct snmp_pbuf_stream *pbuf_stream,
struct snmp_pbuf_stream *target_pbuf_stream,
u16_t len)
100 if ((pbuf_stream ==
NULL) || (target_pbuf_stream ==
NULL)) {
103 if ((
len > pbuf_stream->length) || (
len > target_pbuf_stream->length)) {
108 len =
LWIP_MIN(pbuf_stream->length, target_pbuf_stream->length);
115 struct pbuf *
pbuf =
pbuf_skip(pbuf_stream->pbuf, pbuf_stream->offset, &target_offset);
122 err = snmp_pbuf_stream_writebuf(target_pbuf_stream, &((
u8_t *)
pbuf->
payload)[target_offset], chunk_len);
127 pbuf_stream->offset += chunk_len;
128 pbuf_stream->length -= chunk_len;
136snmp_pbuf_stream_seek(
struct snmp_pbuf_stream *pbuf_stream,
s32_t offset)
138 if (((pbuf_stream->offset +
offset) < 0) || (
offset > pbuf_stream->length)) {
150snmp_pbuf_stream_seek_abs(
struct snmp_pbuf_stream *pbuf_stream,
u32_t offset)
153 return snmp_pbuf_stream_seek(pbuf_stream, rel_offset);
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
struct pbuf * pbuf_skip(struct pbuf *in, u16_t in_offset, u16_t *out_offset)
u16_t pbuf_copy_partial(const struct pbuf *buf, void *dataptr, u16_t len, u16_t offset)
err_t pbuf_take_at(struct pbuf *buf, const void *dataptr, u16_t len, u16_t offset)