2 * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
\r
3 * Redistribution and modifications are permitted subject to BSD license.
\r
5 #ifndef _BIT_STRING_H_
\r
6 #define _BIT_STRING_H_
\r
8 #include <OCTET_STRING.h> /* Some help from OCTET STRING */
\r
14 typedef struct BIT_STRING_s {
\r
15 uint8_t *buf; /* BIT STRING body */
\r
16 size_t size; /* Size of the above buffer */
\r
18 int bits_unused;/* Unused trailing bits in the last octet (0..7) */
\r
20 asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
\r
23 extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING;
\r
24 extern asn_TYPE_operation_t asn_OP_BIT_STRING;
\r
25 extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs;
\r
27 asn_struct_print_f BIT_STRING_print; /* Human-readable output */
\r
28 asn_struct_compare_f BIT_STRING_compare;
\r
29 asn_constr_check_f BIT_STRING_constraint;
\r
30 xer_type_encoder_f BIT_STRING_encode_xer;
\r
31 oer_type_decoder_f BIT_STRING_decode_oer;
\r
32 oer_type_encoder_f BIT_STRING_encode_oer;
\r
33 per_type_decoder_f BIT_STRING_decode_uper;
\r
34 per_type_encoder_f BIT_STRING_encode_uper;
\r
35 asn_random_fill_f BIT_STRING_random_fill;
\r
37 #define BIT_STRING_free OCTET_STRING_free
\r
38 #define BIT_STRING_decode_ber OCTET_STRING_decode_ber
\r
39 #define BIT_STRING_encode_der OCTET_STRING_encode_der
\r
40 #define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary
\r
41 #define BIT_STRING_decode_aper OCTET_STRING_decode_aper
\r
42 #define BIT_STRING_encode_aper OCTET_STRING_encode_aper
\r
48 #endif /* _BIT_STRING_H_ */
\r