32#ifndef PROTOCORE_SNMP_BER_H
33#define PROTOCORE_SNMP_BER_H
37#if PROTOCORE_ENABLE_SNMP
45 SNMP_TAG_BER_INTEGER = 0x02,
46 SNMP_TAG_BER_OCTET_STRING = 0x04,
47 SNMP_TAG_BER_NULL = 0x05,
48 SNMP_TAG_BER_OID = 0x06,
49 SNMP_TAG_BER_SEQUENCE = 0x30,
51 SNMP_TAG_SNMP_IPADDRESS = 0x40,
52 SNMP_TAG_SNMP_COUNTER32 = 0x41,
53 SNMP_TAG_SNMP_GAUGE32 = 0x42,
54 SNMP_TAG_SNMP_TIMETICKS = 0x43,
55 SNMP_TAG_SNMP_OPAQUE = 0x44,
56 SNMP_TAG_SNMP_COUNTER64 = 0x46,
58 SNMP_TAG_SNMP_NO_SUCH_OBJECT = 0x80,
59 SNMP_TAG_SNMP_NO_SUCH_INSTANCE = 0x81,
60 SNMP_TAG_SNMP_END_OF_MIB_VIEW = 0x82,
62 SNMP_TAG_SNMP_PDU_GET = 0xA0,
63 SNMP_TAG_SNMP_PDU_GETNEXT = 0xA1,
64 SNMP_TAG_SNMP_PDU_RESPONSE = 0xA2,
65 SNMP_TAG_SNMP_PDU_SET = 0xA3,
66 SNMP_TAG_SNMP_PDU_GETBULK = 0xA5,
67 SNMP_TAG_SNMP_PDU_INFORM = 0xA6,
68 SNMP_TAG_SNMP_PDU_TRAPV2 = 0xA7,
69 SNMP_TAG_SNMP_PDU_REPORT = 0xA8,
109 const uint8_t *bytes;
111 const uint32_t *arcs;
166 SnmpBerReadArgs read_args;
175extern SnmpBerVars SnmpBerV;
180 void (*
const enc_init)(uint8_t *work);
181 void (*
const put_integer)(uint8_t *work);
182 void (*
const put_uint)(uint8_t *work);
183 void (*
const put_octet_string)(uint8_t *work);
184 void (*
const put_null)(uint8_t *work);
185 void (*
const put_oid)(uint8_t *work);
186 void (*
const put_tlv)(uint8_t *work);
187 void (*
const put_raw)(uint8_t *work);
188 void (*
const seq_begin)(uint8_t *work);
189 void (*
const seq_end)(uint8_t *work);
190 void (*
const dec_init)(uint8_t *work);
191 void (*
const read_header)(uint8_t *work);
192 void (*
const read_integer)(uint8_t *work);
193 void (*
const read_oid)(uint8_t *work);
194 void (*
const skip)(uint8_t *work);
199void protocore_snmp_ber_enc_init(uint8_t *work);
200void protocore_snmp_ber_put_integer(uint8_t *work);
201void protocore_snmp_ber_put_uint(uint8_t *work);
202void protocore_snmp_ber_put_octet_string(uint8_t *work);
203void protocore_snmp_ber_put_null(uint8_t *work);
204void protocore_snmp_ber_put_oid(uint8_t *work);
205void protocore_snmp_ber_put_raw(uint8_t *work);
206void protocore_snmp_ber_seq_begin(uint8_t *work);
207void protocore_snmp_ber_seq_end(uint8_t *work);
208void protocore_snmp_ber_dec_init(uint8_t *work);
209void protocore_snmp_ber_read_header(uint8_t *work);
210void protocore_snmp_ber_read_integer(uint8_t *work);
211void protocore_snmp_ber_read_oid(uint8_t *work);
212void protocore_snmp_ber_skip(uint8_t *work);
218static const SnmpBerNs SnmpBer __attribute__((unused)) = {
219 .enc_init = protocore_snmp_ber_enc_init,
220 .put_integer = protocore_snmp_ber_put_integer,
221 .put_uint = protocore_snmp_ber_put_uint,
222 .put_octet_string = protocore_snmp_ber_put_octet_string,
223 .put_null = protocore_snmp_ber_put_null,
224 .put_oid = protocore_snmp_ber_put_oid,
225 .put_tlv = protocore_snmp_ber_put_octet_string,
226 .put_raw = protocore_snmp_ber_put_raw,
227 .seq_begin = protocore_snmp_ber_seq_begin,
228 .seq_end = protocore_snmp_ber_seq_end,
229 .dec_init = protocore_snmp_ber_dec_init,
230 .read_header = protocore_snmp_ber_read_header,
231 .read_integer = protocore_snmp_ber_read_integer,
232 .read_oid = protocore_snmp_ber_read_oid,
233 .skip = protocore_snmp_ber_skip,
PROTO_ENUM_PACKED
Application protocol spoken on a listener port or connection slot.
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS