6#ifndef PB_DECODE_H_INCLUDED
7#define PB_DECODE_H_INCLUDED
48#define PB_ISTREAM_EMPTY { 0, 0, 0, 0 }
50#define PB_ISTREAM_EMPTY { 0, 0, 0 }
98#define PB_DECODE_NOINIT 0x01U
99#define PB_DECODE_DELIMITED 0x02U
100#define PB_DECODE_NULLTERMINATED 0x04U
104#define pb_decode_noinit(s, f, d) pb_decode_ex(s, f, d, PB_DECODE_NOINIT)
105#define pb_decode_delimited(s, f, d) pb_decode_ex(s, f, d, PB_DECODE_DELIMITED)
106#define pb_decode_delimited_noinit(s, f, d) pb_decode_ex(s, f, d, PB_DECODE_DELIMITED | PB_DECODE_NOINIT)
107#define pb_decode_nullterminated(s, f, d) pb_decode_ex(s, f, d, PB_DECODE_NULLTERMINATED)
109#ifdef PB_ENABLE_MALLOC
114void pb_release(
const pb_msgdesc_t *fields,
void *dest_struct);
117#define pb_release(fields, dest_struct) PB_UNUSED(fields); PB_UNUSED(dest_struct);
133pb_istream_t pb_istream_from_buffer(
const pb_byte_t *buf,
size_t msglen);
147bool pb_decode_tag(
pb_istream_t *
stream, pb_wire_type_t *wire_type, uint32_t *tag,
bool *eof);
154#ifndef PB_WITHOUT_64BIT
157#define pb_decode_varint pb_decode_varint32
169#ifndef PB_WITHOUT_64BIT
179#ifndef PB_WITHOUT_64BIT
185#ifdef PB_CONVERT_DOUBLE_FLOAT