27#ifndef DETERMINISTICESPASYNCWEBSERVER_PROTOBUF_H
28#define DETERMINISTICESPASYNCWEBSERVER_PROTOBUF_H
32#if DETWS_ENABLE_PROTOBUF
54void pb_writer_init(PbWriter *w, uint8_t *buf,
size_t cap);
57bool pb_write_varint(PbWriter *w, uint64_t v);
60bool pb_write_tag(PbWriter *w, uint32_t field, uint8_t wire_type);
62bool pb_uint64(PbWriter *w, uint32_t field, uint64_t v);
63bool pb_int64(PbWriter *w, uint32_t field, int64_t v);
64bool pb_sint64(PbWriter *w, uint32_t field, int64_t v);
65bool pb_bool(PbWriter *w, uint32_t field,
bool v);
66bool pb_fixed32(PbWriter *w, uint32_t field, uint32_t v);
67bool pb_fixed64(PbWriter *w, uint32_t field, uint64_t v);
68bool pb_float(PbWriter *w, uint32_t field,
float v);
69bool pb_double(PbWriter *w, uint32_t field,
double v);
70bool pb_bytes(PbWriter *w, uint32_t field,
const uint8_t *data,
size_t len);
71bool pb_string(PbWriter *w, uint32_t field,
const char *s);
74size_t pb_writer_finish(PbWriter *w);
81 uint32_t field_number;
89bool pb_read_varint(
const uint8_t *buf,
size_t len,
size_t *pos, uint64_t *out);
95bool pb_read_field(
const uint8_t *buf,
size_t len,
size_t *pos, PbField *out);
98int64_t pb_zigzag64(uint64_t v);
99int32_t pb_zigzag32(uint32_t v);
100float pb_float_bits(uint32_t bits);
101double pb_double_bits(uint64_t bits);
User-facing configuration for DeterministicESPAsyncWebServer.