Lines Matching defs:pbuf_stream

47 snmp_pbuf_stream_init(struct snmp_pbuf_stream* pbuf_stream, struct pbuf* p, u16_t offset, u16_t length)
49 pbuf_stream->offset = offset;
50 pbuf_stream->length = length;
51 pbuf_stream->pbuf = p;
57 snmp_pbuf_stream_read(struct snmp_pbuf_stream* pbuf_stream, u8_t* data)
59 if (pbuf_stream->length == 0) {
63 if (pbuf_copy_partial(pbuf_stream->pbuf, data, 1, pbuf_stream->offset) == 0) {
67 pbuf_stream->offset++;
68 pbuf_stream->length--;
74 snmp_pbuf_stream_write(struct snmp_pbuf_stream* pbuf_stream, u8_t data)
76 return snmp_pbuf_stream_writebuf(pbuf_stream, &data, 1);
80 snmp_pbuf_stream_writebuf(struct snmp_pbuf_stream* pbuf_stream, const void* buf, u16_t buf_len)
82 if (pbuf_stream->length < buf_len) {
86 if (pbuf_take_at(pbuf_stream->pbuf, buf, buf_len, pbuf_stream->offset) != ERR_OK) {
90 pbuf_stream->offset += buf_len;
91 pbuf_stream->length -= buf_len;
97 snmp_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);
127 pbuf_stream->offset += chunk_len;
128 pbuf_stream->length -= chunk_len;
136 snmp_pbuf_stream_seek(struct snmp_pbuf_stream* pbuf_stream, s32_t offset)
138 if ((offset < 0) || (offset > pbuf_stream->length)) {
143 pbuf_stream->offset += (u16_t)offset;
144 pbuf_stream->length -= (u16_t)offset;
150 snmp_pbuf_stream_seek_abs(struct snmp_pbuf_stream* pbuf_stream, u32_t offset)
152 s32_t rel_offset = offset - pbuf_stream->offset;
153 return snmp_pbuf_stream_seek(pbuf_stream, rel_offset);