--- /dev/null
+cscope 15 $HOME/Desktop/kpimon/e2sm/lib 0000709974
+ @AMF-UE-NGAP-ID.c
+
+8 \ 2
+ ~"AMF-UE-NGAP-ID.h
+"
+
+11
+ $AMF_UE_NGAP_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+14 \13
+v®ue
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+)) {
+
+24
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+26
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+30 if((
+v®ue
+ >= 0 && value <= 1099511627775)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_AMF_UE_NGAP_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_CONSTRAINED
+, 40, -1, 0, 1099511627775 } ,
+
+47 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_AMF_UE_NGAP_ID
+ = {
+
+56 &
+a¢_OP_INTEGER
+,
+
+57
+a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
+[0]),
+
+60
+a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_AMF_UE_NGAP_ID_cÚ¡r_1
+,
+AMF_UE_NGAP_ID_cÚ¡¿\9at
+ },
+
+ @AMFPointer.c
+
+8 \ 2
+ ~"AMFPo\9a\8br.h
+"
+
+11
+ $AMFPo\9a\8br_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ == 6)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_AMFPo\9a\8br_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+47 {
+APC_CONSTRAINED
+, 0, 0, 6, 6 } ,
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_AMFPo\9a\8br_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (3 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_AMFPo\9a\8br
+ = {
+
+56 &
+a¢_OP_BIT_STRING
+,
+
+57
+a¢_DEF_AMFPo\9a\8br_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_AMFPo\9a\8br_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_AMFPo\9a\8br_\8fgs_1
+[0]),
+
+60
+a¢_DEF_AMFPo\9a\8br_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_AMFPo\9a\8br_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_AMFPo\9a\8br_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_AMFPo\9a\8br_cÚ¡r_1
+,
+AMFPo\9a\8br_cÚ¡¿\9at
+ },
+
+65 &
+a¢_SPC_BIT_STRING_¥ecs
+
+
+ @AMFRegionID.c
+
+8 \ 2
+ ~"AMFRegiÚID.h
+"
+
+11
+ $AMFRegiÚID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ == 8)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_AMFRegiÚID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+47 {
+APC_CONSTRAINED
+, 0, 0, 8, 8 } ,
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_AMFRegiÚID_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (3 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_AMFRegiÚID
+ = {
+
+56 &
+a¢_OP_BIT_STRING
+,
+
+57
+a¢_DEF_AMFRegiÚID_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_AMFRegiÚID_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_AMFRegiÚID_\8fgs_1
+[0]),
+
+60
+a¢_DEF_AMFRegiÚID_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_AMFRegiÚID_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_AMFRegiÚID_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_AMFRegiÚID_cÚ¡r_1
+,
+AMFRegiÚID_cÚ¡¿\9at
+ },
+
+65 &
+a¢_SPC_BIT_STRING_¥ecs
+
+
+ @AMFSetID.c
+
+8 \ 2
+ ~"AMFS\91ID.h
+"
+
+11
+ $AMFS\91ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ == 10)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_AMFS\91ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+47 {
+APC_CONSTRAINED
+, 0, 0, 10, 10 } ,
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_AMFS\91ID_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (3 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_AMFS\91ID
+ = {
+
+56 &
+a¢_OP_BIT_STRING
+,
+
+57
+a¢_DEF_AMFS\91ID_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_AMFS\91ID_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_AMFS\91ID_\8fgs_1
+[0]),
+
+60
+a¢_DEF_AMFS\91ID_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_AMFS\91ID_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_AMFS\91ID_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_AMFS\91ID_cÚ¡r_1
+,
+AMFS\91ID_cÚ¡¿\9at
+ },
+
+65 &
+a¢_SPC_BIT_STRING_¥ecs
+
+
+ @BIT_STRING.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<BIT_STRING.h
+>
+
+7 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+12 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_BIT_STRING_\8fgs
+[] = {
+
+13 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (3 << 2))
+
+15
+a¢_OCTET_STRING_¥ecifics_t
+
+ ga¢_SPC_BIT_STRING_¥ecs
+ = {
+
+16 \17(
+BIT_STRING_t
+),
+
+17
+off£tof
+(
+BIT_STRING_t
+,
+_a¢_ùx
+),
+
+18
+ASN_OSUBV_BIT
+
+
+20
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_BIT_STRING
+ = {
+
+21
+OCTET_STRING_ä\93
+,
+
+22
+BIT_STRING_´\9at
+,
+
+23
+BIT_STRING_com·»
+,
+
+24
+OCTET_STRING_decode_b\94
+,
+
+25
+OCTET_STRING_\92code_d\94
+,
+
+26
+OCTET_STRING_decode_x\94_b\9a¬y
+,
+
+27
+BIT_STRING_\92code_x\94
+,
+
+28 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+32
+BIT_STRING_decode_Ûr
+,
+
+33
+BIT_STRING_\92code_Ûr
+,
+
+35 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+41
+BIT_STRING_decode_u³r
+,
+
+42
+BIT_STRING_\92code_u³r
+,
+
+43
+OCTET_STRING_decode_\94
+,
+
+44
+OCTET_STRING_\92code_\94
+,
+
+46
+BIT_STRING_¿ndom_f\9el
+,
+
+49
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_BIT_STRING
+ = {
+
+52 &
+a¢_OP_BIT_STRING
+,
+
+53
+a¢_DEF_BIT_STRING_\8fgs
+,
+
+54 \17(
+a¢_DEF_BIT_STRING_\8fgs
+)
+
+55 / \17(
+a¢_DEF_BIT_STRING_\8fgs
+[0]),
+
+56
+a¢_DEF_BIT_STRING_\8fgs
+,
+
+57 \17(
+a¢_DEF_BIT_STRING_\8fgs
+)
+
+58 / \17(
+a¢_DEF_BIT_STRING_\8fgs
+[0]),
+
+59 { 0, 0,
+BIT_STRING_cÚ¡¿\9at
+ },
+
+61 &
+a¢_SPC_BIT_STRING_¥ecs
+
+
+68
+ $BIT_STRING_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+69
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+70 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+72 if(
+¡
+ && st->
+buf
+) {
+
+73 if((
+¡
+->
+size
+ =ð0 && st->
+b\99s_unu£d
+)
+
+74 ||
+¡
+->
+b\99s_unu£d
+ < 0 || st->bits_unused > 7) {
+
+75
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+77
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+81
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+83
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+88
+ }
+}
+
+90 \18cڡ \ 5*
+ g_b\99_·\89\94n
+[16] = {
+
+95
+a¢_\92c_rv®_t
+
+
+96
+ $BIT_STRING_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+97 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+98
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+99
+a¢_\92c_rv®_t
+
+\94
+ = {0, 0, 0};
+
+100 \ 5
+sü©ch
+[128];
+
+101 \ 5*
+p
+ =
+sü©ch
+;
+
+102 \ 5*
+sûnd
+ =
+sü©ch
+ + (\17(scratch) - 10);
+
+103 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+104 \12
+xÿn
+ = (
+æags
+ &
+XER_F_CANONICAL
+);
+
+105
+u\9at8_t
+ *
+buf
+;
+
+106
+u\9at8_t
+ *
+\92d
+;
+
+108 if(!
+¡
+ || !¡->
+buf
+)
+
+109
+ASN__ENCODE_FAILED
+;
+
+111
+\94
+.
+\92coded
+ = 0;
+
+113
+buf
+ =
+¡
+->buf;
+
+114
+\92d
+ =
+buf
+ +
+¡
+->
+size
+ - 1;
+
+119 \ f;
+buf
+ <
+\92d
+; buf++) {
+
+120 \12
+v
+ = *
+buf
+;
+
+121 \12
+ƚe
+ =
+xÿn
+?0:(((
+buf
+ -
+¡
+->buf) % 8) == 0);
+
+122 if(
+p
+ >ð
+sûnd
+ ||
+ƚe
+) {
+
+123
+ `ASN__CALLBACK
+(
+sü©ch
+,
+p
+ - scratch);
+
+124
+p
+ =
+sü©ch
+;
+
+125 if(
+ƚe
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+);
+
+127
+ `memýy
+(
+p
+ + 0,
+_b\99_·\89\94n
+[
+v
+ >> 4], 4);
+
+128
+ `memýy
+(
+p
+ + 4,
+_b\99_·\89\94n
+[
+v
+ & 0x0f], 4);
+
+129
+p
+ += 8;
+
+132 if(!
+xÿn
+ && ((
+buf
+ -
+¡
+->buf) % 8) == 0)
+
+133
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+);
+
+134
+ `ASN__CALLBACK
+(
+sü©ch
+,
+p
+ - scratch);
+
+135
+p
+ =
+sü©ch
+;
+
+137 if(
+buf
+ =ð
+\92d
+) {
+
+138 \12
+v
+ = *
+buf
+;
+
+139 \12
+ub\99s
+ =
+¡
+->
+b\99s_unu£d
+;
+
+140 \12
+i
+;
+
+141 \ f
+i
+ = 7; i >ð
+ub\99s
+; i--)
+
+142 *
+p
+++ = (
+v
+ & (1 <<
+i
+)) ? 0x31 : 0x30;
+
+143
+ `ASN__CALLBACK
+(
+sü©ch
+,
+p
+ - scratch);
+
+146 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+ - 1);
+
+148
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+149
+cb_ç\9eed
+:
+
+150
+ASN__ENCODE_FAILED
+;
+
+151
+ }
+}
+
+158
+ $BIT_STRING_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+159
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+160 cڡ \ 5* cڡ
+h2c
+ = "0123456789ABCDEF";
+
+161 \ 5
+sü©ch
+[64];
+
+162 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+163
+u\9at8_t
+ *
+buf
+;
+
+164
+u\9at8_t
+ *
+\92d
+;
+
+165 \ 5*
+p
+ =
+sü©ch
+;
+
+167 (\1e)
+td
+;
+
+169 if(!
+¡
+ || !¡->
+buf
+)
+
+170 \15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+172
+\9eev\96
+++;
+
+173
+buf
+ =
+¡
+->buf;
+
+174
+\92d
+ =
+buf
+ +
+¡
+->
+size
+;
+
+179 \ f;
+buf
+ <
+\92d
+; buf++) {
+
+180 if((
+buf
+ -
+¡
+->bufè% 16 =ð0 && (¡->
+size
+ > 16)
+
+181 &&
+buf
+ !ð
+¡
+->buf) {
+
+182
+ `_i_INDENT
+(1);
+
+184 if(
+ `cb
+(
+sü©ch
+,
+p
+ - sü©ch,
+p_key
+) < 0) \15 -1;
+
+185
+p
+ =
+sü©ch
+;
+
+187 *
+p
+++ =
+h2c
+[*
+buf
+ >> 4];
+
+188 *
+p
+++ =
+h2c
+[*
+buf
+ & 0x0F];
+
+189 *
+p
+++ = 0x20;
+
+192 if(
+p
+ >
+sü©ch
+) {
+
+193
+p
+--;
+
+195 if((
+¡
+->
+size
+ > 16)) {
+
+196
+ `_i_INDENT
+(1);
+
+200 if(
+ `cb
+(
+sü©ch
+,
+p
+ - sü©ch,
+p_key
+) < 0)
+
+204 if(
+¡
+->
+b\99s_unu£d
+) {
+
+205 \12
+»t
+ =
+ `¢´\9atf
+(
+sü©ch
+, \17(scratch), " (%d bit%s unused)",
+
+206
+¡
+->
+b\99s_unu£d
+, st->bits_unused == 1 ? "" : "s");
+
+207
+ `as£¹
+(
+»t
+ > 0 &&\84\91 < (
+ssize_t
+)\17(
+sü©ch
+));
+
+208 if(
+»t
+ > 0 &&\84\91 < (
+ssize_t
+)\17(
+sü©ch
+)
+
+209 &&
+ `cb
+(
+sü©ch
+,
+»t
+,
+p_key
+) < 0)
+
+214
+ }
+}
+
+219 \18cڡ
+BIT_STRING_t
+ *
+
+220
+ $BIT_STRING__com·ùify
+(cڡ
+BIT_STRING_t
+ *
+¡
+, BIT_STRING_\88*
+tmp
+) {
+
+221 cڡ
+u\9at8_t
+ *
+b
+;
+
+223 cڡ
+u\9at8_t
+ *
+c_buf
+;
+
+224
+u\9at8_t
+ *
+nc_buf
+;
+
+225 }
+uncڡ
+;
+
+227 if(
+¡
+->
+size
+ == 0) {
+
+228
+ `as£¹
+(
+¡
+->
+b\99s_unu£d
+ == 0);
+
+229 \15
+¡
+;
+
+231 \ f
+b
+ = &
+¡
+->
+buf
+[¡->
+size
+ - 1]; b > st->buf && *b == 0; b--) {
+
+235 if(*
+b
+) {
+
+236 \12
+unu£d
+ = 7;
+
+237
+u\9at8_t
+
+v
+ = *
+b
+;
+
+238
+v
+ &ð-(
+\9at8_t
+)v;
+
+239 if(
+v
+ & 0x0Fè
+unu£d
+ -= 4;
+
+240 if(
+v
+ & 0x33è
+unu£d
+ -= 2;
+
+241 if(
+v
+ & 0x55è
+unu£d
+ -= 1;
+
+242
+tmp
+->
+size
+ =
+b
+-
+¡
+->
+buf
+ + 1;
+
+243
+tmp
+->
+b\99s_unu£d
+ =
+unu£d
+;
+
+245
+tmp
+->
+size
+ =
+b
+-
+¡
+->
+buf
+;
+
+246
+tmp
+->
+b\99s_unu£d
+ = 0;
+
+249
+ `as£¹
+(
+b
+ >ð
+¡
+->
+buf
+);
+
+252
+uncڡ
+.
+c_buf
+ =
+¡
+->
+buf
+;
+
+253
+tmp
+->
+buf
+ =
+uncڡ
+.
+nc_buf
+;
+
+254 \15
+tmp
+;
+
+255
+ }
+}
+
+262
+ $BIT_STRING_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+263 cڡ \1e*
+b±r
+) {
+
+269
+BIT_STRING_t
+
+com·ù_a
+,
+com·ù_b
+;
+
+270 cڡ
+BIT_STRING_t
+ *
+a
+ =
+ `BIT_STRING__com·ùify
+(
+\8c
+, &
+com·ù_a
+);
+
+271 cڡ
+BIT_STRING_t
+ *
+b
+ =
+ `BIT_STRING__com·ùify
+(
+b±r
+, &
+com·ù_b
+);
+
+272 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+;
+
+274
+ `as£¹
+(
+¥ecs
+ && s³cs->
+subv¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+);
+
+276 if(
+a
+ &&
+b
+) {
+
+277
+size_t
+
+commÚ_´efix_size
+ =
+a
+->
+size
+ <ð
+b
+->size ?\87->size : b->size;
+
+278 \12
+»t
+ =
+ `memcmp
+(
+a
+->
+buf
+,
+b
+->buf,
+commÚ_´efix_size
+);
+
+279 if(
+»t
+ == 0) {
+
+281 if(
+a
+->
+size
+ <
+b
+->size) {
+
+283 } \vif(
+a
+->
+size
+ >
+b
+->size) {
+
+287 if(
+a
+->
+b\99s_unu£d
+ >
+b
+->bits_unused) {
+
+289 } \vif(
+a
+->
+b\99s_unu£d
+ <
+b
+->bits_unused) {
+
+296 \15
+»t
+;
+
+298 } \vif(!
+a
+ && !
+b
+) {
+
+300 } \vif(!
+a
+) {
+
+305
+ }
+}
+
+307 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+309 #undeà
+RETURN
+
+
+310 \ 1
+ #RETURN
+(
+_code
+) \
+
+312
+a¢_dec_rv®_t
+
+tm´v®
+; \
+
+313
+tm´v®
+.
+code
+ =
+_code
+; \
+
+314
+tm´v®
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+; \
+
+315 \15
+tm´v®
+; \
+
+316 } \1f0)
+
+ )
+
+318 \18
+a¢_³r_cÚ¡¿\9at_t
+
+ ga¢_DEF_BIT_STRING_cÚ¡¿\9at_size
+ = {
+
+319
+APC_SEMI_CONSTRAINED
+, -1, -1, 0, 0};
+
+321
+a¢_dec_rv®_t
+
+
+322
+ $BIT_STRING_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+323 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+324 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+325
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+326 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+327 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+328 : &
+a¢_SPC_BIT_STRING_¥ecs
+;
+
+329 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+ =
+
+330
+cÚ¡¿\9ats
+ ? cÚ¡¿\9at :
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+331 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+csiz
+;
+
+332
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0 };
+
+333
+BIT_STRING_t
+ *
+¡
+ = (BIT_STRING_\88*)*
+¥\8c
+;
+
+334
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+335 \12
+»³©
+;
+
+337 (\1e)
+Ýt_codec_ùx
+;
+
+339 if(
+pc
+) {
+
+340
+csiz
+ = &
+pc
+->
+size
+;
+
+342
+csiz
+ = &
+a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
+;
+
+345 if(
+¥ecs
+->
+subv¬\9fÁ
+ !ð
+ASN_OSUBV_BIT
+) {
+
+346
+ `ASN_DEBUG
+("Subv¬\9fÁ %d i nÙ BIT OSUBV_BIT",
+¥ecs
+->
+subv¬\9fÁ
+);
+
+347
+ `RETURN
+(
+RC_FAIL
+);
+
+353 if(!
+¡
+) {
+
+354
+¡
+ = (
+BIT_STRING_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+));
+
+355 if(!
+¡
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+358
+ `ASN_DEBUG
+("PER Decoding %s size %ld .. %ld bits %d",
+
+359
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+ ? "extensible" : "non-extensible",
+
+360
+csiz
+->
+low\94_bound
+, csiz->
+uµ\94_bound
+, csiz->
+efãùive_b\99s
+);
+
+362 if(
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+363 \12
+\9aext
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+364 if(
+\9aext
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+365 if(
+\9aext
+) {
+
+366
+csiz
+ = &
+a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
+;
+
+370 if(
+csiz
+->
+efãùive_b\99s
+ >= 0) {
+
+371
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+372
+¡
+->
+size
+ = (
+csiz
+->
+uµ\94_bound
+ + 7) >> 3;
+
+373
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(¡->
+size
+ + 1);
+
+374 if(!
+¡
+->
+buf
+è{ st->
+size
+ = 0;
+ `RETURN
+(
+RC_FAIL
+); }
+
+380 if(
+csiz
+->
+efãùive_b\99s
+ == 0) {
+
+381 \12
+»t
+;
+
+382
+ `ASN_DEBUG
+("Encod\9ag BIT STRING siz\90%ld",
+csiz
+->
+uµ\94_bound
+);
+
+383
+»t
+ =
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+¡
+->
+buf
+, 0,
+csiz
+->
+uµ\94_bound
+);
+
+384 if(
+»t
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+385
+cÚsumed_my£lf
+ +ð
+csiz
+->
+uµ\94_bound
+;
+
+386
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+387
+¡
+->
+b\99s_unu£d
+ = (8 - (
+csiz
+->
+uµ\94_bound
+ & 0x7)) & 0x7;
+
+388
+ `RETURN
+(
+RC_OK
+);
+
+391
+¡
+->
+size
+ = 0;
+
+393
+ssize_t
+
+¿w_Ën
+;
+
+394
+ssize_t
+
+Ën_by\8bs
+;
+
+395
+ssize_t
+
+Ën_b\99s
+;
+
+396 \1e*
+p
+;
+
+397 \12
+»t
+;
+
+400
+¿w_Ën
+ =
+ `u³r_g\91_Ëngth
+(
+pd
+,
+csiz
+->
+efãùive_b\99s
+, csiz->
+low\94_bound
+,
+
+401 &
+»³©
+);
+
+402 if(
+¿w_Ën
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+403 if(
+¿w_Ën
+ =ð0 &&
+¡
+->
+buf
+) \ 3;
+
+405
+ `ASN_DEBUG
+("Got PER\86ength\83b %ld,\86en %ld, %s (%s)",
+
+406 (\13)
+csiz
+->
+efãùive_b\99s
+, (\13)
+¿w_Ën
+,
+
+407
+»³©
+ ? "»³©" : "Úû",
+td
+->
+Çme
+);
+
+408
+Ën_b\99s
+ =
+¿w_Ën
+;
+
+409
+Ën_by\8bs
+ = (
+Ën_b\99s
+ + 7) >> 3;
+
+410 if(
+Ën_b\99s
+ & 0x7è
+¡
+->
+b\99s_unu£d
+ = 8 - (len_bits & 0x7);
+
+412
+p
+ =
+ `REALLOC
+(
+¡
+->
+buf
+, st->
+size
+ +
+Ën_by\8bs
+ + 1);
+
+413 if(!
+p
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+414
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+p
+;
+
+416
+»t
+ =
+ `³r_g\91_mªy_b\99s
+(
+pd
+, &
+¡
+->
+buf
+[¡->
+size
+], 0,
+Ën_b\99s
+);
+
+417 if(
+»t
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+418
+¡
+->
+size
+ +ð
+Ën_by\8bs
+;
+
+419 } \1f
+»³©
+);
+
+420
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+422 \15
+rv®
+;
+
+423
+ }
+}
+
+425
+a¢_\92c_rv®_t
+
+
+426
+ $BIT_STRING_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+427 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+428 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+429 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+
+430
+td
+->
+¥ecifics
+ ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)td->specifics
+
+431 : &
+a¢_SPC_BIT_STRING_¥ecs
+;
+
+432 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+ =
+
+433
+cÚ¡¿\9ats
+ ? cÚ¡¿\9at :
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+434 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+csiz
+;
+
+435 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+436
+BIT_STRING_t
+
+com·ù_b¡r
+;
+
+437
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+438 \12
+\9aext
+ = 0;
+
+439
+size_t
+
+size_\9a_b\99s
+;
+
+440 cڡ
+u\9at8_t
+ *
+buf
+;
+
+441 \12
+»t
+;
+
+442 \12
+ù_ex\8bnsibË
+;
+
+444 if(!
+¡
+ || (!¡->
+buf
+ && st->
+size
+))
+
+445
+ASN__ENCODE_FAILED
+;
+
+447 if(
+¥ecs
+->
+subv¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+) {
+
+448 if((
+¡
+->
+size
+ =ð0 && st->
+b\99s_unu£d
+) || (st->bits_unused & ~7))
+
+449
+ASN__ENCODE_FAILED
+;
+
+451
+ASN__ENCODE_FAILED
+;
+
+454 if(
+pc
+) {
+
+455
+csiz
+ = &
+pc
+->
+size
+;
+
+457
+csiz
+ = &
+a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
+;
+
+459
+ù_ex\8bnsibË
+ =
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+;
+
+462
+¡
+ =
+ `BIT_STRING__com·ùify
+(¡, &
+com·ù_b¡r
+);
+
+463
+size_\9a_b\99s
+ = 8 *
+¡
+->
+size
+ - st->
+b\99s_unu£d
+;
+
+465
+ `ASN_DEBUG
+(
+
+466 "Encod\9ag % \9atØ%"
+ASN_PRI_SIZE
+ " bits"
+
+468
+td
+->
+Çme
+,
+size_\9a_b\99s
+,
+csiz
+->
+low\94_bound
+, csiz->
+uµ\94_bound
+,
+
+469
+csiz
+->
+efãùive_b\99s
+,
+ù_ex\8bnsibË
+ ? " EXT" : "");
+
+473 if(
+csiz
+->
+efãùive_b\99s
+ >= 0) {
+
+474 if((
+ssize_t
+)
+size_\9a_b\99s
+ >
+csiz
+->
+uµ\94_bound
+) {
+
+475 if(
+ù_ex\8bnsibË
+) {
+
+476
+csiz
+ = &
+a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
+;
+
+477
+\9aext
+ = 1;
+
+479
+ASN__ENCODE_FAILED
+;
+
+483
+\9aext
+ = 0;
+
+486 if(
+ù_ex\8bnsibË
+) {
+
+488 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+\9aext
+, 1))
+
+489
+ASN__ENCODE_FAILED
+;
+
+492 if(
+csiz
+->
+efãùive_b\99s
+ >ð0 && !
+\9aext
+) {
+
+493 \12
+add_\8ca\9e\94
+ = (
+ssize_t
+)
+size_\9a_b\99s
+ <
+csiz
+->
+low\94_bound
+;
+
+494
+ `ASN_DEBUG
+(
+
+495 "Encod\9ag %"
+ASN_PRI_SIZE
+ " bytes (%ld),\86ength (in %d bits)\81railer %d;\87ctual "
+
+496 "v®u\90%"
+ASN_PRI_SSIZE
+ "",
+
+497
+¡
+->
+size
+,
+size_\9a_b\99s
+ -
+csiz
+->
+low\94_bound
+, csiz->
+efãùive_b\99s
+,
+
+498
+add_\8ca\9e\94
+,
+
+499
+add_\8ca\9e\94
+ ? 0 : (
+ssize_t
+)
+size_\9a_b\99s
+ -
+csiz
+->
+low\94_bound
+);
+
+500
+»t
+ =
+ `³r_put_ãw_b\99s
+(
+
+501
+po
+,
+add_\8ca\9e\94
+ ? 0 : (
+ssize_t
+)
+size_\9a_b\99s
+ -
+csiz
+->
+low\94_bound
+,
+
+502
+csiz
+->
+efãùive_b\99s
+);
+
+503 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+504
+»t
+ =
+ `³r_put_mªy_b\99s
+(
+po
+,
+¡
+->
+buf
+,
+size_\9a_b\99s
+);
+
+505 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+506 if(
+add_\8ca\9e\94
+) {
+
+507 \18cڡ
+u\9at8_t
+
+z\94os
+[16];
+
+508
+size_t
+
+\8ca\9e\9ag_z\94o_b\99s
+ =
+csiz
+->
+low\94_bound
+ -
+size_\9a_b\99s
+;
+
+509 \1f
+\8ca\9e\9ag_z\94o_b\99s
+ > 0) {
+
+510 if(
+\8ca\9e\9ag_z\94o_b\99s
+ > 8 * \17(
+z\94os
+)) {
+
+511
+»t
+ =
+ `³r_put_mªy_b\99s
+(
+po
+,
+z\94os
+, 8 * \17(zeros));
+
+512
+\8ca\9e\9ag_z\94o_b\99s
+ -ð8 * \17(
+z\94os
+);
+
+514
+»t
+ =
+ `³r_put_mªy_b\99s
+(
+po
+,
+z\94os
+,
+\8ca\9e\9ag_z\94o_b\99s
+);
+
+515
+\8ca\9e\9ag_z\94o_b\99s
+ = 0;
+
+517 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+520
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+523
+ `ASN_DEBUG
+("Encod\9ag %"
+ASN_PRI_SIZE
+ " by\8bs",
+¡
+->
+size
+);
+
+525
+buf
+ =
+¡
+->buf;
+
+527 \12
+Ãed_eom
+ = 0;
+
+528
+ssize_t
+
+maySave
+ =
+ `u³r_put_Ëngth
+(
+po
+,
+size_\9a_b\99s
+, &
+Ãed_eom
+);
+
+529 if(
+maySave
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+531
+ `ASN_DEBUG
+("Encod\9ag %"
+ASN_PRI_SSIZE
+ " oà%"
+ASN_PRI_SIZE
+ "",
+maySave
+,
+size_\9a_b\99s
+);
+
+533
+»t
+ =
+ `³r_put_mªy_b\99s
+(
+po
+,
+buf
+,
+maySave
+);
+
+534 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+536
+buf
+ +ð
+maySave
+ >> 3;
+
+537
+size_\9a_b\99s
+ -ð
+maySave
+;
+
+538
+ `as£¹
+(!(
+maySave
+ & 0x07è|| !
+size_\9a_b\99s
+);
+
+539 if(
+Ãed_eom
+ &&
+ `u³r_put_Ëngth
+(
+po
+, 0, 0))
+
+540
+ASN__ENCODE_FAILED
+;
+
+541 } \1f
+size_\9a_b\99s
+);
+
+543
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+544
+ }
+}
+
+548
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+549
+ $BIT_STRING_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+550 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+551
+size_t
+
+max_Ëngth
+) {
+
+552 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+
+553
+td
+->
+¥ecifics
+ ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)td->specifics
+
+554 : &
+a¢_SPC_BIT_STRING_¥ecs
+;
+
+555
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 1};
+
+556
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+557
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+558 \18\1d
+Ëngths
+[] = {0, 1, 2, 3, 4, 8,
+
+561
+u\9at8_t
+ *
+buf
+;
+
+562
+u\9at8_t
+ *
+b\92d
+;
+
+563
+u\9at8_t
+ *
+b
+;
+
+564
+size_t
+
+ºd_b\99s
+,
+ºd_Ën
+;
+
+565
+BIT_STRING_t
+ *
+¡
+;
+
+567 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+569 \1a
+¥ecs
+->
+subv¬\9fÁ
+) {
+
+570 \ 4
+ASN_OSUBV_ANY
+:
+
+571 \15
+»suÉ_ç\9eed
+;
+
+572 \ 4
+ASN_OSUBV_BIT
+:
+
+579
+ºd_b\99s
+ =
+Ëngths
+[
+ `a¢_¿ndom_b\91w\93n
+(
+
+580 0, \17(
+Ëngths
+) / \17(lengths[0]) - 1)];
+
+581 if(!
+cÚ¡¿\9ats
+ || !cÚ¡¿\9ats->
+³r_cÚ¡¿\9ats
+)
+
+582
+cÚ¡¿\9ats
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+;
+
+583 if(
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+) {
+
+584 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+pc
+ = &
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+585 if(
+pc
+->
+æags
+ &
+APC_CONSTRAINED
+) {
+
+586 \13
+sugge¡ed_uµ\94_bound
+ =
+pc
+->
+uµ\94_bound
+ < (
+ssize_t
+)
+max_Ëngth
+
+
+587 ?
+pc
+->
+uµ\94_bound
+
+
+588 : (
+ssize_t
+)
+max_Ëngth
+;
+
+589 if(
+max_Ëngth
+ < (
+size_t
+)
+pc
+->
+low\94_bound
+) {
+
+590 \15
+»suÉ_sk\9d³d
+;
+
+592 if(
+pc
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+593 \1a
+ `a¢_¿ndom_b\91w\93n
+(0, 5)) {
+
+595 if(
+pc
+->
+low\94_bound
+ > 0) {
+
+596
+ºd_b\99s
+ =
+pc
+->
+low\94_bound
+ - 1;
+
+601
+ºd_b\99s
+ =
+pc
+->
+uµ\94_bound
+ + 1;
+
+605 if(
+ºd_b\99s
+ <
+max_Ëngth
+) {
+
+610
+ºd_b\99s
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+pc
+->
+low\94_bound
+,
+
+611
+sugge¡ed_uµ\94_bound
+);
+
+614
+ºd_b\99s
+ =
+
+615
+ `a¢_¿ndom_b\91w\93n
+(
+pc
+->
+low\94_bound
+,
+sugge¡ed_uµ\94_bound
+);
+
+618
+ºd_b\99s
+ =
+ `a¢_¿ndom_b\91w\93n
+(0,
+max_Ëngth
+ - 1);
+
+620 } \vif(
+ºd_b\99s
+ >ð
+max_Ëngth
+) {
+
+621
+ºd_b\99s
+ =
+ `a¢_¿ndom_b\91w\93n
+(0,
+max_Ëngth
+ - 1);
+
+624
+ºd_Ën
+ = (
+ºd_b\99s
+ + 7) / 8;
+
+625
+buf
+ =
+ `CALLOC
+(1,
+ºd_Ën
+ + 1);
+
+626 if(!
+buf
+è\15
+»suÉ_ç\9eed
+;
+
+628
+b\92d
+ = &
+buf
+[
+ºd_Ën
+];
+
+630 \ f
+b
+ =
+buf
+; b <
+b\92d
+; b++) {
+
+631 *(
+u\9at8_t
+ *)
+b
+ =
+ `a¢_¿ndom_b\91w\93n
+(0, 255);
+
+633 *
+b
+ = 0;
+
+635 if(*
+¥\8c
+) {
+
+636
+¡
+ = *
+¥\8c
+;
+
+637
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+639
+¡
+ = (
+BIT_STRING_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+));
+
+640 if(!
+¡
+) {
+
+641
+ `FREEMEM
+(
+buf
+);
+
+642 \15
+»suÉ_ç\9eed
+;
+
+646
+¡
+->
+buf
+ = buf;
+
+647
+¡
+->
+size
+ =
+ºd_Ën
+;
+
+648
+¡
+->
+b\99s_unu£d
+ = (8 - (
+ºd_b\99s
+ & 0x7)) & 0x7;
+
+649 if(
+¡
+->
+b\99s_unu£d
+) {
+
+650
+ `as£¹
+(
+¡
+->
+size
+ > 0);
+
+651
+¡
+->
+buf
+[¡->
+size
+-1] &ð0xfà<< st->
+b\99s_unu£d
+;
+
+654
+»suÉ_ok
+.
+Ëngth
+ =
+¡
+->
+size
+;
+
+655 \15
+»suÉ_ok
+;
+
+656
+ }
+}
+
+ @BOOLEAN.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_codecs_´im.h
+>
+
+7 \ 2
+ ~<BOOLEAN.h
+>
+
+12 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_BOOLEAN_\8fgs
+[] = {
+
+13 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (1 << 2))
+
+15
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_BOOLEAN
+ = {
+
+16
+BOOLEAN_ä\93
+,
+
+17
+BOOLEAN_´\9at
+,
+
+18
+BOOLEAN_com·»
+,
+
+19
+BOOLEAN_decode_b\94
+,
+
+20
+BOOLEAN_\92code_d\94
+,
+
+21
+BOOLEAN_decode_x\94
+,
+
+22
+BOOLEAN_\92code_x\94
+,
+
+23 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+27
+BOOLEAN_decode_Ûr
+,
+
+28
+BOOLEAN_\92code_Ûr
+,
+
+30 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+36
+BOOLEAN_decode_u³r
+,
+
+37
+BOOLEAN_\92code_u³r
+,
+
+38
+BOOLEAN_decode_\94
+,
+
+39
+BOOLEAN_\92code_\94
+,
+
+41
+BOOLEAN_¿ndom_f\9el
+,
+
+44
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_BOOLEAN
+ = {
+
+47 &
+a¢_OP_BOOLEAN
+,
+
+48
+a¢_DEF_BOOLEAN_\8fgs
+,
+
+49 \17(
+a¢_DEF_BOOLEAN_\8fgs
+) / \17(asn_DEF_BOOLEAN_tags[0]),
+
+50
+a¢_DEF_BOOLEAN_\8fgs
+,
+
+51 \17(
+a¢_DEF_BOOLEAN_\8fgs
+) / \17(asn_DEF_BOOLEAN_tags[0]),
+
+52 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+60
+a¢_dec_rv®_t
+
+
+61
+ $BOOLEAN_decode_b\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+62 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+boÞ_v®ue
+,
+
+63 cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+64
+BOOLEAN_t
+ *
+¡
+ = (BOOLEAN_\88*)*
+boÞ_v®ue
+;
+
+65
+a¢_dec_rv®_t
+
+rv®
+;
+
+66
+b\94_\8ev_Ën_t
+
+Ëngth
+;
+
+67
+b\94_\8ev_Ën_t
+
+lidx
+;
+
+69 if(
+¡
+ =ð
+NULL
+) {
+
+70
+¡
+ = (
+BOOLEAN_t
+ *)(*
+boÞ_v®ue
+ =
+ `CALLOC
+(1, \17(*st)));
+
+71 if(
+¡
+ =ð
+NULL
+) {
+
+72
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+73
+rv®
+.
+cÚsumed
+ = 0;
+
+74 \15
+rv®
+;
+
+78
+ `ASN_DEBUG
+("Decoding %s\87s BOOLEAN (tm=%d)",
+
+79
+td
+->
+Çme
+,
+\8fg_mode
+);
+
+84
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+, 0,
+buf_±r
+,
+size
+,
+
+85
+\8fg_mode
+, 0, &
+Ëngth
+, 0);
+
+86 if(
+rv®
+.
+code
+ !ð
+RC_OK
+)
+
+87 \15
+rv®
+;
+
+89
+ `ASN_DEBUG
+("BoÞ\97ÀËngth i %d by\8bs", (\12)
+Ëngth
+);
+
+91
+buf_±r
+ = ((cÚ¡ \ 5*)buf_±rè+
+rv®
+.
+cÚsumed
+;
+
+92
+size
+ -ð
+rv®
+.
+cÚsumed
+;
+
+93 if(
+Ëngth
+ > (
+b\94_\8ev_Ën_t
+)
+size
+) {
+
+94
+rv®
+.
+code
+ =
+RC_WMORE
+;
+
+95
+rv®
+.
+cÚsumed
+ = 0;
+
+96 \15
+rv®
+;
+
+102 \ f*
+¡
+ = 0,
+lidx
+ = 0;
+
+103 (
+lidx
+ <
+Ëngth
+è&& *
+¡
+ == 0;\86idx++) {
+
+109 *
+¡
+ |ð((cÚ¡
+u\9at8_t
+ *)
+buf_±r
+)[
+lidx
+];
+
+112
+rv®
+.
+code
+ =
+RC_OK
+;
+
+113
+rv®
+.
+cÚsumed
+ +ð
+Ëngth
+;
+
+115
+ `ASN_DEBUG
+("Took %ld/%ld bytes\81o\83ncode %s, value=%d",
+
+116 (\13)
+rv®
+.
+cÚsumed
+, (\13)
+Ëngth
+,
+
+117
+td
+->
+Çme
+, *
+¡
+);
+
+119 \15
+rv®
+;
+
+120
+ }
+}
+
+122
+a¢_\92c_rv®_t
+
+
+123
+ $BOOLEAN_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+124 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+125 \1e*
+p_key
+) {
+
+126
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+127 cڡ
+BOOLEAN_t
+ *
+¡
+ = (cÚ¡ BOOLEAN_\88*)
+¥\8c
+;
+
+129
+\94v®
+.
+\92coded
+ =
+ `d\94_wr\99e_\8fgs
+(
+td
+, 1,
+\8fg_mode
+, 0,
+\8fg
+,
+cb
+,
+p_key
+);
+
+130 if(
+\94v®
+.
+\92coded
+ == -1) {
+
+131
+\94v®
+.
+ç\9eed_ty³
+ =
+td
+;
+
+132
+\94v®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+133 \15
+\94v®
+;
+
+136 if(
+cb
+) {
+
+137
+u\9at8_t
+
+boÞ_v®ue
+;
+
+139
+boÞ_v®ue
+ = *
+¡
+ ? 0xff : 0;
+
+141 if(
+ `cb
+(&
+boÞ_v®ue
+, 1,
+p_key
+) < 0) {
+
+142
+\94v®
+.
+\92coded
+ = -1;
+
+143
+\94v®
+.
+ç\9eed_ty³
+ =
+td
+;
+
+144
+\94v®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+145 \15
+\94v®
+;
+
+149
+\94v®
+.
+\92coded
+ += 1;
+
+151
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+152
+ }
+}
+
+158 \18\f
+x\94_pbd_rv®
+
+
+159
+ $BOOLEAN__x\94_body_decode
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+160 cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+) {
+
+161
+BOOLEAN_t
+ *
+¡
+ = (BOOLEAN_\88*)
+¥\8c
+;
+
+162 cڡ \ 5*
+p
+ = (cڡ \ 5*)
+chunk_buf
+;
+
+164 (\1e)
+td
+;
+
+166 if(
+chunk_size
+ &&
+p
+[0] == 0x3c ) {
+
+167 \1a
+ `x\94_check_\8fg
+(
+chunk_buf
+,
+chunk_size
+, "false")) {
+
+168 \ 4
+XCT_BOTH
+:
+
+170 *
+¡
+ = 0;
+
+172 \ 4
+XCT_UNKNOWN_BO
+:
+
+173 if(
+ `x\94_check_\8fg
+(
+chunk_buf
+,
+chunk_size
+, "true")
+
+174 !ð
+XCT_BOTH
+)
+
+175 \15
+XPBD_BROKEN_ENCODING
+;
+
+177 *
+¡
+ = 1;
+
+180 \15
+XPBD_BROKEN_ENCODING
+;
+
+182 \15
+XPBD_BODY_CONSUMED
+;
+
+184 \15
+XPBD_BROKEN_ENCODING
+;
+
+186
+ }
+}
+
+189
+a¢_dec_rv®_t
+
+
+190
+ $BOOLEAN_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+191 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+192 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+) {
+
+193 \15
+ `x\94_decode_´im\99ive
+(
+Ýt_codec_ùx
+,
+td
+,
+
+194
+¥\8c
+, \17(
+BOOLEAN_t
+),
+Ýt_mÇme
+,
+buf_±r
+,
+size
+,
+
+195
+BOOLEAN__x\94_body_decode
+);
+
+196
+ }
+}
+
+198
+a¢_\92c_rv®_t
+
+
+199
+ $BOOLEAN_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+200 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+201
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+202 cڡ
+BOOLEAN_t
+ *
+¡
+ = (cÚ¡ BOOLEAN_\88*)
+¥\8c
+;
+
+203
+a¢_\92c_rv®_t
+
+\94
+ = {0, 0, 0};
+
+205 (\1e)
+\9eev\96
+;
+
+206 (\1e)
+æags
+;
+
+208 if(!
+¡
+è
+ASN__ENCODE_FAILED
+;
+
+210 if(*
+¡
+) {
+
+211
+ `ASN__CALLBACK
+("<true/>", 7);
+
+213
+ `ASN__CALLBACK
+("<false/>", 8);
+
+216
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+217
+cb_ç\9eed
+:
+
+218
+ASN__ENCODE_FAILED
+;
+
+219
+ }
+}
+
+222
+ $BOOLEAN_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+223
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+224 cڡ
+BOOLEAN_t
+ *
+¡
+ = (cÚ¡ BOOLEAN_\88*)
+¥\8c
+;
+
+225 cڡ \ 5*
+buf
+;
+
+226
+size_t
+
+buæ\92
+;
+
+228 (\1e)
+td
+;
+
+229 (\1e)
+\9eev\96
+;
+
+231 if(
+¡
+) {
+
+232 if(*
+¡
+) {
+
+233
+buf
+ = "TRUE";
+
+234
+buæ\92
+ = 4;
+
+236
+buf
+ = "FALSE";
+
+237
+buæ\92
+ = 5;
+
+240
+buf
+ = "<absent>";
+
+241
+buæ\92
+ = 8;
+
+244 \15 (
+ `cb
+(
+buf
+,
+buæ\92
+,
+p_key
+) < 0) ? -1 : 0;
+
+245
+ }
+}
+
+248
+ $BOOLEAN_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+±r
+,
+
+249 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+250 if(
+td
+ &&
+±r
+) {
+
+251 \1a
+m\91hod
+) {
+
+252 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+253
+ `FREEMEM
+(
+±r
+);
+
+255 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+257 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+:
+
+258
+ `mem£t
+(
+±r
+, 0, \17(
+BOOLEAN_t
+));
+
+262
+ }
+}
+
+264 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+266
+a¢_dec_rv®_t
+
+
+267
+ $BOOLEAN_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+268 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+269 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+270
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+271
+a¢_dec_rv®_t
+
+rv
+;
+
+272
+BOOLEAN_t
+ *
+¡
+ = (BOOLEAN_\88*)*
+¥\8c
+;
+
+274 (\1e)
+Ýt_codec_ùx
+;
+
+275 (\1e)
+td
+;
+
+276 (\1e)
+cÚ¡¿\9ats
+;
+
+278 if(!
+¡
+) {
+
+279
+¡
+ = (
+BOOLEAN_t
+ *)(*
+¥\8c
+ =
+ `MALLOC
+(\17(*st)));
+
+280 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+286 \1a
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1)) {
+
+287 \ 41: *
+¡
+ = 1; \ 3;
+
+288 \ 40: *
+¡
+ = 0; \ 3;
+
+289 \ 4-1: \a:
+ASN__DECODE_STARVED
+;
+
+292
+ `ASN_DEBUG
+("% decoded\87 %s",
+td
+->
+Çme
+, *
+¡
+ ? "TRUE" : "FALSE");
+
+294
+rv
+.
+code
+ =
+RC_OK
+;
+
+295
+rv
+.
+cÚsumed
+ = 1;
+
+296 \15
+rv
+;
+
+297
+ }
+}
+
+300
+a¢_\92c_rv®_t
+
+
+301
+ $BOOLEAN_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+302 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+303
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+304 cڡ
+BOOLEAN_t
+ *
+¡
+ = (cÚ¡ BOOLEAN_\88*)
+¥\8c
+;
+
+305
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+307 (\1e)
+cÚ¡¿\9ats
+;
+
+309 if(!
+¡
+è
+ASN__ENCODE_FAILED
+;
+
+311 if(
+ `³r_put_ãw_b\99s
+(
+po
+, *
+¡
+ ? 1 : 0, 1))
+
+312
+ASN__ENCODE_FAILED
+;
+
+314
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+315
+ }
+}
+
+317
+a¢_dec_rv®_t
+
+
+318
+ $BOOLEAN_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+319 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+320
+a¢_dec_rv®_t
+
+rv
+;
+
+321
+BOOLEAN_t
+ *
+¡
+ = (BOOLEAN_\88*)*
+¥\8c
+;
+
+323 (\1e)
+Ýt_codec_ùx
+;
+
+324 (\1e)
+cÚ¡¿\9ats
+;
+
+325 (\1e)
+td
+;
+
+327 if(!
+¡
+) {
+
+328
+¡
+ = (
+BOOLEAN_t
+ *)(*
+¥\8c
+ =
+ `MALLOC
+(\17(*st)));
+
+329 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+335 \1a
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1)) {
+
+337 *
+¡
+ = 1;
+
+340 *
+¡
+ = 0;
+
+344
+ASN__DECODE_STARVED
+;
+
+347
+ `ASN_DEBUG
+("% decoded\87 %s",
+td
+->
+Çme
+, *
+¡
+ ? "TRUE" : "FALSE");
+
+349
+rv
+.
+code
+ =
+RC_OK
+;
+
+350
+rv
+.
+cÚsumed
+ = 1;
+
+351 \15
+rv
+;
+
+352
+ }
+}
+
+354
+a¢_\92c_rv®_t
+
+
+355
+ $BOOLEAN_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+356 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+357 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+358 cڡ
+BOOLEAN_t
+ *
+¡
+ = (cÚ¡ BOOLEAN_\88*)
+¥\8c
+;
+
+359
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+361 (\1e)
+cÚ¡¿\9ats
+;
+
+363 if(!
+¡
+è
+ASN__ENCODE_FAILED
+;
+
+365 if(
+ `³r_put_ãw_b\99s
+(
+po
+, *
+¡
+ ? 1 : 0, 1))
+
+366
+ASN__ENCODE_FAILED
+;
+
+368
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+369
+ }
+}
+
+373 #iâdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+378
+a¢_\92c_rv®_t
+
+
+379
+ $BOOLEAN_\92code_Ûr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+380 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+381
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+382
+a¢_\92c_rv®_t
+
+\94
+ = { 1, 0, 0 };
+
+383 cڡ
+BOOLEAN_t
+ *
+¡
+ =
+¥\8c
+;
+
+384
+u\9at8_t
+
+boÞ_v®ue
+ = *
+¡
+ ? 0xff : 0;
+
+386 (\1e)
+td
+;
+
+387 (\1e)
+cÚ¡¿\9ats
+;
+
+389 if(
+ `cb
+(&
+boÞ_v®ue
+, 1,
+p_key
+) < 0) {
+
+390
+ASN__ENCODE_FAILED
+;
+
+392
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+394
+ }
+}
+
+396
+a¢_dec_rv®_t
+
+
+397
+ $BOOLEAN_decode_Ûr
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+398 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+399 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+400 cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+401
+a¢_dec_rv®_t
+
+ok
+ = {
+RC_OK
+, 1};
+
+402
+BOOLEAN_t
+ *
+¡
+;
+
+404 (\1e)
+Ýt_codec_ùx
+;
+
+405 (\1e)
+td
+;
+
+406 (\1e)
+cÚ¡¿\9ats
+;
+
+408 if(
+size
+ < 1) {
+
+409
+ASN__DECODE_STARVED
+;
+
+412 if(!(
+¡
+ = *
+¥\8c
+)) {
+
+413
+¡
+ = (
+BOOLEAN_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*st)));
+
+414 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+417 *
+¡
+ = *(cڡ
+u\9at8_t
+ *)
+±r
+;
+
+419 \15
+ok
+;
+
+420
+ }
+}
+
+427
+ $BOOLEAN_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+428 cڡ \1e*
+b±r
+) {
+
+429 cڡ
+BOOLEAN_t
+ *
+a
+ =
+\8c
+;
+
+430 cڡ
+BOOLEAN_t
+ *
+b
+ =
+b±r
+;
+
+432 (\1e)
+td
+;
+
+434 if(
+a
+ &&
+b
+) {
+
+435 if(!*
+a
+ =ð!*
+b
+) {
+
+437 } \vif(!*
+a
+) {
+
+442 } \vif(!
+a
+) {
+
+447
+ }
+}
+
+449
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+450
+ $BOOLEAN_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+451 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+452
+size_t
+
+max_Ëngth
+) {
+
+453
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 1};
+
+454
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+455
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+456
+BOOLEAN_t
+ *
+¡
+ = *
+¥\8c
+;
+
+458 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+460 if(
+¡
+ =ð
+NULL
+) {
+
+461
+¡
+ = (
+BOOLEAN_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*st)));
+
+462 if(
+¡
+ =ð
+NULL
+) {
+
+463 \15
+»suÉ_ç\9eed
+;
+
+467 if(!
+cÚ¡¿\9ats
+ || !cÚ¡¿\9ats->
+³r_cÚ¡¿\9ats
+)
+
+468
+cÚ¡¿\9ats
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+;
+
+469 if(
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+) {
+
+470 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+pc
+ = &
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+471 if(
+pc
+->
+æags
+ &
+APC_CONSTRAINED
+) {
+
+472 *
+¡
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+pc
+->
+low\94_bound
+,\85c->
+uµ\94_bound
+);
+
+473 \15
+»suÉ_ok
+;
+
+478 \1a
+ `a¢_¿ndom_b\91w\93n
+(0, 7)) {
+
+482 *
+¡
+ = 0; \ 3;
+
+483 \ 43: *
+¡
+ = -1; \ 3;
+
+484 \ 44: *
+¡
+ = 1; \ 3;
+
+485 \ 45: *
+¡
+ =
+INT_MIN
+; \ 3;
+
+486 \ 46: *
+¡
+ =
+INT_MAX
+; \ 3;
+
+488 *
+¡
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+INT_MIN
+,
+INT_MAX
+);
+
+491 \15
+»suÉ_ok
+;
+
+492
+ }
+}
+
+ @CGI.c
+
+8 \ 2
+ ~"CGI.h
+"
+
+10 \ 2
+ ~"NR-CGI.h
+"
+
+11 \ 2
+ ~"EUTRA-CGI.h
+"
+
+12
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_CGI_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+13 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+14 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+17
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_CGI_1
+[] = {
+
+18 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+CGI
+,
+choiû
+.
+nR_CGI
+),
+
+19 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+21 &
+a¢_DEF_NR_CGI
+,
+
+27 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+CGI
+,
+choiû
+.
+eUTRA_CGI
+),
+
+28 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+30 &
+a¢_DEF_EUTRA_CGI
+,
+
+37 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_CGI_\8fg2\96_1
+[] = {
+
+38 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+39 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+41
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_CGI_¥ecs_1
+ = {
+
+42 \17(\19
+CGI
+),
+
+43
+off£tof
+(\19
+CGI
+,
+_a¢_ùx
+),
+
+44
+off£tof
+(\19
+CGI
+,
+´e£Á
+),
+
+45 \17(((\19
+CGI
+ *)0)->
+´e£Á
+),
+
+46
+a¢_MAP_CGI_\8fg2\96_1
+,
+
+51
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_CGI
+ = {
+
+54 &
+a¢_OP_CHOICE
+,
+
+59 { 0, &
+a¢_PER_ty³_CGI_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+60
+a¢_MBR_CGI_1
+,
+
+62 &
+a¢_SPC_CGI_¥ecs_1
+
+
+ @CoreCPID.c
+
+8 \ 2
+ ~"CÜeCPID.h
+"
+
+10 \ 2
+ ~"GUAMI.h
+"
+
+11 \ 2
+ ~"GUMMEI.h
+"
+
+12 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_CÜeCPID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+13 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+14 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+17 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_CÜeCPID_1
+[] = {
+
+18 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+CÜeCPID
+,
+choiû
+.
+fiveGC
+),
+
+19 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+21 &
+a¢_DEF_GUAMI
+,
+
+27 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+CÜeCPID
+,
+choiû
+.
+ePC
+),
+
+28 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+30 &
+a¢_DEF_GUMMEI
+,
+
+37 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_CÜeCPID_\8fg2\96_1
+[] = {
+
+38 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+39 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+41 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_CÜeCPID_¥ecs_1
+ = {
+
+42 \17(\19
+CÜeCPID
+),
+
+43
+off£tof
+(\19
+CÜeCPID
+,
+_a¢_ùx
+),
+
+44
+off£tof
+(\19
+CÜeCPID
+,
+´e£Á
+),
+
+45 \17(((\19
+CÜeCPID
+ *)0)->
+´e£Á
+),
+
+46
+a¢_MAP_CÜeCPID_\8fg2\96_1
+,
+
+51
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_CÜeCPID
+ = {
+
+54 &
+a¢_OP_CHOICE
+,
+
+59 { 0, &
+a¢_PER_ty³_CÜeCPID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+60
+a¢_MBR_CÜeCPID_1
+,
+
+62 &
+a¢_SPC_CÜeCPID_¥ecs_1
+
+
+ @E-UTRA-ARFCN.c
+
+8 \ 2
+ ~"E-UTRA-ARFCN.h
+"
+
+11
+ $E_UTRA_ARFCN_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 65535)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_E_UTRA_ARFCN_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+, 16, 16, 0, 65535 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E_UTRA_ARFCN_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E_UTRA_ARFCN
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_E_UTRA_ARFCN_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_E_UTRA_ARFCN_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_E_UTRA_ARFCN_\8fgs_1
+[0]),
+
+54
+a¢_DEF_E_UTRA_ARFCN_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_E_UTRA_ARFCN_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_E_UTRA_ARFCN_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_E_UTRA_ARFCN_cÚ¡r_1
+,
+E_UTRA_ARFCN_cÚ¡¿\9at
+ },
+
+ @E-UTRA-PCI.c
+
+8 \ 2
+ ~"E-UTRA-PCI.h
+"
+
+11
+ $E_UTRA_PCI_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 503)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_E_UTRA_PCI_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 9, 9, 0, 503 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E_UTRA_PCI_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E_UTRA_PCI
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_E_UTRA_PCI_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_E_UTRA_PCI_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_E_UTRA_PCI_\8fgs_1
+[0]),
+
+54
+a¢_DEF_E_UTRA_PCI_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_E_UTRA_PCI_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_E_UTRA_PCI_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_E_UTRA_PCI_cÚ¡r_1
+,
+E_UTRA_PCI_cÚ¡¿\9at
+ },
+
+ @E-UTRA-TAC.c
+
+8 \ 2
+ ~"E-UTRA-TAC.h
+"
+
+11
+ $E_UTRA_TAC_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 2)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_E_UTRA_TAC_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 2, 2 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E_UTRA_TAC_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E_UTRA_TAC
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_E_UTRA_TAC_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_E_UTRA_TAC_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_E_UTRA_TAC_\8fgs_1
+[0]),
+
+55
+a¢_DEF_E_UTRA_TAC_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_E_UTRA_TAC_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_E_UTRA_TAC_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_E_UTRA_TAC_cÚ¡r_1
+,
+E_UTRA_TAC_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @E2SM-KPM-ActionDefinition-Format1.c
+
+8 \ 2
+ ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©1.h
+"
+
+10 \ 2
+ ~"CGI.h
+"
+
+11
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_1
+[] = {
+
+12 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+,
+m\97sInfoLi¡
+),
+
+13 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+15 &
+a¢_DEF_M\97su»m\92tInfoLi¡
+,
+
+21 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+,
+g¿nulP\94iod
+),
+
+22 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+24 &
+a¢_DEF_G¿nuÏr\99yP\94iod
+,
+
+30 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+,
+ûÎGlob®ID
+),
+
+31 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+33 &
+a¢_DEF_CGI
+,
+
+40 \18cڡ \12
+ ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_oms_1
+[] = { 2 };
+
+41 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
+[] = {
+
+42 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+44 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fg2\96_1
+[] = {
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+46 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+47 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+49
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_¥ecs_1
+ = {
+
+50 \17(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+),
+
+51
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+,
+_a¢_ùx
+),
+
+52
+a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fg2\96_1
+,
+
+54
+a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_oms_1
+,
+
+58
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+ = {
+
+61 &
+a¢_OP_SEQUENCE
+,
+
+62
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
+,
+
+63 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
+)
+
+64 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
+[0]),
+
+65
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
+,
+
+66 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
+)
+
+67 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
+[0]),
+
+68 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+69
+a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_1
+,
+
+71 &
+a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_¥ecs_1
+
+
+ @E2SM-KPM-ActionDefinition-Format2.c
+
+8 \ 2
+ ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©2.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
+,
+ueID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_UEID
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
+,
+subsü\9dtInfo
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_¥ecs_1
+ = {
+
+38 \17(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
+),
+
+39
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
+[0]),
+
+52
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_1
+,
+
+58 &
+a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_¥ecs_1
+
+
+ @E2SM-KPM-ActionDefinition-Format3.c
+
+8 \ 2
+ ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©3.h
+"
+
+10 \ 2
+ ~"CGI.h
+"
+
+11
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_1
+[] = {
+
+12 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
+,
+m\97sCÚdLi¡
+),
+
+13 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+15 &
+a¢_DEF_M\97su»m\92tCÚdLi¡
+,
+
+21 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
+,
+g¿nulP\94iod
+),
+
+22 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+24 &
+a¢_DEF_G¿nuÏr\99yP\94iod
+,
+
+30 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
+,
+ûÎGlob®ID
+),
+
+31 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+33 &
+a¢_DEF_CGI
+,
+
+40 \18cڡ \12
+ ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_oms_1
+[] = { 2 };
+
+41 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
+[] = {
+
+42 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+44 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fg2\96_1
+[] = {
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+46 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+47 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+49
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_¥ecs_1
+ = {
+
+50 \17(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
+),
+
+51
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
+,
+_a¢_ùx
+),
+
+52
+a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fg2\96_1
+,
+
+54
+a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_oms_1
+,
+
+58
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
+ = {
+
+61 &
+a¢_OP_SEQUENCE
+,
+
+62
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
+,
+
+63 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
+)
+
+64 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
+[0]),
+
+65
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
+,
+
+66 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
+)
+
+67 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
+[0]),
+
+68 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+69
+a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_1
+,
+
+71 &
+a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_¥ecs_1
+
+
+ @E2SM-KPM-ActionDefinition.c
+
+8 \ 2
+ ~"E2SM-KPM-AùiÚDef\9a\99iÚ.h
+"
+
+10 \ 2
+ ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©1.h
+"
+
+11 \ 2
+ ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©2.h
+"
+
+12 \ 2
+ ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©3.h
+"
+
+13 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_aùiÚDef\9a\99iÚ_fÜm©s_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+14 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 2, 2, 0, 2 } ,
+
+15 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+18 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_aùiÚDef\9a\99iÚ_fÜm©s_3
+[] = {
+
+19 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
+,
+choiû
+.
+aùiÚDef\9a\99iÚ_FÜm©1
+),
+
+20 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+22 &
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
+,
+
+28 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
+,
+choiû
+.
+aùiÚDef\9a\99iÚ_FÜm©2
+),
+
+29 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+31 &
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
+,
+
+37 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
+,
+choiû
+.
+aùiÚDef\9a\99iÚ_FÜm©3
+),
+
+38 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+40 &
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
+,
+
+47 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_aùiÚDef\9a\99iÚ_fÜm©s_\8fg2\96_3
+[] = {
+
+48 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+49 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+50 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+52 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_aùiÚDef\9a\99iÚ_fÜm©s_¥ecs_3
+ = {
+
+53 \17(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
+),
+
+54
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
+,
+_a¢_ùx
+),
+
+55
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
+,
+´e£Á
+),
+
+56 \17(((\19
+E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
+ *)0)->
+´e£Á
+),
+
+57
+a¢_MAP_aùiÚDef\9a\99iÚ_fÜm©s_\8fg2\96_3
+,
+
+63
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_aùiÚDef\9a\99iÚ_fÜm©s_3
+ = {
+
+66 &
+a¢_OP_CHOICE
+,
+
+71 { 0, &
+a¢_PER_ty³_aùiÚDef\9a\99iÚ_fÜm©s_cÚ¡r_3
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+72
+a¢_MBR_aùiÚDef\9a\99iÚ_fÜm©s_3
+,
+
+74 &
+a¢_SPC_aùiÚDef\9a\99iÚ_fÜm©s_¥ecs_3
+
+
+77 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_1
+[] = {
+
+78 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ
+,
+ric_StyË_Ty³
+),
+
+79 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+81 &
+a¢_DEF_RIC_StyË_Ty³
+,
+
+87 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ
+,
+aùiÚDef\9a\99iÚ_fÜm©s
+),
+
+88 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+90 &
+a¢_DEF_aùiÚDef\9a\99iÚ_fÜm©s_3
+,
+
+97 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
+[] = {
+
+98 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+100 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fg2\96_1
+[] = {
+
+101 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+102 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+104 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_¥ecs_1
+ = {
+
+105 \17(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ
+),
+
+106
+off£tof
+(\19
+E2SM_KPM_AùiÚDef\9a\99iÚ
+,
+_a¢_ùx
+),
+
+107
+a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fg2\96_1
+,
+
+112
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ
+ = {
+
+115 &
+a¢_OP_SEQUENCE
+,
+
+116
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
+,
+
+117 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
+)
+
+118 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
+[0]),
+
+119
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
+,
+
+120 \17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
+)
+
+121 /\17(
+a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
+[0]),
+
+122 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+123
+a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_1
+,
+
+125 &
+a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_¥ecs_1
+
+
+ @E2SM-KPM-EventTriggerDefinition-Format1.c
+
+8 \ 2
+ ~"E2SM-KPM-Ev\92tTrigg\94Def\9a\99iÚ-FÜm©1.h
+"
+
+11
+ $»pÜt\9agP\94iod_2_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \1d\13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \1d\13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 4294967295)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+40
+ $memb_»pÜt\9agP\94iod_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+41
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+42 \1d\13
+v®ue
+;
+
+44 if(!
+¥\8c
+) {
+
+45
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+47
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+51
+v®ue
+ = *(cڡ \1d\13*)
+¥\8c
+;
+
+53 if((
+v®ue
+ >= 1 && value <= 4294967295)) {
+
+57
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+59
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+62
+ }
+}
+
+64 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_»pÜt\9agP\94iod_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+65 {
+APC_CONSTRAINED
+, 32, -1, 1, 4294967295 } ,
+
+66 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+69 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_»pÜt\9agP\94iod_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+70 {
+APC_CONSTRAINED
+, 32, -1, 1, 4294967295 } ,
+
+71 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+74 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_»pÜt\9agP\94iod_¥ecs_2
+ = {
+
+79 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_»pÜt\9agP\94iod_\8fgs_2
+[] = {
+
+80 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+81 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+84
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_»pÜt\9agP\94iod_2
+ = {
+
+87 &
+a¢_OP_N©iveIÁeg\94
+,
+
+88
+a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
+,
+
+89 \17(
+a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
+)
+
+90 /\17(
+a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
+[0]) - 1,
+
+91
+a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
+,
+
+92 \17(
+a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
+)
+
+93 /\17(
+a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
+[0]),
+
+94 { 0, &
+a¢_PER_ty³_»pÜt\9agP\94iod_cÚ¡r_2
+,
+»pÜt\9agP\94iod_2_cÚ¡¿\9at
+ },
+
+96 &
+a¢_SPC_»pÜt\9agP\94iod_¥ecs_2
+
+
+99
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_1
+[] = {
+
+100 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
+,
+»pÜt\9agP\94iod
+),
+
+101 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+103 &
+a¢_DEF_»pÜt\9agP\94iod_2
+,
+
+105 { 0, &
+a¢_PER_memb_»pÜt\9agP\94iod_cÚ¡r_2
+,
+memb_»pÜt\9agP\94iod_cÚ¡¿\9at_1
+ },
+
+110 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
+[] = {
+
+111 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+113 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fg2\96_1
+[] = {
+
+114 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+116
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_¥ecs_1
+ = {
+
+117 \17(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
+),
+
+118
+off£tof
+(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
+,
+_a¢_ùx
+),
+
+119
+a¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fg2\96_1
+,
+
+124
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
+ = {
+
+127 &
+a¢_OP_SEQUENCE
+,
+
+128
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
+,
+
+129 \17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
+)
+
+130 /\17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
+[0]),
+
+131
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
+,
+
+132 \17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
+)
+
+133 /\17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
+[0]),
+
+134 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+135
+a¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_1
+,
+
+137 &
+a¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_¥ecs_1
+
+
+ @E2SM-KPM-EventTriggerDefinition.c
+
+8 \ 2
+ ~"E2SM-KPM-Ev\92tTrigg\94Def\9a\99iÚ.h
+"
+
+10 \ 2
+ ~"E2SM-KPM-Ev\92tTrigg\94Def\9a\99iÚ-FÜm©1.h
+"
+
+11 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_ev\92tDef\9a\99iÚ_fÜm©s_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+13 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+16 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_ev\92tDef\9a\99iÚ_fÜm©s_2
+[] = {
+
+17 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
+,
+choiû
+.
+ev\92tDef\9a\99iÚ_FÜm©1
+),
+
+18 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+20 &
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
+,
+
+27 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_ev\92tDef\9a\99iÚ_fÜm©s_\8fg2\96_2
+[] = {
+
+28 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+30 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_ev\92tDef\9a\99iÚ_fÜm©s_¥ecs_2
+ = {
+
+31 \17(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
+),
+
+32
+off£tof
+(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
+,
+_a¢_ùx
+),
+
+33
+off£tof
+(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
+,
+´e£Á
+),
+
+34 \17(((\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
+ *)0)->
+´e£Á
+),
+
+35
+a¢_MAP_ev\92tDef\9a\99iÚ_fÜm©s_\8fg2\96_2
+,
+
+41
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_ev\92tDef\9a\99iÚ_fÜm©s_2
+ = {
+
+44 &
+a¢_OP_CHOICE
+,
+
+49 { 0, &
+a¢_PER_ty³_ev\92tDef\9a\99iÚ_fÜm©s_cÚ¡r_2
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+50
+a¢_MBR_ev\92tDef\9a\99iÚ_fÜm©s_2
+,
+
+52 &
+a¢_SPC_ev\92tDef\9a\99iÚ_fÜm©s_¥ecs_2
+
+
+55 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_1
+[] = {
+
+56 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ
+,
+ev\92tDef\9a\99iÚ_fÜm©s
+),
+
+57 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+59 &
+a¢_DEF_ev\92tDef\9a\99iÚ_fÜm©s_2
+,
+
+66 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
+[] = {
+
+67 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+69 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fg2\96_1
+[] = {
+
+70 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+72 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_¥ecs_1
+ = {
+
+73 \17(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ
+),
+
+74
+off£tof
+(\19
+E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ
+,
+_a¢_ùx
+),
+
+75
+a¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fg2\96_1
+,
+
+80
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ
+ = {
+
+83 &
+a¢_OP_SEQUENCE
+,
+
+84
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
+,
+
+85 \17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
+)
+
+86 /\17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
+[0]),
+
+87
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
+,
+
+88 \17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
+)
+
+89 /\17(
+a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
+[0]),
+
+90 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+91
+a¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_1
+,
+
+93 &
+a¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_¥ecs_1
+
+
+ @E2SM-KPM-IndicationHeader-Format1.c
+
+8 \ 2
+ ~"E2SM-KPM-IndiÿtiÚH\97d\94-FÜm©1.h
+"
+
+10 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_3
+[256] = {
+
+20 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_3
+[74] = {
+
+28 \18\12
+ $check_³rm\99\8bd_®phab\91_3
+(cڡ \1e*
+¥\8c
+) {
+
+29 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_3
+;
+
+31 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+32 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+33 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+35 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+36
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+37 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+40
+ }
+}
+
+42 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_4
+[256] = {
+
+52 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_4
+[74] = {
+
+60 \18\12
+ $check_³rm\99\8bd_®phab\91_4
+(cڡ \1e*
+¥\8c
+) {
+
+61 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_4
+;
+
+63 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+64 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+65 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+67 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+68
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+69 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+72
+ }
+}
+
+74 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_5
+[256] = {
+
+84 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_5
+[74] = {
+
+92 \18\12
+ $check_³rm\99\8bd_®phab\91_5
+(cڡ \1e*
+¥\8c
+) {
+
+93 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_5
+;
+
+95 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+96 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+97 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+99 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+100
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+101 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+104
+ }
+}
+
+106 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_6
+[256] = {
+
+116 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_6
+[74] = {
+
+124 \18\12
+ $check_³rm\99\8bd_®phab\91_6
+(cڡ \1e*
+¥\8c
+) {
+
+125 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_6
+;
+
+127 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+128 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+129 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+131 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+132
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+133 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+136
+ }
+}
+
+139
+ $memb_f\9eeFÜm©v\94siÚ_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+140
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+141 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+142
+size_t
+
+size
+;
+
+144 if(!
+¥\8c
+) {
+
+145
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+147
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+151
+size
+ =
+¡
+->size;
+
+153 if((
+size
+ <= 15)
+
+154 && !
+ `check_³rm\99\8bd_®phab\91_3
+(
+¡
+)) {
+
+158
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+160
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+163
+ }
+}
+
+165 \18\12
+ $a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_v2c
+(\1d\12
+v®ue
+) {
+
+166 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_3
+)/\17(permitted_alphabet_table_3[0]))
+
+168 \15
+³rm\99\8bd_®phab\91_\8fbË_3
+[
+v®ue
+] - 1;
+
+169
+ }
+}
+
+170 \18\12
+ $a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_c2v
+(\1d\12
+code
+) {
+
+171 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_3
+)/\17(permitted_alphabet_code2value_3[0]))
+
+173 \15
+³rm\99\8bd_®phab\91_code2v®ue_3
+[
+code
+];
+
+174
+ }
+}
+
+176
+ $memb_£nd\94Name_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+177
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+178 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+179
+size_t
+
+size
+;
+
+181 if(!
+¥\8c
+) {
+
+182
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+184
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+188
+size
+ =
+¡
+->size;
+
+190 if((
+size
+ <= 400)
+
+191 && !
+ `check_³rm\99\8bd_®phab\91_4
+(
+¡
+)) {
+
+195
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+197
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+200
+ }
+}
+
+202 \18\12
+ $a¢_PER_MAP_£nd\94Name_4_v2c
+(\1d\12
+v®ue
+) {
+
+203 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_4
+)/\17(permitted_alphabet_table_4[0]))
+
+205 \15
+³rm\99\8bd_®phab\91_\8fbË_4
+[
+v®ue
+] - 1;
+
+206
+ }
+}
+
+207 \18\12
+ $a¢_PER_MAP_£nd\94Name_4_c2v
+(\1d\12
+code
+) {
+
+208 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_4
+)/\17(permitted_alphabet_code2value_4[0]))
+
+210 \15
+³rm\99\8bd_®phab\91_code2v®ue_4
+[
+code
+];
+
+211
+ }
+}
+
+213
+ $memb_£nd\94Ty³_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+214
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+215 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+216
+size_t
+
+size
+;
+
+218 if(!
+¥\8c
+) {
+
+219
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+221
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+225
+size
+ =
+¡
+->size;
+
+227 if((
+size
+ <= 8)
+
+228 && !
+ `check_³rm\99\8bd_®phab\91_5
+(
+¡
+)) {
+
+232
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+234
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+237
+ }
+}
+
+239 \18\12
+ $a¢_PER_MAP_£nd\94Ty³_5_v2c
+(\1d\12
+v®ue
+) {
+
+240 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_5
+)/\17(permitted_alphabet_table_5[0]))
+
+242 \15
+³rm\99\8bd_®phab\91_\8fbË_5
+[
+v®ue
+] - 1;
+
+243
+ }
+}
+
+244 \18\12
+ $a¢_PER_MAP_£nd\94Ty³_5_c2v
+(\1d\12
+code
+) {
+
+245 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_5
+)/\17(permitted_alphabet_code2value_5[0]))
+
+247 \15
+³rm\99\8bd_®phab\91_code2v®ue_5
+[
+code
+];
+
+248
+ }
+}
+
+250
+ $memb_v\92dÜName_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+251
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+252 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+253
+size_t
+
+size
+;
+
+255 if(!
+¥\8c
+) {
+
+256
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+258
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+262
+size
+ =
+¡
+->size;
+
+264 if((
+size
+ <= 32)
+
+265 && !
+ `check_³rm\99\8bd_®phab\91_6
+(
+¡
+)) {
+
+269
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+271
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+274
+ }
+}
+
+276 \18\12
+ $a¢_PER_MAP_v\92dÜName_6_v2c
+(\1d\12
+v®ue
+) {
+
+277 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_6
+)/\17(permitted_alphabet_table_6[0]))
+
+279 \15
+³rm\99\8bd_®phab\91_\8fbË_6
+[
+v®ue
+] - 1;
+
+280
+ }
+}
+
+281 \18\12
+ $a¢_PER_MAP_v\92dÜName_6_c2v
+(\1d\12
+code
+) {
+
+282 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_6
+)/\17(permitted_alphabet_code2value_6[0]))
+
+284 \15
+³rm\99\8bd_®phab\91_code2v®ue_6
+[
+code
+];
+
+285
+ }
+}
+
+286 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_f\9eeFÜm©v\94siÚ_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+287 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+288 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 4, 4, 0, 15 } ,
+
+289
+a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_v2c
+,
+
+290
+a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_c2v
+
+
+292 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_£nd\94Name_cÚ¡r_4
+
+ gCC_NOTUSED
+ = {
+
+293 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+294 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 9, 9, 0, 400 } ,
+
+295
+a¢_PER_MAP_£nd\94Name_4_v2c
+,
+
+296
+a¢_PER_MAP_£nd\94Name_4_c2v
+
+
+298 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_£nd\94Ty³_cÚ¡r_5
+
+ gCC_NOTUSED
+ = {
+
+299 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+300 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 4, 4, 0, 8 } ,
+
+301
+a¢_PER_MAP_£nd\94Ty³_5_v2c
+,
+
+302
+a¢_PER_MAP_£nd\94Ty³_5_c2v
+
+
+304 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_v\92dÜName_cÚ¡r_6
+
+ gCC_NOTUSED
+ = {
+
+305 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+306 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 6, 6, 0, 32 } ,
+
+307
+a¢_PER_MAP_v\92dÜName_6_v2c
+,
+
+308
+a¢_PER_MAP_v\92dÜName_6_c2v
+
+
+310
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_1
+[] = {
+
+311 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+,
+cÞËtS\8f¹Time
+),
+
+312 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+314 &
+a¢_DEF_TimeS\8fmp
+,
+
+320 {
+ATF_POINTER
+, 4,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+,
+f\9eeFÜm©v\94siÚ
+),
+
+321 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+323 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+325 { 0, &
+a¢_PER_memb_f\9eeFÜm©v\94siÚ_cÚ¡r_3
+,
+memb_f\9eeFÜm©v\94siÚ_cÚ¡¿\9at_1
+ },
+
+329 {
+ATF_POINTER
+, 3,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+,
+£nd\94Name
+),
+
+330 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+332 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+334 { 0, &
+a¢_PER_memb_£nd\94Name_cÚ¡r_4
+,
+memb_£nd\94Name_cÚ¡¿\9at_1
+ },
+
+338 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+,
+£nd\94Ty³
+),
+
+339 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+341 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+343 { 0, &
+a¢_PER_memb_£nd\94Ty³_cÚ¡r_5
+,
+memb_£nd\94Ty³_cÚ¡¿\9at_1
+ },
+
+347 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+,
+v\92dÜName
+),
+
+348 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+350 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+352 { 0, &
+a¢_PER_memb_v\92dÜName_cÚ¡r_6
+,
+memb_v\92dÜName_cÚ¡¿\9at_1
+ },
+
+357 \18cڡ \12
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_oms_1
+[] = { 1, 2, 3, 4 };
+
+358 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
+[] = {
+
+359 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+361 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fg2\96_1
+[] = {
+
+362 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+363 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+364 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+365 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+366 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 }
+
+368
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_¥ecs_1
+ = {
+
+369 \17(\19
+E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+),
+
+370
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+,
+_a¢_ùx
+),
+
+371
+a¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fg2\96_1
+,
+
+373
+a¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_oms_1
+,
+
+377
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+ = {
+
+380 &
+a¢_OP_SEQUENCE
+,
+
+381
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
+,
+
+382 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
+)
+
+383 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
+[0]),
+
+384
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
+,
+
+385 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
+)
+
+386 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
+[0]),
+
+387 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+388
+a¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_1
+,
+
+390 &
+a¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_¥ecs_1
+
+
+ @E2SM-KPM-IndicationHeader.c
+
+8 \ 2
+ ~"E2SM-KPM-IndiÿtiÚH\97d\94.h
+"
+
+10 \ 2
+ ~"E2SM-KPM-IndiÿtiÚH\97d\94-FÜm©1.h
+"
+
+11 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_\9adiÿtiÚH\97d\94_fÜm©s_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+13 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+16 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_\9adiÿtiÚH\97d\94_fÜm©s_2
+[] = {
+
+17 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
+,
+choiû
+.
+\9adiÿtiÚH\97d\94_FÜm©1
+),
+
+18 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+20 &
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
+,
+
+27 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_\9adiÿtiÚH\97d\94_fÜm©s_\8fg2\96_2
+[] = {
+
+28 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+30 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_\9adiÿtiÚH\97d\94_fÜm©s_¥ecs_2
+ = {
+
+31 \17(\19
+E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
+),
+
+32
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
+,
+_a¢_ùx
+),
+
+33
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
+,
+´e£Á
+),
+
+34 \17(((\19
+E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
+ *)0)->
+´e£Á
+),
+
+35
+a¢_MAP_\9adiÿtiÚH\97d\94_fÜm©s_\8fg2\96_2
+,
+
+41
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_\9adiÿtiÚH\97d\94_fÜm©s_2
+ = {
+
+44 &
+a¢_OP_CHOICE
+,
+
+49 { 0, &
+a¢_PER_ty³_\9adiÿtiÚH\97d\94_fÜm©s_cÚ¡r_2
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+50
+a¢_MBR_\9adiÿtiÚH\97d\94_fÜm©s_2
+,
+
+52 &
+a¢_SPC_\9adiÿtiÚH\97d\94_fÜm©s_¥ecs_2
+
+
+55 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_1
+[] = {
+
+56 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94
+,
+\9adiÿtiÚH\97d\94_fÜm©s
+),
+
+57 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+59 &
+a¢_DEF_\9adiÿtiÚH\97d\94_fÜm©s_2
+,
+
+66 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
+[] = {
+
+67 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+69 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_\8fg2\96_1
+[] = {
+
+70 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+72 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_¥ecs_1
+ = {
+
+73 \17(\19
+E2SM_KPM_IndiÿtiÚH\97d\94
+),
+
+74
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚH\97d\94
+,
+_a¢_ùx
+),
+
+75
+a¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_\8fg2\96_1
+,
+
+80
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94
+ = {
+
+83 &
+a¢_OP_SEQUENCE
+,
+
+84
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
+,
+
+85 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
+)
+
+86 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
+[0]),
+
+87
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
+,
+
+88 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
+)
+
+89 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
+[0]),
+
+90 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+91
+a¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_1
+,
+
+93 &
+a¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_¥ecs_1
+
+
+ @E2SM-KPM-IndicationMessage-Format1.c
+
+8 \ 2
+ ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©1.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tInfoLi¡.h
+"
+
+11
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_1
+[] = {
+
+12 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
+,
+m\97sD©a
+),
+
+13 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+15 &
+a¢_DEF_M\97su»m\92tD©a
+,
+
+21 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
+,
+m\97sInfoLi¡
+),
+
+22 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+24 &
+a¢_DEF_M\97su»m\92tInfoLi¡
+,
+
+30 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
+,
+g¿nulP\94iod
+),
+
+31 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+33 &
+a¢_DEF_G¿nuÏr\99yP\94iod
+,
+
+40 \18cڡ \12
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_oms_1
+[] = { 1, 2 };
+
+41 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
+[] = {
+
+42 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+44 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fg2\96_1
+[] = {
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+46 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+47 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+49
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_¥ecs_1
+ = {
+
+50 \17(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
+),
+
+51
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
+,
+_a¢_ùx
+),
+
+52
+a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fg2\96_1
+,
+
+54
+a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_oms_1
+,
+
+58
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
+ = {
+
+61 &
+a¢_OP_SEQUENCE
+,
+
+62
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
+,
+
+63 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
+)
+
+64 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
+[0]),
+
+65
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
+,
+
+66 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
+)
+
+67 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
+[0]),
+
+68 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+69
+a¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_1
+,
+
+71 &
+a¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_¥ecs_1
+
+
+ @E2SM-KPM-IndicationMessage-Format2.c
+
+8 \ 2
+ ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©2.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
+,
+m\97sD©a
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_M\97su»m\92tD©a
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
+,
+m\97sCÚdUEidLi¡
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_M\97su»m\92tCÚdUEidLi¡
+,
+
+29 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
+,
+g¿nulP\94iod
+),
+
+30 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+32 &
+a¢_DEF_G¿nuÏr\99yP\94iod
+,
+
+39 \18cڡ \12
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_oms_1
+[] = { 2 };
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+43 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fg2\96_1
+[] = {
+
+44 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+46 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+48
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_¥ecs_1
+ = {
+
+49 \17(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
+),
+
+50
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
+,
+_a¢_ùx
+),
+
+51
+a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fg2\96_1
+,
+
+53
+a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_oms_1
+,
+
+57
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
+ = {
+
+60 &
+a¢_OP_SEQUENCE
+,
+
+61
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
+,
+
+62 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
+)
+
+63 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
+[0]),
+
+64
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
+,
+
+65 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
+)
+
+66 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
+[0]),
+
+67 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+68
+a¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_1
+,
+
+70 &
+a¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_¥ecs_1
+
+
+ @E2SM-KPM-IndicationMessage.c
+
+8 \ 2
+ ~"E2SM-KPM-IndiÿtiÚMes§ge.h
+"
+
+10 \ 2
+ ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©1.h
+"
+
+11 \ 2
+ ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©2.h
+"
+
+12 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_\9adiÿtiÚMes§ge_fÜm©s_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+13 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+14 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+17 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_\9adiÿtiÚMes§ge_fÜm©s_2
+[] = {
+
+18 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
+,
+choiû
+.
+\9adiÿtiÚMes§ge_FÜm©1
+),
+
+19 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+21 &
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
+,
+
+27 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
+,
+choiû
+.
+\9adiÿtiÚMes§ge_FÜm©2
+),
+
+28 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+30 &
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
+,
+
+37 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_\9adiÿtiÚMes§ge_fÜm©s_\8fg2\96_2
+[] = {
+
+38 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+39 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+41 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_\9adiÿtiÚMes§ge_fÜm©s_¥ecs_2
+ = {
+
+42 \17(\19
+E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
+),
+
+43
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
+,
+_a¢_ùx
+),
+
+44
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
+,
+´e£Á
+),
+
+45 \17(((\19
+E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
+ *)0)->
+´e£Á
+),
+
+46
+a¢_MAP_\9adiÿtiÚMes§ge_fÜm©s_\8fg2\96_2
+,
+
+52
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_\9adiÿtiÚMes§ge_fÜm©s_2
+ = {
+
+55 &
+a¢_OP_CHOICE
+,
+
+60 { 0, &
+a¢_PER_ty³_\9adiÿtiÚMes§ge_fÜm©s_cÚ¡r_2
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+61
+a¢_MBR_\9adiÿtiÚMes§ge_fÜm©s_2
+,
+
+63 &
+a¢_SPC_\9adiÿtiÚMes§ge_fÜm©s_¥ecs_2
+
+
+66 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_1
+[] = {
+
+67 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge
+,
+\9adiÿtiÚMes§ge_fÜm©s
+),
+
+68 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+70 &
+a¢_DEF_\9adiÿtiÚMes§ge_fÜm©s_2
+,
+
+77 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
+[] = {
+
+78 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+80 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_\8fg2\96_1
+[] = {
+
+81 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+83 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_¥ecs_1
+ = {
+
+84 \17(\19
+E2SM_KPM_IndiÿtiÚMes§ge
+),
+
+85
+off£tof
+(\19
+E2SM_KPM_IndiÿtiÚMes§ge
+,
+_a¢_ùx
+),
+
+86
+a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_\8fg2\96_1
+,
+
+91
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge
+ = {
+
+94 &
+a¢_OP_SEQUENCE
+,
+
+95
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
+,
+
+96 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
+)
+
+97 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
+[0]),
+
+98
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
+,
+
+99 \17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
+)
+
+100 /\17(
+a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
+[0]),
+
+101 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+102
+a¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_1
+,
+
+104 &
+a¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_¥ecs_1
+
+
+ @E2SM-KPM-RANfunction-Description.c
+
+8 \ 2
+ ~"E2SM-KPM-RANfunùiÚ-Desü\9dtiÚ.h
+"
+
+10 \ 2
+ ~"RIC-Ev\92tTrigg\94StyË-I\8bm.h
+"
+
+11 \ 2
+ ~"RIC-R\95ÜtStyË-I\8bm.h
+"
+
+13
+ $memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+14
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+15
+size_t
+
+size
+;
+
+17 if(!
+¥\8c
+) {
+
+18
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+20
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+25
+size
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+¥\8c
+)->
+couÁ
+;
+
+27 if((
+size
+ >= 1 && size <= 63)) {
+
+29 \15
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+ `g\92\94®_cÚ¡¿\9ats
+Ñd,
+¥\8c
+,
+ùç\9ecb
+,
+p_key
+);
+
+31
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+33
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+36
+ }
+}
+
+39
+ $memb_ric_R\95ÜtStyË_Li¡_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+40
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+41
+size_t
+
+size
+;
+
+43 if(!
+¥\8c
+) {
+
+44
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+46
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+51
+size
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+¥\8c
+)->
+couÁ
+;
+
+53 if((
+size
+ >= 1 && size <= 63)) {
+
+55 \15
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+ `g\92\94®_cÚ¡¿\9ats
+Ñd,
+¥\8c
+,
+ùç\9ecb
+,
+p_key
+);
+
+57
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+59
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+62
+ }
+}
+
+64 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+65 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+66 {
+APC_CONSTRAINED
+, 6, 6, 1, 63 } ,
+
+69 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
+
+ gCC_NOTUSED
+ = {
+
+70 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+71 {
+APC_CONSTRAINED
+, 6, 6, 1, 63 } ,
+
+74 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+75 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+76 {
+APC_CONSTRAINED
+, 6, 6, 1, 63 } ,
+
+79 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
+
+ gCC_NOTUSED
+ = {
+
+80 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+81 {
+APC_CONSTRAINED
+, 6, 6, 1, 63 } ,
+
+84 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_ric_Ev\92tTrigg\94StyË_Li¡_3
+[] = {
+
+85 {
+ATF_POINTER
+, 0, 0,
+
+86 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+88 &
+a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm
+,
+
+95 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
+[] = {
+
+96 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+97 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+99 \18
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_ric_Ev\92tTrigg\94StyË_Li¡_¥ecs_3
+ = {
+
+100 \17(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_Ev\92tTrigg\94StyË_Li¡
+),
+
+101
+off£tof
+(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_Ev\92tTrigg\94StyË_Li¡
+,
+_a¢_ùx
+),
+
+105
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_3
+ = {
+
+108 &
+a¢_OP_SEQUENCE_OF
+,
+
+109
+a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
+,
+
+110 \17(
+a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
+)
+
+111 /\17(
+a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
+[0]) - 1,
+
+112
+a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
+,
+
+113 \17(
+a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
+)
+
+114 /\17(
+a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
+[0]),
+
+115 { 0, &
+a¢_PER_ty³_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+116
+a¢_MBR_ric_Ev\92tTrigg\94StyË_Li¡_3
+,
+
+118 &
+a¢_SPC_ric_Ev\92tTrigg\94StyË_Li¡_¥ecs_3
+
+
+121 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_ric_R\95ÜtStyË_Li¡_5
+[] = {
+
+122 {
+ATF_POINTER
+, 0, 0,
+
+123 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+125 &
+a¢_DEF_RIC_R\95ÜtStyË_I\8bm
+,
+
+132 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
+[] = {
+
+133 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+134 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+136 \18
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_ric_R\95ÜtStyË_Li¡_¥ecs_5
+ = {
+
+137 \17(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_R\95ÜtStyË_Li¡
+),
+
+138
+off£tof
+(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_R\95ÜtStyË_Li¡
+,
+_a¢_ùx
+),
+
+142
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_ric_R\95ÜtStyË_Li¡_5
+ = {
+
+145 &
+a¢_OP_SEQUENCE_OF
+,
+
+146
+a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
+,
+
+147 \17(
+a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
+)
+
+148 /\17(
+a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
+[0]) - 1,
+
+149
+a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
+,
+
+150 \17(
+a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
+)
+
+151 /\17(
+a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
+[0]),
+
+152 { 0, &
+a¢_PER_ty³_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+153
+a¢_MBR_ric_R\95ÜtStyË_Li¡_5
+,
+
+155 &
+a¢_SPC_ric_R\95ÜtStyË_Li¡_¥ecs_5
+
+
+158 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_1
+[] = {
+
+159 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
+,
+¿nFunùiÚ_Name
+),
+
+160 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+162 &
+a¢_DEF_RANfunùiÚ_Name
+,
+
+168 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
+,
+ric_Ev\92tTrigg\94StyË_Li¡
+),
+
+169 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+171 &
+a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_3
+,
+
+173 { 0, &
+a¢_PER_memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
+,
+memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡¿\9at_1
+ },
+
+177 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
+,
+ric_R\95ÜtStyË_Li¡
+),
+
+178 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+180 &
+a¢_DEF_ric_R\95ÜtStyË_Li¡_5
+,
+
+182 { 0, &
+a¢_PER_memb_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
+,
+memb_ric_R\95ÜtStyË_Li¡_cÚ¡¿\9at_1
+ },
+
+187 \18cڡ \12
+ ga¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_oms_1
+[] = { 1, 2 };
+
+188 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
+[] = {
+
+189 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+191 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fg2\96_1
+[] = {
+
+192 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+193 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+194 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+196 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_¥ecs_1
+ = {
+
+197 \17(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
+),
+
+198
+off£tof
+(\19
+E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
+,
+_a¢_ùx
+),
+
+199
+a¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fg2\96_1
+,
+
+201
+a¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_oms_1
+,
+
+205
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
+ = {
+
+208 &
+a¢_OP_SEQUENCE
+,
+
+209
+a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
+,
+
+210 \17(
+a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
+)
+
+211 /\17(
+a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
+[0]),
+
+212
+a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
+,
+
+213 \17(
+a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
+)
+
+214 /\17(
+a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
+[0]),
+
+215 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+216
+a¢_MBR_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_1
+,
+
+218 &
+a¢_SPC_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_¥ecs_1
+
+
+ @EN-GNB-ID.c
+
+8 \ 2
+ ~"EN-GNB-ID.h
+"
+
+11
+ $memb_\92_gNB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ >= 22 && size <= 32)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+41 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_\92_gNB_ID_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+42 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+43 {
+APC_CONSTRAINED
+, 4, 4, 22, 32 } ,
+
+46
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_EN_GNB_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+47 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+48 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+51
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_EN_GNB_ID_1
+[] = {
+
+52 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+EN_GNB_ID
+,
+choiû
+.
+\92_gNB_ID
+),
+
+53 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+55 &
+a¢_DEF_BIT_STRING
+,
+
+57 { 0, &
+a¢_PER_memb_\92_gNB_ID_cÚ¡r_2
+,
+memb_\92_gNB_ID_cÚ¡¿\9at_1
+ },
+
+62 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_EN_GNB_ID_\8fg2\96_1
+[] = {
+
+63 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+65
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_EN_GNB_ID_¥ecs_1
+ = {
+
+66 \17(\19
+EN_GNB_ID
+),
+
+67
+off£tof
+(\19
+EN_GNB_ID
+,
+_a¢_ùx
+),
+
+68
+off£tof
+(\19
+EN_GNB_ID
+,
+´e£Á
+),
+
+69 \17(((\19
+EN_GNB_ID
+ *)0)->
+´e£Á
+),
+
+70
+a¢_MAP_EN_GNB_ID_\8fg2\96_1
+,
+
+75
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_EN_GNB_ID
+ = {
+
+78 &
+a¢_OP_CHOICE
+,
+
+83 { 0, &
+a¢_PER_ty³_EN_GNB_ID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+84
+a¢_MBR_EN_GNB_ID_1
+,
+
+86 &
+a¢_SPC_EN_GNB_ID_¥ecs_1
+
+
+ @ENB-ID.c
+
+8 \ 2
+ ~"ENB-ID.h
+"
+
+11
+ $memb_maüo_eNB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ == 20)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+42
+ $memb_home_eNB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+43
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+44 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+45
+size_t
+
+size
+;
+
+47 if(!
+¥\8c
+) {
+
+48
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+50
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+54 if(
+¡
+->
+size
+ > 0) {
+
+56
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+58
+size
+ = 0;
+
+61 if((
+size
+ == 28)) {
+
+65
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+67
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+70
+ }
+}
+
+73
+ $memb_shÜt_Maüo_eNB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+74
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+75 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+76
+size_t
+
+size
+;
+
+78 if(!
+¥\8c
+) {
+
+79
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+81
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+85 if(
+¡
+->
+size
+ > 0) {
+
+87
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+89
+size
+ = 0;
+
+92 if((
+size
+ == 18)) {
+
+96
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+98
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+101
+ }
+}
+
+104
+ $memb_lÚg_Maüo_eNB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+105
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+106 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+107
+size_t
+
+size
+;
+
+109 if(!
+¥\8c
+) {
+
+110
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+112
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+116 if(
+¡
+->
+size
+ > 0) {
+
+118
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+120
+size
+ = 0;
+
+123 if((
+size
+ == 21)) {
+
+127
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+129
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+132
+ }
+}
+
+134 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_maüo_eNB_ID_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+135 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+136 {
+APC_CONSTRAINED
+, 0, 0, 20, 20 } ,
+
+139 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_home_eNB_ID_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+140 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+141 {
+APC_CONSTRAINED
+, 0, 0, 28, 28 } ,
+
+144 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_shÜt_Maüo_eNB_ID_cÚ¡r_5
+
+ gCC_NOTUSED
+ = {
+
+145 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+146 {
+APC_CONSTRAINED
+, 0, 0, 18, 18 } ,
+
+149 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_lÚg_Maüo_eNB_ID_cÚ¡r_6
+
+ gCC_NOTUSED
+ = {
+
+150 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+151 {
+APC_CONSTRAINED
+, 0, 0, 21, 21 } ,
+
+154
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_ENB_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+155 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+156 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+159
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_ENB_ID_1
+[] = {
+
+160 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+ENB_ID
+,
+choiû
+.
+maüo_eNB_ID
+),
+
+161 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+163 &
+a¢_DEF_BIT_STRING
+,
+
+165 { 0, &
+a¢_PER_memb_maüo_eNB_ID_cÚ¡r_2
+,
+memb_maüo_eNB_ID_cÚ¡¿\9at_1
+ },
+
+169 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+ENB_ID
+,
+choiû
+.
+home_eNB_ID
+),
+
+170 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+172 &
+a¢_DEF_BIT_STRING
+,
+
+174 { 0, &
+a¢_PER_memb_home_eNB_ID_cÚ¡r_3
+,
+memb_home_eNB_ID_cÚ¡¿\9at_1
+ },
+
+178 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+ENB_ID
+,
+choiû
+.
+shÜt_Maüo_eNB_ID
+),
+
+179 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+181 &
+a¢_DEF_BIT_STRING
+,
+
+183 { 0, &
+a¢_PER_memb_shÜt_Maüo_eNB_ID_cÚ¡r_5
+,
+memb_shÜt_Maüo_eNB_ID_cÚ¡¿\9at_1
+ },
+
+187 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+ENB_ID
+,
+choiû
+.
+lÚg_Maüo_eNB_ID
+),
+
+188 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+190 &
+a¢_DEF_BIT_STRING
+,
+
+192 { 0, &
+a¢_PER_memb_lÚg_Maüo_eNB_ID_cÚ¡r_6
+,
+memb_lÚg_Maüo_eNB_ID_cÚ¡¿\9at_1
+ },
+
+197 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_ENB_ID_\8fg2\96_1
+[] = {
+
+198 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+199 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+200 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+201 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 }
+
+203
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_ENB_ID_¥ecs_1
+ = {
+
+204 \17(\19
+ENB_ID
+),
+
+205
+off£tof
+(\19
+ENB_ID
+,
+_a¢_ùx
+),
+
+206
+off£tof
+(\19
+ENB_ID
+,
+´e£Á
+),
+
+207 \17(((\19
+ENB_ID
+ *)0)->
+´e£Á
+),
+
+208
+a¢_MAP_ENB_ID_\8fg2\96_1
+,
+
+213
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_ENB_ID
+ = {
+
+216 &
+a¢_OP_CHOICE
+,
+
+221 { 0, &
+a¢_PER_ty³_ENB_ID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+222
+a¢_MBR_ENB_ID_1
+,
+
+224 &
+a¢_SPC_ENB_ID_¥ecs_1
+
+
+ @ENB-UE-X2AP-ID-Extension.c
+
+8 \ 2
+ ~"ENB-UE-X2AP-ID-Ex\8bnsiÚ.h
+"
+
+11
+ $ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 4095)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 12, 12, 0, 4095 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
+[0]),
+
+54
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡r_1
+,
+ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡¿\9at
+ },
+
+ @ENB-UE-X2AP-ID.c
+
+8 \ 2
+ ~"ENB-UE-X2AP-ID.h
+"
+
+11
+ $ENB_UE_X2AP_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 4095)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_ENB_UE_X2AP_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+, 12, 12, 0, 4095 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_ENB_UE_X2AP_ID
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
+[0]),
+
+54
+a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_ENB_UE_X2AP_ID_cÚ¡r_1
+,
+ENB_UE_X2AP_ID_cÚ¡¿\9at
+ },
+
+ @EUTRA-CGI.c
+
+8 \ 2
+ ~"EUTRA-CGI.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_EUTRA_CGI_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+EUTRA_CGI
+,
+pLMNId\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+EUTRA_CGI
+,
+eUTRAC\96lId\92t\99y
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_EUTRAC\96lId\92t\99y
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_EUTRA_CGI_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_EUTRA_CGI_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_EUTRA_CGI_¥ecs_1
+ = {
+
+38 \17(\19
+EUTRA_CGI
+),
+
+39
+off£tof
+(\19
+EUTRA_CGI
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_EUTRA_CGI_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_EUTRA_CGI
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_EUTRA_CGI_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_EUTRA_CGI_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_EUTRA_CGI_\8fgs_1
+[0]),
+
+52
+a¢_DEF_EUTRA_CGI_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_EUTRA_CGI_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_EUTRA_CGI_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_EUTRA_CGI_1
+,
+
+58 &
+a¢_SPC_EUTRA_CGI_¥ecs_1
+
+
+ @EUTRACellIdentity.c
+
+8 \ 2
+ ~"EUTRAC\96lId\92t\99y.h
+"
+
+11
+ $EUTRAC\96lId\92t\99y_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ == 28)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_EUTRAC\96lId\92t\99y_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+47 {
+APC_CONSTRAINED
+, 0, 0, 28, 28 } ,
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (3 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_EUTRAC\96lId\92t\99y
+ = {
+
+56 &
+a¢_OP_BIT_STRING
+,
+
+57
+a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
+[0]),
+
+60
+a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_EUTRAC\96lId\92t\99y_cÚ¡r_1
+,
+EUTRAC\96lId\92t\99y_cÚ¡¿\9at
+ },
+
+65 &
+a¢_SPC_BIT_STRING_¥ecs
+
+
+ @FiveGS-TAC.c
+
+8 \ 2
+ ~"FiveGS-TAC.h
+"
+
+11
+ $FiveGS_TAC_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 3)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_FiveGS_TAC_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 3, 3 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_FiveGS_TAC_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_FiveGS_TAC
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_FiveGS_TAC_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_FiveGS_TAC_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_FiveGS_TAC_\8fgs_1
+[0]),
+
+55
+a¢_DEF_FiveGS_TAC_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_FiveGS_TAC_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_FiveGS_TAC_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_FiveGS_TAC_cÚ¡r_1
+,
+FiveGS_TAC_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @FiveQI.c
+
+8 \ 2
+ ~"FiveQI.h
+"
+
+11
+ $FiveQI_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 255)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_FiveQI_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 8, 8, 0, 255 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_FiveQI_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_FiveQI
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_FiveQI_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_FiveQI_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_FiveQI_\8fgs_1
+[0]),
+
+54
+a¢_DEF_FiveQI_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_FiveQI_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_FiveQI_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_FiveQI_cÚ¡r_1
+,
+FiveQI_cÚ¡¿\9at
+ },
+
+ @FreqBandNrItem.c
+
+8 \ 2
+ ~"F»qBªdNrI\8bm.h
+"
+
+11
+ $memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 1024)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+35 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+36 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 10, 10, 1, 1024 } ,
+
+37 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+40 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_F»qBªdNrI\8bm_1
+[] = {
+
+41 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+F»qBªdNrI\8bm
+,
+äeqBªdIndiÿtÜNr
+),
+
+42 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+44 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+46 { 0, &
+a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
+,
+memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
+ },
+
+51 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_F»qBªdNrI\8bm_\8fgs_1
+[] = {
+
+52 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+54 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_F»qBªdNrI\8bm_\8fg2\96_1
+[] = {
+
+55 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+57 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_F»qBªdNrI\8bm_¥ecs_1
+ = {
+
+58 \17(\19
+F»qBªdNrI\8bm
+),
+
+59
+off£tof
+(\19
+F»qBªdNrI\8bm
+,
+_a¢_ùx
+),
+
+60
+a¢_MAP_F»qBªdNrI\8bm_\8fg2\96_1
+,
+
+65
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_F»qBªdNrI\8bm
+ = {
+
+68 &
+a¢_OP_SEQUENCE
+,
+
+69
+a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
+,
+
+70 \17(
+a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
+)
+
+71 /\17(
+a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
+[0]),
+
+72
+a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
+,
+
+73 \17(
+a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
+)
+
+74 /\17(
+a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
+[0]),
+
+75 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+76
+a¢_MBR_F»qBªdNrI\8bm_1
+,
+
+78 &
+a¢_SPC_F»qBªdNrI\8bm_¥ecs_1
+
+
+ @GNB-CU-CP-UE-E1AP-ID.c
+
+8 \ 2
+ ~"GNB-CU-CP-UE-E1AP-ID.h
+"
+
+11
+ $GNB_CU_CP_UE_E1AP_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+14 if(!
+¥\8c
+) {
+
+15
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+17
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+24
+ }
+}
+
+30
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_GNB_CU_CP_UE_E1AP_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+31 {
+APC_CONSTRAINED
+, 32, -1, 0, 4294967295 } ,
+
+32 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+35 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_GNB_CU_CP_UE_E1AP_ID_¥ecs_1
+ = {
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+43
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GNB_CU_CP_UE_E1AP_ID
+ = {
+
+46 &
+a¢_OP_N©iveIÁeg\94
+,
+
+47
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
+,
+
+48 \17(
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
+)
+
+49 /\17(
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
+[0]),
+
+50
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
+,
+
+51 \17(
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
+)
+
+52 /\17(
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
+[0]),
+
+53 { 0, &
+a¢_PER_ty³_GNB_CU_CP_UE_E1AP_ID_cÚ¡r_1
+,
+GNB_CU_CP_UE_E1AP_ID_cÚ¡¿\9at
+ },
+
+55 &
+a¢_SPC_GNB_CU_CP_UE_E1AP_ID_¥ecs_1
+
+
+ @GNB-CU-UE-F1AP-ID.c
+
+8 \ 2
+ ~"GNB-CU-UE-F1AP-ID.h
+"
+
+11
+ $GNB_CU_UE_F1AP_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+14 if(!
+¥\8c
+) {
+
+15
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+17
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+24
+ }
+}
+
+30
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_GNB_CU_UE_F1AP_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+31 {
+APC_CONSTRAINED
+, 32, -1, 0, 4294967295 } ,
+
+32 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+35 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_GNB_CU_UE_F1AP_ID_¥ecs_1
+ = {
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+43
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GNB_CU_UE_F1AP_ID
+ = {
+
+46 &
+a¢_OP_N©iveIÁeg\94
+,
+
+47
+a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
+,
+
+48 \17(
+a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
+)
+
+49 /\17(
+a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
+[0]),
+
+50
+a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
+,
+
+51 \17(
+a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
+)
+
+52 /\17(
+a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
+[0]),
+
+53 { 0, &
+a¢_PER_ty³_GNB_CU_UE_F1AP_ID_cÚ¡r_1
+,
+GNB_CU_UE_F1AP_ID_cÚ¡¿\9at
+ },
+
+55 &
+a¢_SPC_GNB_CU_UE_F1AP_ID_¥ecs_1
+
+
+ @GNB-CU-UP-ID.c
+
+8 \ 2
+ ~"GNB-CU-UP-ID.h
+"
+
+11
+ $GNB_CU_UP_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+14 \13
+v®ue
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+)) {
+
+24
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+26
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+30 if((
+v®ue
+ >= 0 && value <= 68719476735)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_GNB_CU_UP_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_CONSTRAINED
+, 36, -1, 0, 68719476735 } ,
+
+47 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_GNB_CU_UP_ID_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GNB_CU_UP_ID
+ = {
+
+56 &
+a¢_OP_INTEGER
+,
+
+57
+a¢_DEF_GNB_CU_UP_ID_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_GNB_CU_UP_ID_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_GNB_CU_UP_ID_\8fgs_1
+[0]),
+
+60
+a¢_DEF_GNB_CU_UP_ID_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_GNB_CU_UP_ID_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_GNB_CU_UP_ID_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_GNB_CU_UP_ID_cÚ¡r_1
+,
+GNB_CU_UP_ID_cÚ¡¿\9at
+ },
+
+ @GNB-DU-ID.c
+
+8 \ 2
+ ~"GNB-DU-ID.h
+"
+
+11
+ $GNB_DU_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+14 \13
+v®ue
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+)) {
+
+24
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+26
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+30 if((
+v®ue
+ >= 0 && value <= 68719476735)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_GNB_DU_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_CONSTRAINED
+, 36, -1, 0, 68719476735 } ,
+
+47 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_GNB_DU_ID_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GNB_DU_ID
+ = {
+
+56 &
+a¢_OP_INTEGER
+,
+
+57
+a¢_DEF_GNB_DU_ID_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_GNB_DU_ID_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_GNB_DU_ID_\8fgs_1
+[0]),
+
+60
+a¢_DEF_GNB_DU_ID_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_GNB_DU_ID_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_GNB_DU_ID_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_GNB_DU_ID_cÚ¡r_1
+,
+GNB_DU_ID_cÚ¡¿\9at
+ },
+
+ @GNB-ID.c
+
+8 \ 2
+ ~"GNB-ID.h
+"
+
+11
+ $memb_gNB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ >= 22 && size <= 32)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+41 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_gNB_ID_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+42 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+43 {
+APC_CONSTRAINED
+, 4, 4, 22, 32 } ,
+
+46
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_GNB_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+47 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+48 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+51
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_GNB_ID_1
+[] = {
+
+52 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GNB_ID
+,
+choiû
+.
+gNB_ID
+),
+
+53 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+55 &
+a¢_DEF_BIT_STRING
+,
+
+57 { 0, &
+a¢_PER_memb_gNB_ID_cÚ¡r_2
+,
+memb_gNB_ID_cÚ¡¿\9at_1
+ },
+
+62 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_GNB_ID_\8fg2\96_1
+[] = {
+
+63 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+65
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_GNB_ID_¥ecs_1
+ = {
+
+66 \17(\19
+GNB_ID
+),
+
+67
+off£tof
+(\19
+GNB_ID
+,
+_a¢_ùx
+),
+
+68
+off£tof
+(\19
+GNB_ID
+,
+´e£Á
+),
+
+69 \17(((\19
+GNB_ID
+ *)0)->
+´e£Á
+),
+
+70
+a¢_MAP_GNB_ID_\8fg2\96_1
+,
+
+75
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GNB_ID
+ = {
+
+78 &
+a¢_OP_CHOICE
+,
+
+83 { 0, &
+a¢_PER_ty³_GNB_ID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+84
+a¢_MBR_GNB_ID_1
+,
+
+86 &
+a¢_SPC_GNB_ID_¥ecs_1
+
+
+ @GUAMI.c
+
+8 \ 2
+ ~"GUAMI.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_GUAMI_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GUAMI
+,
+pLMNId\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GUAMI
+,
+aMFRegiÚID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_AMFRegiÚID
+,
+
+29 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GUAMI
+,
+aMFS\91ID
+),
+
+30 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+32 &
+a¢_DEF_AMFS\91ID
+,
+
+38 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GUAMI
+,
+aMFPo\9a\8br
+),
+
+39 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+41 &
+a¢_DEF_AMFPo\9a\8br
+,
+
+48 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_GUAMI_\8fgs_1
+[] = {
+
+49 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+51 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_GUAMI_\8fg2\96_1
+[] = {
+
+52 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+53 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+54 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+55 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 }
+
+57
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_GUAMI_¥ecs_1
+ = {
+
+58 \17(\19
+GUAMI
+),
+
+59
+off£tof
+(\19
+GUAMI
+,
+_a¢_ùx
+),
+
+60
+a¢_MAP_GUAMI_\8fg2\96_1
+,
+
+65
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GUAMI
+ = {
+
+68 &
+a¢_OP_SEQUENCE
+,
+
+69
+a¢_DEF_GUAMI_\8fgs_1
+,
+
+70 \17(
+a¢_DEF_GUAMI_\8fgs_1
+)
+
+71 /\17(
+a¢_DEF_GUAMI_\8fgs_1
+[0]),
+
+72
+a¢_DEF_GUAMI_\8fgs_1
+,
+
+73 \17(
+a¢_DEF_GUAMI_\8fgs_1
+)
+
+74 /\17(
+a¢_DEF_GUAMI_\8fgs_1
+[0]),
+
+75 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+76
+a¢_MBR_GUAMI_1
+,
+
+78 &
+a¢_SPC_GUAMI_¥ecs_1
+
+
+ @GUMMEI.c
+
+8 \ 2
+ ~"GUMMEI.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_GUMMEI_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GUMMEI
+,
+pLMN_Id\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GUMMEI
+,
+mME_Group_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_MME_Group_ID
+,
+
+29 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GUMMEI
+,
+mME_Code
+),
+
+30 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+32 &
+a¢_DEF_MME_Code
+,
+
+39 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_GUMMEI_\8fgs_1
+[] = {
+
+40 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+42 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_GUMMEI_\8fg2\96_1
+[] = {
+
+43 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+44 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+47
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_GUMMEI_¥ecs_1
+ = {
+
+48 \17(\19
+GUMMEI
+),
+
+49
+off£tof
+(\19
+GUMMEI
+,
+_a¢_ùx
+),
+
+50
+a¢_MAP_GUMMEI_\8fg2\96_1
+,
+
+55
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GUMMEI
+ = {
+
+58 &
+a¢_OP_SEQUENCE
+,
+
+59
+a¢_DEF_GUMMEI_\8fgs_1
+,
+
+60 \17(
+a¢_DEF_GUMMEI_\8fgs_1
+)
+
+61 /\17(
+a¢_DEF_GUMMEI_\8fgs_1
+[0]),
+
+62
+a¢_DEF_GUMMEI_\8fgs_1
+,
+
+63 \17(
+a¢_DEF_GUMMEI_\8fgs_1
+)
+
+64 /\17(
+a¢_DEF_GUMMEI_\8fgs_1
+[0]),
+
+65 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+66
+a¢_MBR_GUMMEI_1
+,
+
+68 &
+a¢_SPC_GUMMEI_¥ecs_1
+
+
+ @GlobalENB-ID.c
+
+8 \ 2
+ ~"Glob®ENB-ID.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Glob®ENB_ID_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®ENB_ID
+,
+pLMNId\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®ENB_ID
+,
+eNB_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_ENB_ID
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Glob®ENB_ID_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Glob®ENB_ID_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_Glob®ENB_ID_¥ecs_1
+ = {
+
+38 \17(\19
+Glob®ENB_ID
+),
+
+39
+off£tof
+(\19
+Glob®ENB_ID
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_Glob®ENB_ID_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Glob®ENB_ID
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_Glob®ENB_ID_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_Glob®ENB_ID_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_Glob®ENB_ID_\8fgs_1
+[0]),
+
+52
+a¢_DEF_Glob®ENB_ID_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_Glob®ENB_ID_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_Glob®ENB_ID_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_Glob®ENB_ID_1
+,
+
+58 &
+a¢_SPC_Glob®ENB_ID_¥ecs_1
+
+
+ @GlobalGNB-ID.c
+
+8 \ 2
+ ~"Glob®GNB-ID.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Glob®GNB_ID_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®GNB_ID
+,
+pLMNId\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®GNB_ID
+,
+gNB_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_GNB_ID
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Glob®GNB_ID_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Glob®GNB_ID_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_Glob®GNB_ID_¥ecs_1
+ = {
+
+38 \17(\19
+Glob®GNB_ID
+),
+
+39
+off£tof
+(\19
+Glob®GNB_ID
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_Glob®GNB_ID_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Glob®GNB_ID
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_Glob®GNB_ID_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_Glob®GNB_ID_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_Glob®GNB_ID_\8fgs_1
+[0]),
+
+52
+a¢_DEF_Glob®GNB_ID_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_Glob®GNB_ID_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_Glob®GNB_ID_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_Glob®GNB_ID_1
+,
+
+58 &
+a¢_SPC_Glob®GNB_ID_¥ecs_1
+
+
+ @GlobalNGRANNodeID.c
+
+8 \ 2
+ ~"Glob®NGRANNodeID.h
+"
+
+10 \ 2
+ ~"Glob®GNB-ID.h
+"
+
+11 \ 2
+ ~"Glob®NgENB-ID.h
+"
+
+12
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_Glob®NGRANNodeID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+13 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+14 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+17
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Glob®NGRANNodeID_1
+[] = {
+
+18 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+Glob®NGRANNodeID
+,
+choiû
+.
+gNB
+),
+
+19 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+21 &
+a¢_DEF_Glob®GNB_ID
+,
+
+27 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+Glob®NGRANNodeID
+,
+choiû
+.
+ng_eNB
+),
+
+28 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+30 &
+a¢_DEF_Glob®NgENB_ID
+,
+
+37 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Glob®NGRANNodeID_\8fg2\96_1
+[] = {
+
+38 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+39 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+41
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_Glob®NGRANNodeID_¥ecs_1
+ = {
+
+42 \17(\19
+Glob®NGRANNodeID
+),
+
+43
+off£tof
+(\19
+Glob®NGRANNodeID
+,
+_a¢_ùx
+),
+
+44
+off£tof
+(\19
+Glob®NGRANNodeID
+,
+´e£Á
+),
+
+45 \17(((\19
+Glob®NGRANNodeID
+ *)0)->
+´e£Á
+),
+
+46
+a¢_MAP_Glob®NGRANNodeID_\8fg2\96_1
+,
+
+51
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Glob®NGRANNodeID
+ = {
+
+54 &
+a¢_OP_CHOICE
+,
+
+59 { 0, &
+a¢_PER_ty³_Glob®NGRANNodeID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+60
+a¢_MBR_Glob®NGRANNodeID_1
+,
+
+62 &
+a¢_SPC_Glob®NGRANNodeID_¥ecs_1
+
+
+ @GlobalNgENB-ID.c
+
+8 \ 2
+ ~"Glob®NgENB-ID.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Glob®NgENB_ID_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®NgENB_ID
+,
+pLMNId\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®NgENB_ID
+,
+ngENB_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_NgENB_ID
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Glob®NgENB_ID_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Glob®NgENB_ID_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_Glob®NgENB_ID_¥ecs_1
+ = {
+
+38 \17(\19
+Glob®NgENB_ID
+),
+
+39
+off£tof
+(\19
+Glob®NgENB_ID
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_Glob®NgENB_ID_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Glob®NgENB_ID
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_Glob®NgENB_ID_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_Glob®NgENB_ID_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_Glob®NgENB_ID_\8fgs_1
+[0]),
+
+52
+a¢_DEF_Glob®NgENB_ID_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_Glob®NgENB_ID_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_Glob®NgENB_ID_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_Glob®NgENB_ID_1
+,
+
+58 &
+a¢_SPC_Glob®NgENB_ID_¥ecs_1
+
+
+ @GlobalenGNB-ID.c
+
+8 \ 2
+ ~"Glob®\92GNB-ID.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Glob®\92GNB_ID_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®\92GNB_ID
+,
+pLMN_Id\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Glob®\92GNB_ID
+,
+\92_gNB_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_EN_GNB_ID
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Glob®\92GNB_ID_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Glob®\92GNB_ID_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_Glob®\92GNB_ID_¥ecs_1
+ = {
+
+38 \17(\19
+Glob®\92GNB_ID
+),
+
+39
+off£tof
+(\19
+Glob®\92GNB_ID
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_Glob®\92GNB_ID_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Glob®\92GNB_ID
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_Glob®\92GNB_ID_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_Glob®\92GNB_ID_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_Glob®\92GNB_ID_\8fgs_1
+[0]),
+
+52
+a¢_DEF_Glob®\92GNB_ID_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_Glob®\92GNB_ID_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_Glob®\92GNB_ID_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_Glob®\92GNB_ID_1
+,
+
+58 &
+a¢_SPC_Glob®\92GNB_ID_¥ecs_1
+
+
+ @GranularityPeriod.c
+
+8 \ 2
+ ~"G¿nuÏr\99yP\94iod.h
+"
+
+11
+ $G¿nuÏr\99yP\94iod_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \1d\13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \1d\13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 4294967295)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_G¿nuÏr\99yP\94iod_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+, 32, -1, 1, 4294967295 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_G¿nuÏr\99yP\94iod_¥ecs_1
+ = {
+
+49 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
+[] = {
+
+50 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+52
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_G¿nuÏr\99yP\94iod
+ = {
+
+55 &
+a¢_OP_N©iveIÁeg\94
+,
+
+56
+a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
+,
+
+57 \17(
+a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
+)
+
+58 /\17(
+a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
+[0]),
+
+59
+a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
+,
+
+60 \17(
+a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
+)
+
+61 /\17(
+a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
+[0]),
+
+62 { 0, &
+a¢_PER_ty³_G¿nuÏr\99yP\94iod_cÚ¡r_1
+,
+G¿nuÏr\99yP\94iod_cÚ¡¿\9at
+ },
+
+64 &
+a¢_SPC_G¿nuÏr\99yP\94iod_¥ecs_1
+
+
+ @GroupID.c
+
+8 \ 2
+ ~"GroupID.h
+"
+
+10 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_GroupID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+11 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+15 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_GroupID_1
+[] = {
+
+16 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GroupID
+,
+choiû
+.
+fiveGC
+),
+
+17 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+19 &
+a¢_DEF_FiveQI
+,
+
+25 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+GroupID
+,
+choiû
+.
+ePC
+),
+
+26 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+28 &
+a¢_DEF_QCI
+,
+
+35 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_GroupID_\8fg2\96_1
+[] = {
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+37 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+39 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_GroupID_¥ecs_1
+ = {
+
+40 \17(\19
+GroupID
+),
+
+41
+off£tof
+(\19
+GroupID
+,
+_a¢_ùx
+),
+
+42
+off£tof
+(\19
+GroupID
+,
+´e£Á
+),
+
+43 \17(((\19
+GroupID
+ *)0)->
+´e£Á
+),
+
+44
+a¢_MAP_GroupID_\8fg2\96_1
+,
+
+49
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_GroupID
+ = {
+
+52 &
+a¢_OP_CHOICE
+,
+
+57 { 0, &
+a¢_PER_ty³_GroupID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_GroupID_1
+,
+
+60 &
+a¢_SPC_GroupID_¥ecs_1
+
+
+ @INTEGER.c
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<INTEGER.h
+>
+
+8 \ 2
+ ~<a¢_codecs_´im.h
+>
+
+9 \ 2
+ ~<\94ºo.h
+>
+
+14 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_INTEGER_\8fgs
+[] = {
+
+15 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+17
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_INTEGER
+ = {
+
+18
+INTEGER_ä\93
+,
+
+19
+INTEGER_´\9at
+,
+
+20
+INTEGER_com·»
+,
+
+21
+b\94_decode_´im\99ive
+,
+
+22
+INTEGER_\92code_d\94
+,
+
+23
+INTEGER_decode_x\94
+,
+
+24
+INTEGER_\92code_x\94
+,
+
+25 #ifdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+29
+INTEGER_decode_Ûr
+,
+
+30
+INTEGER_\92code_Ûr
+,
+
+32 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+38
+INTEGER_decode_u³r
+,
+
+39
+INTEGER_\92code_u³r
+,
+
+40
+INTEGER_decode_\94
+,
+
+41
+INTEGER_\92code_\94
+,
+
+43
+INTEGER_¿ndom_f\9el
+,
+
+46
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_INTEGER
+ = {
+
+49 &
+a¢_OP_INTEGER
+,
+
+50
+a¢_DEF_INTEGER_\8fgs
+,
+
+51 \17(
+a¢_DEF_INTEGER_\8fgs
+) / \17(asn_DEF_INTEGER_tags[0]),
+
+52
+a¢_DEF_INTEGER_\8fgs
+,
+
+53 \17(
+a¢_DEF_INTEGER_\8fgs
+) / \17(asn_DEF_INTEGER_tags[0]),
+
+54 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+62
+a¢_\92c_rv®_t
+
+
+63
+ $INTEGER_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+64 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+65 \1e*
+p_key
+) {
+
+66 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+67
+a¢_\92c_rv®_t
+
+rv®
+;
+
+68
+INTEGER_t
+
+efãùive_\9a\8bg\94
+;
+
+70
+ `ASN_DEBUG
+("%s %s\87s INTEGER (tm=%d)",
+
+71
+cb
+?"Encod\9ag":"E¡im©\9ag",
+td
+->
+Çme
+,
+\8fg_mode
+);
+
+77 if(
+¡
+->
+buf
+) {
+
+78
+u\9at8_t
+ *
+buf
+ =
+¡
+->buf;
+
+79
+u\9at8_t
+ *
+\92d1
+ =
+buf
+ +
+¡
+->
+size
+ - 1;
+
+80 \12
+shiá
+;
+
+83 \ f;
+buf
+ <
+\92d1
+; buf++) {
+
+91 \1a*
+buf
+) {
+
+92 \ 40x00: if((
+buf
+[1] & 0x80) == 0)
+
+95 \ 40xff: if((
+buf
+[1] & 0x80))
+
+103
+shiá
+ =
+buf
+ -
+¡
+->buf;
+
+104 if(
+shiá
+) {
+
+106 cڡ
+u\9at8_t
+ *
+c_buf
+;
+
+107
+u\9at8_t
+ *
+nc_buf
+;
+
+108 }
+uncڡ
+;
+
+109
+uncڡ
+.
+c_buf
+ =
+¡
+->
+buf
+;
+
+110
+efãùive_\9a\8bg\94
+.
+buf
+ =
+uncڡ
+.
+nc_buf
+ +
+shiá
+;
+
+111
+efãùive_\9a\8bg\94
+.
+size
+ =
+¡
+->siz\90-
+shiá
+;
+
+113
+¡
+ = &
+efãùive_\9a\8bg\94
+;
+
+117
+rv®
+ =
+ `d\94_\92code_´im\99ive
+(
+td
+,
+¡
+,
+\8fg_mode
+,
+\8fg
+,
+cb
+,
+p_key
+);
+
+118 if(
+rv®
+.
+¡ruùu»_±r
+ =ð&
+efãùive_\9a\8bg\94
+) {
+
+119
+rv®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+121 \15
+rv®
+;
+
+122
+ }
+}
+
+124 \18cڡ
+a¢_INTEGER_\92um_m_t
+ *
+INTEGER_m_\92um2v®ue
+(
+
+125 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+, cڡ \ 5*
+l¡¬t
+,
+
+126 cڡ \ 5*
+l¡Ý
+);
+
+131 \18
+ssize_t
+
+
+132
+ $INTEGER__dump
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ
+INTEGER_t
+ *
+¡
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+, \12
+¶a\9aOrXER
+) {
+
+133 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+134 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+135 \ 5
+sü©ch
+[32];
+
+136
+u\9at8_t
+ *
+buf
+ =
+¡
+->buf;
+
+137
+u\9at8_t
+ *
+buf_\92d
+ =
+¡
+->
+buf
+ + st->
+size
+;
+
+138
+\9atmax_t
+
+v®ue
+;
+
+139
+ssize_t
+
+wrÙe
+ = 0;
+
+140 \ 5*
+p
+;
+
+141 \12
+»t
+;
+
+143 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+)
+
+144
+»t
+ =
+ `a¢_INTEGER2umax
+(
+¡
+, (
+u\9atmax_t
+ *)&
+v®ue
+);
+
+146
+»t
+ =
+ `a¢_INTEGER2imax
+(
+¡
+, &
+v®ue
+);
+
+149 if(
+»t
+ == 0) {
+
+150 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+\96
+;
+
+151
+\96
+ = (
+v®ue
+ >ð0 || !
+¥ecs
+ || !¥ecs->
+f\9bld_unsigÃd
+)
+
+152 ?
+ `INTEGER_m_v®ue2\92um
+(
+¥ecs
+,
+v®ue
+) : 0;
+
+153 if(
+\96
+) {
+
+154 if(
+¶a\9aOrXER
+ == 0)
+
+155 \15
+ `a¢__fÜm©_to_ÿÎback
+(
+cb
+,
+p_key
+,
+
+156 "%"
+ASN_PRIdMAX
+ " (%s)",
+v®ue
+,
+\96
+->
+\92um_Çme
+);
+
+158 \15
+ `a¢__fÜm©_to_ÿÎback
+(
+cb
+,
+p_key
+,
+
+159 "<%s/>",
+\96
+->
+\92um_Çme
+);
+
+160 } \vif(
+¶a\9aOrXER
+ &&
+¥ecs
+ && s³cs->
+¡riù_\92um\94©iÚ
+) {
+
+161
+ `ASN_DEBUG
+("ASN.1 forbids dealing with "
+
+163
+\94ºo
+ =
+EPERM
+;
+
+166 \15
+ `a¢__fÜm©_to_ÿÎback
+(
+cb
+,
+p_key
+,
+
+167 (
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+)
+
+168 ? "%"
+ASN_PRIuMAX
+
+
+169 : "%"
+ASN_PRIdMAX
+,
+
+170
+v®ue
+);
+
+172 } \vif(
+¶a\9aOrXER
+ &&
+¥ecs
+ && s³cs->
+¡riù_\92um\94©iÚ
+) {
+
+177
+ `ASN_DEBUG
+("ASN.1 forbids dealing with "
+
+179
+\94ºo
+ =
+EPERM
+;
+
+185 \ f
+p
+ =
+sü©ch
+;
+buf
+ <
+buf_\92d
+; buf++) {
+
+186 cڡ \ 5* cڡ
+h2c
+ = "0123456789ABCDEF";
+
+187 if((
+p
+ -
+sü©ch
+è>ð(
+ssize_t
+)(\17(scratch) - 4)) {
+
+189 if(
+ `cb
+(
+sü©ch
+,
+p
+ - sü©ch,
+p_key
+) < 0)
+
+191
+wrÙe
+ +ð
+p
+ -
+sü©ch
+;
+
+192
+p
+ =
+sü©ch
+;
+
+194 *
+p
+++ =
+h2c
+[*
+buf
+ >> 4];
+
+195 *
+p
+++ =
+h2c
+[*
+buf
+ & 0x0F];
+
+196 *
+p
+++ = 0x3a;
+
+198 if(
+p
+ !ð
+sü©ch
+)
+
+199
+p
+--;
+
+201
+wrÙe
+ +ð
+p
+ -
+sü©ch
+;
+
+202 \15 (
+ `cb
+(
+sü©ch
+,
+p
+ - sü©ch,
+p_key
+è< 0è? -1 :
+wrÙe
+;
+
+203
+ }
+}
+
+209
+ $INTEGER_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+210
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+211 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+212
+ssize_t
+
+»t
+;
+
+214 (\1e)
+\9eev\96
+;
+
+216 if(!
+¡
+ || !¡->
+buf
+)
+
+217
+»t
+ =
+ `cb
+("<ab£Á>", 8,
+p_key
+);
+
+219
+»t
+ =
+ `INTEGER__dump
+(
+td
+,
+¡
+,
+cb
+,
+p_key
+, 0);
+
+221 \15 (
+»t
+ < 0) ? -1 : 0;
+
+222
+ }
+}
+
+224 \19
+ se2v_key
+ {
+
+225 cڡ \ 5*
+ m¡¬t
+;
+
+226 cڡ \ 5*
+ m¡Ý
+;
+
+227 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+ mvem
+;
+
+228 cڡ \1d\12*
+ mevm
+;
+
+231
+ $INTEGER__com·r_\92um2v®ue
+(cڡ \1e*
+kp
+, cڡ \1e*
+am
+) {
+
+232 cڡ \19
+e2v_key
+ *
+key
+ = (cڡ \19e2v_key *)
+kp
+;
+
+233 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+\96
+ = (cÚ¡\87¢_INTEGER_\92um_m_\88*)
+am
+;
+
+234 cڡ \ 5*
+±r
+, *
+\92d
+, *
+Çme
+;
+
+237
+\96
+ =
+key
+->
+vem
+ + key->
+evm
+[el - key->vemap];
+
+240 \ f
+±r
+ =
+key
+->
+¡¬t
+,
+\92d
+ = key->
+¡Ý
+,
+Çme
+ =
+\96
+->
+\92um_Çme
+;
+
+241
+±r
+ <
+\92d
+;\85\8c++,
+Çme
+++) {
+
+242 if(*
+±r
+ !ð*
+Çme
+ || !*name)
+
+243 \15 *(cڡ \1d\ 5*)
+±r
+
+
+244 - *(cڡ \1d\ 5*)
+Çme
+;
+
+246 \15
+Çme
+[0] ? -1 : 0;
+
+247
+ }
+}
+
+249 \18cڡ
+a¢_INTEGER_\92um_m_t
+ *
+
+250
+ $INTEGER_m_\92um2v®ue
+(cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+, cڡ \ 5*
+l¡¬t
+,
+
+251 cڡ \ 5*
+l¡Ý
+) {
+
+252 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+\96_found
+;
+
+253 \12
+couÁ
+ =
+¥ecs
+ ? s³cs->
+m_couÁ
+ : 0;
+
+254 \19
+e2v_key
+
+key
+;
+
+255 cڡ \ 5*
+Í
+;
+
+257 if(!
+couÁ
+è\15
+NULL
+;
+
+261 \ f
+l¡¬t
+++,
+Í
+ =\86¡¬t;\86°<
+l¡Ý
+;\86p++) {
+
+262 \1a*
+Í
+) {
+
+271 if(
+Í
+ =ð
+l¡Ý
+è\15
+NULL
+;
+
+272
+l¡Ý
+ =
+Í
+;
+
+274
+key
+.
+¡¬t
+ =
+l¡¬t
+;
+
+275
+key
+.
+¡Ý
+ =
+l¡Ý
+;
+
+276
+key
+.
+vem
+ =
+¥ecs
+->
+v®ue2\92um
+;
+
+277
+key
+.
+evm
+ =
+¥ecs
+->
+\92um2v®ue
+;
+
+278
+\96_found
+ = (
+a¢_INTEGER_\92um_m_t
+ *)
+ `b£¬ch
+(&
+key
+,
+
+279
+¥ecs
+->
+v®ue2\92um
+,
+couÁ
+, \17(specs->value2enum[0]),
+
+280
+INTEGER__com·r_\92um2v®ue
+);
+
+281 if(
+\96_found
+) {
+
+283
+\96_found
+ =
+key
+.
+vem
+ + key.
+evm
+[el_found - key.vemap];
+
+285 \15
+\96_found
+;
+
+286
+ }
+}
+
+289
+ $INTEGER__com·r_v®ue2\92um
+(cڡ \1e*
+kp
+, cڡ \1e*
+am
+) {
+
+290 \13
+a
+ = *(cڡ \13*)
+kp
+;
+
+291 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+\96
+ = (cÚ¡\87¢_INTEGER_\92um_m_\88*)
+am
+;
+
+292 \13
+b
+ =
+\96
+->
+Çt_v®ue
+;
+
+293 if(
+a
+ <
+b
+) \15 -1;
+
+294 \vif(
+a
+ =ð
+b
+) \15 0;
+
+296
+ }
+}
+
+298 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+
+299
+ $INTEGER_m_v®ue2\92um
+(cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+, \13
+v®ue
+) {
+
+300 \12
+couÁ
+ =
+¥ecs
+ ? s³cs->
+m_couÁ
+ : 0;
+
+301 if(!
+couÁ
+) \15 0;
+
+302 \15 (
+a¢_INTEGER_\92um_m_t
+ *)
+ `b£¬ch
+(&
+v®ue
+,
+¥ecs
+->
+v®ue2\92um
+,
+
+303
+couÁ
+, \17(
+¥ecs
+->
+v®ue2\92um
+[0]),
+
+304
+INTEGER__com·r_v®ue2\92um
+);
+
+305
+ }
+}
+
+308
+ $INTEGER_¡_´\97Îoc
+(
+INTEGER_t
+ *
+¡
+, \12
+m\9a_size
+) {
+
+309 \1e*
+p
+ =
+ `MALLOC
+(
+m\9a_size
+ + 1);
+
+310 if(
+p
+) {
+
+311 \1e*
+b
+ =
+¡
+->
+buf
+;
+
+312
+¡
+->
+size
+ = 0;
+
+313
+¡
+->
+buf
+ =
+p
+;
+
+314
+ `FREEMEM
+(
+b
+);
+
+319
+ }
+}
+
+324 \18\f
+x\94_pbd_rv®
+
+
+325
+ $INTEGER__x\94_body_decode
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+326 cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+) {
+
+327 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+328 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+329
+INTEGER_t
+ *
+¡
+ = (INTEGER_\88*)
+¥\8c
+;
+
+330
+\9atmax_t
+
+dec_v®ue
+;
+
+331
+\9atmax_t
+
+hex_v®ue
+ = 0;
+
+332 cڡ \ 5*
+Í
+;
+
+333 cڡ \ 5*
+l¡¬t
+ = (cڡ \ 5*)
+chunk_buf
+;
+
+334 cڡ \ 5*
+l¡Ý
+ =
+l¡¬t
+ +
+chunk_size
+;
+
+336
+ST_LEADSPACE
+,
+
+337
+ST_SKIPSPHEX
+,
+
+338
+ST_WAITDIGITS
+,
+
+339
+ST_DIGITS
+,
+
+340
+ST_DIGITS_TRAILSPACE
+,
+
+341
+ST_HEXDIGIT1
+,
+
+342
+ST_HEXDIGIT2
+,
+
+343
+ST_HEXDIGITS_TRAILSPACE
+,
+
+344
+ST_HEXCOLON
+,
+
+345
+ST_END_ENUM
+,
+
+346
+ST_UNEXPECTED
+
+
+347 }
+¡©e
+ =
+ST_LEADSPACE
+;
+
+348 cڡ \ 5*
+dec_v®ue_¡¬t
+ = 0;
+
+349 cڡ \ 5*
+dec_v®ue_\92d
+ = 0;
+
+351 if(
+chunk_size
+)
+
+352
+ `ASN_DEBUG
+("INTEGER body %ld 0x%2x..0x%2x",
+
+353 (\13)
+chunk_size
+, *
+l¡¬t
+,
+l¡Ý
+[-1]);
+
+355 if(
+ `INTEGER_¡_´\97Îoc
+(
+¡
+, (
+chunk_size
+/3) + 1))
+
+356 \15
+XPBD_SYSTEM_FAILURE
+;
+
+362 \ f
+Í
+ =
+l¡¬t
+;\86°<
+l¡Ý
+;\86p++) {
+
+363 \12
+lv
+ = *
+Í
+;
+
+364 \1a
+lv
+) {
+
+366 \1a
+¡©e
+) {
+
+367 \ 4
+ST_LEADSPACE
+:
+
+368 \ 4
+ST_DIGITS_TRAILSPACE
+:
+
+369 \ 4
+ST_HEXDIGITS_TRAILSPACE
+:
+
+370 \ 4
+ST_SKIPSPHEX
+:
+
+372 \ 4
+ST_DIGITS
+:
+
+373
+dec_v®ue_\92d
+ =
+Í
+;
+
+374
+¡©e
+ =
+ST_DIGITS_TRAILSPACE
+;
+
+376 \ 4
+ST_HEXCOLON
+:
+
+377
+¡©e
+ =
+ST_HEXDIGITS_TRAILSPACE
+;
+
+384 if(
+¡©e
+ =ð
+ST_LEADSPACE
+) {
+
+385
+dec_v®ue
+ = 0;
+
+386
+dec_v®ue_¡¬t
+ =
+Í
+;
+
+387
+¡©e
+ =
+ST_WAITDIGITS
+;
+
+392 if(
+¡©e
+ =ð
+ST_LEADSPACE
+) {
+
+393
+dec_v®ue
+ = 0;
+
+394
+dec_v®ue_¡¬t
+ =
+Í
+;
+
+395
+¡©e
+ =
+ST_WAITDIGITS
+;
+
+401 \1a
+¡©e
+) {
+
+402 \ 4
+ST_DIGITS
+: \ 6;
+
+403 \ 4
+ST_SKIPSPHEX
+:
+
+404 \ 4
+ST_HEXDIGIT1
+:
+
+405
+hex_v®ue
+ = (
+lv
+ - 0x30) << 4;
+
+406
+¡©e
+ =
+ST_HEXDIGIT2
+;
+
+408 \ 4
+ST_HEXDIGIT2
+:
+
+409
+hex_v®ue
+ +ð(
+lv
+ - 0x30);
+
+410
+¡©e
+ =
+ST_HEXCOLON
+;
+
+411
+¡
+->
+buf
+[¡->
+size
+++] = (
+u\9at8_t
+)
+hex_v®ue
+;
+
+413 \ 4
+ST_HEXCOLON
+:
+
+414 \15
+XPBD_BROKEN_ENCODING
+;
+
+415 \ 4
+ST_LEADSPACE
+:
+
+416
+dec_v®ue
+ = 0;
+
+417
+dec_v®ue_¡¬t
+ =
+Í
+;
+
+419 \ 4
+ST_WAITDIGITS
+:
+
+420
+¡©e
+ =
+ST_DIGITS
+;
+
+427 if(
+¡©e
+ =ð
+ST_LEADSPACE
+) {
+
+428 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+\96
+;
+
+429
+\96
+ =
+ `INTEGER_m_\92um2v®ue
+(
+
+430 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+
+431
+td
+->
+¥ecifics
+,
+l¡¬t
+,
+l¡Ý
+);
+
+432 if(
+\96
+) {
+
+433
+ `ASN_DEBUG
+("Found \"%s\" => %ld",
+
+434
+\96
+->
+\92um_Çme
+,\83l->
+Çt_v®ue
+);
+
+435
+dec_v®ue
+ =
+\96
+->
+Çt_v®ue
+;
+
+436
+¡©e
+ =
+ST_END_ENUM
+;
+
+437
+Í
+ =
+l¡Ý
+ - 1;
+
+440
+ `ASN_DEBUG
+("Unknown identifier for INTEGER");
+
+442 \15
+XPBD_BROKEN_ENCODING
+;
+
+444 if(
+¡©e
+ =ð
+ST_HEXCOLON
+) {
+
+446
+¡©e
+ =
+ST_HEXDIGIT1
+;
+
+448 } \vif(
+¡©e
+ =ð
+ST_DIGITS
+) {
+
+453
+ `ASN_DEBUG
+("INTEGER\84e-evaluate\87s hex form");
+
+454
+¡©e
+ =
+ST_SKIPSPHEX
+;
+
+455
+dec_v®ue_¡¬t
+ = 0;
+
+456
+Í
+ =
+l¡¬t
+ - 1;
+
+459
+ `ASN_DEBUG
+("¡©\90%d\87\88%ld",
+¡©e
+, (\13)(
+Í
+ -
+l¡¬t
+));
+
+465 \1a
+¡©e
+) {
+
+466 \ 4
+ST_SKIPSPHEX
+:
+
+467 \ 4
+ST_LEADSPACE
+:
+
+468 \ 4
+ST_HEXDIGIT1
+:
+
+469
+hex_v®ue
+ =
+lv
+ - ((lv < 0x61) ? 0x41 : 0x61);
+
+470
+hex_v®ue
+ += 10;
+
+471
+hex_v®ue
+ <<= 4;
+
+472
+¡©e
+ =
+ST_HEXDIGIT2
+;
+
+474 \ 4
+ST_HEXDIGIT2
+:
+
+475
+hex_v®ue
+ +ð
+lv
+ - ((lv < 0x61) ? 0x41 : 0x61);
+
+476
+hex_v®ue
+ += 10;
+
+477
+¡
+->
+buf
+[¡->
+size
+++] = (
+u\9at8_t
+)
+hex_v®ue
+;
+
+478
+¡©e
+ =
+ST_HEXCOLON
+;
+
+480 \ 4
+ST_DIGITS
+:
+
+481
+ `ASN_DEBUG
+("INTEGER\84e-evaluate\87s hex form");
+
+482
+¡©e
+ =
+ST_SKIPSPHEX
+;
+
+483
+dec_v®ue_¡¬t
+ = 0;
+
+484
+Í
+ =
+l¡¬t
+ - 1;
+
+493
+ `ASN_DEBUG
+("INTEGER :: Found\82on-numeric 0x%2x\87t %ld",
+
+494
+lv
+, (\13)(
+Í
+ -
+l¡¬t
+));
+
+495
+¡©e
+ =
+ST_UNEXPECTED
+;
+
+499 \1a
+¡©e
+) {
+
+500 \ 4
+ST_END_ENUM
+:
+
+503 \ 4
+ST_DIGITS
+:
+
+504
+dec_v®ue_\92d
+ =
+l¡Ý
+;
+
+506 \ 4
+ST_DIGITS_TRAILSPACE
+:
+
+508 \1a
+ `a¢_¡¹oimax_lim
+(
+dec_v®ue_¡¬t
+, &
+dec_v®ue_\92d
+, &
+dec_v®ue
+)) {
+
+509 \ 4
+ASN_STRTOX_OK
+:
+
+510 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+ && (
+u\9atmax_t
+è
+dec_v®ue
+ <ð
+ULONG_MAX
+) {
+
+512 } \vif(
+dec_v®ue
+ >ð
+LONG_MIN
+ && dec_v®u\90<ð
+LONG_MAX
+) {
+
+519
+ `ASN_DEBUG
+("INTEGER\83xceeds\86ong\84ange");
+
+522 \ 4
+ASN_STRTOX_ERROR_RANGE
+:
+
+523
+ `ASN_DEBUG
+("INTEGER decod\90% h\99\84ªg\90lim\99",
+td
+->
+Çme
+);
+
+524 \15
+XPBD_DECODER_LIMIT
+;
+
+525 \ 4
+ASN_STRTOX_ERROR_INVAL
+:
+
+526 \ 4
+ASN_STRTOX_EXPECT_MORE
+:
+
+527 \ 4
+ASN_STRTOX_EXTRA_DATA
+:
+
+528 \15
+XPBD_BROKEN_ENCODING
+;
+
+531 \ 4
+ST_HEXCOLON
+:
+
+532 \ 4
+ST_HEXDIGITS_TRAILSPACE
+:
+
+533
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+534 \15
+XPBD_BODY_CONSUMED
+;
+
+535 \ 4
+ST_HEXDIGIT1
+:
+
+536 \ 4
+ST_HEXDIGIT2
+:
+
+537 \ 4
+ST_SKIPSPHEX
+:
+
+538 \15
+XPBD_BROKEN_ENCODING
+;
+
+539 \ 4
+ST_LEADSPACE
+:
+
+541 \15
+XPBD_NOT_BODY_IGNORE
+;
+
+542 \ 4
+ST_WAITDIGITS
+:
+
+543 \ 4
+ST_UNEXPECTED
+:
+
+544
+ `ASN_DEBUG
+("INTEGER: NØu£fuÈdig\99 (¡©\90%d)",
+¡©e
+);
+
+545 \15
+XPBD_BROKEN_ENCODING
+;
+
+552 if(
+ `a¢_imax2INTEGER
+(
+¡
+,
+dec_v®ue
+)) {
+
+553
+ `ASN_DEBUG
+("INTEGER decod\90% cÚv\94siÚ fa\9eed",
+td
+->
+Çme
+);
+
+554 \15
+XPBD_SYSTEM_FAILURE
+;
+
+557 \15
+XPBD_BODY_CONSUMED
+;
+
+558
+ }
+}
+
+560
+a¢_dec_rv®_t
+
+
+561
+ $INTEGER_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+562 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+563 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+) {
+
+564 \15
+ `x\94_decode_´im\99ive
+(
+Ýt_codec_ùx
+,
+td
+,
+
+565
+¥\8c
+, \17(
+INTEGER_t
+),
+Ýt_mÇme
+,
+
+566
+buf_±r
+,
+size
+,
+INTEGER__x\94_body_decode
+);
+
+567
+ }
+}
+
+569
+a¢_\92c_rv®_t
+
+
+570
+ $INTEGER_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+571 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+572
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+573 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+574
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+576 (\1e)
+\9eev\96
+;
+
+577 (\1e)
+æags
+;
+
+579 if(!
+¡
+ || !¡->
+buf
+)
+
+580
+ASN__ENCODE_FAILED
+;
+
+582
+\94
+.
+\92coded
+ =
+ `INTEGER__dump
+(
+td
+,
+¡
+,
+cb
+,
+p_key
+, 1);
+
+583 if(
+\94
+.
+\92coded
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+585
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+586
+ }
+}
+
+588 #iâdef
+ASN_DISABLE_PER_SUPPORT
+
+
+590
+a¢_dec_rv®_t
+
+
+591
+ $INTEGER_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+592 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+593 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+594
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+595 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+596 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+597
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0 };
+
+598
+INTEGER_t
+ *
+¡
+ = (INTEGER_\88*)*
+¥\8c
+;
+
+599 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+600 \12
+»³©
+;
+
+602 (\1e)
+Ýt_codec_ùx
+;
+
+604 if(!
+¡
+) {
+
+605
+¡
+ = (
+INTEGER_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*st)));
+
+606 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+609 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+610
+ù
+ =
+cÚ¡¿\9ats
+ ? &cÚ¡¿\9ats->
+v®ue
+ : 0;
+
+612 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+613 \12
+\9aext
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+614 if(
+\9aext
+ < 0è
+ASN__DECODE_STARVED
+;
+
+615 if(
+\9aext
+è
+ù
+ = 0;
+
+618
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+619
+¡
+->
+buf
+ = 0;
+
+620
+¡
+->
+size
+ = 0;
+
+621 if(
+ù
+) {
+
+622 if(
+ù
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+623
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `CALLOC
+(1, 2);
+
+624 if(!
+¡
+->
+buf
+è
+ASN__DECODE_FAILED
+;
+
+625
+¡
+->
+size
+ = 1;
+
+626 } \vif(
+ù
+->
+æags
+ &
+APC_CONSTRAINED
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+627
+size_t
+
+size
+ = (
+ù
+->
+¿nge_b\99s
+ + 7) >> 3;
+
+628
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(1 +
+size
+ + 1);
+
+629 if(!
+¡
+->
+buf
+è
+ASN__DECODE_FAILED
+;
+
+630
+¡
+->
+size
+ = size;
+
+635 if(
+ù
+ && ct->
+æags
+ !ð
+APC_UNCONSTRAINED
+) {
+
+637
+ `ASN_DEBUG
+("IÁeg\94 w\99h\84ªg\90%d b\99s",
+ù
+->
+¿nge_b\99s
+);
+
+638 if(
+ù
+->
+¿nge_b\99s
+ >= 0) {
+
+639 if((
+size_t
+)
+ù
+->
+¿nge_b\99s
+ > 8 * \17(\1d\13))
+
+640
+ASN__DECODE_FAILED
+;
+
+642 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+) {
+
+643 \1d\13
+uv®ue
+ = 0;
+
+644 if(
+ `u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
+(
+pd
+,
+
+645 &
+uv®ue
+,
+ù
+->
+¿nge_b\99s
+))
+
+646
+ASN__DECODE_STARVED
+;
+
+647
+ `ASN_DEBUG
+("Got value %lu +\86ow %ld",
+
+648
+uv®ue
+,
+ù
+->
+low\94_bound
+);
+
+649
+uv®ue
+ +ð
+ù
+->
+low\94_bound
+;
+
+650 if(
+ `a¢_ulÚg2INTEGER
+(
+¡
+,
+uv®ue
+))
+
+651
+ASN__DECODE_FAILED
+;
+
+653 \1d\13
+uv®ue
+ = 0;
+
+654 \13
+sv®ue
+;
+
+655 if(
+ `u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
+(
+pd
+,
+
+656 &
+uv®ue
+,
+ù
+->
+¿nge_b\99s
+))
+
+657
+ASN__DECODE_STARVED
+;
+
+658
+ `ASN_DEBUG
+("Got value %lu +\86ow %ld",
+
+659
+uv®ue
+,
+ù
+->
+low\94_bound
+);
+
+660 if(
+ `³r_lÚg_¿nge_uÄeba£
+(
+uv®ue
+,
+ù
+->
+low\94_bound
+,
+
+661
+ù
+->
+uµ\94_bound
+, &
+sv®ue
+)
+
+662 ||
+ `a¢_lÚg2INTEGER
+(
+¡
+,
+sv®ue
+)) {
+
+663
+ASN__DECODE_FAILED
+;
+
+666 \15
+rv®
+;
+
+669
+ `ASN_DEBUG
+("Decod\9ag uncÚ¡¿\9aed iÁeg\94 %s",
+td
+->
+Çme
+);
+
+674
+ssize_t
+
+Ën
+ = 0;
+
+675 \1e*
+p
+ =
+NULL
+;
+
+676 \12
+»t
+ = 0;
+
+679
+Ën
+ =
+ `u³r_g\91_Ëngth
+(
+pd
+, -1, 0, &
+»³©
+);
+
+680 if(
+Ën
+ < 0è
+ASN__DECODE_STARVED
+;
+
+682
+p
+ =
+ `REALLOC
+(
+¡
+->
+buf
+, st->
+size
+ +
+Ën
+ + 1);
+
+683 if(!
+p
+è
+ASN__DECODE_FAILED
+;
+
+684
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+p
+;
+
+686
+»t
+ =
+ `³r_g\91_mªy_b\99s
+(
+pd
+, &
+¡
+->
+buf
+[¡->
+size
+], 0, 8 *
+Ën
+);
+
+687 if(
+»t
+ < 0è
+ASN__DECODE_STARVED
+;
+
+688
+¡
+->
+size
+ +ð
+Ën
+;
+
+689 } \1f
+»³©
+);
+
+690
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+693 if(
+ù
+ && ct->
+low\94_bound
+) {
+
+697 \13
+v®ue
+ = 0;
+
+698 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+))
+
+699
+ASN__DECODE_FAILED
+;
+
+700 if(
+ `a¢_imax2INTEGER
+(
+¡
+,
+v®ue
+ +
+ù
+->
+low\94_bound
+))
+
+701
+ASN__DECODE_FAILED
+;
+
+704 \15
+rv®
+;
+
+705
+ }
+}
+
+707
+a¢_\92c_rv®_t
+
+
+708
+ $INTEGER_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+709 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+710
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+711 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+712 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+713
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+714 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+715 cڡ
+u\9at8_t
+ *
+buf
+;
+
+716 cڡ
+u\9at8_t
+ *
+\92d
+;
+
+717 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+718 \13
+v®ue
+ = 0;
+
+720 if(!
+¡
+ || st->
+size
+ =ð0è
+ASN__ENCODE_FAILED
+;
+
+722 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+723
+ù
+ =
+cÚ¡¿\9ats
+ ? &cÚ¡¿\9ats->
+v®ue
+ : 0;
+
+725
+\94
+.
+\92coded
+ = 0;
+
+727 if(
+ù
+) {
+
+728 \12
+\9aext
+ = 0;
+
+729 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+) {
+
+730 \1d\13
+uv®
+;
+
+731 if(
+ `a¢_INTEGER2ulÚg
+(
+¡
+, &
+uv®
+))
+
+732
+ASN__ENCODE_FAILED
+;
+
+734 if(
+ù
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+735 if(
+uv®
+ < (\1d\13)
+ù
+->
+low\94_bound
+)
+
+736
+\9aext
+ = 1;
+
+737 } \vif(
+ù
+->
+¿nge_b\99s
+ >= 0) {
+
+738 if(
+uv®
+ < (\1d\13)
+ù
+->
+low\94_bound
+
+
+739 ||
+uv®
+ > (\1d\13)
+ù
+->
+uµ\94_bound
+)
+
+740
+\9aext
+ = 1;
+
+742
+ `ASN_DEBUG
+("V®u\90%lu (%02x/%"
+ASN_PRI_SIZE
+ ")\86b %lu ub %lu %s",
+
+743
+uv®
+,
+¡
+->
+buf
+[0], st->
+size
+,
+
+744
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+,
+
+745
+\9aext
+ ? "ext" : "fix");
+
+746
+v®ue
+ =
+uv®
+;
+
+748 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+))
+
+749
+ASN__ENCODE_FAILED
+;
+
+751 if(
+ù
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+752 if(
+v®ue
+ <
+ù
+->
+low\94_bound
+)
+
+753
+\9aext
+ = 1;
+
+754 } \vif(
+ù
+->
+¿nge_b\99s
+ >= 0) {
+
+755 if(
+v®ue
+ <
+ù
+->
+low\94_bound
+
+
+756 ||
+v®ue
+ >
+ù
+->
+uµ\94_bound
+)
+
+757
+\9aext
+ = 1;
+
+759
+ `ASN_DEBUG
+("V®u\90%ld (%02x/%"
+ASN_PRI_SIZE
+ ")\86b %ld ub %ld %s",
+
+760
+v®ue
+,
+¡
+->
+buf
+[0], st->
+size
+,
+
+761
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+,
+
+762
+\9aext
+ ? "ext" : "fix");
+
+764 if(
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+765 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+\9aext
+, 1))
+
+766
+ASN__ENCODE_FAILED
+;
+
+767 if(
+\9aext
+è
+ù
+ = 0;
+
+768 } \vif(
+\9aext
+) {
+
+769
+ASN__ENCODE_FAILED
+;
+
+775 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+776 \1d\13
+v
+;
+
+778
+ `ASN_DEBUG
+("Encoding integer %ld (%lu) with\84ange %d bits",
+
+779
+v®ue
+, v®u\90-
+ù
+->
+low\94_bound
+, ct->
+¿nge_b\99s
+);
+
+780 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+) {
+
+781 iàÐ((\1d\13)
+ù
+->
+low\94_bound
+ > (\1d\13)(ù->
+uµ\94_bound
+)
+
+782 || ((\1d\13)
+v®ue
+ < (\1d\13)
+ù
+->
+low\94_bound
+))
+
+783 || ((\1d\13)
+v®ue
+ > (\1d\13)
+ù
+->
+uµ\94_bound
+)
+
+785
+ `ASN_DEBUG
+("Value %lu\81o-be-encoded is outside\81he bounds [%lu, %lu]!",
+
+786
+v®ue
+,
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+);
+
+787
+ASN__ENCODE_FAILED
+;
+
+789
+v
+ = (\1d\13)
+v®ue
+ - (\1d\13)
+ù
+->
+low\94_bound
+;
+
+791 if(
+ `³r_lÚg_¿nge_»ba£
+(
+v®ue
+,
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+, &
+v
+)) {
+
+792
+ASN__ENCODE_FAILED
+;
+
+795 if(
+ `u³r_put_cÚ¡¿\9aed_whÞe_numb\94_u
+(
+po
+,
+v
+,
+ù
+->
+¿nge_b\99s
+))
+
+796
+ASN__ENCODE_FAILED
+;
+
+797
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+800 if(
+ù
+ && ct->
+low\94_bound
+) {
+
+801
+ `ASN_DEBUG
+("Adju¡\86ow\94 bound\81Ø%ld",
+ù
+->
+low\94_bound
+);
+
+803
+ASN__ENCODE_FAILED
+;
+
+806 \ f
+buf
+ =
+¡
+->buf,
+\92d
+ = st->buà+ st->
+size
+; buf <\83nd;) {
+
+807 \12
+Ãed_eom
+ = 0;
+
+808
+ssize_t
+
+mayEncode
+ =
+ `u³r_put_Ëngth
+(
+po
+,
+\92d
+ -
+buf
+, &
+Ãed_eom
+);
+
+809 if(
+mayEncode
+ < 0)
+
+810
+ASN__ENCODE_FAILED
+;
+
+811 if(
+ `³r_put_mªy_b\99s
+(
+po
+,
+buf
+, 8 *
+mayEncode
+))
+
+812
+ASN__ENCODE_FAILED
+;
+
+813
+buf
+ +ð
+mayEncode
+;
+
+814 if(
+Ãed_eom
+ &&
+ `u³r_put_Ëngth
+(
+po
+, 0, 0)è
+ASN__ENCODE_FAILED
+;
+
+817
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+818
+ }
+}
+
+820
+a¢_dec_rv®_t
+
+
+821
+ $INTEGER_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+822 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+823 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+824 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+825
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0 };
+
+826
+INTEGER_t
+ *
+¡
+ = (INTEGER_\88*)*
+¥\8c
+;
+
+827 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+828 \12
+»³©
+;
+
+830 (\1e)
+Ýt_codec_ùx
+;
+
+832 if(!
+¡
+) {
+
+833
+¡
+ = (
+INTEGER_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*st)));
+
+834 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+837 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+838
+ù
+ =
+cÚ¡¿\9ats
+ ? &cÚ¡¿\9ats->
+v®ue
+ : 0;
+
+840 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+841 \12
+\9aext
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+842 if(
+\9aext
+ < 0è
+ASN__DECODE_STARVED
+;
+
+843 if(
+\9aext
+è
+ù
+ = 0;
+
+846
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+847
+¡
+->
+buf
+ = 0;
+
+848
+¡
+->
+size
+ = 0;
+
+849 if(
+ù
+) {
+
+850 if(
+ù
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+851
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `CALLOC
+(1, 2);
+
+852 if(!
+¡
+->
+buf
+è
+ASN__DECODE_FAILED
+;
+
+853
+¡
+->
+size
+ = 1;
+
+854 } \vif(
+ù
+->
+æags
+ &
+APC_CONSTRAINED
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+855
+size_t
+
+size
+ = (
+ù
+->
+¿nge_b\99s
+ + 7) >> 3;
+
+856
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(1 +
+size
+ + 1);
+
+857 if(!
+¡
+->
+buf
+è
+ASN__DECODE_FAILED
+;
+
+858
+¡
+->
+size
+ = size;
+
+863 if(
+ù
+ && ct->
+æags
+ !ð
+APC_UNCONSTRAINED
+) {
+
+865
+ `ASN_DEBUG
+("IÁeg\94 w\99h\84ªg\90%d b\99s",
+ù
+->
+¿nge_b\99s
+);
+
+866 if(
+ù
+->
+¿nge_b\99s
+ >= 0) {
+
+867 ià(
+ù
+->
+¿nge_b\99s
+ > 16) {
+
+868 \12
+max_¿nge_by\8bs
+ = (
+ù
+->
+¿nge_b\99s
+ >> 3) +
+
+869 (((
+ù
+->
+¿nge_b\99s
+ % 8) > 0) ? 1 : 0);
+
+870 \12
+Ëngth
+ = 0,
+i
+;
+
+871 \13
+v®ue
+ = 0;
+
+873 \ f
+i
+ = 1; ; i++) {
+
+874 \12
+uµ\94
+ = 1 <<
+i
+;
+
+875 ià(
+uµ\94
+ >ð
+max_¿nge_by\8bs
+)
+
+878
+ `ASN_DEBUG
+("Cª\83ncod\90%d (%d by\8bsè\9a %d b\99s",
+ù
+->
+¿nge_b\99s
+,
+
+879
+max_¿nge_by\8bs
+,
+i
+);
+
+881 ià((
+Ëngth
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+i
+)) < 0)
+
+882
+ASN__DECODE_FAILED
+;
+
+885
+Ëngth
+ += 1;
+
+886
+ `ASN_DEBUG
+("GÙ\86\92gth %d",
+Ëngth
+);
+
+887 ià(
+ `\94_g\91_®ign
+(
+pd
+) != 0)
+
+888
+ASN__DECODE_FAILED
+;
+
+889 \1f
+Ëngth
+--) {
+
+890 \12
+buf
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8);
+
+891 ià(
+buf
+ < 0)
+
+892
+ASN__DECODE_FAILED
+;
+
+893
+v®ue
+ +ð(((\13)
+buf
+è<< (8 *
+Ëngth
+));
+
+896
+v®ue
+ +ð
+ù
+->
+low\94_bound
+;
+
+897 if((
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+)
+
+898 ?
+ `a¢_u\9at642INTEGER
+(
+¡
+, (\1d\13)
+v®ue
+)
+
+899 :
+ `a¢_\9at642INTEGER
+(
+¡
+,
+v®ue
+))
+
+900
+ASN__DECODE_FAILED
+;
+
+901
+ `ASN_DEBUG
+("Got value %ld +\86ow %ld",
+
+902
+v®ue
+,
+ù
+->
+low\94_bound
+);
+
+904 \13
+v®ue
+ = 0;
+
+905 ià(
+ù
+->
+¿nge_b\99s
+ < 8) {
+
+906
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+ù
+->
+¿nge_b\99s
+);
+
+907 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+908 } \vià(
+ù
+->
+¿nge_b\99s
+ == 8) {
+
+909 ià(
+ `\94_g\91_®ign
+(
+pd
+) < 0)
+
+910
+ASN__DECODE_FAILED
+;
+
+911
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+ù
+->
+¿nge_b\99s
+);
+
+912 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+915 ià(
+ `\94_g\91_®ign
+(
+pd
+) < 0)
+
+916
+ASN__DECODE_FAILED
+;
+
+917
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 16);
+
+918 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+920
+v®ue
+ +ð
+ù
+->
+low\94_bound
+;
+
+921 if((
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+)
+
+922 ?
+ `a¢_ulÚg2INTEGER
+(
+¡
+,
+v®ue
+)
+
+923 :
+ `a¢_lÚg2INTEGER
+(
+¡
+,
+v®ue
+))
+
+924
+ASN__DECODE_FAILED
+;
+
+925
+ `ASN_DEBUG
+("Got value %ld +\86ow %ld",
+
+926
+v®ue
+,
+ù
+->
+low\94_bound
+);
+
+928 \15
+rv®
+;
+
+930
+ASN__DECODE_FAILED
+;
+
+933
+ `ASN_DEBUG
+("Decod\9ag uncÚ¡¿\9aed iÁeg\94 %s",
+td
+->
+Çme
+);
+
+938
+ssize_t
+
+Ën
+;
+
+939 \1e*
+p
+;
+
+940 \12
+»t
+;
+
+943
+Ën
+ =
+ `\94_g\91_Ëngth
+(
+pd
+, -1, -1, &
+»³©
+);
+
+944 if(
+Ën
+ < 0è
+ASN__DECODE_STARVED
+;
+
+946
+p
+ =
+ `REALLOC
+(
+¡
+->
+buf
+, st->
+size
+ +
+Ën
+ + 1);
+
+947 if(!
+p
+è
+ASN__DECODE_FAILED
+;
+
+948
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+p
+;
+
+950
+»t
+ =
+ `³r_g\91_mªy_b\99s
+(
+pd
+, &
+¡
+->
+buf
+[¡->
+size
+], 0, 8 *
+Ën
+);
+
+951 if(
+»t
+ < 0è
+ASN__DECODE_STARVED
+;
+
+952
+¡
+->
+size
+ +ð
+Ën
+;
+
+953 } \1f
+»³©
+);
+
+954
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+957 if(
+ù
+ && ct->
+low\94_bound
+) {
+
+961 \13
+v®ue
+;
+
+962 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+))
+
+963
+ASN__DECODE_FAILED
+;
+
+964 if(
+ `a¢_lÚg2INTEGER
+(
+¡
+,
+v®ue
+ +
+ù
+->
+low\94_bound
+))
+
+965
+ASN__DECODE_FAILED
+;
+
+968 \15
+rv®
+;
+
+969
+ }
+}
+
+971
+a¢_\92c_rv®_t
+
+
+972
+ $INTEGER_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+973 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+974 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+975 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+976
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+977 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+978 cڡ
+u\9at8_t
+ *
+buf
+;
+
+979 cڡ
+u\9at8_t
+ *
+\92d
+;
+
+980 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+981 \13
+v®ue
+ = 0;
+
+983 if(!
+¡
+ || st->
+size
+ =ð0è
+ASN__ENCODE_FAILED
+;
+
+985 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+986
+ù
+ =
+cÚ¡¿\9ats
+ ? &cÚ¡¿\9ats->
+v®ue
+ : 0;
+
+988
+\94
+.
+\92coded
+ = 0;
+
+990 if(
+ù
+) {
+
+991 \12
+\9aext
+ = 0;
+
+992 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+) {
+
+993 \1d\13
+uv®
+;
+
+994 if(
+ `a¢_INTEGER2ulÚg
+(
+¡
+, &
+uv®
+))
+
+995
+ASN__ENCODE_FAILED
+;
+
+997 if(
+ù
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+998 if(
+uv®
+ < (\1d\13)
+ù
+->
+low\94_bound
+)
+
+999
+\9aext
+ = 1;
+
+1000 } \vif(
+ù
+->
+¿nge_b\99s
+ >= 0) {
+
+1001 if(
+uv®
+ < (\1d\13)
+ù
+->
+low\94_bound
+
+
+1002 ||
+uv®
+ > (\1d\13)
+ù
+->
+uµ\94_bound
+)
+
+1003
+\9aext
+ = 1;
+
+1005
+ `ASN_DEBUG
+("Value %lu (%02x/%lu)\86b %ld ub %ld %s",
+
+1006
+uv®
+,
+¡
+->
+buf
+[0], st->
+size
+,
+
+1007
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+,
+
+1008
+\9aext
+ ? "ext" : "fix");
+
+1009
+v®ue
+ =
+uv®
+;
+
+1011 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+)è
+ASN__ENCODE_FAILED
+;
+
+1013 if(
+ù
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+1014 if(
+v®ue
+ <
+ù
+->
+low\94_bound
+)
+
+1015
+\9aext
+ = 1;
+
+1016 } \vif(
+ù
+->
+¿nge_b\99s
+ >= 0) {
+
+1017 if(
+v®ue
+ <
+ù
+->
+low\94_bound
+
+
+1018 ||
+v®ue
+ >
+ù
+->
+uµ\94_bound
+)
+
+1019
+\9aext
+ = 1;
+
+1021
+ `ASN_DEBUG
+("Value %lu (%02x/%lu)\86b %ld ub %ld %s",
+
+1022
+v®ue
+,
+¡
+->
+buf
+[0], st->
+size
+,
+
+1023
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+,
+
+1024
+\9aext
+ ? "ext" : "fix");
+
+1026 if(
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+1027 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+\9aext
+, 1))
+
+1028
+ASN__ENCODE_FAILED
+;
+
+1029 if(
+\9aext
+è
+ù
+ = 0;
+
+1030 } \vif(
+\9aext
+) {
+
+1031
+ASN__ENCODE_FAILED
+;
+
+1036 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+1037 \1d\13
+v
+;
+
+1040
+ `ASN_DEBUG
+("Encoding integer %ld (%lu) with\84ange %d bits",
+
+1041
+v®ue
+, v®u\90-
+ù
+->
+low\94_bound
+, ct->
+¿nge_b\99s
+);
+
+1043
+v
+ =
+v®ue
+ -
+ù
+->
+low\94_bound
+;
+
+1046 ià(
+ù
+->
+¿nge_b\99s
+ < 8) {
+
+1047 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 0x00 |
+v
+,
+ù
+->
+¿nge_b\99s
+))
+
+1048
+ASN__ENCODE_FAILED
+;
+
+1049 } \vià(
+ù
+->
+¿nge_b\99s
+ == 8) {
+
+1050 if(
+ `\94_put_®ign
+(
+po
+) < 0)
+
+1051
+ASN__ENCODE_FAILED
+;
+
+1052 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 0x00 |
+v
+,
+ù
+->
+¿nge_b\99s
+))
+
+1053
+ASN__ENCODE_FAILED
+;
+
+1054 } \vià(
+ù
+->
+¿nge_b\99s
+ <= 16) {
+
+1056 if(
+ `\94_put_®ign
+(
+po
+) < 0)
+
+1057
+ASN__ENCODE_FAILED
+;
+
+1058 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 0x0000 |
+v
+,
+
+1060
+ASN__ENCODE_FAILED
+;
+
+1063
+\9at64_t
+
+v64
+ =
+v
+;
+
+1064 \12
+i
+,
+j
+;
+
+1065 \12
+max_¿nge_by\8bs
+ = (
+ù
+->
+¿nge_b\99s
+ >> 3) +
+
+1066 (((
+ù
+->
+¿nge_b\99s
+ % 8) > 0) ? 1 : 0);
+
+1068 \ f
+i
+ = 1; ; i++) {
+
+1069 \12
+uµ\94
+ = 1 <<
+i
+;
+
+1070 ià(
+uµ\94
+ >ð
+max_¿nge_by\8bs
+)
+
+1074 \ f
+j
+ = \17(
+\9at64_t
+) -1; j != 0; j--) {
+
+1075
+\9at64_t
+
+v®
+;
+
+1076
+v®
+ =
+v64
+ >> (
+j
+ * 8);
+
+1077 ià(
+v®
+ != 0)
+
+1082 ià(
+ `³r_put_ãw_b\99s
+(
+po
+,
+j
+,
+i
+))
+
+1083
+ASN__ENCODE_FAILED
+;
+
+1086 ià(
+ `\94_put_®ign
+(
+po
+) < 0)
+
+1087
+ASN__ENCODE_FAILED
+;
+
+1089 \ f
+i
+ = 0; i <ð
+j
+; i++) {
+
+1090 if(
+ `³r_put_ãw_b\99s
+(
+po
+, (
+v64
+ >> (8 * (
+j
+ -
+i
+))) & 0xff, 8))
+
+1091
+ASN__ENCODE_FAILED
+;
+
+1094
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1097 if(
+ù
+ && ct->
+low\94_bound
+) {
+
+1098
+ `ASN_DEBUG
+("Adju¡\86ow\94 bound\81Ø%ld",
+ù
+->
+low\94_bound
+);
+
+1100
+ASN__ENCODE_FAILED
+;
+
+1103 \ f
+buf
+ =
+¡
+->buf,
+\92d
+ = st->buà+ st->
+size
+; buf <\83nd;) {
+
+1104
+ssize_t
+
+mayEncode
+ =
+ `\94_put_Ëngth
+(
+po
+, -1,
+\92d
+ -
+buf
+);
+
+1105 if(
+mayEncode
+ < 0)
+
+1106
+ASN__ENCODE_FAILED
+;
+
+1107 if(
+ `³r_put_mªy_b\99s
+(
+po
+,
+buf
+, 8 *
+mayEncode
+))
+
+1108
+ASN__ENCODE_FAILED
+;
+
+1109
+buf
+ +ð
+mayEncode
+;
+
+1112
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1113
+ }
+}
+
+1117 \18
+\9atmax_t
+
+
+1118
+ $a¢__\9a\8bg\94_cÚv\94t
+(cڡ
+u\9at8_t
+ *
+b
+, cÚ¡ u\9at8_\88*
+\92d
+) {
+
+1119
+u\9atmax_t
+
+v®ue
+;
+
+1123 if((*
+b
+ >> 7)) {
+
+1124
+v®ue
+ = (
+u\9atmax_t
+)(-1);
+
+1126
+v®ue
+ = 0;
+
+1130 \ f;
+b
+ <
+\92d
+; b++) {
+
+1131
+v®ue
+ = (v®u\90<< 8è| *
+b
+;
+
+1134 \15
+v®ue
+;
+
+1135
+ }
+}
+
+1138
+ $a¢_INTEGER2imax
+(cڡ
+INTEGER_t
+ *
+\9d\8c
+,
+\9atmax_t
+ *
+͌
+) {
+
+1139
+u\9at8_t
+ *
+b
+, *
+\92d
+;
+
+1140
+size_t
+
+size
+;
+
+1143 if(!
+\9d\8c
+ || !\9d\8c->
+buf
+ || !
+͌
+) {
+
+1144
+\94ºo
+ =
+EINVAL
+;
+
+1149
+b
+ =
+\9d\8c
+->
+buf
+;
+
+1150
+size
+ =
+\9d\8c
+->size;
+
+1151
+\92d
+ =
+b
+ +
+size
+;
+
+1153 if(
+size
+ > \17(
+\9atmax_t
+)) {
+
+1154
+u\9at8_t
+ *
+\92d1
+ =
+\92d
+ - 1;
+
+1162 \ f;
+b
+ <
+\92d1
+; b++) {
+
+1163 \1a*
+b
+) {
+
+1164 \ 40x00: if((
+b
+[1] & 0x80) == 0) \ 6; \ 3;
+
+1165 \ 40xff: if((
+b
+[1] & 0x80) != 0) \ 6; \ 3;
+
+1170
+size
+ =
+\92d
+ -
+b
+;
+
+1171 if(
+size
+ > \17(
+\9atmax_t
+)) {
+
+1173
+\94ºo
+ =
+ERANGE
+;
+
+1179 if(
+\92d
+ =ð
+b
+) {
+
+1180 *
+͌
+ = 0;
+
+1184 *
+͌
+ =
+ `a¢__\9a\8bg\94_cÚv\94t
+(
+b
+,
+\92d
+);
+
+1186
+ }
+}
+
+1190
+ $a¢_INTEGER2umax
+(cڡ
+INTEGER_t
+ *
+\9d\8c
+,
+u\9atmax_t
+ *
+͌
+) {
+
+1191
+u\9at8_t
+ *
+b
+, *
+\92d
+;
+
+1192
+u\9atmax_t
+
+v®ue
+;
+
+1193
+size_t
+
+size
+;
+
+1195 if(!
+\9d\8c
+ || !\9d\8c->
+buf
+ || !
+͌
+) {
+
+1196
+\94ºo
+ =
+EINVAL
+;
+
+1200
+b
+ =
+\9d\8c
+->
+buf
+;
+
+1201
+size
+ =
+\9d\8c
+->size;
+
+1202
+\92d
+ =
+b
+ +
+size
+;
+
+1205 \ f;
+size
+ > \17(
+v®ue
+);
+b
+++, size--) {
+
+1206 if(*
+b
+) {
+
+1208
+\94ºo
+ =
+ERANGE
+;
+
+1214 \ f
+v®ue
+ = 0;
+b
+ <
+\92d
+; b++)
+
+1215
+v®ue
+ = (v®u\90<< 8è| *
+b
+;
+
+1217 *
+͌
+ =
+v®ue
+;
+
+1219
+ }
+}
+
+1222
+ $a¢_umax2INTEGER
+(
+INTEGER_t
+ *
+¡
+,
+u\9atmax_t
+
+v®ue
+) {
+
+1223
+u\9at8_t
+ *
+buf
+;
+
+1224
+u\9at8_t
+ *
+\92d
+;
+
+1225
+u\9at8_t
+ *
+b
+;
+
+1226 \12
+shr
+;
+
+1228 if(
+v®ue
+ <ð((~(
+u\9atmax_t
+)0) >> 1)) {
+
+1229 \15
+ `a¢_imax2INTEGER
+(
+¡
+,
+v®ue
+);
+
+1232
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(1 + \17(
+v®ue
+));
+
+1233 if(!
+buf
+) \15 -1;
+
+1235
+\92d
+ =
+buf
+ + (\17(
+v®ue
+) + 1);
+
+1236
+buf
+[0] = 0;
+
+1237 \ f
+b
+ =
+buf
+ + 1,
+shr
+ = (\17(
+v®ue
+è- 1è* 8; b <
+\92d
+; shr -= 8, b++)
+
+1238 *
+b
+ = (
+u\9at8_t
+)(
+v®ue
+ >>
+shr
+);
+
+1240 if(
+¡
+->
+buf
+è
+ `FREEMEM
+(st->buf);
+
+1241
+¡
+->
+buf
+ = buf;
+
+1242
+¡
+->
+size
+ = 1 + \17(
+v®ue
+);
+
+1245
+ }
+}
+
+1248
+ $a¢_imax2INTEGER
+(
+INTEGER_t
+ *
+¡
+,
+\9atmax_t
+
+v®ue
+) {
+
+1249
+u\9at8_t
+ *
+buf
+, *
+bp
+;
+
+1250
+u\9at8_t
+ *
+p
+;
+
+1251
+u\9at8_t
+ *
+p¡¬t
+;
+
+1252
+u\9at8_t
+ *
+³nd1
+;
+
+1253 \12
+l\99\8eeEnd\9fn
+ = 1;
+
+1254 \12
+add
+;
+
+1256 if(!
+¡
+) {
+
+1257
+\94ºo
+ =
+EINVAL
+;
+
+1261
+buf
+ = (
+u\9at8_t
+ *)(\13*)
+ `MALLOC
+(\17(
+v®ue
+));
+
+1262 if(!
+buf
+) \15 -1;
+
+1264 if(*(\ 5*)&
+l\99\8eeEnd\9fn
+) {
+
+1265
+p¡¬t
+ = (
+u\9at8_t
+ *)&
+v®ue
+ + \17(value) - 1;
+
+1266
+³nd1
+ = (
+u\9at8_t
+ *)&
+v®ue
+;
+
+1267
+add
+ = -1;
+
+1269
+p¡¬t
+ = (
+u\9at8_t
+ *)&
+v®ue
+;
+
+1270
+³nd1
+ =
+p¡¬t
+ + \17(
+v®ue
+) - 1;
+
+1271
+add
+ = 1;
+
+1280 \ f
+p
+ =
+p¡¬t
+;\85 !ð
+³nd1
+;\85 +ð
+add
+) {
+
+1281 \1a*
+p
+) {
+
+1282 \ 40x00: if((*(
+p
++
+add
+) & 0x80) == 0)
+
+1285 \ 40xff: if((*(
+p
++
+add
+) & 0x80))
+
+1292 \ f
+bp
+ =
+buf
+,
+³nd1
+ +ð
+add
+;
+p
+ !=\85end1;\85 +=\87dd)
+
+1293 *
+bp
+++ = *
+p
+;
+
+1295 if(
+¡
+->
+buf
+è
+ `FREEMEM
+(st->buf);
+
+1296
+¡
+->
+buf
+ = buf;
+
+1297
+¡
+->
+size
+ =
+bp
+ -
+buf
+;
+
+1300
+ }
+}
+
+1303
+ $a¢_INTEGER2lÚg
+(cڡ
+INTEGER_t
+ *
+\9d\8c
+, \13*
+l
+) {
+
+1304
+\9atmax_t
+
+v
+;
+
+1305 if(
+ `a¢_INTEGER2imax
+(
+\9d\8c
+, &
+v
+) == 0) {
+
+1306 if(
+v
+ <
+LONG_MIN
+ || v >
+LONG_MAX
+) {
+
+1307
+\94ºo
+ =
+ERANGE
+;
+
+1310 *
+l
+ =
+v
+;
+
+1315
+ }
+}
+
+1318
+ $a¢_INTEGER2ulÚg
+(cڡ
+INTEGER_t
+ *
+\9d\8c
+, \1d\13*
+l
+) {
+
+1319
+u\9atmax_t
+
+v
+;
+
+1320 if(
+ `a¢_INTEGER2umax
+(
+\9d\8c
+, &
+v
+) == 0) {
+
+1321 if(
+v
+ >
+ULONG_MAX
+) {
+
+1322
+\94ºo
+ =
+ERANGE
+;
+
+1325 *
+l
+ =
+v
+;
+
+1330
+ }
+}
+
+1333
+ $a¢_lÚg2INTEGER
+(
+INTEGER_t
+ *
+¡
+, \13
+v®ue
+) {
+
+1334 \15
+ `a¢_imax2INTEGER
+(
+¡
+,
+v®ue
+);
+
+1335
+ }
+}
+
+1338
+ $a¢_ulÚg2INTEGER
+(
+INTEGER_t
+ *
+¡
+, \1d\13
+v®ue
+) {
+
+1339 \15
+ `a¢_imax2INTEGER
+(
+¡
+,
+v®ue
+);
+
+1340
+ }
+}
+
+1344
+ $a¢_u\9at642INTEGER
+(
+INTEGER_t
+ *
+¡
+,
+u\9at64_t
+
+v®ue
+) {
+
+1345
+u\9at8_t
+ *
+buf
+;
+
+1346
+u\9at8_t
+ *
+\92d
+;
+
+1347
+u\9at8_t
+ *
+b
+;
+
+1348 \12
+shr
+;
+
+1350 if(
+v®ue
+ <ð
+INT64_MAX
+)
+
+1351 \15
+ `a¢_\9at642INTEGER
+(
+¡
+,
+v®ue
+);
+
+1353
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(1 + \17(
+v®ue
+));
+
+1354 if(!
+buf
+) \15 -1;
+
+1356
+\92d
+ =
+buf
+ + (\17(
+v®ue
+) + 1);
+
+1357
+buf
+[0] = 0;
+
+1358 \ f
+b
+ =
+buf
+ + 1,
+shr
+ = (\17(
+v®ue
+)-1)*8; b <
+\92d
+; shr -= 8, b++)
+
+1359 *
+b
+ = (
+u\9at8_t
+)(
+v®ue
+ >>
+shr
+);
+
+1361 if(
+¡
+->
+buf
+è
+ `FREEMEM
+(st->buf);
+
+1362
+¡
+->
+buf
+ = buf;
+
+1363
+¡
+->
+size
+ = 1 + \17(
+v®ue
+);
+
+1366
+ }
+}
+
+1369
+ $a¢_\9at642INTEGER
+(
+INTEGER_t
+ *
+¡
+,
+\9at64_t
+
+v®ue
+) {
+
+1370
+u\9at8_t
+ *
+buf
+, *
+bp
+;
+
+1371
+u\9at8_t
+ *
+p
+;
+
+1372
+u\9at8_t
+ *
+p¡¬t
+;
+
+1373
+u\9at8_t
+ *
+³nd1
+;
+
+1374 \12
+l\99\8eeEnd\9fn
+ = 1;
+
+1375 \12
+add
+;
+
+1377 if(!
+¡
+) {
+
+1378
+\94ºo
+ =
+EINVAL
+;
+
+1382
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(\17(
+v®ue
+));
+
+1383 if(!
+buf
+) \15 -1;
+
+1385 if(*(\ 5*)&
+l\99\8eeEnd\9fn
+) {
+
+1386
+p¡¬t
+ = (
+u\9at8_t
+ *)&
+v®ue
+ + \17(value) - 1;
+
+1387
+³nd1
+ = (
+u\9at8_t
+ *)&
+v®ue
+;
+
+1388
+add
+ = -1;
+
+1390
+p¡¬t
+ = (
+u\9at8_t
+ *)&
+v®ue
+;
+
+1391
+³nd1
+ =
+p¡¬t
+ + \17(
+v®ue
+) - 1;
+
+1392
+add
+ = 1;
+
+1401 \ f
+p
+ =
+p¡¬t
+;\85 !ð
+³nd1
+;\85 +ð
+add
+) {
+
+1402 \1a*
+p
+) {
+
+1403 \ 40x00: if((*(
+p
++
+add
+) & 0x80) == 0)
+
+1406 \ 40xff: if((*(
+p
++
+add
+) & 0x80))
+
+1413 \ f
+p¡¬t
+ =
+p
+,
+bp
+ =
+buf
+,
+³nd1
+ +ð
+add
+;\85 !=\85end1;\85 +=\87dd)
+
+1414 *
+bp
+++ = *
+p
+;
+
+1416 if(
+¡
+->
+buf
+è
+ `FREEMEM
+(st->buf);
+
+1417
+¡
+->
+buf
+ = buf;
+
+1418
+¡
+->
+size
+ =
+bp
+ -
+buf
+;
+
+1421
+ }
+}
+
+1429 \f
+a¢_¡¹ox_»suÉ_e
+
+
+1430
+ $a¢_¡¹oimax_lim
+(cڡ \ 5*
+¡r
+, cڡ \ 5**
+\92d
+,
+\9atmax_t
+ *
+\9a\8d
+) {
+
+1431 \12
+sign
+ = 1;
+
+1432
+\9atmax_t
+
+v®ue
+;
+
+1434 \ 1
+ #ASN1_INTMAX_MAX
+ ((~(
+u\9atmax_t
+)0è>> 1)
+
+ )
+
+1435 cڡ
+\9atmax_t
+
+uµ\94_bound¬y
+ =
+ASN1_INTMAX_MAX
+ / 10;
+
+1436
+\9atmax_t
+
+Ï¡_dig\99_max
+ =
+ASN1_INTMAX_MAX
+ % 10;
+
+1437 #undeà
+ASN1_INTMAX_MAX
+
+
+1439 if(
+¡r
+ >ð*
+\92d
+è\15
+ASN_STRTOX_ERROR_INVAL
+;
+
+1441 \1a*
+¡r
+) {
+
+1443
+Ï¡_dig\99_max
+++;
+
+1444
+sign
+ = -1;
+
+1447
+¡r
+++;
+
+1448 if(
+¡r
+ >ð*
+\92d
+) {
+
+1449 *
+\92d
+ =
+¡r
+;
+
+1450 \15
+ASN_STRTOX_EXPECT_MORE
+;
+
+1454 \ f
+v®ue
+ = 0;
+¡r
+ < (*
+\92d
+); str++) {
+
+1455 \1a*
+¡r
+) {
+
+1458 \12
+d
+ = *
+¡r
+ - '0';
+
+1459 if(
+v®ue
+ <
+uµ\94_bound¬y
+) {
+
+1460
+v®ue
+ = v®u\90* 10 +
+d
+;
+
+1461 } \vif(
+v®ue
+ =ð
+uµ\94_bound¬y
+) {
+
+1462 if(
+d
+ <ð
+Ï¡_dig\99_max
+) {
+
+1463 if(
+sign
+ > 0) {
+
+1464
+v®ue
+ = v®u\90* 10 +
+d
+;
+
+1466
+sign
+ = 1;
+
+1467
+v®ue
+ = -v®u\90* 10 -
+d
+;
+
+1470 *
+\92d
+ =
+¡r
+;
+
+1471 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1474 *
+\92d
+ =
+¡r
+;
+
+1475 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1480 *
+\92d
+ =
+¡r
+;
+
+1481 *
+\9a\8d
+ =
+sign
+ *
+v®ue
+;
+
+1482 \15
+ASN_STRTOX_EXTRA_DATA
+;
+
+1486 *
+\92d
+ =
+¡r
+;
+
+1487 *
+\9a\8d
+ =
+sign
+ *
+v®ue
+;
+
+1488 \15
+ASN_STRTOX_OK
+;
+
+1489
+ }
+}
+
+1497 \f
+a¢_¡¹ox_»suÉ_e
+
+
+1498
+ $a¢_¡¹oumax_lim
+(cڡ \ 5*
+¡r
+, cڡ \ 5**
+\92d
+,
+u\9atmax_t
+ *
+u\9a\8d
+) {
+
+1499
+u\9atmax_t
+
+v®ue
+;
+
+1501 \ 1
+ #ASN1_UINTMAX_MAX
+ ((~(
+u\9atmax_t
+)0))
+
+ )
+
+1502 cڡ
+u\9atmax_t
+
+uµ\94_bound¬y
+ =
+ASN1_UINTMAX_MAX
+ / 10;
+
+1503
+u\9atmax_t
+
+Ï¡_dig\99_max
+ =
+ASN1_UINTMAX_MAX
+ % 10;
+
+1504 #undeà
+ASN1_UINTMAX_MAX
+
+
+1506 if(
+¡r
+ >ð*
+\92d
+è\15
+ASN_STRTOX_ERROR_INVAL
+;
+
+1508 \1a*
+¡r
+) {
+
+1510 \15
+ASN_STRTOX_ERROR_INVAL
+;
+
+1512
+¡r
+++;
+
+1513 if(
+¡r
+ >ð*
+\92d
+) {
+
+1514 *
+\92d
+ =
+¡r
+;
+
+1515 \15
+ASN_STRTOX_EXPECT_MORE
+;
+
+1519 \ f
+v®ue
+ = 0;
+¡r
+ < (*
+\92d
+); str++) {
+
+1520 \1a*
+¡r
+) {
+
+1523 \1d\12
+d
+ = *
+¡r
+ - '0';
+
+1524 if(
+v®ue
+ <
+uµ\94_bound¬y
+) {
+
+1525
+v®ue
+ = v®u\90* 10 +
+d
+;
+
+1526 } \vif(
+v®ue
+ =ð
+uµ\94_bound¬y
+) {
+
+1527 if(
+d
+ <ð
+Ï¡_dig\99_max
+) {
+
+1528
+v®ue
+ = v®u\90* 10 +
+d
+;
+
+1530 *
+\92d
+ =
+¡r
+;
+
+1531 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1534 *
+\92d
+ =
+¡r
+;
+
+1535 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1540 *
+\92d
+ =
+¡r
+;
+
+1541 *
+u\9a\8d
+ =
+v®ue
+;
+
+1542 \15
+ASN_STRTOX_EXTRA_DATA
+;
+
+1546 *
+\92d
+ =
+¡r
+;
+
+1547 *
+u\9a\8d
+ =
+v®ue
+;
+
+1548 \15
+ASN_STRTOX_OK
+;
+
+1549
+ }
+}
+
+1551 \f
+a¢_¡¹ox_»suÉ_e
+
+
+1552
+ $a¢_¡¹Þ_lim
+(cڡ \ 5*
+¡r
+, cڡ \ 5**
+\92d
+, \13*
+Í
+) {
+
+1553
+\9atmax_t
+
+v®ue
+;
+
+1554 \1a
+ `a¢_¡¹oimax_lim
+(
+¡r
+,
+\92d
+, &
+v®ue
+)) {
+
+1555 \ 4
+ASN_STRTOX_ERROR_RANGE
+:
+
+1556 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1557 \ 4
+ASN_STRTOX_ERROR_INVAL
+:
+
+1558 \15
+ASN_STRTOX_ERROR_INVAL
+;
+
+1559 \ 4
+ASN_STRTOX_EXPECT_MORE
+:
+
+1560 \15
+ASN_STRTOX_EXPECT_MORE
+;
+
+1561 \ 4
+ASN_STRTOX_OK
+:
+
+1562 if(
+v®ue
+ >ð
+LONG_MIN
+ && v®u\90<ð
+LONG_MAX
+) {
+
+1563 *
+Í
+ =
+v®ue
+;
+
+1564 \15
+ASN_STRTOX_OK
+;
+
+1566 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1568 \ 4
+ASN_STRTOX_EXTRA_DATA
+:
+
+1569 if(
+v®ue
+ >ð
+LONG_MIN
+ && v®u\90<ð
+LONG_MAX
+) {
+
+1570 *
+Í
+ =
+v®ue
+;
+
+1571 \15
+ASN_STRTOX_EXTRA_DATA
+;
+
+1573 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1577
+ `as£¹
+(!"Unreachable");
+
+1578 \15
+ASN_STRTOX_ERROR_INVAL
+;
+
+1579
+ }
+}
+
+1581 \f
+a¢_¡¹ox_»suÉ_e
+
+
+1582
+ $a¢_¡¹oul_lim
+(cڡ \ 5*
+¡r
+, cڡ \ 5**
+\92d
+, \1d\13*
+uÍ
+) {
+
+1583
+u\9atmax_t
+
+v®ue
+;
+
+1584 \1a
+ `a¢_¡¹oumax_lim
+(
+¡r
+,
+\92d
+, &
+v®ue
+)) {
+
+1585 \ 4
+ASN_STRTOX_ERROR_RANGE
+:
+
+1586 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1587 \ 4
+ASN_STRTOX_ERROR_INVAL
+:
+
+1588 \15
+ASN_STRTOX_ERROR_INVAL
+;
+
+1589 \ 4
+ASN_STRTOX_EXPECT_MORE
+:
+
+1590 \15
+ASN_STRTOX_EXPECT_MORE
+;
+
+1591 \ 4
+ASN_STRTOX_OK
+:
+
+1592 if(
+v®ue
+ <ð
+ULONG_MAX
+) {
+
+1593 *
+uÍ
+ =
+v®ue
+;
+
+1594 \15
+ASN_STRTOX_OK
+;
+
+1596 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1598 \ 4
+ASN_STRTOX_EXTRA_DATA
+:
+
+1599 if(
+v®ue
+ <ð
+ULONG_MAX
+) {
+
+1600 *
+uÍ
+ =
+v®ue
+;
+
+1601 \15
+ASN_STRTOX_EXTRA_DATA
+;
+
+1603 \15
+ASN_STRTOX_ERROR_RANGE
+;
+
+1607
+ `as£¹
+(!"Unreachable");
+
+1608 \15
+ASN_STRTOX_ERROR_INVAL
+;
+
+1609
+ }
+}
+
+1612
+ $INTEGER_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+1613 cڡ \1e*
+b±r
+) {
+
+1614 cڡ
+INTEGER_t
+ *
+a
+ =
+\8c
+;
+
+1615 cڡ
+INTEGER_t
+ *
+b
+ =
+b±r
+;
+
+1617 (\1e)
+td
+;
+
+1619 if(
+a
+ &&
+b
+) {
+
+1620 if(
+a
+->
+size
+ &&
+b
+->size) {
+
+1621 \12
+sign_a
+ = (
+a
+->
+buf
+[0] & 0x80) ? -1 : 1;
+
+1622 \12
+sign_b
+ = (
+b
+->
+buf
+[0] & 0x80) ? -1 : 1;
+
+1624 if(
+sign_a
+ <
+sign_b
+) \15 -1;
+
+1625 if(
+sign_a
+ >
+sign_b
+) \15 1;
+
+1628 if(
+a
+->
+size
+ <
+b
+->size) {
+
+1629 \15 -1 *
+sign_a
+;
+
+1630 } \vif(
+a
+->
+size
+ >
+b
+->size) {
+
+1631 \15 1 *
+sign_b
+;
+
+1634 \15
+sign_a
+ *
+ `memcmp
+(
+a
+->
+buf
+,
+b
+->buf,\87->
+size
+);
+
+1635 } \vif(
+a
+->
+size
+) {
+
+1636 \12
+sign
+ = (
+a
+->
+buf
+[0] & 0x80) ? -1 : 1;
+
+1637 \15 (1è*
+sign
+;
+
+1638 } \vif(
+b
+->
+size
+) {
+
+1639 \12
+sign
+ = (
+a
+->
+buf
+[0] & 0x80) ? -1 : 1;
+
+1640 \15 (-1è*
+sign
+;
+
+1644 } \vif(!
+a
+ && !
+b
+) {
+
+1646 } \vif(!
+a
+) {
+
+1652
+ }
+}
+
+1654
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+1655
+ $INTEGER_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+1656 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+1657
+size_t
+
+max_Ëngth
+) {
+
+1658 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+1659 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1660
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 1};
+
+1661
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+1662
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+1663
+INTEGER_t
+ *
+¡
+ = *
+¥\8c
+;
+
+1664 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+em
+;
+
+1665
+size_t
+
+em_Ën
+;
+
+1666
+\9atmax_t
+
+v®ue
+;
+
+1667 \12
+f\9ad_\9aside_m
+;
+
+1669 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+1671 if(
+¡
+ =ð
+NULL
+) {
+
+1672
+¡
+ = (
+INTEGER_t
+ *)
+ `CALLOC
+(1, \17(*st));
+
+1673 if(
+¡
+ =ð
+NULL
+) {
+
+1674 \15
+»suÉ_ç\9eed
+;
+
+1678 if(
+¥ecs
+) {
+
+1679
+em
+ =
+¥ecs
+->
+v®ue2\92um
+;
+
+1680
+em_Ën
+ =
+¥ecs
+->
+m_couÁ
+;
+
+1681 if(
+¥ecs
+->
+¡riù_\92um\94©iÚ
+) {
+
+1682
+f\9ad_\9aside_m
+ =
+em_Ën
+ > 0;
+
+1684
+f\9ad_\9aside_m
+ =
+em_Ën
+ ?
+ `a¢_¿ndom_b\91w\93n
+(0, 1) : 0;
+
+1687
+em
+ = 0;
+
+1688
+em_Ën
+ = 0;
+
+1689
+f\9ad_\9aside_m
+ = 0;
+
+1692 if(
+f\9ad_\9aside_m
+) {
+
+1693
+ `as£¹
+(
+em_Ën
+ > 0);
+
+1694
+v®ue
+ =
+em
+[
+ `a¢_¿ndom_b\91w\93n
+(0,
+em_Ën
+ - 1)].
+Çt_v®ue
+;
+
+1696 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+ù
+;
+
+1698 \18cڡ \13
+v¬\9fÁs
+[] = {
+
+1704 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+) {
+
+1705
+ `as£¹
+(
+v¬\9fÁs
+[18] == 0);
+
+1706
+v®ue
+ =
+v¬\9fÁs
+[
+ `a¢_¿ndom_b\91w\93n
+(
+
+1707 18, \17(
+v¬\9fÁs
+) / \17(variants[0]) - 1)];
+
+1709
+v®ue
+ =
+v¬\9fÁs
+[
+ `a¢_¿ndom_b\91w\93n
+(
+
+1710 0, \17(
+v¬\9fÁs
+) / \17(variants[0]) - 1)];
+
+1713 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð&
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+;
+
+1714
+ù
+ =
+cÚ¡¿\9ats
+ ? cÚ¡¿\9ats->
+³r_cÚ¡¿\9ats
+ : 0;
+
+1715 if(
+ù
+ && (ù->
+v®ue
+.
+æags
+ &
+APC_CONSTRAINED
+)) {
+
+1716 if(
+v®ue
+ <
+ù
+->v®ue.
+low\94_bound
+ || v®u\90> ct->v®ue.
+uµ\94_bound
+) {
+
+1717
+v®ue
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+ù
+->v®ue.
+low\94_bound
+,
+
+1718
+ù
+->
+v®ue
+.
+uµ\94_bound
+);
+
+1723 if(
+ `a¢_imax2INTEGER
+(
+¡
+,
+v®ue
+)) {
+
+1724 if(
+¡
+ =ð*
+¥\8c
+) {
+
+1725
+ `ASN_STRUCT_RESET
+(*
+td
+,
+¡
+);
+
+1727
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¡
+);
+
+1729 \15
+»suÉ_ç\9eed
+;
+
+1731 *
+¥\8c
+ =
+¡
+;
+
+1732
+»suÉ_ok
+.
+Ëngth
+ =
+¡
+->
+size
+;
+
+1733 \15
+»suÉ_ok
+;
+
+1735
+ }
+}
+
+ @IndexToRFSP.c
+
+8 \ 2
+ ~"IndexToRFSP.h
+"
+
+11
+ $IndexToRFSP_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 256)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_IndexToRFSP_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 8, 8, 1, 256 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IndexToRFSP_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IndexToRFSP
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_IndexToRFSP_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_IndexToRFSP_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_IndexToRFSP_\8fgs_1
+[0]),
+
+54
+a¢_DEF_IndexToRFSP_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_IndexToRFSP_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_IndexToRFSP_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_IndexToRFSP_cÚ¡r_1
+,
+IndexToRFSP_cÚ¡¿\9at
+ },
+
+ @Interface-MessageID.c
+
+8 \ 2
+ ~"IÁ\94çû-Mes§geID.h
+"
+
+14 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_mes§geTy³_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+15 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 2, 2, 0, 2 } ,
+
+16 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+19 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_mes§geTy³_v®ue2\92um_3
+[] = {
+
+25 \18cڡ \1d\12
+ ga¢_MAP_mes§geTy³_\92um2v®ue_3
+[] = {
+
+31 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_mes§geTy³_¥ecs_3
+ = {
+
+32
+a¢_MAP_mes§geTy³_v®ue2\92um_3
+,
+
+33
+a¢_MAP_mes§geTy³_\92um2v®ue_3
+,
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_mes§geTy³_\8fgs_3
+[] = {
+
+41 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+42 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_mes§geTy³_3
+ = {
+
+48 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+49
+a¢_DEF_mes§geTy³_\8fgs_3
+,
+
+50 \17(
+a¢_DEF_mes§geTy³_\8fgs_3
+)
+
+51 /\17(
+a¢_DEF_mes§geTy³_\8fgs_3
+[0]) - 1,
+
+52
+a¢_DEF_mes§geTy³_\8fgs_3
+,
+
+53 \17(
+a¢_DEF_mes§geTy³_\8fgs_3
+)
+
+54 /\17(
+a¢_DEF_mes§geTy³_\8fgs_3
+[0]),
+
+55 { 0, &
+a¢_PER_ty³_mes§geTy³_cÚ¡r_3
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+57 &
+a¢_SPC_mes§geTy³_¥ecs_3
+
+
+60 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çû_Mes§geID_1
+[] = {
+
+61 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çû_Mes§geID
+,
+\9a\8brçûProûdu»ID
+),
+
+62 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+64 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+70 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çû_Mes§geID
+,
+mes§geTy³
+),
+
+71 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+73 &
+a¢_DEF_mes§geTy³_3
+,
+
+80 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
+[] = {
+
+81 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+83 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çû_Mes§geID_\8fg2\96_1
+[] = {
+
+84 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+85 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+87 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çû_Mes§geID_¥ecs_1
+ = {
+
+88 \17(\19
+IÁ\94çû_Mes§geID
+),
+
+89
+off£tof
+(\19
+IÁ\94çû_Mes§geID
+,
+_a¢_ùx
+),
+
+90
+a¢_MAP_IÁ\94çû_Mes§geID_\8fg2\96_1
+,
+
+95
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çû_Mes§geID
+ = {
+
+98 &
+a¢_OP_SEQUENCE
+,
+
+99
+a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
+,
+
+100 \17(
+a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
+)
+
+101 /\17(
+a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
+[0]),
+
+102
+a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
+,
+
+103 \17(
+a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
+)
+
+104 /\17(
+a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
+[0]),
+
+105 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+106
+a¢_MBR_IÁ\94çû_Mes§geID_1
+,
+
+108 &
+a¢_SPC_IÁ\94çû_Mes§geID_¥ecs_1
+
+
+ @InterfaceID-E1.c
+
+8 \ 2
+ ~"IÁ\94çûID-E1.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûID_E1_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_E1
+,
+glob®GNB_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_Glob®GNB_ID
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_E1
+,
+gNB_CU_UP_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_GNB_CU_UP_ID
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûID_E1_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûID_E1_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûID_E1_¥ecs_1
+ = {
+
+38 \17(\19
+IÁ\94çûID_E1
+),
+
+39
+off£tof
+(\19
+IÁ\94çûID_E1
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_IÁ\94çûID_E1_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûID_E1
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_IÁ\94çûID_E1_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_IÁ\94çûID_E1_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_IÁ\94çûID_E1_\8fgs_1
+[0]),
+
+52
+a¢_DEF_IÁ\94çûID_E1_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_IÁ\94çûID_E1_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_IÁ\94çûID_E1_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_IÁ\94çûID_E1_1
+,
+
+58 &
+a¢_SPC_IÁ\94çûID_E1_¥ecs_1
+
+
+ @InterfaceID-F1.c
+
+8 \ 2
+ ~"IÁ\94çûID-F1.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûID_F1_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_F1
+,
+glob®GNB_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_Glob®GNB_ID
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_F1
+,
+gNB_DU_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_GNB_DU_ID
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûID_F1_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûID_F1_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûID_F1_¥ecs_1
+ = {
+
+38 \17(\19
+IÁ\94çûID_F1
+),
+
+39
+off£tof
+(\19
+IÁ\94çûID_F1
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_IÁ\94çûID_F1_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûID_F1
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_IÁ\94çûID_F1_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_IÁ\94çûID_F1_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_IÁ\94çûID_F1_\8fgs_1
+[0]),
+
+52
+a¢_DEF_IÁ\94çûID_F1_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_IÁ\94çûID_F1_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_IÁ\94çûID_F1_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_IÁ\94çûID_F1_1
+,
+
+58 &
+a¢_SPC_IÁ\94çûID_F1_¥ecs_1
+
+
+ @InterfaceID-NG.c
+
+8 \ 2
+ ~"IÁ\94çûID-NG.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûID_NG_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_NG
+,
+guami
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_GUAMI
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûID_NG_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûID_NG_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûID_NG_¥ecs_1
+ = {
+
+28 \17(\19
+IÁ\94çûID_NG
+),
+
+29
+off£tof
+(\19
+IÁ\94çûID_NG
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_IÁ\94çûID_NG_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûID_NG
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_IÁ\94çûID_NG_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_IÁ\94çûID_NG_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_IÁ\94çûID_NG_\8fgs_1
+[0]),
+
+42
+a¢_DEF_IÁ\94çûID_NG_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_IÁ\94çûID_NG_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_IÁ\94çûID_NG_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_IÁ\94çûID_NG_1
+,
+
+48 &
+a¢_SPC_IÁ\94çûID_NG_¥ecs_1
+
+
+ @InterfaceID-S1.c
+
+8 \ 2
+ ~"IÁ\94çûID-S1.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûID_S1_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_S1
+,
+gUMMEI
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_GUMMEI
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûID_S1_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûID_S1_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûID_S1_¥ecs_1
+ = {
+
+28 \17(\19
+IÁ\94çûID_S1
+),
+
+29
+off£tof
+(\19
+IÁ\94çûID_S1
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_IÁ\94çûID_S1_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûID_S1
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_IÁ\94çûID_S1_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_IÁ\94çûID_S1_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_IÁ\94çûID_S1_\8fgs_1
+[0]),
+
+42
+a¢_DEF_IÁ\94çûID_S1_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_IÁ\94çûID_S1_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_IÁ\94çûID_S1_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_IÁ\94çûID_S1_1
+,
+
+48 &
+a¢_SPC_IÁ\94çûID_S1_¥ecs_1
+
+
+ @InterfaceID-W1.c
+
+8 \ 2
+ ~"IÁ\94çûID-W1.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûID_W1_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_W1
+,
+glob®_ng_eNB_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_Glob®NgENB_ID
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_W1
+,
+ng_eNB_DU_ID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_NGENB_DU_ID
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûID_W1_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûID_W1_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûID_W1_¥ecs_1
+ = {
+
+38 \17(\19
+IÁ\94çûID_W1
+),
+
+39
+off£tof
+(\19
+IÁ\94çûID_W1
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_IÁ\94çûID_W1_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûID_W1
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_IÁ\94çûID_W1_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_IÁ\94çûID_W1_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_IÁ\94çûID_W1_\8fgs_1
+[0]),
+
+52
+a¢_DEF_IÁ\94çûID_W1_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_IÁ\94çûID_W1_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_IÁ\94çûID_W1_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_IÁ\94çûID_W1_1
+,
+
+58 &
+a¢_SPC_IÁ\94çûID_W1_¥ecs_1
+
+
+ @InterfaceID-X2.c
+
+8 \ 2
+ ~"IÁ\94çûID-X2.h
+"
+
+10 \ 2
+ ~"Glob®ENB-ID.h
+"
+
+11 \ 2
+ ~"Glob®\92GNB-ID.h
+"
+
+12 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_nodeTy³_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+13 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+14 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+17 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_nodeTy³_2
+[] = {
+
+18 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûID_X2__nodeTy³
+,
+choiû
+.
+glob®_eNB_ID
+),
+
+19 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+21 &
+a¢_DEF_Glob®ENB_ID
+,
+
+27 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûID_X2__nodeTy³
+,
+choiû
+.
+glob®_\92_gNB_ID
+),
+
+28 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+30 &
+a¢_DEF_Glob®\92GNB_ID
+,
+
+37 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_nodeTy³_\8fg2\96_2
+[] = {
+
+38 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+39 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+41 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_nodeTy³_¥ecs_2
+ = {
+
+42 \17(\19
+IÁ\94çûID_X2__nodeTy³
+),
+
+43
+off£tof
+(\19
+IÁ\94çûID_X2__nodeTy³
+,
+_a¢_ùx
+),
+
+44
+off£tof
+(\19
+IÁ\94çûID_X2__nodeTy³
+,
+´e£Á
+),
+
+45 \17(((\19
+IÁ\94çûID_X2__nodeTy³
+ *)0)->
+´e£Á
+),
+
+46
+a¢_MAP_nodeTy³_\8fg2\96_2
+,
+
+52
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_nodeTy³_2
+ = {
+
+55 &
+a¢_OP_CHOICE
+,
+
+60 { 0, &
+a¢_PER_ty³_nodeTy³_cÚ¡r_2
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+61
+a¢_MBR_nodeTy³_2
+,
+
+63 &
+a¢_SPC_nodeTy³_¥ecs_2
+
+
+66
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûID_X2_1
+[] = {
+
+67 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_X2
+,
+nodeTy³
+),
+
+68 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+70 &
+a¢_DEF_nodeTy³_2
+,
+
+77 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûID_X2_\8fgs_1
+[] = {
+
+78 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+80 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûID_X2_\8fg2\96_1
+[] = {
+
+81 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+83
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûID_X2_¥ecs_1
+ = {
+
+84 \17(\19
+IÁ\94çûID_X2
+),
+
+85
+off£tof
+(\19
+IÁ\94çûID_X2
+,
+_a¢_ùx
+),
+
+86
+a¢_MAP_IÁ\94çûID_X2_\8fg2\96_1
+,
+
+91
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûID_X2
+ = {
+
+94 &
+a¢_OP_SEQUENCE
+,
+
+95
+a¢_DEF_IÁ\94çûID_X2_\8fgs_1
+,
+
+96 \17(
+a¢_DEF_IÁ\94çûID_X2_\8fgs_1
+)
+
+97 /\17(
+a¢_DEF_IÁ\94çûID_X2_\8fgs_1
+[0]),
+
+98
+a¢_DEF_IÁ\94çûID_X2_\8fgs_1
+,
+
+99 \17(
+a¢_DEF_IÁ\94çûID_X2_\8fgs_1
+)
+
+100 /\17(
+a¢_DEF_IÁ\94çûID_X2_\8fgs_1
+[0]),
+
+101 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+102
+a¢_MBR_IÁ\94çûID_X2_1
+,
+
+104 &
+a¢_SPC_IÁ\94çûID_X2_¥ecs_1
+
+
+ @InterfaceID-Xn.c
+
+8 \ 2
+ ~"IÁ\94çûID-Xn.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûID_Xn_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+IÁ\94çûID_Xn
+,
+glob®_NG_RAN_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_Glob®NGRANNodeID
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûID_Xn_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûID_Xn_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûID_Xn_¥ecs_1
+ = {
+
+28 \17(\19
+IÁ\94çûID_Xn
+),
+
+29
+off£tof
+(\19
+IÁ\94çûID_Xn
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_IÁ\94çûID_Xn_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûID_Xn
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
+[0]),
+
+42
+a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_IÁ\94çûID_Xn_1
+,
+
+48 &
+a¢_SPC_IÁ\94çûID_Xn_¥ecs_1
+
+
+ @InterfaceIdentifier.c
+
+8 \ 2
+ ~"IÁ\94çûId\92tif\9br.h
+"
+
+10 \ 2
+ ~"IÁ\94çûID-NG.h
+"
+
+11 \ 2
+ ~"IÁ\94çûID-Xn.h
+"
+
+12 \ 2
+ ~"IÁ\94çûID-F1.h
+"
+
+13 \ 2
+ ~"IÁ\94çûID-E1.h
+"
+
+14 \ 2
+ ~"IÁ\94çûID-S1.h
+"
+
+15 \ 2
+ ~"IÁ\94çûID-X2.h
+"
+
+16 \ 2
+ ~"IÁ\94çûID-W1.h
+"
+
+17 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_IÁ\94çûId\92tif\9br_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+18 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 3, 3, 0, 6 } ,
+
+19 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+22 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_IÁ\94çûId\92tif\9br_1
+[] = {
+
+23 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+choiû
+.
+nG
+),
+
+24 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+26 &
+a¢_DEF_IÁ\94çûID_NG
+,
+
+32 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+choiû
+.
+xN
+),
+
+33 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+35 &
+a¢_DEF_IÁ\94çûID_Xn
+,
+
+41 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+choiû
+.
+f1
+),
+
+42 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+44 &
+a¢_DEF_IÁ\94çûID_F1
+,
+
+50 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+choiû
+.
+e1
+),
+
+51 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+53 &
+a¢_DEF_IÁ\94çûID_E1
+,
+
+59 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+choiû
+.
+s1
+),
+
+60 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+62 &
+a¢_DEF_IÁ\94çûID_S1
+,
+
+68 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+choiû
+.
+x2
+),
+
+69 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+71 &
+a¢_DEF_IÁ\94çûID_X2
+,
+
+77 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+choiû
+.
+w1
+),
+
+78 (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)),
+
+80 &
+a¢_DEF_IÁ\94çûID_W1
+,
+
+87 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_IÁ\94çûId\92tif\9br_\8fg2\96_1
+[] = {
+
+88 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+89 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+90 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+91 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+92 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+93 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 },
+
+94 { (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)), 6, 0, 0 }
+
+96 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûId\92tif\9br_¥ecs_1
+ = {
+
+97 \17(\19
+IÁ\94çûId\92tif\9br
+),
+
+98
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+_a¢_ùx
+),
+
+99
+off£tof
+(\19
+IÁ\94çûId\92tif\9br
+,
+´e£Á
+),
+
+100 \17(((\19
+IÁ\94çûId\92tif\9br
+ *)0)->
+´e£Á
+),
+
+101
+a¢_MAP_IÁ\94çûId\92tif\9br_\8fg2\96_1
+,
+
+106
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûId\92tif\9br
+ = {
+
+109 &
+a¢_OP_CHOICE
+,
+
+114 { 0, &
+a¢_PER_ty³_IÁ\94çûId\92tif\9br_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+115
+a¢_MBR_IÁ\94çûId\92tif\9br_1
+,
+
+117 &
+a¢_SPC_IÁ\94çûId\92tif\9br_¥ecs_1
+
+
+ @InterfaceType.c
+
+8 \ 2
+ ~"IÁ\94çûTy³.h
+"
+
+14 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_IÁ\94çûTy³_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+15 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 3, 3, 0, 6 } ,
+
+16 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+19 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_IÁ\94çûTy³_v®ue2\92um_1
+[] = {
+
+29 \18cڡ \1d\12
+ ga¢_MAP_IÁ\94çûTy³_\92um2v®ue_1
+[] = {
+
+39 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_IÁ\94çûTy³_¥ecs_1
+ = {
+
+40
+a¢_MAP_IÁ\94çûTy³_v®ue2\92um_1
+,
+
+41
+a¢_MAP_IÁ\94çûTy³_\92um2v®ue_1
+,
+
+48 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_IÁ\94çûTy³_\8fgs_1
+[] = {
+
+49 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+51
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_IÁ\94çûTy³
+ = {
+
+54 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+55
+a¢_DEF_IÁ\94çûTy³_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_IÁ\94çûTy³_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_IÁ\94çûTy³_\8fgs_1
+[0]),
+
+58
+a¢_DEF_IÁ\94çûTy³_\8fgs_1
+,
+
+59 \17(
+a¢_DEF_IÁ\94çûTy³_\8fgs_1
+)
+
+60 /\17(
+a¢_DEF_IÁ\94çûTy³_\8fgs_1
+[0]),
+
+61 { 0, &
+a¢_PER_ty³_IÁ\94çûTy³_cÚ¡r_1
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+63 &
+a¢_SPC_IÁ\94çûTy³_¥ecs_1
+
+
+ @LabelInfoItem.c
+
+8 \ 2
+ ~"Lab\96InfoI\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Lab\96InfoI\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Lab\96InfoI\8bm
+,
+m\97sLab\96
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_M\97su»m\92tLab\96
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Lab\96InfoI\8bm_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Lab\96InfoI\8bm_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_Lab\96InfoI\8bm_¥ecs_1
+ = {
+
+28 \17(\19
+Lab\96InfoI\8bm
+),
+
+29
+off£tof
+(\19
+Lab\96InfoI\8bm
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_Lab\96InfoI\8bm_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Lab\96InfoI\8bm
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
+[0]),
+
+42
+a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_Lab\96InfoI\8bm_1
+,
+
+48 &
+a¢_SPC_Lab\96InfoI\8bm_¥ecs_1
+
+
+ @LabelInfoList.c
+
+8 \ 2
+ ~"Lab\96InfoLi¡.h
+"
+
+10 \ 2
+ ~"Lab\96InfoI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_Lab\96InfoLi¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 31, -1, 1, 2147483647 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Lab\96InfoLi¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_Lab\96InfoI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Lab\96InfoLi¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_Lab\96InfoLi¡_¥ecs_1
+ = {
+
+31 \17(\19
+Lab\96InfoLi¡
+),
+
+32
+off£tof
+(\19
+Lab\96InfoLi¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Lab\96InfoLi¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_Lab\96InfoLi¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_Lab\96InfoLi¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_Lab\96InfoLi¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_Lab\96InfoLi¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_Lab\96InfoLi¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_Lab\96InfoLi¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_Lab\96InfoLi¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_Lab\96InfoLi¡_1
+,
+
+48 &
+a¢_SPC_Lab\96InfoLi¡_¥ecs_1
+
+
+ @MME-Code.c
+
+8 \ 2
+ ~"MME-Code.h
+"
+
+11
+ $MME_Code_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 1)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_MME_Code_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 1, 1 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_MME_Code_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_MME_Code
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_MME_Code_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_MME_Code_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_MME_Code_\8fgs_1
+[0]),
+
+55
+a¢_DEF_MME_Code_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_MME_Code_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_MME_Code_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_MME_Code_cÚ¡r_1
+,
+MME_Code_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @MME-Group-ID.c
+
+8 \ 2
+ ~"MME-Group-ID.h
+"
+
+11
+ $MME_Group_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 2)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_MME_Group_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 2, 2 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_MME_Group_ID_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_MME_Group_ID
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_MME_Group_ID_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_MME_Group_ID_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_MME_Group_ID_\8fgs_1
+[0]),
+
+55
+a¢_DEF_MME_Group_ID_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_MME_Group_ID_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_MME_Group_ID_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_MME_Group_ID_cÚ¡r_1
+,
+MME_Group_ID_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @MME-UE-S1AP-ID.c
+
+8 \ 2
+ ~"MME-UE-S1AP-ID.h
+"
+
+11
+ $MME_UE_S1AP_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+14 if(!
+¥\8c
+) {
+
+15
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+17
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+24
+ }
+}
+
+30
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_MME_UE_S1AP_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+31 {
+APC_CONSTRAINED
+, 32, -1, 0, 4294967295 } ,
+
+32 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+35 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_MME_UE_S1AP_ID_¥ecs_1
+ = {
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_MME_UE_S1AP_ID_\8fgs_1
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+43
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_MME_UE_S1AP_ID
+ = {
+
+46 &
+a¢_OP_N©iveIÁeg\94
+,
+
+47
+a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
+,
+
+48 \17(
+a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
+)
+
+49 /\17(
+a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
+[0]),
+
+50
+a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
+,
+
+51 \17(
+a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
+)
+
+52 /\17(
+a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
+[0]),
+
+53 { 0, &
+a¢_PER_ty³_MME_UE_S1AP_ID_cÚ¡r_1
+,
+MME_UE_S1AP_ID_cÚ¡¿\9at
+ },
+
+55 &
+a¢_SPC_MME_UE_S1AP_ID_¥ecs_1
+
+
+ @MatchingCondItem.c
+
+8 \ 2
+ ~"M©ch\9agCÚdI\8bm.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tLab\96.h
+"
+
+11 \ 2
+ ~"Te¡CÚdInfo.h
+"
+
+12
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M©ch\9agCÚdI\8bm_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+13 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+14 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+17
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M©ch\9agCÚdI\8bm_1
+[] = {
+
+18 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+M©ch\9agCÚdI\8bm
+,
+choiû
+.
+m\97sLab\96
+),
+
+19 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+21 &
+a¢_DEF_M\97su»m\92tLab\96
+,
+
+27 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+M©ch\9agCÚdI\8bm
+,
+choiû
+.
+\8b¡CÚdInfo
+),
+
+28 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+30 &
+a¢_DEF_Te¡CÚdInfo
+,
+
+37 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M©ch\9agCÚdI\8bm_\8fg2\96_1
+[] = {
+
+38 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+39 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+41
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_M©ch\9agCÚdI\8bm_¥ecs_1
+ = {
+
+42 \17(\19
+M©ch\9agCÚdI\8bm
+),
+
+43
+off£tof
+(\19
+M©ch\9agCÚdI\8bm
+,
+_a¢_ùx
+),
+
+44
+off£tof
+(\19
+M©ch\9agCÚdI\8bm
+,
+´e£Á
+),
+
+45 \17(((\19
+M©ch\9agCÚdI\8bm
+ *)0)->
+´e£Á
+),
+
+46
+a¢_MAP_M©ch\9agCÚdI\8bm_\8fg2\96_1
+,
+
+51
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M©ch\9agCÚdI\8bm
+ = {
+
+54 &
+a¢_OP_CHOICE
+,
+
+59 { 0, &
+a¢_PER_ty³_M©ch\9agCÚdI\8bm_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+60
+a¢_MBR_M©ch\9agCÚdI\8bm_1
+,
+
+62 &
+a¢_SPC_M©ch\9agCÚdI\8bm_¥ecs_1
+
+
+ @MatchingCondList.c
+
+8 \ 2
+ ~"M©ch\9agCÚdLi¡.h
+"
+
+10 \ 2
+ ~"M©ch\9agCÚdI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M©ch\9agCÚdLi¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 15, 15, 1, 32768 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M©ch\9agCÚdLi¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+20 &
+a¢_DEF_M©ch\9agCÚdI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M©ch\9agCÚdLi¡_¥ecs_1
+ = {
+
+31 \17(\19
+M©ch\9agCÚdLi¡
+),
+
+32
+off£tof
+(\19
+M©ch\9agCÚdLi¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M©ch\9agCÚdLi¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M©ch\9agCÚdLi¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M©ch\9agCÚdLi¡_1
+,
+
+48 &
+a¢_SPC_M©ch\9agCÚdLi¡_¥ecs_1
+
+
+ @MatchingUEidItem.c
+
+8 \ 2
+ ~"M©ch\9agUEidI\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M©ch\9agUEidI\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M©ch\9agUEidI\8bm
+,
+ueID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_UEID
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M©ch\9agUEidI\8bm_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_M©ch\9agUEidI\8bm_¥ecs_1
+ = {
+
+28 \17(\19
+M©ch\9agUEidI\8bm
+),
+
+29
+off£tof
+(\19
+M©ch\9agUEidI\8bm
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_M©ch\9agUEidI\8bm_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M©ch\9agUEidI\8bm
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M©ch\9agUEidI\8bm_1
+,
+
+48 &
+a¢_SPC_M©ch\9agUEidI\8bm_¥ecs_1
+
+
+ @MatchingUEidList.c
+
+8 \ 2
+ ~"M©ch\9agUEidLi¡.h
+"
+
+10 \ 2
+ ~"M©ch\9agUEidI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M©ch\9agUEidLi¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 16, 16, 1, 65535 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M©ch\9agUEidLi¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_M©ch\9agUEidI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M©ch\9agUEidLi¡_¥ecs_1
+ = {
+
+31 \17(\19
+M©ch\9agUEidLi¡
+),
+
+32
+off£tof
+(\19
+M©ch\9agUEidLi¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M©ch\9agUEidLi¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M©ch\9agUEidLi¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M©ch\9agUEidLi¡_1
+,
+
+48 &
+a¢_SPC_M©ch\9agUEidLi¡_¥ecs_1
+
+
+ @MeasurementCondItem.c
+
+8 \ 2
+ ~"M\97su»m\92tCÚdI\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tCÚdI\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tCÚdI\8bm
+,
+m\97sTy³
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_M\97su»m\92tTy³
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tCÚdI\8bm
+,
+m©ch\9agCÚd
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_M©ch\9agCÚdLi¡
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tCÚdI\8bm_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tCÚdI\8bm_¥ecs_1
+ = {
+
+38 \17(\19
+M\97su»m\92tCÚdI\8bm
+),
+
+39
+off£tof
+(\19
+M\97su»m\92tCÚdI\8bm
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_M\97su»m\92tCÚdI\8bm_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tCÚdI\8bm
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
+[0]),
+
+52
+a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_M\97su»m\92tCÚdI\8bm_1
+,
+
+58 &
+a¢_SPC_M\97su»m\92tCÚdI\8bm_¥ecs_1
+
+
+ @MeasurementCondList.c
+
+8 \ 2
+ ~"M\97su»m\92tCÚdLi¡.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tCÚdI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tCÚdLi¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 16, 16, 1, 65535 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tCÚdLi¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_M\97su»m\92tCÚdI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tCÚdLi¡_¥ecs_1
+ = {
+
+31 \17(\19
+M\97su»m\92tCÚdLi¡
+),
+
+32
+off£tof
+(\19
+M\97su»m\92tCÚdLi¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tCÚdLi¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M\97su»m\92tCÚdLi¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M\97su»m\92tCÚdLi¡_1
+,
+
+48 &
+a¢_SPC_M\97su»m\92tCÚdLi¡_¥ecs_1
+
+
+ @MeasurementCondUEidItem.c
+
+8 \ 2
+ ~"M\97su»m\92tCÚdUEidI\8bm.h
+"
+
+10 \ 2
+ ~"M©ch\9agUEidLi¡.h
+"
+
+11
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tCÚdUEidI\8bm_1
+[] = {
+
+12 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tCÚdUEidI\8bm
+,
+m\97sTy³
+),
+
+13 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+15 &
+a¢_DEF_M\97su»m\92tTy³
+,
+
+21 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tCÚdUEidI\8bm
+,
+m©ch\9agCÚd
+),
+
+22 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+24 &
+a¢_DEF_M©ch\9agCÚdLi¡
+,
+
+30 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+M\97su»m\92tCÚdUEidI\8bm
+,
+m©ch\9agUEidLi¡
+),
+
+31 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+33 &
+a¢_DEF_M©ch\9agUEidLi¡
+,
+
+40 \18cڡ \12
+ ga¢_MAP_M\97su»m\92tCÚdUEidI\8bm_oms_1
+[] = { 2 };
+
+41 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
+[] = {
+
+42 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+44 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tCÚdUEidI\8bm_\8fg2\96_1
+[] = {
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+46 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+47 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+49
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tCÚdUEidI\8bm_¥ecs_1
+ = {
+
+50 \17(\19
+M\97su»m\92tCÚdUEidI\8bm
+),
+
+51
+off£tof
+(\19
+M\97su»m\92tCÚdUEidI\8bm
+,
+_a¢_ùx
+),
+
+52
+a¢_MAP_M\97su»m\92tCÚdUEidI\8bm_\8fg2\96_1
+,
+
+54
+a¢_MAP_M\97su»m\92tCÚdUEidI\8bm_oms_1
+,
+
+58
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tCÚdUEidI\8bm
+ = {
+
+61 &
+a¢_OP_SEQUENCE
+,
+
+62
+a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
+,
+
+63 \17(
+a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
+)
+
+64 /\17(
+a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
+[0]),
+
+65
+a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
+,
+
+66 \17(
+a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
+)
+
+67 /\17(
+a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
+[0]),
+
+68 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+69
+a¢_MBR_M\97su»m\92tCÚdUEidI\8bm_1
+,
+
+71 &
+a¢_SPC_M\97su»m\92tCÚdUEidI\8bm_¥ecs_1
+
+
+ @MeasurementCondUEidList.c
+
+8 \ 2
+ ~"M\97su»m\92tCÚdUEidLi¡.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tCÚdUEidI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tCÚdUEidLi¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 16, 16, 1, 65535 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tCÚdUEidLi¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_M\97su»m\92tCÚdUEidI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tCÚdUEidLi¡_¥ecs_1
+ = {
+
+31 \17(\19
+M\97su»m\92tCÚdUEidLi¡
+),
+
+32
+off£tof
+(\19
+M\97su»m\92tCÚdUEidLi¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tCÚdUEidLi¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M\97su»m\92tCÚdUEidLi¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M\97su»m\92tCÚdUEidLi¡_1
+,
+
+48 &
+a¢_SPC_M\97su»m\92tCÚdUEidLi¡_¥ecs_1
+
+
+ @MeasurementData.c
+
+8 \ 2
+ ~"M\97su»m\92tD©a.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tD©aI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tD©a_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 16, 16, 1, 65535 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tD©a_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_M\97su»m\92tD©aI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tD©a_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tD©a_¥ecs_1
+ = {
+
+31 \17(\19
+M\97su»m\92tD©a
+),
+
+32
+off£tof
+(\19
+M\97su»m\92tD©a
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tD©a
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M\97su»m\92tD©a_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M\97su»m\92tD©a_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M\97su»m\92tD©a_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M\97su»m\92tD©a_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M\97su»m\92tD©a_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M\97su»m\92tD©a_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M\97su»m\92tD©a_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M\97su»m\92tD©a_1
+,
+
+48 &
+a¢_SPC_M\97su»m\92tD©a_¥ecs_1
+
+
+ @MeasurementDataItem.c
+
+8 \ 2
+ ~"M\97su»m\92tD©aI\8bm.h
+"
+
+14 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_\9acom¶\91eFÏg_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+15 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+16 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+19 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_\9acom¶\91eFÏg_v®ue2\92um_3
+[] = {
+
+23 \18cڡ \1d\12
+ ga¢_MAP_\9acom¶\91eFÏg_\92um2v®ue_3
+[] = {
+
+27 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_\9acom¶\91eFÏg_¥ecs_3
+ = {
+
+28
+a¢_MAP_\9acom¶\91eFÏg_v®ue2\92um_3
+,
+
+29
+a¢_MAP_\9acom¶\91eFÏg_\92um2v®ue_3
+,
+
+36 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_\9acom¶\91eFÏg_\8fgs_3
+[] = {
+
+37 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+38 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+41
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_\9acom¶\91eFÏg_3
+ = {
+
+44 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+45
+a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
+,
+
+46 \17(
+a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
+)
+
+47 /\17(
+a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
+[0]) - 1,
+
+48
+a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
+,
+
+49 \17(
+a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
+)
+
+50 /\17(
+a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
+[0]),
+
+51 { 0, &
+a¢_PER_ty³_\9acom¶\91eFÏg_cÚ¡r_3
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+53 &
+a¢_SPC_\9acom¶\91eFÏg_¥ecs_3
+
+
+56
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tD©aI\8bm_1
+[] = {
+
+57 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tD©aI\8bm
+,
+m\97sRecÜd
+),
+
+58 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+60 &
+a¢_DEF_M\97su»m\92tRecÜd
+,
+
+66 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+M\97su»m\92tD©aI\8bm
+,
+\9acom¶\91eFÏg
+),
+
+67 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+69 &
+a¢_DEF_\9acom¶\91eFÏg_3
+,
+
+76 \18cڡ \12
+ ga¢_MAP_M\97su»m\92tD©aI\8bm_oms_1
+[] = { 1 };
+
+77 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
+[] = {
+
+78 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+80 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tD©aI\8bm_\8fg2\96_1
+[] = {
+
+81 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+82 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+84
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tD©aI\8bm_¥ecs_1
+ = {
+
+85 \17(\19
+M\97su»m\92tD©aI\8bm
+),
+
+86
+off£tof
+(\19
+M\97su»m\92tD©aI\8bm
+,
+_a¢_ùx
+),
+
+87
+a¢_MAP_M\97su»m\92tD©aI\8bm_\8fg2\96_1
+,
+
+89
+a¢_MAP_M\97su»m\92tD©aI\8bm_oms_1
+,
+
+93
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tD©aI\8bm
+ = {
+
+96 &
+a¢_OP_SEQUENCE
+,
+
+97
+a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
+,
+
+98 \17(
+a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
+)
+
+99 /\17(
+a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
+[0]),
+
+100
+a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
+,
+
+101 \17(
+a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
+)
+
+102 /\17(
+a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
+[0]),
+
+103 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+104
+a¢_MBR_M\97su»m\92tD©aI\8bm_1
+,
+
+106 &
+a¢_SPC_M\97su»m\92tD©aI\8bm_¥ecs_1
+
+
+ @MeasurementInfo-Action-Item.c
+
+8 \ 2
+ ~"M\97su»m\92tInfo-AùiÚ-I\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tInfo_AùiÚ_I\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tInfo_AùiÚ_I\8bm
+,
+m\97sName
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_M\97su»m\92tTy³Name
+,
+
+20 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+M\97su»m\92tInfo_AùiÚ_I\8bm
+,
+m\97sID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_M\97su»m\92tTy³ID
+,
+
+30 \18cڡ \12
+ ga¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_oms_1
+[] = { 1 };
+
+31 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
+[] = {
+
+32 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+34 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fg2\96_1
+[] = {
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+38
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tInfo_AùiÚ_I\8bm_¥ecs_1
+ = {
+
+39 \17(\19
+M\97su»m\92tInfo_AùiÚ_I\8bm
+),
+
+40
+off£tof
+(\19
+M\97su»m\92tInfo_AùiÚ_I\8bm
+,
+_a¢_ùx
+),
+
+41
+a¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fg2\96_1
+,
+
+43
+a¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_oms_1
+,
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm
+ = {
+
+50 &
+a¢_OP_SEQUENCE
+,
+
+51
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
+[0]),
+
+54
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
+[0]),
+
+57 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_M\97su»m\92tInfo_AùiÚ_I\8bm_1
+,
+
+60 &
+a¢_SPC_M\97su»m\92tInfo_AùiÚ_I\8bm_¥ecs_1
+
+
+ @MeasurementInfo-Action-List.c
+
+8 \ 2
+ ~"M\97su»m\92tInfo-AùiÚ-Li¡.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tInfo-AùiÚ-I\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tInfo_AùiÚ_Li¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 16, 16, 1, 65535 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tInfo_AùiÚ_Li¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tInfo_AùiÚ_Li¡_¥ecs_1
+ = {
+
+31 \17(\19
+M\97su»m\92tInfo_AùiÚ_Li¡
+),
+
+32
+off£tof
+(\19
+M\97su»m\92tInfo_AùiÚ_Li¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M\97su»m\92tInfo_AùiÚ_Li¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M\97su»m\92tInfo_AùiÚ_Li¡_1
+,
+
+48 &
+a¢_SPC_M\97su»m\92tInfo_AùiÚ_Li¡_¥ecs_1
+
+
+ @MeasurementInfoItem.c
+
+8 \ 2
+ ~"M\97su»m\92tInfoI\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tInfoI\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tInfoI\8bm
+,
+m\97sTy³
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_M\97su»m\92tTy³
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tInfoI\8bm
+,
+Ïb\96InfoLi¡
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_Lab\96InfoLi¡
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tInfoI\8bm_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tInfoI\8bm_¥ecs_1
+ = {
+
+38 \17(\19
+M\97su»m\92tInfoI\8bm
+),
+
+39
+off£tof
+(\19
+M\97su»m\92tInfoI\8bm
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_M\97su»m\92tInfoI\8bm_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tInfoI\8bm
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
+[0]),
+
+52
+a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_M\97su»m\92tInfoI\8bm_1
+,
+
+58 &
+a¢_SPC_M\97su»m\92tInfoI\8bm_¥ecs_1
+
+
+ @MeasurementInfoList.c
+
+8 \ 2
+ ~"M\97su»m\92tInfoLi¡.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tInfoI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tInfoLi¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 16, 16, 1, 65535 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tInfoLi¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_M\97su»m\92tInfoI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tInfoLi¡_¥ecs_1
+ = {
+
+31 \17(\19
+M\97su»m\92tInfoLi¡
+),
+
+32
+off£tof
+(\19
+M\97su»m\92tInfoLi¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tInfoLi¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M\97su»m\92tInfoLi¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M\97su»m\92tInfoLi¡_1
+,
+
+48 &
+a¢_SPC_M\97su»m\92tInfoLi¡_¥ecs_1
+
+
+ @MeasurementLabel.c
+
+8 \ 2
+ ~"M\97su»m\92tLab\96.h
+"
+
+10 \ 2
+ ~"S-NSSAI.h
+"
+
+40
+ $memb_aRPmax_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+41
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+42 \13
+v®ue
+;
+
+44 if(!
+¥\8c
+) {
+
+45
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+47
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+51
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+53 if((
+v®ue
+ >= 1 && value <= 15)) {
+
+57
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+59
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+62
+ }
+}
+
+65
+ $memb_aRPm\9a_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+66
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+67 \13
+v®ue
+;
+
+69 if(!
+¥\8c
+) {
+
+70
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+72
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+76
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+78 if((
+v®ue
+ >= 1 && value <= 15)) {
+
+82
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+84
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+87
+ }
+}
+
+90
+ $memb_b\99¿\8bRªge_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+91
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+92 \13
+v®ue
+;
+
+94 if(!
+¥\8c
+) {
+
+95
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+97
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+101
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+103 if((
+v®ue
+ >= 1 && value <= 65535)) {
+
+107
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+109
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+112
+ }
+}
+
+115
+ $memb_Ïy\94MU_MIMO_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+116
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+117 \13
+v®ue
+;
+
+119 if(!
+¥\8c
+) {
+
+120
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+122
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+126
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+128 if((
+v®ue
+ >= 1 && value <= 65535)) {
+
+132
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+134
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+137
+ }
+}
+
+140
+ $memb_di¡B\9aX_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+141
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+142 \13
+v®ue
+;
+
+144 if(!
+¥\8c
+) {
+
+145
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+147
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+151
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+153 if((
+v®ue
+ >= 1 && value <= 65535)) {
+
+157
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+159
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+162
+ }
+}
+
+165
+ $memb_di¡B\9aY_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+166
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+167 \13
+v®ue
+;
+
+169 if(!
+¥\8c
+) {
+
+170
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+172
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+176
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+178 if((
+v®ue
+ >= 1 && value <= 65535)) {
+
+182
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+184
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+187
+ }
+}
+
+190
+ $memb_di¡B\9aZ_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+191
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+192 \13
+v®ue
+;
+
+194 if(!
+¥\8c
+) {
+
+195
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+197
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+201
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+203 if((
+v®ue
+ >= 1 && value <= 65535)) {
+
+207
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+209
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+212
+ }
+}
+
+214 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_noLab\96_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+215 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+216 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+219 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_sUM_cÚ¡r_16
+
+ gCC_NOTUSED
+ = {
+
+220 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+221 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+224 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_´eLab\96Ov\94ride_cÚ¡r_22
+
+ gCC_NOTUSED
+ = {
+
+225 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+226 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+229 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_¡¬tEndInd_cÚ¡r_25
+
+ gCC_NOTUSED
+ = {
+
+230 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+231 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+234 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_m\9a_cÚ¡r_29
+
+ gCC_NOTUSED
+ = {
+
+235 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+236 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+239 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_max_cÚ¡r_32
+
+ gCC_NOTUSED
+ = {
+
+240 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+241 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+244 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_avg_cÚ¡r_35
+
+ gCC_NOTUSED
+ = {
+
+245 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+246 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+249 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_aRPmax_cÚ¡r_12
+
+ gCC_NOTUSED
+ = {
+
+250 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 4, 4, 1, 15 } ,
+
+251 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+254 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_aRPm\9a_cÚ¡r_13
+
+ gCC_NOTUSED
+ = {
+
+255 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 4, 4, 1, 15 } ,
+
+256 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+259 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_b\99¿\8bRªge_cÚ¡r_14
+
+ gCC_NOTUSED
+ = {
+
+260 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 16, 16, 1, 65535 } ,
+
+261 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+264 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_Ïy\94MU_MIMO_cÚ¡r_15
+
+ gCC_NOTUSED
+ = {
+
+265 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 16, 16, 1, 65535 } ,
+
+266 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+269 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_di¡B\9aX_cÚ¡r_19
+
+ gCC_NOTUSED
+ = {
+
+270 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 16, 16, 1, 65535 } ,
+
+271 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+274 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_di¡B\9aY_cÚ¡r_20
+
+ gCC_NOTUSED
+ = {
+
+275 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 16, 16, 1, 65535 } ,
+
+276 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+279 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_di¡B\9aZ_cÚ¡r_21
+
+ gCC_NOTUSED
+ = {
+
+280 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 16, 16, 1, 65535 } ,
+
+281 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+284 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_noLab\96_v®ue2\92um_2
+[] = {
+
+288 \18cڡ \1d\12
+ ga¢_MAP_noLab\96_\92um2v®ue_2
+[] = {
+
+292 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_noLab\96_¥ecs_2
+ = {
+
+293
+a¢_MAP_noLab\96_v®ue2\92um_2
+,
+
+294
+a¢_MAP_noLab\96_\92um2v®ue_2
+,
+
+301 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_noLab\96_\8fgs_2
+[] = {
+
+302 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+303 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+306
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_noLab\96_2
+ = {
+
+309 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+310
+a¢_DEF_noLab\96_\8fgs_2
+,
+
+311 \17(
+a¢_DEF_noLab\96_\8fgs_2
+)
+
+312 /\17(
+a¢_DEF_noLab\96_\8fgs_2
+[0]) - 1,
+
+313
+a¢_DEF_noLab\96_\8fgs_2
+,
+
+314 \17(
+a¢_DEF_noLab\96_\8fgs_2
+)
+
+315 /\17(
+a¢_DEF_noLab\96_\8fgs_2
+[0]),
+
+316 { 0, &
+a¢_PER_ty³_noLab\96_cÚ¡r_2
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+318 &
+a¢_SPC_noLab\96_¥ecs_2
+
+
+321 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_sUM_v®ue2\92um_16
+[] = {
+
+325 \18cڡ \1d\12
+ ga¢_MAP_sUM_\92um2v®ue_16
+[] = {
+
+329 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_sUM_¥ecs_16
+ = {
+
+330
+a¢_MAP_sUM_v®ue2\92um_16
+,
+
+331
+a¢_MAP_sUM_\92um2v®ue_16
+,
+
+338 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_sUM_\8fgs_16
+[] = {
+
+339 (
+ASN_TAG_CLASS_CONTEXT
+ | (12 << 2)),
+
+340 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+343
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_sUM_16
+ = {
+
+346 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+347
+a¢_DEF_sUM_\8fgs_16
+,
+
+348 \17(
+a¢_DEF_sUM_\8fgs_16
+)
+
+349 /\17(
+a¢_DEF_sUM_\8fgs_16
+[0]) - 1,
+
+350
+a¢_DEF_sUM_\8fgs_16
+,
+
+351 \17(
+a¢_DEF_sUM_\8fgs_16
+)
+
+352 /\17(
+a¢_DEF_sUM_\8fgs_16
+[0]),
+
+353 { 0, &
+a¢_PER_ty³_sUM_cÚ¡r_16
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+355 &
+a¢_SPC_sUM_¥ecs_16
+
+
+358 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_´eLab\96Ov\94ride_v®ue2\92um_22
+[] = {
+
+362 \18cڡ \1d\12
+ ga¢_MAP_´eLab\96Ov\94ride_\92um2v®ue_22
+[] = {
+
+366 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_´eLab\96Ov\94ride_¥ecs_22
+ = {
+
+367
+a¢_MAP_´eLab\96Ov\94ride_v®ue2\92um_22
+,
+
+368
+a¢_MAP_´eLab\96Ov\94ride_\92um2v®ue_22
+,
+
+375 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_´eLab\96Ov\94ride_\8fgs_22
+[] = {
+
+376 (
+ASN_TAG_CLASS_CONTEXT
+ | (16 << 2)),
+
+377 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+380
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_´eLab\96Ov\94ride_22
+ = {
+
+383 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+384
+a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
+,
+
+385 \17(
+a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
+)
+
+386 /\17(
+a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
+[0]) - 1,
+
+387
+a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
+,
+
+388 \17(
+a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
+)
+
+389 /\17(
+a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
+[0]),
+
+390 { 0, &
+a¢_PER_ty³_´eLab\96Ov\94ride_cÚ¡r_22
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+392 &
+a¢_SPC_´eLab\96Ov\94ride_¥ecs_22
+
+
+395 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_¡¬tEndInd_v®ue2\92um_25
+[] = {
+
+400 \18cڡ \1d\12
+ ga¢_MAP_¡¬tEndInd_\92um2v®ue_25
+[] = {
+
+405 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_¡¬tEndInd_¥ecs_25
+ = {
+
+406
+a¢_MAP_¡¬tEndInd_v®ue2\92um_25
+,
+
+407
+a¢_MAP_¡¬tEndInd_\92um2v®ue_25
+,
+
+414 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_¡¬tEndInd_\8fgs_25
+[] = {
+
+415 (
+ASN_TAG_CLASS_CONTEXT
+ | (17 << 2)),
+
+416 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+419
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_¡¬tEndInd_25
+ = {
+
+422 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+423
+a¢_DEF_¡¬tEndInd_\8fgs_25
+,
+
+424 \17(
+a¢_DEF_¡¬tEndInd_\8fgs_25
+)
+
+425 /\17(
+a¢_DEF_¡¬tEndInd_\8fgs_25
+[0]) - 1,
+
+426
+a¢_DEF_¡¬tEndInd_\8fgs_25
+,
+
+427 \17(
+a¢_DEF_¡¬tEndInd_\8fgs_25
+)
+
+428 /\17(
+a¢_DEF_¡¬tEndInd_\8fgs_25
+[0]),
+
+429 { 0, &
+a¢_PER_ty³_¡¬tEndInd_cÚ¡r_25
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+431 &
+a¢_SPC_¡¬tEndInd_¥ecs_25
+
+
+434 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_m\9a_v®ue2\92um_29
+[] = {
+
+438 \18cڡ \1d\12
+ ga¢_MAP_m\9a_\92um2v®ue_29
+[] = {
+
+442 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_m\9a_¥ecs_29
+ = {
+
+443
+a¢_MAP_m\9a_v®ue2\92um_29
+,
+
+444
+a¢_MAP_m\9a_\92um2v®ue_29
+,
+
+451 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_m\9a_\8fgs_29
+[] = {
+
+452 (
+ASN_TAG_CLASS_CONTEXT
+ | (18 << 2)),
+
+453 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+456
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_m\9a_29
+ = {
+
+459 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+460
+a¢_DEF_m\9a_\8fgs_29
+,
+
+461 \17(
+a¢_DEF_m\9a_\8fgs_29
+)
+
+462 /\17(
+a¢_DEF_m\9a_\8fgs_29
+[0]) - 1,
+
+463
+a¢_DEF_m\9a_\8fgs_29
+,
+
+464 \17(
+a¢_DEF_m\9a_\8fgs_29
+)
+
+465 /\17(
+a¢_DEF_m\9a_\8fgs_29
+[0]),
+
+466 { 0, &
+a¢_PER_ty³_m\9a_cÚ¡r_29
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+468 &
+a¢_SPC_m\9a_¥ecs_29
+
+
+471 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_max_v®ue2\92um_32
+[] = {
+
+475 \18cڡ \1d\12
+ ga¢_MAP_max_\92um2v®ue_32
+[] = {
+
+479 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_max_¥ecs_32
+ = {
+
+480
+a¢_MAP_max_v®ue2\92um_32
+,
+
+481
+a¢_MAP_max_\92um2v®ue_32
+,
+
+488 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_max_\8fgs_32
+[] = {
+
+489 (
+ASN_TAG_CLASS_CONTEXT
+ | (19 << 2)),
+
+490 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+493
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_max_32
+ = {
+
+496 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+497
+a¢_DEF_max_\8fgs_32
+,
+
+498 \17(
+a¢_DEF_max_\8fgs_32
+)
+
+499 /\17(
+a¢_DEF_max_\8fgs_32
+[0]) - 1,
+
+500
+a¢_DEF_max_\8fgs_32
+,
+
+501 \17(
+a¢_DEF_max_\8fgs_32
+)
+
+502 /\17(
+a¢_DEF_max_\8fgs_32
+[0]),
+
+503 { 0, &
+a¢_PER_ty³_max_cÚ¡r_32
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+505 &
+a¢_SPC_max_¥ecs_32
+
+
+508 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_avg_v®ue2\92um_35
+[] = {
+
+512 \18cڡ \1d\12
+ ga¢_MAP_avg_\92um2v®ue_35
+[] = {
+
+516 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_avg_¥ecs_35
+ = {
+
+517
+a¢_MAP_avg_v®ue2\92um_35
+,
+
+518
+a¢_MAP_avg_\92um2v®ue_35
+,
+
+525 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_avg_\8fgs_35
+[] = {
+
+526 (
+ASN_TAG_CLASS_CONTEXT
+ | (20 << 2)),
+
+527 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+530
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_avg_35
+ = {
+
+533 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+534
+a¢_DEF_avg_\8fgs_35
+,
+
+535 \17(
+a¢_DEF_avg_\8fgs_35
+)
+
+536 /\17(
+a¢_DEF_avg_\8fgs_35
+[0]) - 1,
+
+537
+a¢_DEF_avg_\8fgs_35
+,
+
+538 \17(
+a¢_DEF_avg_\8fgs_35
+)
+
+539 /\17(
+a¢_DEF_avg_\8fgs_35
+[0]),
+
+540 { 0, &
+a¢_PER_ty³_avg_cÚ¡r_35
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+542 &
+a¢_SPC_avg_¥ecs_35
+
+
+545
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tLab\96_1
+[] = {
+
+546 {
+ATF_POINTER
+, 21,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+noLab\96
+),
+
+547 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+549 &
+a¢_DEF_noLab\96_2
+,
+
+555 {
+ATF_POINTER
+, 20,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+¶mnID
+),
+
+556 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+558 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+564 {
+ATF_POINTER
+, 19,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+¦iûID
+),
+
+565 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+567 &
+a¢_DEF_S_NSSAI
+,
+
+573 {
+ATF_POINTER
+, 18,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+fiveQI
+),
+
+574 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+576 &
+a¢_DEF_FiveQI
+,
+
+582 {
+ATF_POINTER
+, 17,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+qFI
+),
+
+583 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+585 &
+a¢_DEF_QosFlowId\92tif\9br
+,
+
+591 {
+ATF_POINTER
+, 16,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+qCI
+),
+
+592 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+594 &
+a¢_DEF_QCI
+,
+
+600 {
+ATF_POINTER
+, 15,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+qCImax
+),
+
+601 (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)),
+
+603 &
+a¢_DEF_QCI
+,
+
+609 {
+ATF_POINTER
+, 14,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+qCIm\9a
+),
+
+610 (
+ASN_TAG_CLASS_CONTEXT
+ | (7 << 2)),
+
+612 &
+a¢_DEF_QCI
+,
+
+618 {
+ATF_POINTER
+, 13,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+aRPmax
+),
+
+619 (
+ASN_TAG_CLASS_CONTEXT
+ | (8 << 2)),
+
+621 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+623 { 0, &
+a¢_PER_memb_aRPmax_cÚ¡r_12
+,
+memb_aRPmax_cÚ¡¿\9at_1
+ },
+
+627 {
+ATF_POINTER
+, 12,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+aRPm\9a
+),
+
+628 (
+ASN_TAG_CLASS_CONTEXT
+ | (9 << 2)),
+
+630 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+632 { 0, &
+a¢_PER_memb_aRPm\9a_cÚ¡r_13
+,
+memb_aRPm\9a_cÚ¡¿\9at_1
+ },
+
+636 {
+ATF_POINTER
+, 11,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+b\99¿\8bRªge
+),
+
+637 (
+ASN_TAG_CLASS_CONTEXT
+ | (10 << 2)),
+
+639 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+641 { 0, &
+a¢_PER_memb_b\99¿\8bRªge_cÚ¡r_14
+,
+memb_b\99¿\8bRªge_cÚ¡¿\9at_1
+ },
+
+645 {
+ATF_POINTER
+, 10,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+Ïy\94MU_MIMO
+),
+
+646 (
+ASN_TAG_CLASS_CONTEXT
+ | (11 << 2)),
+
+648 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+650 { 0, &
+a¢_PER_memb_Ïy\94MU_MIMO_cÚ¡r_15
+,
+memb_Ïy\94MU_MIMO_cÚ¡¿\9at_1
+ },
+
+654 {
+ATF_POINTER
+, 9,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+sUM
+),
+
+655 (
+ASN_TAG_CLASS_CONTEXT
+ | (12 << 2)),
+
+657 &
+a¢_DEF_sUM_16
+,
+
+663 {
+ATF_POINTER
+, 8,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+di¡B\9aX
+),
+
+664 (
+ASN_TAG_CLASS_CONTEXT
+ | (13 << 2)),
+
+666 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+668 { 0, &
+a¢_PER_memb_di¡B\9aX_cÚ¡r_19
+,
+memb_di¡B\9aX_cÚ¡¿\9at_1
+ },
+
+672 {
+ATF_POINTER
+, 7,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+di¡B\9aY
+),
+
+673 (
+ASN_TAG_CLASS_CONTEXT
+ | (14 << 2)),
+
+675 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+677 { 0, &
+a¢_PER_memb_di¡B\9aY_cÚ¡r_20
+,
+memb_di¡B\9aY_cÚ¡¿\9at_1
+ },
+
+681 {
+ATF_POINTER
+, 6,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+di¡B\9aZ
+),
+
+682 (
+ASN_TAG_CLASS_CONTEXT
+ | (15 << 2)),
+
+684 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+686 { 0, &
+a¢_PER_memb_di¡B\9aZ_cÚ¡r_21
+,
+memb_di¡B\9aZ_cÚ¡¿\9at_1
+ },
+
+690 {
+ATF_POINTER
+, 5,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+´eLab\96Ov\94ride
+),
+
+691 (
+ASN_TAG_CLASS_CONTEXT
+ | (16 << 2)),
+
+693 &
+a¢_DEF_´eLab\96Ov\94ride_22
+,
+
+699 {
+ATF_POINTER
+, 4,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+¡¬tEndInd
+),
+
+700 (
+ASN_TAG_CLASS_CONTEXT
+ | (17 << 2)),
+
+702 &
+a¢_DEF_¡¬tEndInd_25
+,
+
+708 {
+ATF_POINTER
+, 3,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+m\9a
+),
+
+709 (
+ASN_TAG_CLASS_CONTEXT
+ | (18 << 2)),
+
+711 &
+a¢_DEF_m\9a_29
+,
+
+717 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+max
+),
+
+718 (
+ASN_TAG_CLASS_CONTEXT
+ | (19 << 2)),
+
+720 &
+a¢_DEF_max_32
+,
+
+726 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+avg
+),
+
+727 (
+ASN_TAG_CLASS_CONTEXT
+ | (20 << 2)),
+
+729 &
+a¢_DEF_avg_35
+,
+
+736 \18cڡ \12
+ ga¢_MAP_M\97su»m\92tLab\96_oms_1
+[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
+
+737 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tLab\96_\8fgs_1
+[] = {
+
+738 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+740 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tLab\96_\8fg2\96_1
+[] = {
+
+741 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+742 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+743 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+744 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+745 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+746 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 },
+
+747 { (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)), 6, 0, 0 },
+
+748 { (
+ASN_TAG_CLASS_CONTEXT
+ | (7 << 2)), 7, 0, 0 },
+
+749 { (
+ASN_TAG_CLASS_CONTEXT
+ | (8 << 2)), 8, 0, 0 },
+
+750 { (
+ASN_TAG_CLASS_CONTEXT
+ | (9 << 2)), 9, 0, 0 },
+
+751 { (
+ASN_TAG_CLASS_CONTEXT
+ | (10 << 2)), 10, 0, 0 },
+
+752 { (
+ASN_TAG_CLASS_CONTEXT
+ | (11 << 2)), 11, 0, 0 },
+
+753 { (
+ASN_TAG_CLASS_CONTEXT
+ | (12 << 2)), 12, 0, 0 },
+
+754 { (
+ASN_TAG_CLASS_CONTEXT
+ | (13 << 2)), 13, 0, 0 },
+
+755 { (
+ASN_TAG_CLASS_CONTEXT
+ | (14 << 2)), 14, 0, 0 },
+
+756 { (
+ASN_TAG_CLASS_CONTEXT
+ | (15 << 2)), 15, 0, 0 },
+
+757 { (
+ASN_TAG_CLASS_CONTEXT
+ | (16 << 2)), 16, 0, 0 },
+
+758 { (
+ASN_TAG_CLASS_CONTEXT
+ | (17 << 2)), 17, 0, 0 },
+
+759 { (
+ASN_TAG_CLASS_CONTEXT
+ | (18 << 2)), 18, 0, 0 },
+
+760 { (
+ASN_TAG_CLASS_CONTEXT
+ | (19 << 2)), 19, 0, 0 },
+
+761 { (
+ASN_TAG_CLASS_CONTEXT
+ | (20 << 2)), 20, 0, 0 }
+
+763
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tLab\96_¥ecs_1
+ = {
+
+764 \17(\19
+M\97su»m\92tLab\96
+),
+
+765
+off£tof
+(\19
+M\97su»m\92tLab\96
+,
+_a¢_ùx
+),
+
+766
+a¢_MAP_M\97su»m\92tLab\96_\8fg2\96_1
+,
+
+768
+a¢_MAP_M\97su»m\92tLab\96_oms_1
+,
+
+772
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tLab\96
+ = {
+
+775 &
+a¢_OP_SEQUENCE
+,
+
+776
+a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
+,
+
+777 \17(
+a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
+)
+
+778 /\17(
+a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
+[0]),
+
+779
+a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
+,
+
+780 \17(
+a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
+)
+
+781 /\17(
+a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
+[0]),
+
+782 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+783
+a¢_MBR_M\97su»m\92tLab\96_1
+,
+
+785 &
+a¢_SPC_M\97su»m\92tLab\96_¥ecs_1
+
+
+ @MeasurementRecord.c
+
+8 \ 2
+ ~"M\97su»m\92tRecÜd.h
+"
+
+10 \ 2
+ ~"M\97su»m\92tRecÜdI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tRecÜd_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 31, -1, 1, 2147483647 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tRecÜd_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+20 &
+a¢_DEF_M\97su»m\92tRecÜdI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tRecÜd_¥ecs_1
+ = {
+
+31 \17(\19
+M\97su»m\92tRecÜd
+),
+
+32
+off£tof
+(\19
+M\97su»m\92tRecÜd
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tRecÜd
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
+[0]),
+
+42
+a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_M\97su»m\92tRecÜd_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_M\97su»m\92tRecÜd_1
+,
+
+48 &
+a¢_SPC_M\97su»m\92tRecÜd_¥ecs_1
+
+
+ @MeasurementRecordItem.c
+
+8 \ 2
+ ~"M\97su»m\92tRecÜdI\8bm.h
+"
+
+11
+ $\9a\8bg\94_2_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+14 if(!
+¥\8c
+) {
+
+15
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+17
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+24
+ }
+}
+
+31
+ $memb_\9a\8bg\94_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+32
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+34 if(!
+¥\8c
+) {
+
+35
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+37
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+44
+ }
+}
+
+46 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_\9a\8bg\94_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+47 {
+APC_CONSTRAINED
+, 32, -1, 0, 4294967295 } ,
+
+48 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+51 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_\9a\8bg\94_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+52 {
+APC_CONSTRAINED
+, 32, -1, 0, 4294967295 } ,
+
+53 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+56
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tRecÜdI\8bm_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+57 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 2, 2, 0, 2 } ,
+
+58 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+61 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_\9a\8bg\94_¥ecs_2
+ = {
+
+66 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_\9a\8bg\94_\8fgs_2
+[] = {
+
+67 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+68 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+71
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_\9a\8bg\94_2
+ = {
+
+74 &
+a¢_OP_N©iveIÁeg\94
+,
+
+75
+a¢_DEF_\9a\8bg\94_\8fgs_2
+,
+
+76 \17(
+a¢_DEF_\9a\8bg\94_\8fgs_2
+)
+
+77 /\17(
+a¢_DEF_\9a\8bg\94_\8fgs_2
+[0]) - 1,
+
+78
+a¢_DEF_\9a\8bg\94_\8fgs_2
+,
+
+79 \17(
+a¢_DEF_\9a\8bg\94_\8fgs_2
+)
+
+80 /\17(
+a¢_DEF_\9a\8bg\94_\8fgs_2
+[0]),
+
+81 { 0, &
+a¢_PER_ty³_\9a\8bg\94_cÚ¡r_2
+,
+\9a\8bg\94_2_cÚ¡¿\9at
+ },
+
+83 &
+a¢_SPC_\9a\8bg\94_¥ecs_2
+
+
+86
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tRecÜdI\8bm_1
+[] = {
+
+87 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tRecÜdI\8bm
+,
+choiû
+.
+\9a\8bg\94
+),
+
+88 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+90 &
+a¢_DEF_\9a\8bg\94_2
+,
+
+92 { 0, &
+a¢_PER_memb_\9a\8bg\94_cÚ¡r_2
+,
+memb_\9a\8bg\94_cÚ¡¿\9at_1
+ },
+
+96 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tRecÜdI\8bm
+,
+choiû
+.
+»®
+),
+
+97 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+99 &
+a¢_DEF_N©iveR\97l
+,
+
+105 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tRecÜdI\8bm
+,
+choiû
+.
+noV®ue
+),
+
+106 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+108 &
+a¢_DEF_NULL
+,
+
+115 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tRecÜdI\8bm_\8fg2\96_1
+[] = {
+
+116 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+117 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+118 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+120
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tRecÜdI\8bm_¥ecs_1
+ = {
+
+121 \17(\19
+M\97su»m\92tRecÜdI\8bm
+),
+
+122
+off£tof
+(\19
+M\97su»m\92tRecÜdI\8bm
+,
+_a¢_ùx
+),
+
+123
+off£tof
+(\19
+M\97su»m\92tRecÜdI\8bm
+,
+´e£Á
+),
+
+124 \17(((\19
+M\97su»m\92tRecÜdI\8bm
+ *)0)->
+´e£Á
+),
+
+125
+a¢_MAP_M\97su»m\92tRecÜdI\8bm_\8fg2\96_1
+,
+
+130
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tRecÜdI\8bm
+ = {
+
+133 &
+a¢_OP_CHOICE
+,
+
+138 { 0, &
+a¢_PER_ty³_M\97su»m\92tRecÜdI\8bm_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+139
+a¢_MBR_M\97su»m\92tRecÜdI\8bm_1
+,
+
+141 &
+a¢_SPC_M\97su»m\92tRecÜdI\8bm_¥ecs_1
+
+
+ @MeasurementType.c
+
+8 \ 2
+ ~"M\97su»m\92tTy³.h
+"
+
+10
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tTy³_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+11 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+15
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_M\97su»m\92tTy³_1
+[] = {
+
+16 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tTy³
+,
+choiû
+.
+m\97sName
+),
+
+17 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+19 &
+a¢_DEF_M\97su»m\92tTy³Name
+,
+
+25 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+M\97su»m\92tTy³
+,
+choiû
+.
+m\97sID
+),
+
+26 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+28 &
+a¢_DEF_M\97su»m\92tTy³ID
+,
+
+35 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_M\97su»m\92tTy³_\8fg2\96_1
+[] = {
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+37 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+39
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_M\97su»m\92tTy³_¥ecs_1
+ = {
+
+40 \17(\19
+M\97su»m\92tTy³
+),
+
+41
+off£tof
+(\19
+M\97su»m\92tTy³
+,
+_a¢_ùx
+),
+
+42
+off£tof
+(\19
+M\97su»m\92tTy³
+,
+´e£Á
+),
+
+43 \17(((\19
+M\97su»m\92tTy³
+ *)0)->
+´e£Á
+),
+
+44
+a¢_MAP_M\97su»m\92tTy³_\8fg2\96_1
+,
+
+49
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tTy³
+ = {
+
+52 &
+a¢_OP_CHOICE
+,
+
+57 { 0, &
+a¢_PER_ty³_M\97su»m\92tTy³_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_M\97su»m\92tTy³_1
+,
+
+60 &
+a¢_SPC_M\97su»m\92tTy³_¥ecs_1
+
+
+ @MeasurementTypeID.c
+
+8 \ 2
+ ~"M\97su»m\92tTy³ID.h
+"
+
+11
+ $M\97su»m\92tTy³ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 65536)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tTy³ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 16, -1, 1, 65536 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tTy³ID
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
+[0]),
+
+54
+a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_M\97su»m\92tTy³ID_cÚ¡r_1
+,
+M\97su»m\92tTy³ID_cÚ¡¿\9at
+ },
+
+ @MeasurementTypeName.c
+
+8 \ 2
+ ~"M\97su»m\92tTy³Name.h
+"
+
+10 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_1
+[256] = {
+
+20 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_1
+[74] = {
+
+28 \18\12
+ $check_³rm\99\8bd_®phab\91_1
+(cڡ \1e*
+¥\8c
+) {
+
+29 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_1
+;
+
+31 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+32 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+33 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+35 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+36
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+37 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+40
+ }
+}
+
+43
+ $M\97su»m\92tTy³Name_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+44
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+45 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+46
+size_t
+
+size
+;
+
+48 if(!
+¥\8c
+) {
+
+49
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+51
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+55
+size
+ =
+¡
+->size;
+
+57 if((
+size
+ >= 1 && size <= 150)
+
+58 && !
+ `check_³rm\99\8bd_®phab\91_1
+(
+¡
+)) {
+
+62
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+64
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+67
+ }
+}
+
+69 \18\12
+ $a¢_PER_MAP_M\97su»m\92tTy³Name_1_v2c
+(\1d\12
+v®ue
+) {
+
+70 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_1
+)/\17(permitted_alphabet_table_1[0]))
+
+72 \15
+³rm\99\8bd_®phab\91_\8fbË_1
+[
+v®ue
+] - 1;
+
+73
+ }
+}
+
+74 \18\12
+ $a¢_PER_MAP_M\97su»m\92tTy³Name_1_c2v
+(\1d\12
+code
+) {
+
+75 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_1
+)/\17(permitted_alphabet_code2value_1[0]))
+
+77 \15
+³rm\99\8bd_®phab\91_code2v®ue_1
+[
+code
+];
+
+78
+ }
+}
+
+83
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_M\97su»m\92tTy³Name_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+84 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+85 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 8, 8, 1, 150 } ,
+
+86
+a¢_PER_MAP_M\97su»m\92tTy³Name_1_v2c
+,
+
+87
+a¢_PER_MAP_M\97su»m\92tTy³Name_1_c2v
+
+
+89 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
+[] = {
+
+90 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (19 << 2))
+
+92
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_M\97su»m\92tTy³Name
+ = {
+
+95 &
+a¢_OP_Pr\9a\8fbËS\8c\9ag
+,
+
+96
+a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
+,
+
+97 \17(
+a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
+)
+
+98 /\17(
+a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
+[0]),
+
+99
+a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
+,
+
+100 \17(
+a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
+)
+
+101 /\17(
+a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
+[0]),
+
+102 { 0, &
+a¢_PER_ty³_M\97su»m\92tTy³Name_cÚ¡r_1
+,
+M\97su»m\92tTy³Name_cÚ¡¿\9at
+ },
+
+ @NG-RANnodeUEXnAPID.c
+
+8 \ 2
+ ~"NG-RANnodeUEXnAPID.h
+"
+
+11
+ $NG_RANnodeUEXnAPID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+14 if(!
+¥\8c
+) {
+
+15
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+17
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+24
+ }
+}
+
+30
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NG_RANnodeUEXnAPID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+31 {
+APC_CONSTRAINED
+, 32, -1, 0, 4294967295 } ,
+
+32 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+35 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_NG_RANnodeUEXnAPID_¥ecs_1
+ = {
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+43
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NG_RANnodeUEXnAPID
+ = {
+
+46 &
+a¢_OP_N©iveIÁeg\94
+,
+
+47
+a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
+,
+
+48 \17(
+a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
+)
+
+49 /\17(
+a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
+[0]),
+
+50
+a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
+,
+
+51 \17(
+a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
+)
+
+52 /\17(
+a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
+[0]),
+
+53 { 0, &
+a¢_PER_ty³_NG_RANnodeUEXnAPID_cÚ¡r_1
+,
+NG_RANnodeUEXnAPID_cÚ¡¿\9at
+ },
+
+55 &
+a¢_SPC_NG_RANnodeUEXnAPID_¥ecs_1
+
+
+ @NGENB-CU-UE-W1AP-ID.c
+
+8 \ 2
+ ~"NGENB-CU-UE-W1AP-ID.h
+"
+
+11
+ $NGENB_CU_UE_W1AP_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+14 if(!
+¥\8c
+) {
+
+15
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+17
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+24
+ }
+}
+
+30
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NGENB_CU_UE_W1AP_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+31 {
+APC_CONSTRAINED
+, 32, -1, 0, 4294967295 } ,
+
+32 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+35 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_NGENB_CU_UE_W1AP_ID_¥ecs_1
+ = {
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+43
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NGENB_CU_UE_W1AP_ID
+ = {
+
+46 &
+a¢_OP_N©iveIÁeg\94
+,
+
+47
+a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
+,
+
+48 \17(
+a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
+)
+
+49 /\17(
+a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
+[0]),
+
+50
+a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
+,
+
+51 \17(
+a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
+)
+
+52 /\17(
+a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
+[0]),
+
+53 { 0, &
+a¢_PER_ty³_NGENB_CU_UE_W1AP_ID_cÚ¡r_1
+,
+NGENB_CU_UE_W1AP_ID_cÚ¡¿\9at
+ },
+
+55 &
+a¢_SPC_NGENB_CU_UE_W1AP_ID_¥ecs_1
+
+
+ @NGENB-DU-ID.c
+
+8 \ 2
+ ~"NGENB-DU-ID.h
+"
+
+11
+ $NGENB_DU_ID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+INTEGER_t
+ *
+¡
+ = (cÚ¡ INTEGER_\88*)
+¥\8c
+;
+
+14 \13
+v®ue
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+ `a¢_INTEGER2lÚg
+(
+¡
+, &
+v®ue
+)) {
+
+24
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+26
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+30 if((
+v®ue
+ >= 0 && value <= 68719476735)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NGENB_DU_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_CONSTRAINED
+, 36, -1, 0, 68719476735 } ,
+
+47 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NGENB_DU_ID_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NGENB_DU_ID
+ = {
+
+56 &
+a¢_OP_INTEGER
+,
+
+57
+a¢_DEF_NGENB_DU_ID_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_NGENB_DU_ID_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_NGENB_DU_ID_\8fgs_1
+[0]),
+
+60
+a¢_DEF_NGENB_DU_ID_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_NGENB_DU_ID_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_NGENB_DU_ID_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_NGENB_DU_ID_cÚ¡r_1
+,
+NGENB_DU_ID_cÚ¡¿\9at
+ },
+
+ @NR-ARFCN.c
+
+8 \ 2
+ ~"NR-ARFCN.h
+"
+
+11
+ $memb_nRARFCN_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 3279165)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+35 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_nRARFCN_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+36 {
+APC_CONSTRAINED
+, 22, -1, 0, 3279165 } ,
+
+37 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+40
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_NR_ARFCN_1
+[] = {
+
+41 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NR_ARFCN
+,
+nRARFCN
+),
+
+42 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+44 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+46 { 0, &
+a¢_PER_memb_nRARFCN_cÚ¡r_2
+,
+memb_nRARFCN_cÚ¡¿\9at_1
+ },
+
+51 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NR_ARFCN_\8fgs_1
+[] = {
+
+52 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+54 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_NR_ARFCN_\8fg2\96_1
+[] = {
+
+55 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+57
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_NR_ARFCN_¥ecs_1
+ = {
+
+58 \17(\19
+NR_ARFCN
+),
+
+59
+off£tof
+(\19
+NR_ARFCN
+,
+_a¢_ùx
+),
+
+60
+a¢_MAP_NR_ARFCN_\8fg2\96_1
+,
+
+65
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NR_ARFCN
+ = {
+
+68 &
+a¢_OP_SEQUENCE
+,
+
+69
+a¢_DEF_NR_ARFCN_\8fgs_1
+,
+
+70 \17(
+a¢_DEF_NR_ARFCN_\8fgs_1
+)
+
+71 /\17(
+a¢_DEF_NR_ARFCN_\8fgs_1
+[0]),
+
+72
+a¢_DEF_NR_ARFCN_\8fgs_1
+,
+
+73 \17(
+a¢_DEF_NR_ARFCN_\8fgs_1
+)
+
+74 /\17(
+a¢_DEF_NR_ARFCN_\8fgs_1
+[0]),
+
+75 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+76
+a¢_MBR_NR_ARFCN_1
+,
+
+78 &
+a¢_SPC_NR_ARFCN_¥ecs_1
+
+
+ @NR-CGI.c
+
+8 \ 2
+ ~"NR-CGI.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_NR_CGI_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NR_CGI
+,
+pLMNId\92t\99y
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_PLMNId\92t\99y
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NR_CGI
+,
+nRC\96lId\92t\99y
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_NRC\96lId\92t\99y
+,
+
+30 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NR_CGI_\8fgs_1
+[] = {
+
+31 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+33 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_NR_CGI_\8fg2\96_1
+[] = {
+
+34 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+37
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_NR_CGI_¥ecs_1
+ = {
+
+38 \17(\19
+NR_CGI
+),
+
+39
+off£tof
+(\19
+NR_CGI
+,
+_a¢_ùx
+),
+
+40
+a¢_MAP_NR_CGI_\8fg2\96_1
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NR_CGI
+ = {
+
+48 &
+a¢_OP_SEQUENCE
+,
+
+49
+a¢_DEF_NR_CGI_\8fgs_1
+,
+
+50 \17(
+a¢_DEF_NR_CGI_\8fgs_1
+)
+
+51 /\17(
+a¢_DEF_NR_CGI_\8fgs_1
+[0]),
+
+52
+a¢_DEF_NR_CGI_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_NR_CGI_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_NR_CGI_\8fgs_1
+[0]),
+
+55 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+56
+a¢_MBR_NR_CGI_1
+,
+
+58 &
+a¢_SPC_NR_CGI_¥ecs_1
+
+
+ @NR-PCI.c
+
+8 \ 2
+ ~"NR-PCI.h
+"
+
+11
+ $NR_PCI_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 1007)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NR_PCI_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+, 10, 10, 0, 1007 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NR_PCI_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NR_PCI
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_NR_PCI_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_NR_PCI_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_NR_PCI_\8fgs_1
+[0]),
+
+54
+a¢_DEF_NR_PCI_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_NR_PCI_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_NR_PCI_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_NR_PCI_cÚ¡r_1
+,
+NR_PCI_cÚ¡¿\9at
+ },
+
+ @NRCellIdentity.c
+
+8 \ 2
+ ~"NRC\96lId\92t\99y.h
+"
+
+11
+ $NRC\96lId\92t\99y_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ == 36)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+45
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NRC\96lId\92t\99y_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+46 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+47 {
+APC_CONSTRAINED
+, 0, 0, 36, 36 } ,
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NRC\96lId\92t\99y_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (3 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NRC\96lId\92t\99y
+ = {
+
+56 &
+a¢_OP_BIT_STRING
+,
+
+57
+a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
+[0]),
+
+60
+a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_NRC\96lId\92t\99y_cÚ¡r_1
+,
+NRC\96lId\92t\99y_cÚ¡¿\9at
+ },
+
+65 &
+a¢_SPC_BIT_STRING_¥ecs
+
+
+ @NRFrequencyBand-List.c
+
+8 \ 2
+ ~"NRF»qu\92cyBªd-Li¡.h
+"
+
+10 \ 2
+ ~"NRF»qu\92cyBªdI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NRF»qu\92cyBªd_Li¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 5, 5, 1, 32 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_NRF»qu\92cyBªd_Li¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_NRF»qu\92cyBªdI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_NRF»qu\92cyBªd_Li¡_¥ecs_1
+ = {
+
+31 \17(\19
+NRF»qu\92cyBªd_Li¡
+),
+
+32
+off£tof
+(\19
+NRF»qu\92cyBªd_Li¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NRF»qu\92cyBªd_Li¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_NRF»qu\92cyBªd_Li¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_NRF»qu\92cyBªd_Li¡_1
+,
+
+48 &
+a¢_SPC_NRF»qu\92cyBªd_Li¡_¥ecs_1
+
+
+ @NRFrequencyBandItem.c
+
+8 \ 2
+ ~"NRF»qu\92cyBªdI\8bm.h
+"
+
+11
+ $memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 1024)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+35 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+36 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 10, 10, 1, 1024 } ,
+
+37 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+40
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_NRF»qu\92cyBªdI\8bm_1
+[] = {
+
+41 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NRF»qu\92cyBªdI\8bm
+,
+äeqBªdIndiÿtÜNr
+),
+
+42 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+44 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+46 { 0, &
+a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
+,
+memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
+ },
+
+50 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NRF»qu\92cyBªdI\8bm
+,
+suµÜ\8bdSULBªdLi¡
+),
+
+51 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+53 &
+a¢_DEF_SuµÜ\8bdSULBªdLi¡
+,
+
+60 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
+[] = {
+
+61 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+63 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_NRF»qu\92cyBªdI\8bm_\8fg2\96_1
+[] = {
+
+64 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+65 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+67
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_NRF»qu\92cyBªdI\8bm_¥ecs_1
+ = {
+
+68 \17(\19
+NRF»qu\92cyBªdI\8bm
+),
+
+69
+off£tof
+(\19
+NRF»qu\92cyBªdI\8bm
+,
+_a¢_ùx
+),
+
+70
+a¢_MAP_NRF»qu\92cyBªdI\8bm_\8fg2\96_1
+,
+
+75
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NRF»qu\92cyBªdI\8bm
+ = {
+
+78 &
+a¢_OP_SEQUENCE
+,
+
+79
+a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
+,
+
+80 \17(
+a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
+)
+
+81 /\17(
+a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
+[0]),
+
+82
+a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
+,
+
+83 \17(
+a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
+)
+
+84 /\17(
+a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
+[0]),
+
+85 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+86
+a¢_MBR_NRF»qu\92cyBªdI\8bm_1
+,
+
+88 &
+a¢_SPC_NRF»qu\92cyBªdI\8bm_¥ecs_1
+
+
+ @NRFrequencyInfo.c
+
+8 \ 2
+ ~"NRF»qu\92cyInfo.h
+"
+
+10 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_NRF»qu\92cyInfo_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NRF»qu\92cyInfo
+,
+ÄARFCN
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_NR_ARFCN
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NRF»qu\92cyInfo
+,
+äequ\92cyBªd_Li¡
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_NRF»qu\92cyBªd_Li¡
+,
+
+29 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+NRF»qu\92cyInfo
+,
+äequ\92cyShiá7p5khz
+),
+
+30 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+32 &
+a¢_DEF_NRF»qu\92cyShiá7p5khz
+,
+
+39 \18cڡ \12
+ ga¢_MAP_NRF»qu\92cyInfo_oms_1
+[] = { 2 };
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NRF»qu\92cyInfo_\8fgs_1
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+43 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_NRF»qu\92cyInfo_\8fg2\96_1
+[] = {
+
+44 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+46 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+48 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_NRF»qu\92cyInfo_¥ecs_1
+ = {
+
+49 \17(\19
+NRF»qu\92cyInfo
+),
+
+50
+off£tof
+(\19
+NRF»qu\92cyInfo
+,
+_a¢_ùx
+),
+
+51
+a¢_MAP_NRF»qu\92cyInfo_\8fg2\96_1
+,
+
+53
+a¢_MAP_NRF»qu\92cyInfo_oms_1
+,
+
+57
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NRF»qu\92cyInfo
+ = {
+
+60 &
+a¢_OP_SEQUENCE
+,
+
+61
+a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
+,
+
+62 \17(
+a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
+)
+
+63 /\17(
+a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
+[0]),
+
+64
+a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
+,
+
+65 \17(
+a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
+)
+
+66 /\17(
+a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
+[0]),
+
+67 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+68
+a¢_MBR_NRF»qu\92cyInfo_1
+,
+
+70 &
+a¢_SPC_NRF»qu\92cyInfo_¥ecs_1
+
+
+ @NRFrequencyShift7p5khz.c
+
+8 \ 2
+ ~"NRF»qu\92cyShiá7p5khz.h
+"
+
+14
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NRF»qu\92cyShiá7p5khz_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+15 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+16 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+19 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_NRF»qu\92cyShiá7p5khz_v®ue2\92um_1
+[] = {
+
+24 \18cڡ \1d\12
+ ga¢_MAP_NRF»qu\92cyShiá7p5khz_\92um2v®ue_1
+[] = {
+
+29 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_NRF»qu\92cyShiá7p5khz_¥ecs_1
+ = {
+
+30
+a¢_MAP_NRF»qu\92cyShiá7p5khz_v®ue2\92um_1
+,
+
+31
+a¢_MAP_NRF»qu\92cyShiá7p5khz_\92um2v®ue_1
+,
+
+38 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
+[] = {
+
+39 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+41
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NRF»qu\92cyShiá7p5khz
+ = {
+
+44 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+45
+a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
+,
+
+46 \17(
+a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
+)
+
+47 /\17(
+a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
+[0]),
+
+48
+a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
+,
+
+49 \17(
+a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
+)
+
+50 /\17(
+a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
+[0]),
+
+51 { 0, &
+a¢_PER_ty³_NRF»qu\92cyShiá7p5khz_cÚ¡r_1
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+53 &
+a¢_SPC_NRF»qu\92cyShiá7p5khz_¥ecs_1
+
+
+ @NULL.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_codecs_´im.h
+>
+
+7 \ 2
+ ~<NULL.h
+>
+
+8 \ 2
+ ~<BOOLEAN.h
+>
+
+13 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_NULL_\8fgs
+[] = {
+
+14 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (5 << 2))
+
+16
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_NULL
+ = {
+
+17
+BOOLEAN_ä\93
+,
+
+18
+NULL_´\9at
+,
+
+19
+NULL_com·»
+,
+
+20
+BOOLEAN_decode_b\94
+,
+
+21
+NULL_\92code_d\94
+,
+
+22
+NULL_decode_x\94
+,
+
+23
+NULL_\92code_x\94
+,
+
+24 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+28
+NULL_decode_Ûr
+,
+
+29
+NULL_\92code_Ûr
+,
+
+31 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+37
+NULL_decode_u³r
+,
+
+38
+NULL_\92code_u³r
+,
+
+39
+NULL_decode_\94
+,
+
+40
+NULL_\92code_\94
+,
+
+42
+NULL_¿ndom_f\9el
+,
+
+45
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NULL
+ = {
+
+48 &
+a¢_OP_NULL
+,
+
+49
+a¢_DEF_NULL_\8fgs
+,
+
+50 \17(
+a¢_DEF_NULL_\8fgs
+) / \17(asn_DEF_NULL_tags[0]),
+
+51
+a¢_DEF_NULL_\8fgs
+,
+
+52 \17(
+a¢_DEF_NULL_\8fgs
+) / \17(asn_DEF_NULL_tags[0]),
+
+53 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+58
+a¢_\92c_rv®_t
+
+
+59
+ $NULL_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+±r
+, \12
+\8fg_mode
+,
+
+60
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+61
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+63
+\94v®
+.
+\92coded
+ =
+ `d\94_wr\99e_\8fgs
+(
+td
+, 0,
+\8fg_mode
+, 0,
+\8fg
+,
+cb
+,
+p_key
+);
+
+64 if(
+\94v®
+.
+\92coded
+ == -1) {
+
+65
+\94v®
+.
+ç\9eed_ty³
+ =
+td
+;
+
+66
+\94v®
+.
+¡ruùu»_±r
+ =
+±r
+;
+
+69
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+70
+ }
+}
+
+72
+a¢_\92c_rv®_t
+
+
+73
+ $NULL_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+74 \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+75 \1e*
+p_key
+) {
+
+76
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+78 (\1e)
+td
+;
+
+79 (\1e)
+¥\8c
+;
+
+80 (\1e)
+\9eev\96
+;
+
+81 (\1e)
+æags
+;
+
+82 (\1e)
+cb
+;
+
+83 (\1e)
+p_key
+;
+
+86
+\94
+.
+\92coded
+ = 0;
+
+87
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+88
+ }
+}
+
+91 \18\f
+x\94_pbd_rv®
+
+
+92
+ $NULL__x\94_body_decode
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+93 cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+) {
+
+94 (\1e)
+td
+;
+
+95 (\1e)
+¥\8c
+;
+
+96 (\1e)
+chunk_buf
+;
+
+101 if(
+chunk_size
+)
+
+102 \15
+XPBD_BROKEN_ENCODING
+;
+
+104 \15
+XPBD_BODY_CONSUMED
+;
+
+105
+ }
+}
+
+107
+a¢_dec_rv®_t
+
+
+108
+ $NULL_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+109 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+110 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+) {
+
+111 \15
+ `x\94_decode_´im\99ive
+(
+Ýt_codec_ùx
+,
+td
+,
+
+112
+¥\8c
+, \17(
+NULL_t
+),
+Ýt_mÇme
+,
+buf_±r
+,
+size
+,
+
+113
+NULL__x\94_body_decode
+);
+
+114
+ }
+}
+
+117
+ $NULL_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+a
+, cڡ \1e*
+b
+) {
+
+118 (\1e)
+td
+;
+
+119 (\1e)
+a
+;
+
+120 (\1e)
+b
+;
+
+122
+ }
+}
+
+125
+ $NULL_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+126
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+127 (\1e)
+td
+;
+
+128 (\1e)
+\9eev\96
+;
+
+130 if(
+¥\8c
+) {
+
+131 \15 (
+ `cb
+("<´e£Á>", 9,
+p_key
+) < 0) ? -1 : 0;
+
+133 \15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+135
+ }
+}
+
+137 #iâdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+139
+a¢_dec_rv®_t
+
+
+140
+ $NULL_decode_Ûr
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+141 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+142 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+143 cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+144
+a¢_dec_rv®_t
+
+rv
+ = {
+RC_OK
+, 0};
+
+145 (\1e)
+Ýt_codec_ùx
+;
+
+146 (\1e)
+td
+;
+
+147 (\1e)
+cÚ¡¿\9ats
+;
+
+148 (\1e)
+±r
+;
+
+149 (\1e)
+size
+;
+
+151 if(!*
+¥\8c
+) {
+
+152 *
+¥\8c
+ =
+ `MALLOC
+(\17(
+NULL_t
+));
+
+153 if(*
+¥\8c
+) {
+
+154 *(
+NULL_t
+ *)*
+¥\8c
+ = 0;
+
+156
+ASN__DECODE_FAILED
+;
+
+160 \15
+rv
+;
+
+161
+ }
+}
+
+163
+a¢_\92c_rv®_t
+
+
+164
+ $NULL_\92code_Ûr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+165 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+166
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+167
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+169 (\1e)
+td
+;
+
+170 (\1e)
+¥\8c
+;
+
+171 (\1e)
+cÚ¡¿\9ats
+;
+
+172 (\1e)
+cb
+;
+
+173 (\1e)
+p_key
+;
+
+175
+\94
+.
+\92coded
+ = 0;
+
+177
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+178
+ }
+}
+
+182 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+184
+a¢_dec_rv®_t
+
+
+185
+ $NULL_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+186 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+187 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+188
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+189
+a¢_dec_rv®_t
+
+rv
+;
+
+191 (\1e)
+Ýt_codec_ùx
+;
+
+192 (\1e)
+td
+;
+
+193 (\1e)
+cÚ¡¿\9ats
+;
+
+194 (\1e)
+pd
+;
+
+196 if(!*
+¥\8c
+) {
+
+197 *
+¥\8c
+ =
+ `MALLOC
+(\17(
+NULL_t
+));
+
+198 if(*
+¥\8c
+) {
+
+199 *(
+NULL_t
+ *)*
+¥\8c
+ = 0;
+
+201
+ASN__DECODE_FAILED
+;
+
+209
+rv
+.
+code
+ =
+RC_OK
+;
+
+210
+rv
+.
+cÚsumed
+ = 0;
+
+211 \15
+rv
+;
+
+212
+ }
+}
+
+214
+a¢_\92c_rv®_t
+
+
+215
+ $NULL_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+216 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+217
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+218
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+220 (\1e)
+td
+;
+
+221 (\1e)
+cÚ¡¿\9ats
+;
+
+222 (\1e)
+¥\8c
+;
+
+223 (\1e)
+po
+;
+
+225
+\94
+.
+\92coded
+ = 0;
+
+226
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+227
+ }
+}
+
+229
+a¢_dec_rv®_t
+
+
+230
+ $NULL_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+231 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+232 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+233
+a¢_dec_rv®_t
+
+rv
+ = {
+RC_OK
+, 0};
+
+235 (\1e)
+Ýt_codec_ùx
+;
+
+236 (\1e)
+td
+;
+
+237 (\1e)
+cÚ¡¿\9ats
+;
+
+238 (\1e)
+pd
+;
+
+240 if(!*
+¥\8c
+) {
+
+241 *
+¥\8c
+ =
+ `MALLOC
+(\17(
+NULL_t
+));
+
+242 if(*
+¥\8c
+) {
+
+243 *(
+NULL_t
+ *)*
+¥\8c
+ = 0;
+
+245
+ASN__DECODE_FAILED
+;
+
+253
+rv
+.
+code
+ =
+RC_OK
+;
+
+254
+rv
+.
+cÚsumed
+ = 0;
+
+255 \15
+rv
+;
+
+256
+ }
+}
+
+259
+a¢_\92c_rv®_t
+
+
+260
+ $NULL_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+261 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+262 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+263
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+265 (\1e)
+td
+;
+
+266 (\1e)
+cÚ¡¿\9ats
+;
+
+267 (\1e)
+¥\8c
+;
+
+268 (\1e)
+po
+;
+
+270
+\94
+.
+\92coded
+ = 0;
+
+271
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+272
+ }
+}
+
+276
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+277
+ $NULL_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+278 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cڡr
+,
+
+279
+size_t
+
+max_Ëngth
+) {
+
+280
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 1};
+
+281
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+282
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+283
+NULL_t
+ *
+¡
+ = *
+¥\8c
+;
+
+285 (\1e)
+td
+;
+
+286 (\1e)
+cڡr
+;
+
+288 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+290 if(
+¡
+ =ð
+NULL
+) {
+
+291
+¡
+ = (
+NULL_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*st)));
+
+292 if(
+¡
+ =ð
+NULL
+) {
+
+293 \15
+»suÉ_ç\9eed
+;
+
+297 \15
+»suÉ_ok
+;
+
+298
+ }
+}
+
+ @NativeEnumerated.c
+
+12 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+13 \ 2
+ ~<N©iveEnum\94©ed.h
+>
+
+18 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_N©iveEnum\94©ed_\8fgs
+[] = {
+
+19 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+21
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_N©iveEnum\94©ed
+ = {
+
+22
+N©iveIÁeg\94_ä\93
+,
+
+23
+N©iveIÁeg\94_´\9at
+,
+
+24
+N©iveIÁeg\94_com·»
+,
+
+25
+N©iveIÁeg\94_decode_b\94
+,
+
+26
+N©iveIÁeg\94_\92code_d\94
+,
+
+27
+N©iveIÁeg\94_decode_x\94
+,
+
+28
+N©iveEnum\94©ed_\92code_x\94
+,
+
+29 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+33
+N©iveEnum\94©ed_decode_Ûr
+,
+
+34
+N©iveEnum\94©ed_\92code_Ûr
+,
+
+36 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+42
+N©iveEnum\94©ed_decode_u³r
+,
+
+43
+N©iveEnum\94©ed_\92code_u³r
+,
+
+44
+N©iveEnum\94©ed_decode_\94
+,
+
+45
+N©iveEnum\94©ed_\92code_\94
+,
+
+47
+N©iveEnum\94©ed_¿ndom_f\9el
+,
+
+50
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_N©iveEnum\94©ed
+ = {
+
+53 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+54
+a¢_DEF_N©iveEnum\94©ed_\8fgs
+,
+
+55 \17(
+a¢_DEF_N©iveEnum\94©ed_\8fgs
+) / \17(asn_DEF_NativeEnumerated_tags[0]),
+
+56
+a¢_DEF_N©iveEnum\94©ed_\8fgs
+,
+
+57 \17(
+a¢_DEF_N©iveEnum\94©ed_\8fgs
+) / \17(asn_DEF_NativeEnumerated_tags[0]),
+
+58 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+63
+a¢_\92c_rv®_t
+
+
+64
+ $N©iveEnum\94©ed_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+65 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+66
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+67 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+68 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+69
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+70 cڡ \13*
+Çtive
+ = (cڡ \13*)
+¥\8c
+;
+
+71 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+\96
+;
+
+73 (\1e)
+\9eev\96
+;
+
+74 (\1e)
+æags
+;
+
+76 if(!
+Çtive
+è
+ASN__ENCODE_FAILED
+;
+
+78
+\96
+ =
+ `INTEGER_m_v®ue2\92um
+(
+¥ecs
+, *
+Çtive
+);
+
+79 if(
+\96
+) {
+
+80
+\94
+.
+\92coded
+ =
+
+81
+ `a¢__fÜm©_to_ÿÎback
+(
+cb
+,
+p_key
+, "<%s/>",
+\96
+->
+\92um_Çme
+);
+
+82 if(
+\94
+.
+\92coded
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+83
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+85
+ `ASN_DEBUG
+(
+
+88
+ASN__ENCODE_FAILED
+;
+
+90
+ }
+}
+
+92
+a¢_dec_rv®_t
+
+
+93
+ $N©iveEnum\94©ed_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+94 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+95 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+96 \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+97 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+;
+
+98
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0 };
+
+99 \13*
+Çtive
+ = (\13*)*
+¥\8c
+;
+
+100 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+ =
+NULL
+;
+
+101 \13
+v®ue
+;
+
+103 (\1e)
+Ýt_codec_ùx
+;
+
+105 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+106 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+107
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+108 \v
+ASN__DECODE_FAILED
+;
+
+109 if(!
+¥ecs
+è
+ASN__DECODE_FAILED
+;
+
+111 if(!
+Çtive
+) {
+
+112
+Çtive
+ = (\13*)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*native)));
+
+113 if(!
+Çtive
+è
+ASN__DECODE_FAILED
+;
+
+116
+ `ASN_DEBUG
+("Decod\9ag % a N©iveEnum\94©ed",
+td
+->
+Çme
+);
+
+118 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+119 \12
+\9aext
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+120 if(
+\9aext
+ < 0è
+ASN__DECODE_STARVED
+;
+
+121 if(
+\9aext
+è
+ù
+ = 0;
+
+124 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+125
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+ù
+->
+¿nge_b\99s
+);
+
+126 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+127 if(
+v®ue
+ >ð(
+¥ecs
+->
+ex\8bnsiÚ
+
+
+128 ?
+¥ecs
+->
+ex\8bnsiÚ
+ - 1 : s³cs->
+m_couÁ
+))
+
+129
+ASN__DECODE_FAILED
+;
+
+131 if(!
+¥ecs
+->
+ex\8bnsiÚ
+)
+
+132
+ASN__DECODE_FAILED
+;
+
+136
+v®ue
+ =
+ `u³r_g\91_n¢nwn
+(
+pd
+);
+
+137 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+138
+v®ue
+ +ð
+¥ecs
+->
+ex\8bnsiÚ
+ - 1;
+
+139 if(
+v®ue
+ >ð
+¥ecs
+->
+m_couÁ
+)
+
+140
+ASN__DECODE_FAILED
+;
+
+143 *
+Çtive
+ =
+¥ecs
+->
+v®ue2\92um
+[
+v®ue
+].
+Çt_v®ue
+;
+
+144
+ `ASN_DEBUG
+("Decoded % ð%ld",
+td
+->
+Çme
+, *
+Çtive
+);
+
+146 \15
+rv®
+;
+
+147
+ }
+}
+
+150
+ $N©iveEnum\94©ed__com·r_v®ue2\92um
+(cڡ \1e*
+
+, cڡ \1e*
+bp
+) {
+
+151 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+a
+ =
+
+;
+
+152 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+b
+ =
+bp
+;
+
+153 if(
+a
+->
+Çt_v®ue
+ =ð
+b
+->nat_value)
+
+155 if(
+a
+->
+Çt_v®ue
+ <
+b
+->nat_value)
+
+158
+ }
+}
+
+160
+a¢_\92c_rv®_t
+
+
+161
+ $N©iveEnum\94©ed_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+162 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+163 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+164 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+165 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+166
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+167 \13
+Çtive
+,
+v®ue
+;
+
+168 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+ =
+NULL
+;
+
+169 \12
+\9aext
+ = 0;
+
+170
+a¢_INTEGER_\92um_m_t
+
+key
+;
+
+171 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+kf
+;
+
+173 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+174 if(!
+¥ecs
+è
+ASN__ENCODE_FAILED
+;
+
+176 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+177 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+178
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+179 \v
+ASN__ENCODE_FAILED
+;
+
+181
+ `ASN_DEBUG
+("Encod\9ag % a N©iveEnum\94©ed",
+td
+->
+Çme
+);
+
+183
+\94
+.
+\92coded
+ = 0;
+
+185
+Çtive
+ = *(cڡ \13*)
+¥\8c
+;
+
+187
+key
+.
+Çt_v®ue
+ =
+Çtive
+;
+
+188
+kf
+ =
+ `b£¬ch
+(&
+key
+,
+¥ecs
+->
+v®ue2\92um
+, s³cs->
+m_couÁ
+,
+
+189 \17(
+key
+),
+N©iveEnum\94©ed__com·r_v®ue2\92um
+);
+
+190 if(!
+kf
+) {
+
+191
+ `ASN_DEBUG
+("NØ\96em\92\88cÜ»¥Úd tØ%ld",
+Çtive
+);
+
+192
+ASN__ENCODE_FAILED
+;
+
+194
+v®ue
+ =
+kf
+ -
+¥ecs
+->
+v®ue2\92um
+;
+
+196 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+197 \12
+cmpW\99h
+ =
+¥ecs
+->
+ex\8bnsiÚ
+
+
+198 ?
+¥ecs
+->
+ex\8bnsiÚ
+ - 1 : s³cs->
+m_couÁ
+;
+
+199 if(
+v®ue
+ >ð
+cmpW\99h
+)
+
+200
+\9aext
+ = 1;
+
+202 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+203 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+\9aext
+, 1))
+
+204
+ASN__ENCODE_FAILED
+;
+
+205 if(
+\9aext
+è
+ù
+ = 0;
+
+206 } \vif(
+\9aext
+) {
+
+207
+ASN__ENCODE_FAILED
+;
+
+210 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+211 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+v®ue
+,
+ù
+->
+¿nge_b\99s
+))
+
+212
+ASN__ENCODE_FAILED
+;
+
+213
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+216 if(!
+¥ecs
+->
+ex\8bnsiÚ
+)
+
+217
+ASN__ENCODE_FAILED
+;
+
+222
+ `ASN_DEBUG
+("value = %ld,\83xt = %d, inext = %d,\84es = %ld",
+
+223
+v®ue
+,
+¥ecs
+->
+ex\8bnsiÚ
+,
+\9aext
+,
+
+224
+v®ue
+ - (
+\9aext
+ ? (
+¥ecs
+->
+ex\8bnsiÚ
+ - 1) : 0));
+
+225 if(
+ `u³r_put_n¢nwn
+(
+po
+,
+v®ue
+ - (
+\9aext
+ ? (
+¥ecs
+->
+ex\8bnsiÚ
+ - 1) : 0)))
+
+226
+ASN__ENCODE_FAILED
+;
+
+228
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+229
+ }
+}
+
+231
+a¢_dec_rv®_t
+
+
+232
+ $N©iveEnum\94©ed_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+233 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+234 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+235 \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+236 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+237
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0 };
+
+238 \13*
+Çtive
+ = (\13*)*
+¥\8c
+;
+
+239 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+ =
+NULL
+;
+
+240 \13
+v®ue
+;
+
+242 (\1e)
+Ýt_codec_ùx
+;
+
+244 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+245 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+246
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+247 \v
+ASN__DECODE_FAILED
+;
+
+248 if(!
+¥ecs
+è
+ASN__DECODE_FAILED
+;
+
+250 if(!
+Çtive
+) {
+
+251
+Çtive
+ = (\13*)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*native)));
+
+252 if(!
+Çtive
+è
+ASN__DECODE_FAILED
+;
+
+255
+ `ASN_DEBUG
+("Decod\9ag % a N©iveEnum\94©ed",
+td
+->
+Çme
+);
+
+257 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+258 \12
+\9aext
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+259 if(
+\9aext
+ < 0è
+ASN__DECODE_STARVED
+;
+
+260 if(
+\9aext
+è
+ù
+ = 0;
+
+264 if(
+ù
+ && ct->
+uµ\94_bound
+ >= 255) {
+
+265 \12
+·dd\9ag
+ = 0;
+
+266
+·dd\9ag
+ = (8 - (
+pd
+->
+moved
+ % 8)) % 8;
+
+267
+ `ASN_DEBUG
+("FÜ N©iveEnum\94©ed %s,off£tð%lu Padd\9ag b\99 ð%d",
+td
+->
+Çme
+,
+pd
+->
+moved
+,
+·dd\9ag
+);
+
+268
+ `ASN_DEBUG
+("FÜ N©iveEnum\94©ed %s, uµ\94 bound = %lu",
+td
+->
+Çme
+,
+ù
+->
+uµ\94_bound
+);
+
+269 if(
+·dd\9ag
+ > 0)
+
+270
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+·dd\9ag
+);
+
+273 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+274
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+ù
+->
+¿nge_b\99s
+);
+
+275 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+276 if(
+v®ue
+ >ð(
+¥ecs
+->
+ex\8bnsiÚ
+
+
+277 ?
+¥ecs
+->
+ex\8bnsiÚ
+ - 1 : s³cs->
+m_couÁ
+))
+
+278
+ASN__DECODE_FAILED
+;
+
+280 if(!
+¥ecs
+->
+ex\8bnsiÚ
+)
+
+281
+ASN__DECODE_FAILED
+;
+
+285
+v®ue
+ =
+ `u³r_g\91_n¢nwn
+(
+pd
+);
+
+286 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+287
+v®ue
+ +ð
+¥ecs
+->
+ex\8bnsiÚ
+ - 1;
+
+288 if(
+v®ue
+ >ð
+¥ecs
+->
+m_couÁ
+)
+
+289
+ASN__DECODE_FAILED
+;
+
+292 *
+Çtive
+ =
+¥ecs
+->
+v®ue2\92um
+[
+v®ue
+].
+Çt_v®ue
+;
+
+293
+ `ASN_DEBUG
+("Decoded % ð%ld",
+td
+->
+Çme
+, *
+Çtive
+);
+
+295 \15
+rv®
+;
+
+296
+ }
+}
+
+298
+a¢_\92c_rv®_t
+
+
+299
+ $N©iveEnum\94©ed_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+300 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+301 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+302 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+303
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+304 \13
+Çtive
+,
+v®ue
+;
+
+305 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+ =
+NULL
+;
+
+306 \12
+\9aext
+ = 0;
+
+307
+a¢_INTEGER_\92um_m_t
+
+key
+;
+
+308
+a¢_INTEGER_\92um_m_t
+ *
+kf
+;
+
+310 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+311 if(!
+¥ecs
+è
+ASN__ENCODE_FAILED
+;
+
+313 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+314 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+315
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+316 \v
+ASN__ENCODE_FAILED
+;
+
+318
+ `ASN_DEBUG
+("Encod\9ag % a N©iveEnum\94©ed",
+td
+->
+Çme
+);
+
+320
+\94
+.
+\92coded
+ = 0;
+
+322
+Çtive
+ = *(cڡ \13*)
+¥\8c
+;
+
+323 if(
+Çtive
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+325
+key
+.
+Çt_v®ue
+ =
+Çtive
+;
+
+326
+kf
+ =
+ `b£¬ch
+(&
+key
+,
+¥ecs
+->
+v®ue2\92um
+, s³cs->
+m_couÁ
+,
+
+327 \17(
+key
+),
+N©iveEnum\94©ed__com·r_v®ue2\92um
+);
+
+328 if(!
+kf
+) {
+
+329
+ `ASN_DEBUG
+("NØ\96em\92\88cÜ»¥Úd tØ%ld",
+Çtive
+);
+
+330
+ASN__ENCODE_FAILED
+;
+
+332
+v®ue
+ =
+kf
+ -
+¥ecs
+->
+v®ue2\92um
+;
+
+334 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+335 \12
+cmpW\99h
+ =
+¥ecs
+->
+ex\8bnsiÚ
+
+
+336 ?
+¥ecs
+->
+ex\8bnsiÚ
+ - 1 : s³cs->
+m_couÁ
+;
+
+337 if(
+v®ue
+ >ð
+cmpW\99h
+)
+
+338
+\9aext
+ = 1;
+
+340 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+341 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+\9aext
+, 1))
+
+342
+ASN__ENCODE_FAILED
+;
+
+343 if(
+\9aext
+è
+ù
+ = 0;
+
+344 } \vif(
+\9aext
+) {
+
+345
+ASN__ENCODE_FAILED
+;
+
+348 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+349 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+v®ue
+,
+ù
+->
+¿nge_b\99s
+))
+
+350
+ASN__ENCODE_FAILED
+;
+
+351
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+354 if(!
+¥ecs
+->
+ex\8bnsiÚ
+)
+
+355
+ASN__ENCODE_FAILED
+;
+
+360
+ `ASN_DEBUG
+("value = %ld,\83xt = %d, inext = %d,\84es = %ld",
+
+361
+v®ue
+,
+¥ecs
+->
+ex\8bnsiÚ
+,
+\9aext
+,
+
+362
+v®ue
+ - (
+\9aext
+ ? (
+¥ecs
+->
+ex\8bnsiÚ
+ - 1) : 0));
+
+363 if(
+ `u³r_put_n¢nwn
+(
+po
+,
+v®ue
+ - (
+\9aext
+ ? (
+¥ecs
+->
+ex\8bnsiÚ
+ - 1) : 0)))
+
+364
+ASN__ENCODE_FAILED
+;
+
+366
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+367
+ }
+}
+
+ @NativeInteger.c
+
+13 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+14 \ 2
+ ~<N©iveIÁeg\94.h
+>
+
+19 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_N©iveIÁeg\94_\8fgs
+[] = {
+
+20 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+22
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_N©iveIÁeg\94
+ = {
+
+23
+N©iveIÁeg\94_ä\93
+,
+
+24
+N©iveIÁeg\94_´\9at
+,
+
+25
+N©iveIÁeg\94_com·»
+,
+
+26
+N©iveIÁeg\94_decode_b\94
+,
+
+27
+N©iveIÁeg\94_\92code_d\94
+,
+
+28
+N©iveIÁeg\94_decode_x\94
+,
+
+29
+N©iveIÁeg\94_\92code_x\94
+,
+
+30 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+34
+N©iveIÁeg\94_decode_Ûr
+,
+
+35
+N©iveIÁeg\94_\92code_Ûr
+,
+
+37 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+43
+N©iveIÁeg\94_decode_u³r
+,
+
+44
+N©iveIÁeg\94_\92code_u³r
+,
+
+45
+N©iveIÁeg\94_decode_\94
+,
+
+46
+N©iveIÁeg\94_\92code_\94
+,
+
+48
+N©iveIÁeg\94_¿ndom_f\9el
+,
+
+51
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_N©iveIÁeg\94
+ = {
+
+54 &
+a¢_OP_N©iveIÁeg\94
+,
+
+55
+a¢_DEF_N©iveIÁeg\94_\8fgs
+,
+
+56 \17(
+a¢_DEF_N©iveIÁeg\94_\8fgs
+) / \17(asn_DEF_NativeInteger_tags[0]),
+
+57
+a¢_DEF_N©iveIÁeg\94_\8fgs
+,
+
+58 \17(
+a¢_DEF_N©iveIÁeg\94_\8fgs
+) / \17(asn_DEF_NativeInteger_tags[0]),
+
+59 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+67
+a¢_dec_rv®_t
+
+
+68
+ $N©iveIÁeg\94_decode_b\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+69 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+n\9at_±r
+,
+
+70 cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+71 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+72 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+73 \13*
+Çtive
+ = (\13*)*
+n\9at_±r
+;
+
+74
+a¢_dec_rv®_t
+
+rv®
+;
+
+75
+b\94_\8ev_Ën_t
+
+Ëngth
+;
+
+80 if(
+Çtive
+ =ð
+NULL
+) {
+
+81
+Çtive
+ = (\13*)(*
+n\9at_±r
+ =
+ `CALLOC
+(1, \17(*native)));
+
+82 if(
+Çtive
+ =ð
+NULL
+) {
+
+83
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+84
+rv®
+.
+cÚsumed
+ = 0;
+
+85 \15
+rv®
+;
+
+89
+ `ASN_DEBUG
+("Decoding %s\87s INTEGER (tm=%d)",
+
+90
+td
+->
+Çme
+,
+\8fg_mode
+);
+
+95
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+, 0,
+buf_±r
+,
+size
+,
+
+96
+\8fg_mode
+, 0, &
+Ëngth
+, 0);
+
+97 if(
+rv®
+.
+code
+ !ð
+RC_OK
+)
+
+98 \15
+rv®
+;
+
+100
+ `ASN_DEBUG
+("% Ëngth i %d by\8bs",
+td
+->
+Çme
+, (\12)
+Ëngth
+);
+
+105
+buf_±r
+ = ((cÚ¡ \ 5*)buf_±rè+
+rv®
+.
+cÚsumed
+;
+
+106
+size
+ -ð
+rv®
+.
+cÚsumed
+;
+
+107 if(
+Ëngth
+ > (
+b\94_\8ev_Ën_t
+)
+size
+) {
+
+108
+rv®
+.
+code
+ =
+RC_WMORE
+;
+
+109
+rv®
+.
+cÚsumed
+ = 0;
+
+110 \15
+rv®
+;
+
+119
+INTEGER_t
+
+tmp
+;
+
+121 cڡ \1e*
+cڡbuf
+;
+
+122 \1e*
+nÚcÚ¡buf
+;
+
+123 }
+uncڡ_buf
+;
+
+124 \13
+l
+;
+
+126
+uncڡ_buf
+.
+cڡbuf
+ =
+buf_±r
+;
+
+127
+tmp
+.
+buf
+ = (
+u\9at8_t
+ *)
+uncڡ_buf
+.
+nÚcÚ¡buf
+;
+
+128
+tmp
+.
+size
+ =
+Ëngth
+;
+
+130 if((
+¥ecs
+&&¥ecs->
+f\9bld_unsigÃd
+)
+
+131 ?
+ `a¢_INTEGER2ulÚg
+(&
+tmp
+, (\1d\13*)&
+l
+)
+
+132 :
+ `a¢_INTEGER2lÚg
+(&
+tmp
+, &
+l
+)) {
+
+133
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+134
+rv®
+.
+cÚsumed
+ = 0;
+
+135 \15
+rv®
+;
+
+138 *
+Çtive
+ =
+l
+;
+
+141
+rv®
+.
+code
+ =
+RC_OK
+;
+
+142
+rv®
+.
+cÚsumed
+ +ð
+Ëngth
+;
+
+144
+ `ASN_DEBUG
+("Took %ld/%ld bytes\81o\83ncode %s (%ld)",
+
+145 (\13)
+rv®
+.
+cÚsumed
+, (\13)
+Ëngth
+,
+td
+->
+Çme
+, (\13)*
+Çtive
+);
+
+147 \15
+rv®
+;
+
+148
+ }
+}
+
+153
+a¢_\92c_rv®_t
+
+
+154
+ $N©iveIÁeg\94_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+sd
+, cڡ \1e*
+±r
+,
+
+155 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+
+156
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+157 \1d\13
+Çtive
+ = *(cڡ \1d\13*)
+±r
+;
+
+158
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+159
+INTEGER_t
+
+tmp
+;
+
+161 #ifdef
+WORDS_BIGENDIAN
+
+
+163
+tmp
+.
+buf
+ = (
+u\9at8_t
+ *)&
+Çtive
+;
+
+164
+tmp
+.
+size
+ = \17(
+Çtive
+);
+
+167
+u\9at8_t
+
+buf
+[\17(
+Çtive
+)];
+
+168
+u\9at8_t
+ *
+p
+;
+
+171 \ f
+p
+ =
+buf
+ + \17(bufè- 1;\85 >ðbuf;\85--,
+Çtive
+ >>= 8)
+
+172 *
+p
+ = (
+u\9at8_t
+)
+Çtive
+;
+
+174
+tmp
+.
+buf
+ = buf;
+
+175
+tmp
+.
+size
+ = \17(
+buf
+);
+
+179
+\94v®
+ =
+ `INTEGER_\92code_d\94
+(
+sd
+, &
+tmp
+,
+\8fg_mode
+,
+\8fg
+,
+cb
+,
+p_key
+);
+
+180 if(
+\94v®
+.
+¡ruùu»_±r
+ =ð&
+tmp
+) {
+
+181
+\94v®
+.
+¡ruùu»_±r
+ =
+±r
+;
+
+183 \15
+\94v®
+;
+
+184
+ }
+}
+
+189
+a¢_dec_rv®_t
+
+
+190
+ $N©iveIÁeg\94_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+191 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+192 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+
+193
+size_t
+
+size
+) {
+
+194 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+195 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+196
+a¢_dec_rv®_t
+
+rv®
+;
+
+197
+INTEGER_t
+
+¡
+;
+
+198 \1e*
+¡_±r
+ = (\1e*)&
+¡
+;
+
+199 \13*
+Çtive
+ = (\13*)*
+¥\8c
+;
+
+201 if(!
+Çtive
+) {
+
+202
+Çtive
+ = (\13*)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*native)));
+
+203 if(!
+Çtive
+è
+ASN__DECODE_FAILED
+;
+
+206
+ `mem£t
+(&
+¡
+, 0, \17(st));
+
+207
+rv®
+ =
+ `INTEGER_decode_x\94
+(
+Ýt_codec_ùx
+,
+td
+, &
+¡_±r
+,
+
+208
+Ýt_mÇme
+,
+buf_±r
+,
+size
+);
+
+209 if(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+210 \13
+l
+;
+
+211 if((
+¥ecs
+&&¥ecs->
+f\9bld_unsigÃd
+)
+
+212 ?
+ `a¢_INTEGER2ulÚg
+(&
+¡
+, (\1d\13*)&
+l
+)
+
+213 :
+ `a¢_INTEGER2lÚg
+(&
+¡
+, &
+l
+)) {
+
+214
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+215
+rv®
+.
+cÚsumed
+ = 0;
+
+217 *
+Çtive
+ =
+l
+;
+
+225
+rv®
+.
+cÚsumed
+ = 0;
+
+227
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_INTEGER
+, &
+¡
+);
+
+228 \15
+rv®
+;
+
+229
+ }
+}
+
+232
+a¢_\92c_rv®_t
+
+
+233
+ $N©iveIÁeg\94_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+234 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+235
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+236 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+237 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+238 \ 5
+sü©ch
+[32];
+
+239
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+240 cڡ \13*
+Çtive
+ = (cڡ \13*)
+¥\8c
+;
+
+242 (\1e)
+\9eev\96
+;
+
+243 (\1e)
+æags
+;
+
+245 if(!
+Çtive
+è
+ASN__ENCODE_FAILED
+;
+
+247
+\94
+.
+\92coded
+ =
+ `¢´\9atf
+(
+sü©ch
+, \17(scratch),
+
+248 (
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+)
+
+249 ? "%lu" : "%ld", *
+Çtive
+);
+
+250 if(
+\94
+.
+\92coded
+ <ð0 || (
+size_t
+ër.\92coded >ð\17(
+sü©ch
+)
+
+251 ||
+ `cb
+(
+sü©ch
+,
+\94
+.
+\92coded
+,
+p_key
+) < 0)
+
+252
+ASN__ENCODE_FAILED
+;
+
+254
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+255
+ }
+}
+
+257 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+259
+a¢_dec_rv®_t
+
+
+260
+ $N©iveIÁeg\94_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+261 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+262 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+263
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+264 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+265 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+266
+a¢_dec_rv®_t
+
+rv®
+;
+
+267 \13*
+Çtive
+ = (\13*)*
+¥\8c
+;
+
+268
+INTEGER_t
+
+tmp\9at
+;
+
+269 \1e*
+tmp\9a\8d\8c
+ = &
+tmp\9at
+;
+
+271 (\1e)
+Ýt_codec_ùx
+;
+
+272
+ `ASN_DEBUG
+("Decod\9ag N©iveIÁeg\94 % (UPER)",
+td
+->
+Çme
+);
+
+274 if(!
+Çtive
+) {
+
+275
+Çtive
+ = (\13*)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*native)));
+
+276 if(!
+Çtive
+è
+ASN__DECODE_FAILED
+;
+
+279
+ `mem£t
+(&
+tmp\9at
+, 0, \17\81mpint);
+
+280
+rv®
+ =
+ `INTEGER_decode_u³r
+(
+Ýt_codec_ùx
+,
+td
+,
+cÚ¡¿\9ats
+,
+
+281 &
+tmp\9a\8d\8c
+,
+pd
+);
+
+282 if(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+283 if((
+¥ecs
+&&¥ecs->
+f\9bld_unsigÃd
+)
+
+284 ?
+ `a¢_INTEGER2ulÚg
+(&
+tmp\9at
+, (\1d\13*)
+Çtive
+)
+
+285 :
+ `a¢_INTEGER2lÚg
+(&
+tmp\9at
+,
+Çtive
+))
+
+286
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+288
+ `ASN_DEBUG
+("NativeInteger %s got value %ld",
+
+289
+td
+->
+Çme
+, *
+Çtive
+);
+
+291
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_INTEGER
+, &
+tmp\9at
+);
+
+293 \15
+rv®
+;
+
+294
+ }
+}
+
+296
+a¢_\92c_rv®_t
+
+
+297
+ $N©iveIÁeg\94_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+298 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+299 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+300 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+301 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+302
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+303 \13
+Çtive
+;
+
+304
+INTEGER_t
+
+tmp\9at
+;
+
+306 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+308
+Çtive
+ = *(cڡ \13*)
+¥\8c
+;
+
+310
+ `ASN_DEBUG
+("Encod\9ag N©iveIÁeg\94 % %ld (UPER)",
+td
+->
+Çme
+,
+Çtive
+);
+
+312
+ `mem£t
+(&
+tmp\9at
+, 0, \17(tmpint));
+
+313 if((
+¥ecs
+&&¥ecs->
+f\9bld_unsigÃd
+)
+
+314 ?
+ `a¢_ulÚg2INTEGER
+(&
+tmp\9at
+,
+Çtive
+)
+
+315 :
+ `a¢_lÚg2INTEGER
+(&
+tmp\9at
+,
+Çtive
+))
+
+316
+ASN__ENCODE_FAILED
+;
+
+317
+\94
+ =
+ `INTEGER_\92code_u³r
+(
+td
+,
+cÚ¡¿\9ats
+, &
+tmp\9at
+,
+po
+);
+
+318
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_INTEGER
+, &
+tmp\9at
+);
+
+319 \15
+\94
+;
+
+320
+ }
+}
+
+322
+a¢_dec_rv®_t
+
+
+323
+ $N©iveIÁeg\94_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+324 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+325 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+327 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+328
+a¢_dec_rv®_t
+
+rv®
+;
+
+329 \13*
+Çtive
+ = (\13*)*
+¥\8c
+;
+
+330
+INTEGER_t
+
+tmp\9at
+;
+
+331 \1e*
+tmp\9a\8d\8c
+ = &
+tmp\9at
+;
+
+333 (\1e)
+Ýt_codec_ùx
+;
+
+334
+ `ASN_DEBUG
+("Decod\9ag N©iveIÁeg\94 % (APER)",
+td
+->
+Çme
+);
+
+336 if(!
+Çtive
+) {
+
+337
+Çtive
+ = (\13*)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(*native)));
+
+338 if(!
+Çtive
+è
+ASN__DECODE_FAILED
+;
+
+341
+ `mem£t
+(&
+tmp\9at
+, 0, \17\81mpint);
+
+342
+rv®
+ =
+ `INTEGER_decode_\94
+(
+Ýt_codec_ùx
+,
+td
+,
+cÚ¡¿\9ats
+,
+
+343 &
+tmp\9a\8d\8c
+,
+pd
+);
+
+344 if(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+345 if((
+¥ecs
+&&¥ecs->
+f\9bld_unsigÃd
+)
+
+346 ?
+ `a¢_INTEGER2ulÚg
+(&
+tmp\9at
+, (\1d\13*)
+Çtive
+)
+
+347 :
+ `a¢_INTEGER2lÚg
+(&
+tmp\9at
+,
+Çtive
+))
+
+348
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+350
+ `ASN_DEBUG
+("NativeInteger %s got value %ld",
+
+351
+td
+->
+Çme
+, *
+Çtive
+);
+
+353
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_INTEGER
+, &
+tmp\9at
+);
+
+355 \15
+rv®
+;
+
+356
+ }
+}
+
+358
+a¢_\92c_rv®_t
+
+
+359
+ $N©iveIÁeg\94_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+360 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+361 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+363 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+364
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+365 \13
+Çtive
+;
+
+366
+INTEGER_t
+
+tmp\9at
+;
+
+368 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+370
+Çtive
+ = *(cڡ \13*)
+¥\8c
+;
+
+372
+ `ASN_DEBUG
+("Encod\9ag N©iveIÁeg\94 % %ld (APER)",
+td
+->
+Çme
+,
+Çtive
+);
+
+374
+ `mem£t
+(&
+tmp\9at
+, 0, \17(tmpint));
+
+375 if((
+¥ecs
+&&¥ecs->
+f\9bld_unsigÃd
+)
+
+376 ?
+ `a¢_ulÚg2INTEGER
+(&
+tmp\9at
+, (\1d\13)
+Çtive
+)
+
+377 :
+ `a¢_lÚg2INTEGER
+(&
+tmp\9at
+,
+Çtive
+))
+
+378
+ASN__ENCODE_FAILED
+;
+
+379
+\94
+ =
+ `INTEGER_\92code_\94
+(
+td
+,
+cÚ¡¿\9ats
+, &
+tmp\9at
+,
+po
+);
+
+380
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_INTEGER
+, &
+tmp\9at
+);
+
+381 \15
+\94
+;
+
+382
+ }
+}
+
+390
+ $N©iveIÁeg\94_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+391 \12
+\9eev\96
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+392 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+393 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+394 cڡ \13*
+Çtive
+ = (cڡ \13*)
+¥\8c
+;
+
+395 \ 5
+sü©ch
+[32];
+
+396 \12
+»t
+;
+
+398 (\1e)
+td
+;
+
+399 (\1e)
+\9eev\96
+;
+
+401 if(
+Çtive
+) {
+
+402 \13
+v®ue
+ = *
+Çtive
+;
+
+403
+»t
+ =
+ `¢´\9atf
+(
+sü©ch
+, \17(scratch),
+
+404 (
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+è? "%lu" : "%ld",
+v®ue
+);
+
+405
+ `as£¹
+(
+»t
+ > 0 && (
+size_t
+ì\91 < \17(
+sü©ch
+));
+
+406 if(
+ `cb
+(
+sü©ch
+,
+»t
+,
+p_key
+) < 0) \15 -1;
+
+407 if(
+¥ecs
+ && (
+v®ue
+ >ð0 || !¥ecs->
+f\9bld_unsigÃd
+)) {
+
+408 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+\96
+ =
+
+409
+ `INTEGER_m_v®ue2\92um
+(
+¥ecs
+,
+v®ue
+);
+
+410 if(
+\96
+) {
+
+411 if(
+ `cb
+(" (", 2,
+p_key
+) < 0) \15 -1;
+
+412 if(
+ `cb
+(
+\96
+->
+\92um_Çme
+,\83l->
+\92um_Ën
+,
+p_key
+) < 0) \15 -1;
+
+413 if(
+ `cb
+(")", 1,
+p_key
+) < 0) \15 -1;
+
+418 \15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+420
+ }
+}
+
+423
+ $N©iveIÁeg\94_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+±r
+,
+
+424 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+425 if(!
+td
+ || !
+±r
+)
+
+428
+ `ASN_DEBUG
+("Freeing %s\87s INTEGER (%d, %p, Native)",
+
+429
+td
+->
+Çme
+,
+m\91hod
+,
+±r
+);
+
+431 \1a
+m\91hod
+) {
+
+432 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+433
+ `FREEMEM
+(
+±r
+);
+
+435 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+437 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+:
+
+438
+ `mem£t
+(
+±r
+, 0, \17(\13));
+
+441
+ }
+}
+
+444
+ $N©iveIÁeg\94_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+, cڡ \1e*
+b±r
+) {
+
+445 (\1e)
+td
+;
+
+447 if(
+\8c
+ &&
+b±r
+) {
+
+448 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+449 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+450 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+) {
+
+451 cڡ \1d\13*
+a
+ =
+\8c
+;
+
+452 cڡ \1d\13*
+b
+ =
+b±r
+;
+
+453 if(*
+a
+ < *
+b
+) {
+
+455 } \vif(*
+a
+ > *
+b
+) {
+
+461 cڡ \13*
+a
+ =
+\8c
+;
+
+462 cڡ \13*
+b
+ =
+b±r
+;
+
+463 if(*
+a
+ < *
+b
+) {
+
+465 } \vif(*
+a
+ > *
+b
+) {
+
+471 } \vif(!
+\8c
+) {
+
+476
+ }
+}
+
+478
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+479
+ $N©iveIÁeg\94_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+480 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+481
+size_t
+
+max_Ëngth
+) {
+
+482 cڡ
+a¢_INTEGER_¥ecifics_t
+ *
+¥ecs
+ =
+
+483 (cڡ
+a¢_INTEGER_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+484
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 1};
+
+485
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+486
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+487 \13*
+¡
+ = *
+¥\8c
+;
+
+488 cڡ
+a¢_INTEGER_\92um_m_t
+ *
+em
+;
+
+489
+size_t
+
+em_Ën
+;
+
+490
+\9atmax_t
+
+v®ue
+;
+
+491 \12
+f\9ad_\9aside_m
+;
+
+493 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+495 if(
+¡
+ =ð
+NULL
+) {
+
+496
+¡
+ = (\13*)
+ `CALLOC
+(1, \17(*st));
+
+497 if(
+¡
+ =ð
+NULL
+) {
+
+498 \15
+»suÉ_ç\9eed
+;
+
+502 if(
+¥ecs
+) {
+
+503
+em
+ =
+¥ecs
+->
+v®ue2\92um
+;
+
+504
+em_Ën
+ =
+¥ecs
+->
+m_couÁ
+;
+
+505 if(
+¥ecs
+->
+¡riù_\92um\94©iÚ
+) {
+
+506
+f\9ad_\9aside_m
+ =
+em_Ën
+ > 0;
+
+508
+f\9ad_\9aside_m
+ =
+em_Ën
+ ?
+ `a¢_¿ndom_b\91w\93n
+(0, 1) : 0;
+
+511
+em
+ = 0;
+
+512
+em_Ën
+ = 0;
+
+513
+f\9ad_\9aside_m
+ = 0;
+
+516 if(
+f\9ad_\9aside_m
+) {
+
+517
+ `as£¹
+(
+em_Ën
+ > 0);
+
+518
+v®ue
+ =
+em
+[
+ `a¢_¿ndom_b\91w\93n
+(0,
+em_Ën
+ - 1)].
+Çt_v®ue
+;
+
+520 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+ù
+;
+
+522 \18cڡ \13
+v¬\9fÁs
+[] = {
+
+528 if(
+¥ecs
+ && s³cs->
+f\9bld_unsigÃd
+) {
+
+529
+ `as£¹
+(
+v¬\9fÁs
+[18] == 0);
+
+530
+v®ue
+ =
+v¬\9fÁs
+[
+ `a¢_¿ndom_b\91w\93n
+(
+
+531 18, \17(
+v¬\9fÁs
+) / \17(variants[0]) - 1)];
+
+533
+v®ue
+ =
+v¬\9fÁs
+[
+ `a¢_¿ndom_b\91w\93n
+(
+
+534 0, \17(
+v¬\9fÁs
+) / \17(variants[0]) - 1)];
+
+537 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð&
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+;
+
+538
+ù
+ =
+cÚ¡¿\9ats
+ ? cÚ¡¿\9ats->
+³r_cÚ¡¿\9ats
+ : 0;
+
+539 if(
+ù
+ && (ù->
+v®ue
+.
+æags
+ &
+APC_CONSTRAINED
+)) {
+
+540 if(
+v®ue
+ <
+ù
+->v®ue.
+low\94_bound
+ || v®u\90> ct->v®ue.
+uµ\94_bound
+) {
+
+541
+v®ue
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+ù
+->v®ue.
+low\94_bound
+,
+
+542
+ù
+->
+v®ue
+.
+uµ\94_bound
+);
+
+547 *
+¥\8c
+ =
+¡
+;
+
+548 *
+¡
+ =
+v®ue
+;
+
+549 \15
+»suÉ_ok
+;
+
+550
+ }
+}
+
+ @NativeReal.c
+
+12 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+13 \ 2
+ ~<N©iveR\97l.h
+>
+
+14 \ 2
+ ~<REAL.h
+>
+
+15 \ 2
+ ~<OCTET_STRING.h
+>
+
+16 \ 2
+ ~<m©h.h
+>
+
+17 \ 2
+ ~<æßt.h
+>
+
+19 #ià
+def\9aed
+(
+__þªg__
+)
+
+27 #´agm¨
+þªg
+
+d\9fgno¡ic
+
+push
+
+
+28 #´agm¨
+þªg
+
+d\9fgno¡ic
+
+ignÜed
+ "-Wc11-extensions"
+
+29 \18\12
+ $a¢_i¢ª
+(\b
+d
+) {
+
+30 \15
+ `i¢ª
+(
+d
+);
+
+31
+ }
+}
+
+32 #´agm¨
+þªg
+
+d\9fgno¡ic
+
+pÝ
+
+
+34 \ 1
+ #a¢_i¢ª
+(
+v
+è
+ `i¢ª
+(v)
+
+ )
+
+40 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_N©iveR\97l_\8fgs
+[] = {
+
+41 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (9 << 2))
+
+43
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_N©iveR\97l
+ = {
+
+44
+N©iveR\97l_ä\93
+,
+
+45
+N©iveR\97l_´\9at
+,
+
+46
+N©iveR\97l_com·»
+,
+
+47
+N©iveR\97l_decode_b\94
+,
+
+48
+N©iveR\97l_\92code_d\94
+,
+
+49
+N©iveR\97l_decode_x\94
+,
+
+50
+N©iveR\97l_\92code_x\94
+,
+
+51 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+55
+N©iveR\97l_decode_Ûr
+,
+
+56
+N©iveR\97l_\92code_Ûr
+,
+
+58 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+64
+N©iveR\97l_decode_u³r
+,
+
+65
+N©iveR\97l_\92code_u³r
+,
+
+66
+N©iveR\97l_decode_\94
+,
+
+67
+N©iveR\97l_\92code_\94
+,
+
+69
+N©iveR\97l_¿ndom_f\9el
+,
+
+72
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_N©iveR\97l
+ = {
+
+75 &
+a¢_OP_N©iveR\97l
+,
+
+76
+a¢_DEF_N©iveR\97l_\8fgs
+,
+
+77 \17(
+a¢_DEF_N©iveR\97l_\8fgs
+) / \17(asn_DEF_NativeReal_tags[0]),
+
+78
+a¢_DEF_N©iveR\97l_\8fgs
+,
+
+79 \17(
+a¢_DEF_N©iveR\97l_\8fgs
+) / \17(asn_DEF_NativeReal_tags[0]),
+
+80 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+85 \18
+size_t
+
+N©iveR\97l__æßt_size
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+);
+
+86 \18\b
+N©iveR\97l__g\91_doubË
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+87 cڡ \1e*
+±r
+);
+
+88 \18
+ssize_t
+
+N©iveR\97l__£t
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+89 \b
+d
+);
+
+94
+a¢_dec_rv®_t
+
+
+95
+ $N©iveR\97l_decode_b\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+96 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+97 cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+98
+a¢_dec_rv®_t
+
+rv®
+;
+
+99
+b\94_\8ev_Ën_t
+
+Ëngth
+;
+
+101
+ `ASN_DEBUG
+("Decod\9ag % a REAL (tm=%d)",
+td
+->
+Çme
+,
+\8fg_mode
+);
+
+106
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+, 0,
+buf_±r
+,
+size
+,
+\8fg_mode
+, 0,
+
+107 &
+Ëngth
+, 0);
+
+108 if(
+rv®
+.
+code
+ !ð
+RC_OK
+) \15\84val;
+
+109
+ `as£¹
+(
+Ëngth
+ >= 0);
+
+111
+ `ASN_DEBUG
+("% Ëngth i %d by\8bs",
+td
+->
+Çme
+, (\12)
+Ëngth
+);
+
+116
+buf_±r
+ = ((cÚ¡ \ 5*)buf_±rè+
+rv®
+.
+cÚsumed
+;
+
+117
+size
+ -ð
+rv®
+.
+cÚsumed
+;
+
+118 if(
+Ëngth
+ > (
+b\94_\8ev_Ën_t
+)
+size
+) {
+
+119
+rv®
+.
+code
+ =
+RC_WMORE
+;
+
+120
+rv®
+.
+cÚsumed
+ = 0;
+
+121 \15
+rv®
+;
+
+130
+u\9at8_t
+
+sü©ch
+[24];
+
+131
+REAL_t
+
+tmp
+;
+
+132 \b
+d
+;
+
+133 \12
+»t
+;
+
+135 if((
+size_t
+)
+Ëngth
+ < \17(
+sü©ch
+)) {
+
+136
+tmp
+.
+buf
+ =
+sü©ch
+;
+
+137
+tmp
+.
+size
+ =
+Ëngth
+;
+
+140
+tmp
+.
+buf
+ =
+ `CALLOC
+(1,
+Ëngth
+ + 1);
+
+141
+tmp
+.
+size
+ =
+Ëngth
+;
+
+142 if(!
+tmp
+.
+buf
+) {
+
+143
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+144
+rv®
+.
+cÚsumed
+ = 0;
+
+145 \15
+rv®
+;
+
+149
+ `memýy
+(
+tmp
+.
+buf
+,
+buf_±r
+,
+Ëngth
+);
+
+150
+tmp
+.
+buf
+[
+Ëngth
+] = '\0';
+
+152
+»t
+ =
+ `a¢_REAL2doubË
+(&
+tmp
+, &
+d
+);
+
+153 if(
+tmp
+.
+buf
+ !ð
+sü©ch
+è
+ `FREEMEM
+(tmp.buf);
+
+154 if(
+»t
+) {
+
+155
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+156
+rv®
+.
+cÚsumed
+ = 0;
+
+157 \15
+rv®
+;
+
+160 if(
+ `N©iveR\97l__£t
+(
+td
+,
+¥\8c
+,
+d
+) < 0)
+
+161
+ASN__DECODE_FAILED
+;
+
+164
+rv®
+.
+code
+ =
+RC_OK
+;
+
+165
+rv®
+.
+cÚsumed
+ +ð
+Ëngth
+;
+
+167
+ `ASN_DEBUG
+("Took %ld/%ld by\8b tØ\92cod\90%s", (\13)
+rv®
+.
+cÚsumed
+,
+
+168 (\13)
+Ëngth
+,
+td
+->
+Çme
+);
+
+170 \15
+rv®
+;
+
+171
+ }
+}
+
+176
+a¢_\92c_rv®_t
+
+
+177
+ $N©iveR\97l_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+178 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+
+179
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+180 \b
+d
+ =
+ `N©iveR\97l__g\91_doubË
+(
+td
+,
+¥\8c
+);
+
+181
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+182
+REAL_t
+
+tmp
+;
+
+185
+ `mem£t
+(&
+tmp
+, 0, \17(tmp));
+
+187 if(
+ `a¢_doubË2REAL
+(&
+tmp
+,
+d
+))
+
+188
+ASN__ENCODE_FAILED
+;
+
+191
+\94v®
+ =
+ `d\94_\92code_´im\99ive
+(
+td
+, &
+tmp
+,
+\8fg_mode
+,
+\8fg
+,
+cb
+,
+p_key
+);
+
+192 if(
+\94v®
+.
+\92coded
+ == -1) {
+
+193
+ `as£¹
+(
+\94v®
+.
+¡ruùu»_±r
+ =ð&
+tmp
+);
+
+194
+\94v®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+198
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+200 \15
+\94v®
+;
+
+201
+ }
+}
+
+203 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+208
+a¢_dec_rv®_t
+
+
+209
+ $N©iveR\97l_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+210 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+211 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+212
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+213
+a¢_dec_rv®_t
+
+rv®
+;
+
+214 \b
+d
+;
+
+215
+REAL_t
+
+tmp
+;
+
+216 \1e*
+±mp
+ = &
+tmp
+;
+
+217 \12
+»t
+;
+
+219 (\1e)
+cÚ¡¿\9ats
+;
+
+221
+ `mem£t
+(&
+tmp
+, 0, \17(tmp));
+
+222
+rv®
+ =
+ `OCTET_STRING_decode_u³r
+(
+Ýt_codec_ùx
+, &
+a¢_DEF_REAL
+,
+
+223
+NULL
+, &
+±mp
+,
+pd
+);
+
+224 if(
+rv®
+.
+code
+ !ð
+RC_OK
+) {
+
+225
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+226 \15
+rv®
+;
+
+229
+»t
+ =
+ `a¢_REAL2doubË
+(&
+tmp
+, &
+d
+);
+
+230
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+231 if(
+»t
+è
+ASN__DECODE_FAILED
+;
+
+233 if(
+ `N©iveR\97l__£t
+(
+td
+,
+¥\8c
+,
+d
+) < 0 )
+
+234
+ASN__DECODE_FAILED
+;
+
+236 \15
+rv®
+;
+
+237
+ }
+}
+
+242
+a¢_\92c_rv®_t
+
+
+243
+ $N©iveR\97l_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+244 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+245 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+246 \b
+d
+ =
+ `N©iveR\97l__g\91_doubË
+(
+td
+,
+¥\8c
+);
+
+247
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+248
+REAL_t
+
+tmp
+;
+
+250 (\1e)
+cÚ¡¿\9ats
+;
+
+253
+ `mem£t
+(&
+tmp
+, 0, \17(tmp));
+
+255 if(
+ `a¢_doubË2REAL
+(&
+tmp
+,
+d
+))
+
+256
+ASN__ENCODE_FAILED
+;
+
+259
+\94v®
+ =
+ `OCTET_STRING_\92code_u³r
+(&
+a¢_DEF_REAL
+,
+NULL
+, &
+tmp
+,
+po
+);
+
+260 if(
+\94v®
+.
+\92coded
+ == -1)
+
+261
+\94v®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+264
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+266 \15
+\94v®
+;
+
+267
+ }
+}
+
+270
+a¢_dec_rv®_t
+
+
+271
+ $N©iveR\97l_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+272 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+273 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+274 \1e**
+dbl_±r
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+275 \b*
+Dbl
+ = (\b*)*
+dbl_±r
+;
+
+276
+a¢_dec_rv®_t
+
+rv®
+;
+
+277
+REAL_t
+
+tmp
+;
+
+278 \1e*
+±mp
+ = &
+tmp
+;
+
+279 \12
+»t
+;
+
+281 (\1e)
+cÚ¡¿\9ats
+;
+
+286 if(
+Dbl
+ =ð
+NULL
+) {
+
+287 *
+dbl_±r
+ =
+ `CALLOC
+(1, \17(*
+Dbl
+));
+
+288
+Dbl
+ = (\b*)*
+dbl_±r
+;
+
+289 if(
+Dbl
+ =ð
+NULL
+)
+
+290
+ASN__DECODE_FAILED
+;
+
+293
+ `mem£t
+(&
+tmp
+, 0, \17(tmp));
+
+294
+rv®
+ =
+ `OCTET_STRING_decode_\94
+(
+Ýt_codec_ùx
+,
+td
+,
+NULL
+,
+
+295 &
+±mp
+,
+pd
+);
+
+296 if(
+rv®
+.
+code
+ !ð
+RC_OK
+) {
+
+297
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+298 \15
+rv®
+;
+
+301
+»t
+ =
+ `a¢_REAL2doubË
+(&
+tmp
+,
+Dbl
+);
+
+302
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+303 if(
+»t
+è
+ASN__DECODE_FAILED
+;
+
+305 \15
+rv®
+;
+
+306
+ }
+}
+
+308
+a¢_\92c_rv®_t
+
+
+309
+ $N©iveR\97l_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+310 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+311 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+312 \b
+Dbl
+ = *(cڡ \b*)
+¥\8c
+;
+
+313
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+314
+REAL_t
+
+tmp
+;
+
+316 (\1e)
+cÚ¡¿\9ats
+;
+
+319
+ `mem£t
+(&
+tmp
+, 0, \17(tmp));
+
+321 if(
+ `a¢_doubË2REAL
+(&
+tmp
+,
+Dbl
+))
+
+322
+ASN__ENCODE_FAILED
+;
+
+325
+\94v®
+ =
+ `OCTET_STRING_\92code_\94
+(
+td
+,
+NULL
+, &
+tmp
+,
+po
+);
+
+326 if(
+\94v®
+.
+\92coded
+ == -1)
+
+327
+\94v®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+330
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+332 \15
+\94v®
+;
+
+333
+ }
+}
+
+337 #iâdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+344
+ $N©iveR\97l__ÃtwÜk_sw
+(
+size_t
+
+æßt_size
+, cڡ \1e*
+¤ý
+,
+u\9at8_t
+ *
+d¡
+) {
+
+345 cڡ
+u\9at8_t
+ *
+¤c
+ =
+¤ý
+;
+
+346 \b
+\8b¡
+ = -0.0;
+
+347 \12
+æßt_big_\92d\9fn
+ = *(cڡ \ 5*)&
+\8b¡
+ != 0;
+
+349 \18cڡ \ 5
+sizeof_doubË_is_8_a
+[\17(\b)-7]
+CC_NOTUSED
+;
+
+350 \18cڡ \ 5
+sizeof_doubË_is_8_b
+[9-\17(\b)]
+CC_NOTUSED
+;
+
+352 \18cڡ \ 5
+sizeof_æßt_is_4_a
+[\17(\ e)-3]
+CC_NOTUSED
+;
+
+353 \18cڡ \ 5
+sizeof_æßt_is_4_b
+[5-\17(\ e)]
+CC_NOTUSED
+;
+
+355 \1a
+æßt_size
+) {
+
+357
+ `as£¹
+(\17(\b) == 8);
+
+358 if(
+æßt_big_\92d\9fn
+) {
+
+359
+d¡
+[0] =
+¤c
+[0];
+
+360
+d¡
+[1] =
+¤c
+[1];
+
+361
+d¡
+[2] =
+¤c
+[2];
+
+362
+d¡
+[3] =
+¤c
+[3];
+
+363
+d¡
+[4] =
+¤c
+[4];
+
+364
+d¡
+[5] =
+¤c
+[5];
+
+365
+d¡
+[6] =
+¤c
+[6];
+
+366
+d¡
+[7] =
+¤c
+[7];
+
+368
+d¡
+[0] =
+¤c
+[7];
+
+369
+d¡
+[1] =
+¤c
+[6];
+
+370
+d¡
+[2] =
+¤c
+[5];
+
+371
+d¡
+[3] =
+¤c
+[4];
+
+372
+d¡
+[4] =
+¤c
+[3];
+
+373
+d¡
+[5] =
+¤c
+[2];
+
+374
+d¡
+[6] =
+¤c
+[1];
+
+375
+d¡
+[7] =
+¤c
+[0];
+
+379
+ `as£¹
+(\17(\ e) == 4);
+
+380 if(
+æßt_big_\92d\9fn
+) {
+
+381
+d¡
+[0] =
+¤c
+[0];
+
+382
+d¡
+[1] =
+¤c
+[1];
+
+383
+d¡
+[2] =
+¤c
+[2];
+
+384
+d¡
+[3] =
+¤c
+[3];
+
+386
+d¡
+[0] =
+¤c
+[3];
+
+387
+d¡
+[1] =
+¤c
+[2];
+
+388
+d¡
+[2] =
+¤c
+[1];
+
+389
+d¡
+[3] =
+¤c
+[0];
+
+393
+ }
+}
+
+398
+a¢_\92c_rv®_t
+
+
+399
+ $N©iveR\97l_\92code_Ûr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+400 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+401 cڡ \1e*
+¥\8c
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+402 \1e*
+p_key
+) {
+
+403
+a¢_\92c_rv®_t
+
+\94
+ = {0, 0, 0};
+
+405 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+Ûr_cÚ¡¿\9ats
+;
+
+406 if(
+cÚ¡¿\9ats
+ && cÚ¡¿\9ats->
+v®ue
+.
+width
+ != 0) {
+
+408
+u\9at8_t
+
+sü©ch
+[\17(\b)];
+
+409 cڡ
+a¢_N©iveR\97l_¥ecifics_t
+ *
+¥ecs
+ =
+
+410 (cڡ
+a¢_N©iveR\97l_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+411
+size_t
+
+w\9ce_size
+ =
+cÚ¡¿\9ats
+->
+v®ue
+.
+width
+;
+
+413 if(
+¥ecs
+ ? (
+w\9ce_size
+ =ð¥ecs->
+æßt_size
+)
+
+414 : (
+w\9ce_size
+ == \17(\b))) {
+
+420
+ `as£¹
+((
+w\9ce_size
+ == \17(\b))
+
+421 || (
+¥ecs
+ && s³cs->
+æßt_size
+ =ð
+w\9ce_size
+));
+
+422
+ASN__ENCODE_FAILED
+;
+
+429
+ `N©iveR\97l__ÃtwÜk_sw
+(
+w\9ce_size
+,
+¥\8c
+,
+sü©ch
+);
+
+430 if(
+ `cb
+(
+sü©ch
+,
+w\9ce_size
+,
+p_key
+) < 0) {
+
+431
+ASN__ENCODE_FAILED
+;
+
+433
+\94
+.
+\92coded
+ =
+w\9ce_size
+;
+
+434
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+437 \b
+d
+ =
+ `N©iveR\97l__g\91_doubË
+(
+td
+,
+¥\8c
+);
+
+438
+ssize_t
+
+Ën_Ën
+;
+
+439
+REAL_t
+
+tmp
+;
+
+442
+ `mem£t
+(&
+tmp
+, 0, \17(tmp));
+
+444 if(
+ `a¢_doubË2REAL
+(&
+tmp
+,
+d
+)) {
+
+445
+ASN__ENCODE_FAILED
+;
+
+449
+Ën_Ën
+ =
+ `Ûr_£r\9flize_Ëngth
+(
+tmp
+.
+size
+,
+cb
+,
+p_key
+);
+
+450 if(
+Ën_Ën
+ < 0 ||
+ `cb
+(
+tmp
+.
+buf
+,\81mp.
+size
+,
+p_key
+) < 0) {
+
+451
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+452
+ASN__ENCODE_FAILED
+;
+
+454
+\94
+.
+\92coded
+ =
+Ën_Ën
+ +
+tmp
+.
+size
+;
+
+455
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+tmp
+);
+
+456
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+459
+ }
+}
+
+461
+a¢_dec_rv®_t
+
+
+462
+ $N©iveR\97l_decode_Ûr
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+463 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+464 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+465 cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+466
+a¢_dec_rv®_t
+
+ok
+ = {
+RC_OK
+, 0};
+
+467 \b
+d
+;
+
+468
+ssize_t
+
+Ën_Ën
+;
+
+469
+size_t
+
+»®_body_Ën
+;
+
+471 (\1e)
+Ýt_codec_ùx
+;
+
+473 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+Ûr_cÚ¡¿\9ats
+;
+
+474 if(
+cÚ¡¿\9ats
+ && cÚ¡¿\9ats->
+v®ue
+.
+width
+ != 0) {
+
+476
+u\9at8_t
+
+sü©ch
+[\17(\b)];
+
+477
+size_t
+
+w\9ce_size
+ =
+cÚ¡¿\9ats
+->
+v®ue
+.
+width
+;
+
+479 if(
+size
+ <
+w\9ce_size
+)
+
+480
+ASN__DECODE_STARVED
+;
+
+486
+ `N©iveR\97l__ÃtwÜk_sw
+(
+w\9ce_size
+,
+±r
+,
+sü©ch
+);
+
+489 \1a
+w\9ce_size
+) {
+
+492 \b
+tmp
+;
+
+493
+ `memýy
+(&
+tmp
+,
+sü©ch
+, \17(\b));
+
+494 if(
+ `N©iveR\97l__£t
+(
+td
+,
+¥\8c
+,
+tmp
+) < 0)
+
+495
+ASN__DECODE_FAILED
+;
+
+500 \ e
+tmp
+;
+
+501
+ `memýy
+(&
+tmp
+,
+sü©ch
+, \17(\ e));
+
+502 if(
+ `N©iveR\97l__£t
+(
+td
+,
+¥\8c
+,
+tmp
+) < 0)
+
+503
+ASN__DECODE_FAILED
+;
+
+507
+ASN__DECODE_FAILED
+;
+
+510
+ok
+.
+cÚsumed
+ =
+w\9ce_size
+;
+
+511 \15
+ok
+;
+
+514
+Ën_Ën
+ =
+ `Ûr_ãtch_Ëngth
+(
+±r
+,
+size
+, &
+»®_body_Ën
+);
+
+515 if(
+Ën_Ën
+ < 0è
+ASN__DECODE_FAILED
+;
+
+516 if(
+Ën_Ën
+ =ð0è
+ASN__DECODE_STARVED
+;
+
+518
+±r
+ = (cÚ¡ \ 5*í\8c +
+Ën_Ën
+;
+
+519
+size
+ -ð
+Ën_Ën
+;
+
+521 if(
+»®_body_Ën
+ >
+size
+è
+ASN__DECODE_STARVED
+;
+
+524
+u\9at8_t
+
+sü©ch
+[24];
+
+525
+REAL_t
+
+tmp
+;
+
+526 \12
+»t
+;
+
+528 if(
+»®_body_Ën
+ < \17(
+sü©ch
+)) {
+
+529
+tmp
+.
+buf
+ =
+sü©ch
+;
+
+530
+tmp
+.
+size
+ =
+»®_body_Ën
+;
+
+533
+tmp
+.
+buf
+ =
+ `CALLOC
+(1,
+»®_body_Ën
+ + 1);
+
+534
+tmp
+.
+size
+ =
+»®_body_Ën
+;
+
+535 if(!
+tmp
+.
+buf
+) {
+
+536
+ASN__DECODE_FAILED
+;
+
+540
+ `memýy
+(
+tmp
+.
+buf
+,
+±r
+,
+»®_body_Ën
+);
+
+541
+tmp
+.
+buf
+[
+»®_body_Ën
+] = '\0';
+
+543
+»t
+ =
+ `a¢_REAL2doubË
+(&
+tmp
+, &
+d
+);
+
+544 if(
+tmp
+.
+buf
+ !ð
+sü©ch
+è
+ `FREEMEM
+(tmp.buf);
+
+545 if(
+»t
+) {
+
+546
+ `ASN_DEBUG
+("REAL decoded iÀ%"
+ASN_PRI_SIZE
+ " bytes, but can't convert\81 double",
+
+547
+»®_body_Ën
+);
+
+548
+ASN__DECODE_FAILED
+;
+
+552 if(
+ `N©iveR\97l__£t
+(
+td
+,
+¥\8c
+,
+d
+) < 0)
+
+553
+ASN__DECODE_FAILED
+;
+
+555
+ok
+.
+cÚsumed
+ =
+Ën_Ën
+ +
+»®_body_Ën
+;
+
+556 \15
+ok
+;
+
+557
+ }
+}
+
+564
+a¢_dec_rv®_t
+
+
+565
+ $N©iveR\97l_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+566 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+567 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+) {
+
+568
+a¢_dec_rv®_t
+
+rv®
+;
+
+569
+REAL_t
+
+¡
+ = { 0, 0 };
+
+570
+REAL_t
+ *
+¡p
+ = &
+¡
+;
+
+572
+rv®
+ =
+ `REAL_decode_x\94
+(
+Ýt_codec_ùx
+,
+td
+, (\1e**)&
+¡p
+,
+Ýt_mÇme
+,
+
+573
+buf_±r
+,
+size
+);
+
+574 if(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+575 \b
+d
+;
+
+576 if(
+ `a¢_REAL2doubË
+(&
+¡
+, &
+d
+è||
+ `N©iveR\97l__£t
+(
+td
+,
+¥\8c
+, d) < 0) {
+
+577
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+578
+rv®
+.
+cÚsumed
+ = 0;
+
+582
+rv®
+.
+cÚsumed
+ = 0;
+
+584
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(
+a¢_DEF_REAL
+, &
+¡
+);
+
+585 \15
+rv®
+;
+
+586
+ }
+}
+
+588
+a¢_\92c_rv®_t
+
+
+589
+ $N©iveR\97l_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+590 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+591
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+592 \b
+d
+ =
+ `N©iveR\97l__g\91_doubË
+(
+td
+,
+¥\8c
+);
+
+593
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+595 (\1e)
+\9eev\96
+;
+
+597
+\94
+.
+\92coded
+ =
+ `REAL__dump
+(
+d
+,
+æags
+ &
+XER_F_CANONICAL
+,
+cb
+,
+p_key
+);
+
+598 if(
+\94
+.
+\92coded
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+600
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+601
+ }
+}
+
+607
+ $N©iveR\97l_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+608
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+609 (\1e)
+\9eev\96
+;
+
+611 if(
+¥\8c
+) {
+
+612 \b
+d
+ =
+ `N©iveR\97l__g\91_doubË
+(
+td
+,
+¥\8c
+);
+
+613 \15 (
+ `REAL__dump
+(
+d
+, 0,
+cb
+,
+p_key
+) < 0) ? -1 : 0;
+
+615 \15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+617
+ }
+}
+
+620
+ $N©iveR\97l_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+621 cڡ \1e*
+b±r
+) {
+
+623 if(
+\8c
+ &&
+b±r
+) {
+
+624 \b
+a
+ =
+ `N©iveR\97l__g\91_doubË
+(
+td
+,
+\8c
+);
+
+625 \b
+b
+ =
+ `N©iveR\97l__g\91_doubË
+(
+td
+,
+b±r
+);
+
+628 if(
+ `a¢_i¢ª
+(
+a
+)) {
+
+629 if(
+ `a¢_i¢ª
+(
+b
+)) {
+
+634 } \vif(
+ `a¢_i¢ª
+(
+b
+)) {
+
+638 if(
+a
+ <
+b
+) {
+
+640 } \vif(
+a
+ >
+b
+) {
+
+645 } \vif(!
+\8c
+) {
+
+650
+ }
+}
+
+653
+ $N©iveR\97l_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+±r
+,
+
+654 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+655 if(!
+td
+ || !
+±r
+)
+
+658
+ `ASN_DEBUG
+("Freeing %s\87s REAL (%d, %p, Native)",
+
+659
+td
+->
+Çme
+,
+m\91hod
+,
+±r
+);
+
+661 \1a
+m\91hod
+) {
+
+662 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+663
+ `FREEMEM
+(
+±r
+);
+
+665 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+667 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+: {
+
+668 cڡ
+a¢_N©iveR\97l_¥ecifics_t
+ *
+¥ecs
+;
+
+669
+size_t
+
+æßt_size
+;
+
+670
+¥ecs
+ = (cڡ
+a¢_N©iveR\97l_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+671
+æßt_size
+ =
+¥ecs
+ ? specs->float_size : \17(\b);
+
+672
+ `mem£t
+(
+±r
+, 0,
+æßt_size
+);
+
+675
+ }
+}
+
+677
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+678
+ $N©iveR\97l_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+679 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+680
+size_t
+
+max_Ëngth
+) {
+
+681
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 0};
+
+682
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+683
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+684 #iâdeà
+INFINITY
+
+
+685 \ 1
+ #INFINITY
+ (1.0/0.0)
+
+ )
+
+687 #iâdeà
+NAN
+
+
+688 \ 1
+ #NAN
+ (0.0/0.0)
+
+ )
+
+690 \18cڡ \b
+doubË_v®ues
+[] = {
+
+691 -
+M_E
+, M_E, -
+M_PI
+, M_PI,
+
+699 -
+DBL_MIN
+, DBL_MIN,
+
+700 -
+DBL_MAX
+, DBL_MAX,
+
+701 #ifdeà
+DBL_TRUE_MIN
+
+
+702 -
+DBL_TRUE_MIN
+, DBL_TRUE_MIN
+
+705 \18cڡ \ e
+æßt_v®ues
+[] = {
+
+706 0, -0.0, -1, 1, -
+M_E
+, M_E, -3.14, 3.14, -
+M_PI
+, M_PI, -255, 255,
+
+707 -
+FLT_MIN
+, FLT_MIN,
+
+708 -
+FLT_MAX
+, FLT_MAX,
+
+709 #ifdeà
+FLT_TRUE_MIN
+
+
+710 -
+FLT_TRUE_MIN
+, FLT_TRUE_MIN,
+
+712
+INFINITY
+, -INFINITY,
+NAN
+
+
+714
+ssize_t
+
+æßt_£t_size
+ =
+ `N©iveR\97l__æßt_size
+(
+td
+);
+
+715 cڡ
+size_t
+
+n_doubËs
+ = \17(
+doubË_v®ues
+) / \17(double_values[0]);
+
+716 cڡ
+size_t
+
+n_æßts
+ = \17(
+æßt_v®ues
+) / \17(float_values[0]);
+
+717 \b
+d
+;
+
+719 (\1e)
+cÚ¡¿\9ats
+;
+
+721 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+723 if(
+æßt_£t_size
+ =ð\17(\bè&&
+ `a¢_¿ndom_b\91w\93n
+(0, 1) == 0) {
+
+724
+d
+ =
+doubË_v®ues
+[
+ `a¢_¿ndom_b\91w\93n
+(0,
+n_doubËs
+ - 1)];
+
+726
+d
+ =
+æßt_v®ues
+[
+ `a¢_¿ndom_b\91w\93n
+(0,
+n_æßts
+ - 1)];
+
+729 if(
+ `N©iveR\97l__£t
+(
+td
+,
+¥\8c
+,
+d
+) < 0) {
+
+730 \15
+»suÉ_ç\9eed
+;
+
+733
+»suÉ_ok
+.
+Ëngth
+ =
+æßt_£t_size
+;
+
+734 \15
+»suÉ_ok
+;
+
+735
+ }
+}
+
+742 \18
+size_t
+
+
+743
+ $N©iveR\97l__æßt_size
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+) {
+
+744 cڡ
+a¢_N©iveR\97l_¥ecifics_t
+ *
+¥ecs
+ =
+
+745 (cڡ
+a¢_N©iveR\97l_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+746 \15
+¥ecs
+ ? s³cs->
+æßt_size
+ : \17(\b);
+
+747
+ }
+}
+
+750
+ $N©iveR\97l__g\91_doubË
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+±r
+) {
+
+751
+size_t
+
+æßt_size
+ =
+ `N©iveR\97l__æßt_size
+(
+td
+);
+
+752 if(
+æßt_size
+ == \17(\ e)) {
+
+753 \15 *(cڡ \ e*)
+±r
+;
+
+755 \15 *(cڡ \b*)
+±r
+;
+
+757
+ }
+}
+
+759 \18
+ssize_t
+
+
+760
+ $N©iveR\97l__£t
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+, \b
+d
+) {
+
+761
+size_t
+
+æßt_size
+ =
+ `N©iveR\97l__æßt_size
+(
+td
+);
+
+762 \1e*
+Çtive
+;
+
+764 if(!(
+Çtive
+ = *
+¥\8c
+)) {
+
+765
+Çtive
+ = (*
+¥\8c
+ =
+ `CALLOC
+(1,
+æßt_size
+));
+
+766 if(!
+Çtive
+) {
+
+771 if(
+æßt_size
+ == \17(\ e)) {
+
+772 if(
+ `a¢_doubË2æßt
+(
+d
+, (\ e*)
+Çtive
+)) {
+
+776 *(\b*)
+Çtive
+ =
+d
+;
+
+779 \15
+æßt_size
+;
+
+780
+ }
+}
+
+ @NgENB-ID.c
+
+8 \ 2
+ ~"NgENB-ID.h
+"
+
+11
+ $memb_maüoNgENB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23 if(
+¡
+->
+size
+ > 0) {
+
+25
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+27
+size
+ = 0;
+
+30 if((
+size
+ == 20)) {
+
+34
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+36
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+39
+ }
+}
+
+42
+ $memb_shÜtMaüoNgENB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+43
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+44 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+45
+size_t
+
+size
+;
+
+47 if(!
+¥\8c
+) {
+
+48
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+50
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+54 if(
+¡
+->
+size
+ > 0) {
+
+56
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+58
+size
+ = 0;
+
+61 if((
+size
+ == 18)) {
+
+65
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+67
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+70
+ }
+}
+
+73
+ $memb_lÚgMaüoNgENB_ID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+74
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+75 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+76
+size_t
+
+size
+;
+
+78 if(!
+¥\8c
+) {
+
+79
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+81
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+85 if(
+¡
+->
+size
+ > 0) {
+
+87
+size
+ = 8 *
+¡
+->siz\90- (¡->
+b\99s_unu£d
+ & 0x07);
+
+89
+size
+ = 0;
+
+92 if((
+size
+ == 21)) {
+
+96
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+98
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+101
+ }
+}
+
+103 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_maüoNgENB_ID_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+104 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+105 {
+APC_CONSTRAINED
+, 0, 0, 20, 20 } ,
+
+108 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_shÜtMaüoNgENB_ID_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+109 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+110 {
+APC_CONSTRAINED
+, 0, 0, 18, 18 } ,
+
+113 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_lÚgMaüoNgENB_ID_cÚ¡r_4
+
+ gCC_NOTUSED
+ = {
+
+114 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+115 {
+APC_CONSTRAINED
+, 0, 0, 21, 21 } ,
+
+118
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_NgENB_ID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+119 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 2, 2, 0, 2 } ,
+
+120 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+123
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_NgENB_ID_1
+[] = {
+
+124 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NgENB_ID
+,
+choiû
+.
+maüoNgENB_ID
+),
+
+125 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+127 &
+a¢_DEF_BIT_STRING
+,
+
+129 { 0, &
+a¢_PER_memb_maüoNgENB_ID_cÚ¡r_2
+,
+memb_maüoNgENB_ID_cÚ¡¿\9at_1
+ },
+
+133 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NgENB_ID
+,
+choiû
+.
+shÜtMaüoNgENB_ID
+),
+
+134 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+136 &
+a¢_DEF_BIT_STRING
+,
+
+138 { 0, &
+a¢_PER_memb_shÜtMaüoNgENB_ID_cÚ¡r_3
+,
+memb_shÜtMaüoNgENB_ID_cÚ¡¿\9at_1
+ },
+
+142 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+NgENB_ID
+,
+choiû
+.
+lÚgMaüoNgENB_ID
+),
+
+143 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+145 &
+a¢_DEF_BIT_STRING
+,
+
+147 { 0, &
+a¢_PER_memb_lÚgMaüoNgENB_ID_cÚ¡r_4
+,
+memb_lÚgMaüoNgENB_ID_cÚ¡¿\9at_1
+ },
+
+152 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_NgENB_ID_\8fg2\96_1
+[] = {
+
+153 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+154 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+155 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+157
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_NgENB_ID_¥ecs_1
+ = {
+
+158 \17(\19
+NgENB_ID
+),
+
+159
+off£tof
+(\19
+NgENB_ID
+,
+_a¢_ùx
+),
+
+160
+off£tof
+(\19
+NgENB_ID
+,
+´e£Á
+),
+
+161 \17(((\19
+NgENB_ID
+ *)0)->
+´e£Á
+),
+
+162
+a¢_MAP_NgENB_ID_\8fg2\96_1
+,
+
+167
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_NgENB_ID
+ = {
+
+170 &
+a¢_OP_CHOICE
+,
+
+175 { 0, &
+a¢_PER_ty³_NgENB_ID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+176
+a¢_MBR_NgENB_ID_1
+,
+
+178 &
+a¢_SPC_NgENB_ID_¥ecs_1
+
+
+ @OCTET_STRING.c
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<OCTET_STRING.h
+>
+
+8 \ 2
+ ~<BIT_STRING.h
+>
+
+9 \ 2
+ ~<\94ºo.h
+>
+
+14 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_OCTET_STRING_\8fgs
+[] = {
+
+15 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+17
+a¢_OCTET_STRING_¥ecifics_t
+
+ ga¢_SPC_OCTET_STRING_¥ecs
+ = {
+
+18 \17(
+OCTET_STRING_t
+),
+
+19
+off£tof
+(
+OCTET_STRING_t
+,
+_a¢_ùx
+),
+
+20
+ASN_OSUBV_STR
+
+
+23
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_OCTET_STRING
+ = {
+
+24
+OCTET_STRING_ä\93
+,
+
+25
+OCTET_STRING_´\9at
+,
+
+26
+OCTET_STRING_com·»
+,
+
+27
+OCTET_STRING_decode_b\94
+,
+
+28
+OCTET_STRING_\92code_d\94
+,
+
+29
+OCTET_STRING_decode_x\94_hex
+,
+
+30
+OCTET_STRING_\92code_x\94
+,
+
+31 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+35
+OCTET_STRING_decode_Ûr
+,
+
+36
+OCTET_STRING_\92code_Ûr
+,
+
+38 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+44
+OCTET_STRING_decode_u³r
+,
+
+45
+OCTET_STRING_\92code_u³r
+,
+
+46
+OCTET_STRING_decode_\94
+,
+
+47
+OCTET_STRING_\92code_\94
+,
+
+49
+OCTET_STRING_¿ndom_f\9el
+,
+
+52
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_OCTET_STRING
+ = {
+
+55 &
+a¢_OP_OCTET_STRING
+,
+
+56
+a¢_DEF_OCTET_STRING_\8fgs
+,
+
+57 \17(
+a¢_DEF_OCTET_STRING_\8fgs
+)
+
+58 / \17(
+a¢_DEF_OCTET_STRING_\8fgs
+[0]),
+
+59
+a¢_DEF_OCTET_STRING_\8fgs
+,
+
+60 \17(
+a¢_DEF_OCTET_STRING_\8fgs
+)
+
+61 / \17(
+a¢_DEF_OCTET_STRING_\8fgs
+[0]),
+
+62 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+64 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+67 #undeà
+_CH_PHASE
+
+
+68 #undeà
+NEXT_PHASE
+
+
+69 #undeà
+PREV_PHASE
+
+
+70 \ 1
+ #_CH_PHASE
+(
+ùx
+,
+\9ac
+) do { \
+
+71 if(
+ùx
+->
+pha£
+ == 0) \
+
+72
+ùx
+->
+cڋxt
+ = 0; \
+
+73
+ùx
+->
+pha£
+ +ð
+\9ac
+; \
+
+74 } \1f0)
+
+ )
+
+75 \ 1
+ #NEXT_PHASE
+(
+ùx
+è
+ `_CH_PHASE
+(ùx, +1)
+
+ )
+
+76 \ 1
+ #PREV_PHASE
+(
+ùx
+è
+ `_CH_PHASE
+(ùx, -1)
+
+ )
+
+78 #undeà
+ADVANCE
+
+
+79 \ 1
+ #ADVANCE
+(
+num_by\8bs
+) do { \
+
+80
+size_t
+
+num
+ = (
+num_by\8bs
+); \
+
+81
+buf_±r
+ = ((cÚ¡ \ 5*)buf_±rè+
+num
+; \
+
+82
+size
+ -ð
+num
+; \
+
+83
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+84 } \1f0)
+
+ )
+
+86 #undeà
+RETURN
+
+
+87 \ 1
+ #RETURN
+(
+_code
+) do { \
+
+88
+a¢_dec_rv®_t
+
+tm´v®
+; \
+
+89
+tm´v®
+.
+code
+ =
+_code
+; \
+
+90
+tm´v®
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+; \
+
+91 \15
+tm´v®
+; \
+
+92 } \1f0)
+
+ )
+
+94 #undeà
+APPEND
+
+
+95 \ 1
+ #APPEND
+(
+buå\8c
+,
+bufsize
+) do { \
+
+96
+size_t
+
+_bs
+ = (
+bufsize
+); \
+
+97
+size_t
+
+_ns
+ =
+ùx
+->
+cڋxt
+; \
+
+98
+size_t
+
+_es
+ =
+¡
+->
+size
+ +
+_bs
+; \
+
+100 if((\12)
+_es
+ < 0è
+ `RETURN
+(
+RC_FAIL
+); \
+
+101 if(
+_ns
+ <ð
+_es
+) { \
+
+102 \1e*
+±r
+; \
+
+104 dØ{
+_ns
+ = _ns ? _ns << 1 : 16; } \
+
+105 \1f
+_ns
+ <ð
+_es
+); \
+
+107 if((\12)
+_ns
+ < 0è
+ `RETURN
+(
+RC_FAIL
+); \
+
+108
+±r
+ =
+ `REALLOC
+(
+¡
+->
+buf
+,
+_ns
+); \
+
+109 if(
+±r
+) { \
+
+110
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+±r
+; \
+
+111
+ùx
+->
+cڋxt
+ =
+_ns
+; \
+
+113
+ `RETURN
+(
+RC_FAIL
+); \
+
+115
+ `ASN_DEBUG
+("R\97Îoÿt\9ag iÁØ%ld", (\13)
+_ns
+); \
+
+117
+ `memýy
+(
+¡
+->
+buf
+ + st->
+size
+,
+buå\8c
+,
+_bs
+); \
+
+119
+¡
+->
+buf
+[
+_es
+] = '\0'; \
+
+120
+¡
+->
+size
+ =
+_es
+; \
+
+121 } \1f0)
+
+ )
+
+129 \19
+ s_¡ack_\96
+ {
+
+130
+b\94_\8ev_Ën_t
+
+ mËá
+;
+
+131
+b\94_\8ev_Ën_t
+
+ mgÙ
+;
+
+132 \1d
+ mcÚt_Ëv\96
+;
+
+133 \12
+ mwªt_nuÎs
+;
+
+134 \12
+ mb\99s_chݳd
+;
+
+135
+b\94_\8ev_\8fg_t
+
+ m\8fg
+;
+
+136 \19
+_¡ack_\96
+ *
+ m´ev
+;
+
+137 \19
+_¡ack_\96
+ *
+ mÃxt
+;
+
+139 \19
+ s_¡ack
+ {
+
+140 \19
+_¡ack_\96
+ *
+ m\8f\9e
+;
+
+141 \19
+_¡ack_\96
+ *
+ mcur_±r
+;
+
+144 \18\19
+_¡ack_\96
+ *
+
+145
+ $OS__add_¡ack_\96
+(\19
+_¡ack
+ *
+¡
+) {
+
+146 \19
+_¡ack_\96
+ *
+Ãl
+;
+
+151 if(
+¡
+->
+cur_±r
+ && st->cur_±r->
+Ãxt
+) {
+
+152
+Ãl
+ =
+¡
+->
+cur_±r
+->
+Ãxt
+;
+
+153
+Ãl
+->
+b\99s_chݳd
+ = 0;
+
+154
+Ãl
+->
+gÙ
+ = 0;
+
+157
+Ãl
+ = (\19
+_¡ack_\96
+ *)
+ `CALLOC
+(1, \17(\19_stack_el));
+
+158 if(
+Ãl
+ =ð
+NULL
+)
+
+159 \15
+NULL
+;
+
+161 if(
+¡
+->
+\8f\9e
+) {
+
+163
+Ãl
+->
+cÚt_Ëv\96
+ =
+¡
+->
+\8f\9e
+->cont_level + 1;
+
+164
+¡
+->
+\8f\9e
+->
+Ãxt
+ =
+Ãl
+;
+
+166
+Ãl
+->
+´ev
+ =
+¡
+->
+\8f\9e
+;
+
+167
+¡
+->
+\8f\9e
+ =
+Ãl
+;
+
+170
+¡
+->
+cur_±r
+ =
+Ãl
+;
+
+172 \15
+Ãl
+;
+
+173
+ }
+}
+
+175 \18\19
+_¡ack
+ *
+
+176
+ $_Ãw_¡ack
+(\1e) {
+
+177 \15 (\19
+_¡ack
+ *)
+ `CALLOC
+(1, \17(\19_stack));
+
+178
+ }
+}
+
+183
+a¢_dec_rv®_t
+
+
+184
+ $OCTET_STRING_decode_b\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+185 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+186 cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+187 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+188 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+189 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+190
+BIT_STRING_t
+ *
+¡
+ = (BIT_STRING_\88*)*
+¥\8c
+;
+
+191
+a¢_dec_rv®_t
+
+rv®
+;
+
+192
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+193
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+194 \19
+_¡ack
+ *
+¡ck
+;
+
+195 \19
+_¡ack_\96
+ *
+£l
+ = 0;
+
+196 \12
+\8ev_cÚ¡r
+;
+
+197 \f
+a¢_OS_Subv¬\9fÁ
+
+ty³_v¬\9fÁ
+ =
+¥ecs
+->
+subv¬\9fÁ
+;
+
+199
+ `ASN_DEBUG
+("Decoding %s\87s %s (frame %ld)",
+
+200
+td
+->
+Çme
+,
+
+201 (
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_STR
+) ?
+
+203 (\13)
+size
+);
+
+208 if(
+¡
+ =ð
+NULL
+) {
+
+209
+¡
+ = (
+BIT_STRING_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+));
+
+210 if(
+¡
+ =ð
+NULL
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+214
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+216 \1a
+ùx
+->
+pha£
+) {
+
+221
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+,
+ùx
+,
+
+222
+buf_±r
+,
+size
+,
+\8fg_mode
+, -1,
+
+223 &
+ùx
+->
+Ëá
+, &
+\8ev_cÚ¡r
+);
+
+224 if(
+rv®
+.
+code
+ !ð
+RC_OK
+)
+
+225 \15
+rv®
+;
+
+227 if(
+\8ev_cÚ¡r
+) {
+
+231
+ùx
+->
+±r
+ =
+ `_Ãw_¡ack
+();
+
+232 if(!
+ùx
+->
+±r
+) {
+
+233
+ `RETURN
+(
+RC_FAIL
+);
+
+239
+ `_CH_PHASE
+(
+ùx
+, 3);
+
+240 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_ANY
+ &&
+\8fg_mode
+ != 1)
+
+241
+ `APPEND
+(
+buf_±r
+,
+rv®
+.
+cÚsumed
+);
+
+242
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+243 \10
+pha£3
+;
+
+246
+ `NEXT_PHASE
+(
+ùx
+);
+
+249
+pha£1
+:
+
+253
+¡ck
+ = (\19
+_¡ack
+ *)
+ùx
+->
+±r
+;
+
+254
+£l
+ =
+¡ck
+->
+cur_±r
+;
+
+256
+b\94_\8ev_\8fg_t
+
+\8ev_\8fg
+;
+
+257
+b\94_\8ev_Ën_t
+
+\8ev_Ën
+;
+
+258
+b\94_\8ev_\8fg_t
+
+ex³ùed_\8fg
+;
+
+259
+ssize_t
+
+\8e
+,
+Î
+,
+\8evl
+;
+
+261
+size_t
+
+Leá
+ = ((!
+£l
+||(size_t)£l->
+Ëá
+ >ð
+size
+)
+
+262 ?
+size
+:(
+size_t
+)
+£l
+->
+Ëá
+);
+
+265
+ `ASN_DEBUG
+("%p, s->l=%ld, s->wn=%ld, s->g=%ld\n", (\1e*)
+£l
+,
+
+266 (\13)(
+£l
+?£l->
+Ëá
+:0),
+
+267 (\13)(
+£l
+?£l->
+wªt_nuÎs
+:0),
+
+268 (\13)(
+£l
+?£l->
+gÙ
+:0)
+
+270 if(
+£l
+ && s\96->
+Ëá
+ <ð0 && s\96->
+wªt_nuÎs
+ == 0) {
+
+271 if(
+£l
+->
+´ev
+) {
+
+272 \19
+_¡ack_\96
+ *
+´ev
+ =
+£l
+->prev;
+
+273 if(
+´ev
+->
+Ëá
+ != -1) {
+
+274 if(
+´ev
+->
+Ëá
+ <
+£l
+->
+gÙ
+)
+
+275
+ `RETURN
+(
+RC_FAIL
+);
+
+276
+´ev
+->
+Ëá
+ -ð
+£l
+->
+gÙ
+;
+
+278
+´ev
+->
+gÙ
+ +ð
+£l
+->got;
+
+279
+£l
+ =
+¡ck
+->
+cur_±r
+ =
+´ev
+;
+
+280 if(!
+£l
+) \ 3;
+
+281
+\8ev_cÚ¡r
+ = 1;
+
+284
+£l
+ =
+¡ck
+->
+cur_±r
+ = 0;
+
+289
+\8e
+ =
+ `b\94_ãtch_\8fg
+(
+buf_±r
+,
+Leá
+, &
+\8ev_\8fg
+);
+
+290
+ `ASN_DEBUG
+("fetch\81ag(size=%ld,L=%ld), %sstack,\86eft=%ld, wn=%ld,\81l=%ld",
+
+291 (\13)
+size
+, (\13)
+Leá
+,
+£l
+?"":"!",
+
+292 (\13)(
+£l
+?£l->
+Ëá
+:0),
+
+293 (\13)(
+£l
+?£l->
+wªt_nuÎs
+:0),
+
+294 (\13)
+\8e
+);
+
+295 \1a
+\8e
+) {
+
+296 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+297 \ 40:
+ `RETURN
+(
+RC_WMORE
+);
+
+300
+\8ev_cÚ¡r
+ =
+ `BER_TLV_CONSTRUCTED
+(
+buf_±r
+);
+
+302
+Î
+ =
+ `b\94_ãtch_Ëngth
+(
+\8ev_cÚ¡r
+,
+
+303 (cڡ \ 5*)
+buf_±r
+ +
+\8e
+,
+Leá
+ -\81l,&
+\8ev_Ën
+);
+
+304
+ `ASN_DEBUG
+("Got\81ag=%s,\81c=%d,\86eft=%ld,\81l=%ld,\86en=%ld,\86l=%ld",
+
+305
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+),
+\8ev_cÚ¡r
+,
+
+306 (\13)
+Leá
+, (\13)
+\8e
+, (\13)
+\8ev_Ën
+, (\13)
+Î
+);
+
+307 \1a
+Î
+) {
+
+308 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+309 \ 40:
+ `RETURN
+(
+RC_WMORE
+);
+
+312 if(
+£l
+ && s\96->
+wªt_nuÎs
+
+
+313 && ((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[0] == 0
+
+314 && ((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[1] == 0)
+
+317
+ `ASN_DEBUG
+("E© EOC; wn=%d--",
+£l
+->
+wªt_nuÎs
+);
+
+319 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_ANY
+
+
+320 && (
+\8fg_mode
+ !ð1 ||
+£l
+->
+cÚt_Ëv\96
+))
+
+321
+ `APPEND
+("\0\0", 2);
+
+323
+ `ADVANCE
+(2);
+
+324
+£l
+->
+gÙ
+ += 2;
+
+325 if(
+£l
+->
+Ëá
+ != -1) {
+
+326
+£l
+->
+Ëá
+ -= 2;
+
+329
+£l
+->
+wªt_nuÎs
+--;
+
+330 if(
+£l
+->
+wªt_nuÎs
+ == 0) {
+
+332
+£l
+->
+Ëá
+ = 0;
+
+333
+\8ev_cÚ¡r
+ = 1;
+
+343 \1a
+ty³_v¬\9fÁ
+) {
+
+344 \ 4
+ASN_OSUBV_BIT
+:
+
+347 \ 4
+ASN_OSUBV_STR
+:
+
+349 if(
+£l
+) {
+
+350 \1d
+Ëv\96
+ =
+£l
+->
+cÚt_Ëv\96
+;
+
+351 if(
+Ëv\96
+ <
+td
+->
+®l_\8fgs_couÁ
+) {
+
+352
+ex³ùed_\8fg
+ =
+td
+->
+®l_\8fgs
+[
+Ëv\96
+];
+
+354 } \vif(
+td
+->
+®l_\8fgs_couÁ
+) {
+
+355
+ex³ùed_\8fg
+ =
+td
+->
+®l_\8fgs
+
+
+356 [
+td
+->
+®l_\8fgs_couÁ
+ - 1];
+
+362 \ 4
+ASN_OSUBV_ANY
+:
+
+363
+ex³ùed_\8fg
+ =
+\8ev_\8fg
+;
+
+368 if(
+\8ev_\8fg
+ !ð
+ex³ùed_\8fg
+) {
+
+369 \ 5
+buf
+[2][32];
+
+370
+ `b\94_\8ev_\8fg_¢´\9at
+(
+\8ev_\8fg
+,
+
+371
+buf
+[0], \17(buf[0]));
+
+372
+ `b\94_\8ev_\8fg_¢´\9at
+(
+td
+->
+\8fgs
+[td->
+\8fgs_couÁ
+-1],
+
+373
+buf
+[1], \17(buf[1]));
+
+374
+ `ASN_DEBUG
+("Tag does\82ot match\83xpectation: %s != %s",
+
+375
+buf
+[0], buf[1]);
+
+376
+ `RETURN
+(
+RC_FAIL
+);
+
+379
+\8evl
+ =
+\8e
+ +
+Î
+;
+
+380 if((
+\8ev_Ën
+ +
+\8evl
+) < 0) {
+
+382
+ `ASN_DEBUG
+("TLV\83ncoding +\86ength (%ld) is\81oo big",
+
+383 (\13)
+\8ev_Ën
+);
+
+384
+ `RETURN
+(
+RC_FAIL
+);
+
+390
+£l
+ =
+ `OS__add_¡ack_\96
+(
+¡ck
+);
+
+391 if(!
+£l
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+393
+£l
+->
+\8fg
+ =
+\8ev_\8fg
+;
+
+395
+£l
+->
+wªt_nuÎs
+ = (
+\8ev_Ën
+==-1);
+
+396 if(
+£l
+->
+´ev
+ && s\96->´ev->
+Ëá
+ != -1) {
+
+398 if(
+£l
+->
+´ev
+->
+Ëá
+ <
+\8evl
+ + (
+\8ev_Ën
+==-1?0:tlv_len))
+
+399
+ `RETURN
+(
+RC_FAIL
+);
+
+400 if(
+\8ev_Ën
+ == -1)
+
+401
+£l
+->
+Ëá
+ = s\96->
+´ev
+->Ëá -
+\8evl
+;
+
+403
+£l
+->
+Ëá
+ =
+\8ev_Ën
+;
+
+405
+£l
+->
+Ëá
+ =
+\8ev_Ën
+;
+
+407 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_ANY
+
+
+408 && (
+\8fg_mode
+ !ð1 ||
+£l
+->
+cÚt_Ëv\96
+))
+
+409
+ `APPEND
+(
+buf_±r
+,
+\8evl
+);
+
+410
+£l
+->
+gÙ
+ +ð
+\8evl
+;
+
+411
+ `ADVANCE
+(
+\8evl
+);
+
+413
+ `ASN_DEBUG
+("+EXPECT2 got=%ld\86eft=%ld, wn=%d, clvl=%u",
+
+414 (\13)
+£l
+->
+gÙ
+, (\13)£l->
+Ëá
+,
+
+415
+£l
+->
+wªt_nuÎs
+, s\96->
+cÚt_Ëv\96
+);
+
+417 } \1f
+\8ev_cÚ¡r
+);
+
+418 if(
+£l
+ =ð
+NULL
+) {
+
+420
+ `ASN_DEBUG
+("Phase out");
+
+421
+ `_CH_PHASE
+(
+ùx
+, +3);
+
+425
+ `NEXT_PHASE
+(
+ùx
+);
+
+428
+¡ck
+ = (\19
+_¡ack
+ *)
+ùx
+->
+±r
+;
+
+429
+£l
+ =
+¡ck
+->
+cur_±r
+;
+
+430
+ `ASN_DEBUG
+("Phase 2: Need %ld bytes, size=%ld,\87lrg=%ld, wn=%d",
+
+431 (\13)
+£l
+->
+Ëá
+, (\13)
+size
+, (\13)£l->
+gÙ
+,
+
+432
+£l
+->
+wªt_nuÎs
+);
+
+434
+b\94_\8ev_Ën_t
+
+Ën
+;
+
+436
+ `as£¹
+(
+£l
+->
+Ëá
+ >= 0);
+
+438
+Ën
+ = ((
+b\94_\8ev_Ën_t
+)
+size
+ <
+£l
+->
+Ëá
+)
+
+439 ? (
+b\94_\8ev_Ën_t
+)
+size
+ :
+£l
+->
+Ëá
+;
+
+440 if(
+Ën
+ > 0) {
+
+441 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+
+
+442 &&
+£l
+->
+b\99s_chݳd
+ == 0) {
+
+444
+¡
+->
+b\99s_unu£d
+ = *(cڡ
+u\9at8_t
+ *)
+buf_±r
+;
+
+445
+ `APPEND
+(((cڡ \ 5*)
+buf_±r
++1), (
+Ën
+ - 1));
+
+446
+£l
+->
+b\99s_chݳd
+ = 1;
+
+448
+ `APPEND
+(
+buf_±r
+,
+Ën
+);
+
+450
+ `ADVANCE
+(
+Ën
+);
+
+451
+£l
+->
+Ëá
+ -ð
+Ën
+;
+
+452
+£l
+->
+gÙ
+ +ð
+Ën
+;
+
+455 if(
+£l
+->
+Ëá
+) {
+
+456
+ `ASN_DEBUG
+("OS\86eft %ld, size = %ld, wn=%d\n",
+
+457 (\13)
+£l
+->
+Ëá
+, (\13)
+size
+, s\96->
+wªt_nuÎs
+);
+
+458
+ `RETURN
+(
+RC_WMORE
+);
+
+461
+ `PREV_PHASE
+(
+ùx
+);
+
+462 \10
+pha£1
+;
+
+466
+pha£3
+:
+
+470
+ `as£¹
+(
+ùx
+->
+Ëá
+ >= 0);
+
+472 if(
+size
+ < (
+size_t
+)
+ùx
+->
+Ëá
+) {
+
+473 if(!
+size
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+474 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+ && !
+ùx
+->
+cڋxt
+) {
+
+475
+¡
+->
+b\99s_unu£d
+ = *(cڡ
+u\9at8_t
+ *)
+buf_±r
+;
+
+476
+ùx
+->
+Ëá
+--;
+
+477
+ `ADVANCE
+(1);
+
+479
+ `APPEND
+(
+buf_±r
+,
+size
+);
+
+480
+ `as£¹
+(
+ùx
+->
+cڋxt
+ > 0);
+
+481
+ùx
+->
+Ëá
+ -ð
+size
+;
+
+482
+ `ADVANCE
+(
+size
+);
+
+483
+ `RETURN
+(
+RC_WMORE
+);
+
+485 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+
+
+486 && !
+ùx
+->
+cڋxt
+ && ctx->
+Ëá
+) {
+
+487
+¡
+->
+b\99s_unu£d
+ = *(cڡ
+u\9at8_t
+ *)
+buf_±r
+;
+
+488
+ùx
+->
+Ëá
+--;
+
+489
+ `ADVANCE
+(1);
+
+491
+ `APPEND
+(
+buf_±r
+,
+ùx
+->
+Ëá
+);
+
+492
+ `ADVANCE
+(
+ùx
+->
+Ëá
+);
+
+493
+ùx
+->
+Ëá
+ = 0;
+
+495
+ `NEXT_PHASE
+(
+ùx
+);
+
+500 if(
+£l
+) {
+
+501
+ `ASN_DEBUG
+("3sel\85=%p, wn=%d,\86=%ld, g=%ld, size=%ld",
+
+502 (\1e*)
+£l
+->
+´ev
+, s\96->
+wªt_nuÎs
+,
+
+503 (\13)
+£l
+->
+Ëá
+, (\13)£l->
+gÙ
+, (\13)
+size
+);
+
+504 if(
+£l
+->
+´ev
+ || s\96->
+wªt_nuÎs
+ > 1 || s\96->
+Ëá
+ > 0) {
+
+505
+ `RETURN
+(
+RC_WMORE
+);
+
+512 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+) {
+
+513 if(
+¡
+->
+size
+) {
+
+514 if(
+¡
+->
+b\99s_unu£d
+ < 0 || st->bits_unused > 7) {
+
+515
+ `RETURN
+(
+RC_FAIL
+);
+
+518
+¡
+->
+buf
+[¡->
+size
+-1] &ð0xfà<< st->
+b\99s_unu£d
+;
+
+520 if(
+¡
+->
+b\99s_unu£d
+) {
+
+521
+ `RETURN
+(
+RC_FAIL
+);
+
+526
+ `ASN_DEBUG
+("Took %ld bytes\81o\83ncode %s: [%s]:%ld",
+
+527 (\13)
+cÚsumed_my£lf
+,
+td
+->
+Çme
+,
+
+528 (
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_STR
+è? (\ 5*)
+¡
+->
+buf
+ : "<data>",
+
+529 (\13)
+¡
+->
+size
+);
+
+532
+ `RETURN
+(
+RC_OK
+);
+
+533
+ }
+}
+
+538
+a¢_\92c_rv®_t
+
+
+539
+ $OCTET_STRING_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+540 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+
+541
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+542
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+543 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+544 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+545 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+546 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+547 \f
+a¢_OS_Subv¬\9fÁ
+
+ty³_v¬\9fÁ
+ =
+¥ecs
+->
+subv¬\9fÁ
+;
+
+548 \12
+fix_Ï¡_by\8b
+ = 0;
+
+550
+ `ASN_DEBUG
+("%s %s\87s OCTET STRING",
+
+551
+cb
+?"E¡im©\9ag":"Encod\9ag",
+td
+->
+Çme
+);
+
+556 if(
+ty³_v¬\9fÁ
+ !ð
+ASN_OSUBV_ANY
+ ||
+\8fg_mode
+ == 1) {
+
+557
+\94
+.
+\92coded
+ =
+ `d\94_wr\99e_\8fgs
+(
+td
+,
+
+558 (
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+è+
+¡
+->
+size
+,
+
+559
+\8fg_mode
+,
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_ANY
+,
+\8fg
+,
+
+560
+cb
+,
+p_key
+);
+
+561 if(
+\94
+.
+\92coded
+ == -1) {
+
+562
+\94
+.
+ç\9eed_ty³
+ =
+td
+;
+
+563
+\94
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+564 \15
+\94
+;
+
+568
+ `as£¹
+(
+ty³_v¬\9fÁ
+ !ð
+ASN_OSUBV_ANY
+ ||
+\8fg_mode
+ != -1);
+
+569
+\94
+.
+\92coded
+ = 0;
+
+572 if(!
+cb
+) {
+
+573
+\94
+.
+\92coded
+ +ð(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+è+
+¡
+->
+size
+;
+
+574
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+580 if(
+ty³_v¬\9fÁ
+ =ð
+ASN_OSUBV_BIT
+) {
+
+581
+u\9at8_t
+
+b
+ =
+¡
+->
+b\99s_unu£d
+ & 0x07;
+
+582 if(
+b
+ &&
+¡
+->
+size
+è
+fix_Ï¡_by\8b
+ = 1;
+
+583
+ `ASN__CALLBACK
+(&
+b
+, 1);
+
+587
+ `ASN__CALLBACK
+(
+¡
+->
+buf
+, st->
+size
+ -
+fix_Ï¡_by\8b
+);
+
+590 if(
+fix_Ï¡_by\8b
+) {
+
+591
+u\9at8_t
+
+b
+ =
+¡
+->
+buf
+[¡->
+size
+-1] & (0xfà<< st->
+b\99s_unu£d
+);
+
+592
+ `ASN__CALLBACK
+(&
+b
+, 1);
+
+595
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+596
+cb_ç\9eed
+:
+
+597
+ASN__ENCODE_FAILED
+;
+
+598
+ }
+}
+
+600
+a¢_\92c_rv®_t
+
+
+601
+ $OCTET_STRING_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+602 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+603
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+604 cڡ \ 5* cڡ
+h2c
+ = "0123456789ABCDEF";
+
+605 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+606
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+607 \ 5
+sü©ch
+[16 * 3 + 4];
+
+608 \ 5*
+p
+ =
+sü©ch
+;
+
+609
+u\9at8_t
+ *
+buf
+;
+
+610
+u\9at8_t
+ *
+\92d
+;
+
+611
+size_t
+
+i
+;
+
+613 if(!
+¡
+ || (!¡->
+buf
+ && st->
+size
+))
+
+614
+ASN__ENCODE_FAILED
+;
+
+616
+\94
+.
+\92coded
+ = 0;
+
+621
+buf
+ =
+¡
+->buf;
+
+622
+\92d
+ =
+buf
+ +
+¡
+->
+size
+;
+
+623 if(
+æags
+ &
+XER_F_CANONICAL
+) {
+
+624 \ 5*
+sûnd
+ =
+sü©ch
+ + (\17(scratch) - 2);
+
+625 \ f;
+buf
+ <
+\92d
+; buf++) {
+
+626 if(
+p
+ >ð
+sûnd
+) {
+
+627
+ `ASN__CALLBACK
+(
+sü©ch
+,
+p
+ - scratch);
+
+628
+p
+ =
+sü©ch
+;
+
+630 *
+p
+++ =
+h2c
+[(*
+buf
+ >> 4) & 0x0F];
+
+631 *
+p
+++ =
+h2c
+[*
+buf
+ & 0x0F];
+
+634
+ `ASN__CALLBACK
+(
+sü©ch
+,
+p
+-scratch);
+
+636 \ f
+i
+ = 0;
+buf
+ <
+\92d
+; buf++, i++) {
+
+637 if(!(
+i
+ % 16è&& (\98||
+¡
+->
+size
+ > 16)) {
+
+638
+ `ASN__CALLBACK
+(
+sü©ch
+,
+p
+-scratch);
+
+639
+p
+ =
+sü©ch
+;
+
+640
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+);
+
+642 *
+p
+++ =
+h2c
+[(*
+buf
+ >> 4) & 0x0F];
+
+643 *
+p
+++ =
+h2c
+[*
+buf
+ & 0x0F];
+
+644 *
+p
+++ = 0x20;
+
+646 if(
+p
+ -
+sü©ch
+) {
+
+647
+p
+--;
+
+648
+ `ASN__CALLBACK
+(
+sü©ch
+,
+p
+-scratch);
+
+649 if(
+¡
+->
+size
+ > 16)
+
+650
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+-1);
+
+654
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+655
+cb_ç\9eed
+:
+
+656
+ASN__ENCODE_FAILED
+;
+
+657
+ }
+}
+
+659 \18cڡ \19
+ sOCTET_STRING__x\94_esÿ³_\8fbË_s
+ {
+
+660 cڡ \ 5*
+ m¡r\9ag
+;
+
+661 \12
+ msize
+;
+
+662 }
+ gOCTET_STRING__x\94_esÿ³_\8fbË
+[] = {
+
+663 \ 1
+ #OSXET
+(
+s
+è{ s, \17(sè- 1 }
+
+ )
+
+664
+OSXET
+("\074\156\165\154\057\076"),
+
+665
+OSXET
+("\074\163\157\150\057\076"),
+
+666
+OSXET
+("\074\163\164\170\057\076"),
+
+667
+OSXET
+("\074\145\164\170\057\076"),
+
+668
+OSXET
+("\074\145\157\164\057\076"),
+
+669
+OSXET
+("\074\145\156\161\057\076"),
+
+670
+OSXET
+("\074\141\143\153\057\076"),
+
+671
+OSXET
+("\074\142\145\154\057\076"),
+
+672
+OSXET
+("\074\142\163\057\076"),
+
+673
+OSXET
+("\011"),
+
+674
+OSXET
+("\012"),
+
+675
+OSXET
+("\074\166\164\057\076"),
+
+676
+OSXET
+("\074\146\146\057\076"),
+
+677
+OSXET
+("\015"),
+
+678
+OSXET
+("\074\163\157\057\076"),
+
+679
+OSXET
+("\074\163\151\057\076"),
+
+680
+OSXET
+("\074\144\154\145\057\076"),
+
+681
+OSXET
+("\074\144\143\061\057\076"),
+
+682
+OSXET
+("\074\144\143\062\057\076"),
+
+683
+OSXET
+("\074\144\143\063\057\076"),
+
+684
+OSXET
+("\074\144\143\064\057\076"),
+
+685
+OSXET
+("\074\156\141\153\057\076"),
+
+686
+OSXET
+("\074\163\171\156\057\076"),
+
+687
+OSXET
+("\074\145\164\142\057\076"),
+
+688
+OSXET
+("\074\143\141\156\057\076"),
+
+689
+OSXET
+("\074\145\155\057\076"),
+
+690
+OSXET
+("\074\163\165\142\057\076"),
+
+691
+OSXET
+("\074\145\163\143\057\076"),
+
+692
+OSXET
+("\074\151\163\064\057\076"),
+
+693
+OSXET
+("\074\151\163\063\057\076"),
+
+694
+OSXET
+("\074\151\163\062\057\076"),
+
+695
+OSXET
+("\074\151\163\061\057\076"),
+
+702
+OSXET
+("\046\141\155\160\073"),
+
+707
+OSXET
+("\046\154\164\073"),
+
+709
+OSXET
+("\046\147\164\073"),
+
+713
+ $OS__check_esÿ³d_cÚ\8cÞ_ch¬
+(cڡ \1e*
+buf
+, \12
+size
+) {
+
+714
+size_t
+
+i
+;
+
+721 \ f
+i
+ = 0; i < 32 ; i++) {
+
+722 cڡ \19
+OCTET_STRING__x\94_esÿ³_\8fbË_s
+ *
+\96
+;
+
+723
+\96
+ = &
+OCTET_STRING__x\94_esÿ³_\8fbË
+[
+i
+];
+
+724 if(
+\96
+->
+size
+ =ðsiz\90&&
+ `memcmp
+(
+buf
+,\83l->
+¡r\9ag
+, size) == 0)
+
+725 \15
+i
+;
+
+728
+ }
+}
+
+731
+ $OCTET_STRING__hªdË_cÚ\8cÞ_ch¬s
+(\1e*
+¡ruù_±r
+, cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+) {
+
+737 \12
+cÚ\8cÞ_ch¬
+ =
+ `OS__check_esÿ³d_cÚ\8cÞ_ch¬
+(
+chunk_buf
+,
+chunk_size
+);
+
+738 if(
+cÚ\8cÞ_ch¬
+ >= 0) {
+
+739
+OCTET_STRING_t
+ *
+¡
+ = (OCTET_STRING_\88*)
+¡ruù_±r
+;
+
+740 \1e*
+p
+ =
+ `REALLOC
+(
+¡
+->
+buf
+, st->
+size
+ + 2);
+
+741 if(
+p
+) {
+
+742
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+p
+;
+
+743
+¡
+->
+buf
+[¡->
+size
+++] =
+cÚ\8cÞ_ch¬
+;
+
+744
+¡
+->
+buf
+[¡->
+size
+] = '\0';
+
+750
+ }
+}
+
+752
+a¢_\92c_rv®_t
+
+
+753
+ $OCTET_STRING_\92code_x\94_utf8
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+754 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+755
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+756 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+757
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+758
+u\9at8_t
+ *
+buf
+, *
+\92d
+;
+
+759
+u\9at8_t
+ *
+ss
+;
+
+760
+ssize_t
+
+\92coded_Ën
+ = 0;
+
+762 (\1e)
+\9eev\96
+;
+
+763 (\1e)
+æags
+;
+
+765 if(!
+¡
+ || (!¡->
+buf
+ && st->
+size
+))
+
+766
+ASN__ENCODE_FAILED
+;
+
+768
+buf
+ =
+¡
+->buf;
+
+769
+\92d
+ =
+buf
+ +
+¡
+->
+size
+;
+
+770 \ f
+ss
+ =
+buf
+; buà<
+\92d
+; buf++) {
+
+771 \1d\12
+ch
+ = *
+buf
+;
+
+772 \12
+s_Ën
+;
+
+777 if(
+ch
+ < \17(
+OCTET_STRING__x\94_esÿ³_\8fbË
+)
+
+778 /\17(
+OCTET_STRING__x\94_esÿ³_\8fbË
+[0])
+
+779 && (
+s_Ën
+ =
+OCTET_STRING__x\94_esÿ³_\8fbË
+[
+ch
+].
+size
+)) {
+
+780 if(((
+buf
+ -
+ss
+è&&
+ `cb
+(ss, buà- ss,
+p_key
+) < 0)
+
+781 ||
+ `cb
+(
+OCTET_STRING__x\94_esÿ³_\8fbË
+[
+ch
+].
+¡r\9ag
+,
+s_Ën
+,
+
+782
+p_key
+) < 0)
+
+783
+ASN__ENCODE_FAILED
+;
+
+784
+\92coded_Ën
+ +ð(
+buf
+ -
+ss
+è+
+s_Ën
+;
+
+785
+ss
+ =
+buf
+ + 1;
+
+789
+\92coded_Ën
+ +ð(
+buf
+ -
+ss
+);
+
+790 if((
+buf
+ -
+ss
+è&&
+ `cb
+(ss, buà- ss,
+p_key
+) < 0)
+
+791
+ASN__ENCODE_FAILED
+;
+
+793
+\94
+.
+\92coded
+ =
+\92coded_Ën
+;
+
+794
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+795
+ }
+}
+
+800 \18
+ssize_t
+
+ $OCTET_STRING__cÚv\94t_hexadecim®
+(\1e*
+¥\8c
+, cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+, \12
+have_mÜe
+) {
+
+801
+OCTET_STRING_t
+ *
+¡
+ = (OCTET_STRING_\88*)
+¥\8c
+;
+
+802 cڡ \ 5*
+chunk_¡Ý
+ = (cڡ \ 5*)
+chunk_buf
+;
+
+803 cڡ \ 5*
+p
+ =
+chunk_¡Ý
+;
+
+804 cڡ \ 5*
+³nd
+ =
+p
+ +
+chunk_size
+;
+
+805 \1d\12
+þv
+ = 0;
+
+806 \12
+h®f
+ = 0;
+
+807
+u\9at8_t
+ *
+buf
+;
+
+810
+size_t
+
+Ãw_size
+ =
+¡
+->
+size
+ + (
+chunk_size
+ + 1) / 2;
+
+811 \1e*
+Ō
+ =
+ `REALLOC
+(
+¡
+->
+buf
+,
+Ãw_size
+ + 1);
+
+812 if(!
+Ō
+) \15 -1;
+
+813
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+Ō
+;
+
+814
+buf
+ =
+¡
+->buà+ st->
+size
+;
+
+821 \ f;
+p
+ <
+³nd
+;\85++) {
+
+822 \12
+ch
+ = *(cڡ \1d\ 5*)
+p
+;
+
+823 \1a
+ch
+) {
+
+830
+þv
+ = (þv << 4è+ (
+ch
+ - 0x30);
+
+834
+þv
+ = (þv << 4è+ (
+ch
+ - 0x41 + 10);
+
+838
+þv
+ = (þv << 4è+ (
+ch
+ - 0x61 + 10);
+
+841 *
+buf
+ = 0;
+
+844 if(
+h®f
+++) {
+
+845
+h®f
+ = 0;
+
+846 *
+buf
+++ =
+þv
+;
+
+847
+chunk_¡Ý
+ =
+p
+ + 1;
+
+854 if(
+h®f
+) {
+
+855 if(
+have_mÜe
+) {
+
+860 *
+buf
+++ =
+þv
+ << 4;
+
+861
+chunk_¡Ý
+ =
+p
+;
+
+864
+chunk_¡Ý
+ =
+p
+;
+
+867
+¡
+->
+size
+ =
+buf
+ - st->buf;
+
+868
+ `as£¹
+(
+¡
+->
+size
+ <ð
+Ãw_size
+);
+
+869
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+871 \15 (
+chunk_¡Ý
+ - (cڡ \ 5*)
+chunk_buf
+);
+
+872
+ }
+}
+
+877 \18
+ssize_t
+
+ $OCTET_STRING__cÚv\94t_b\9a¬y
+(\1e*
+¥\8c
+, cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+, \12
+have_mÜe
+) {
+
+878
+BIT_STRING_t
+ *
+¡
+ = (BIT_STRING_\88*)
+¥\8c
+;
+
+879 cڡ \ 5*
+p
+ = (cڡ \ 5*)
+chunk_buf
+;
+
+880 cڡ \ 5*
+³nd
+ =
+p
+ +
+chunk_size
+;
+
+881 \12
+b\99s_unu£d
+ =
+¡
+->bits_unused & 0x7;
+
+882
+u\9at8_t
+ *
+buf
+;
+
+885
+size_t
+
+Ãw_size
+ =
+¡
+->
+size
+ + (
+chunk_size
+ + 7) / 8;
+
+886 \1e*
+Ō
+ =
+ `REALLOC
+(
+¡
+->
+buf
+,
+Ãw_size
+ + 1);
+
+887 if(!
+Ō
+) \15 -1;
+
+888
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+Ō
+;
+
+889
+buf
+ =
+¡
+->buà+ st->
+size
+;
+
+891 (\1e)
+have_mÜe
+;
+
+893 if(
+b\99s_unu£d
+ == 0)
+
+894
+b\99s_unu£d
+ = 8;
+
+895 \vif(
+¡
+->
+size
+)
+
+896
+buf
+--;
+
+901 \ f;
+p
+ <
+³nd
+;\85++) {
+
+902 \12
+ch
+ = *(cڡ \1d\ 5*)
+p
+;
+
+903 \1a
+ch
+) {
+
+910 if(
+b\99s_unu£d
+-- <= 0) {
+
+911 *++
+buf
+ = 0;
+
+912
+b\99s_unu£d
+ = 7;
+
+914 *
+buf
+ |ð(
+ch
+&1è<<
+b\99s_unu£d
+;
+
+917
+¡
+->
+b\99s_unu£d
+ = bits_unused;
+
+922 if(
+b\99s_unu£d
+ == 8) {
+
+923
+¡
+->
+size
+ =
+buf
+ - st->buf;
+
+924
+¡
+->
+b\99s_unu£d
+ = 0;
+
+926
+¡
+->
+size
+ =
+buf
+ - st->buf + 1;
+
+927
+¡
+->
+b\99s_unu£d
+ = bits_unused;
+
+930
+ `as£¹
+(
+¡
+->
+size
+ <ð
+Ãw_size
+);
+
+931
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+933 \15
+chunk_size
+;
+
+934
+ }
+}
+
+940
+ $OS__¡¹ÛÁ
+(\12
+ba£
+, cڡ \ 5*
+buf
+, cڡ \ 5*
+\92d
+,
+\9at32_t
+ *
+»t_v®ue
+) {
+
+941 cڡ
+\9at32_t
+
+Ï¡_unicode_cod\95o\9at
+ = 0x10ffff;
+
+942
+\9at32_t
+
+v®
+ = 0;
+
+943 cڡ \ 5*
+p
+;
+
+945 \ f
+p
+ =
+buf
+;\85 <
+\92d
+;\85++) {
+
+946 \12
+ch
+ = *
+p
+;
+
+948 \1a
+ch
+) {
+
+951
+v®
+ = v® *
+ba£
+ + (
+ch
+ - 0x30);
+
+955
+v®
+ = v® *
+ba£
+ + (
+ch
+ - 0x41 + 10);
+
+959
+v®
+ = v® *
+ba£
+ + (
+ch
+ - 0x61 + 10);
+
+962 *
+»t_v®ue
+ =
+v®
+;
+
+963 \15 (
+p
+ -
+buf
+) + 1;
+
+969 if(
+v®
+ >
+Ï¡_unicode_cod\95o\9at
+) {
+
+974 *
+»t_v®ue
+ = -1;
+
+975 \15 (
+p
+ -
+buf
+);
+
+976
+ }
+}
+
+981 \18
+ssize_t
+
+
+982
+ $OCTET_STRING__cÚv\94t_\92\8cefs
+(\1e*
+¥\8c
+, cڡ \1e*
+chunk_buf
+,
+
+983
+size_t
+
+chunk_size
+, \12
+have_mÜe
+) {
+
+984
+OCTET_STRING_t
+ *
+¡
+ = (OCTET_STRING_\88*)
+¥\8c
+;
+
+985 cڡ \ 5*
+p
+ = (cڡ \ 5*)
+chunk_buf
+;
+
+986 cڡ \ 5*
+³nd
+ =
+p
+ +
+chunk_size
+;
+
+987
+u\9at8_t
+ *
+buf
+;
+
+990
+size_t
+
+Ãw_size
+ =
+¡
+->
+size
+ +
+chunk_size
+;
+
+991 \1e*
+Ō
+ =
+ `REALLOC
+(
+¡
+->
+buf
+,
+Ãw_size
+ + 1);
+
+992 if(!
+Ō
+) \15 -1;
+
+993
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+Ō
+;
+
+994
+buf
+ =
+¡
+->buà+ st->
+size
+;
+
+999 \ f;
+p
+ <
+³nd
+;\85++) {
+
+1000 \12
+ch
+ = *(cڡ \1d\ 5*)
+p
+;
+
+1001 \12
+Ën
+;
+
+1003 if(
+ch
+ != 0x26 ) {
+
+1004 *
+buf
+++ =
+ch
+;
+
+1011
+Ën
+ =
+chunk_size
+ - (
+p
+ - (cڡ \ 5*)
+chunk_buf
+);
+
+1012 if(
+Ën
+ =ð1 ) \10
+wªt_mÜe
+;
+
+1013 if(
+p
+[1] == 0x23 ) {
+
+1014 cڡ \ 5*
+pv®
+;
+
+1015
+\9at32_t
+
+v®
+ = 0;
+
+1016 \12
+ba£
+;
+
+1018 if(
+Ën
+ =ð2 ) \10
+wªt_mÜe
+;
+
+1019 if(
+p
+[2] == 0x78 )
+
+1020
+pv®
+ =
+p
+ + 3,
+ba£
+ = 16;
+
+1022
+pv®
+ =
+p
+ + 2,
+ba£
+ = 10;
+
+1023
+Ën
+ =
+ `OS__¡¹ÛÁ
+(
+ba£
+,
+pv®
+,
+p
+ +\86\92, &
+v®
+);
+
+1024 if(
+Ën
+ == -1) {
+
+1026 *
+buf
+++ =
+ch
+;
+
+1029 if(!
+Ën
+ ||
+pv®
+[Ën-1] !ð0x3bè\10
+wªt_mÜe
+;
+
+1030
+ `as£¹
+(
+v®
+ > 0);
+
+1031
+p
+ +ð(
+pv®
+ -\85è+
+Ën
+ - 1;
+
+1033 if(
+v®
+ < 0x80) {
+
+1034 *
+buf
+++ = (\ 5)
+v®
+;
+
+1035 } \vif(
+v®
+ < 0x800) {
+
+1036 *
+buf
+++ = 0xc0 | ((
+v®
+ >> 6));
+
+1037 *
+buf
+++ = 0x80 | ((
+v®
+ & 0x3f));
+
+1038 } \vif(
+v®
+ < 0x10000) {
+
+1039 *
+buf
+++ = 0xe0 | ((
+v®
+ >> 12));
+
+1040 *
+buf
+++ = 0x80 | ((
+v®
+ >> 6) & 0x3f);
+
+1041 *
+buf
+++ = 0x80 | ((
+v®
+ & 0x3f));
+
+1042 } \vif(
+v®
+ < 0x200000) {
+
+1043 *
+buf
+++ = 0xf0 | ((
+v®
+ >> 18));
+
+1044 *
+buf
+++ = 0x80 | ((
+v®
+ >> 12) & 0x3f);
+
+1045 *
+buf
+++ = 0x80 | ((
+v®
+ >> 6) & 0x3f);
+
+1046 *
+buf
+++ = 0x80 | ((
+v®
+ & 0x3f));
+
+1047 } \vif(
+v®
+ < 0x4000000) {
+
+1048 *
+buf
+++ = 0xf8 | ((
+v®
+ >> 24));
+
+1049 *
+buf
+++ = 0x80 | ((
+v®
+ >> 18) & 0x3f);
+
+1050 *
+buf
+++ = 0x80 | ((
+v®
+ >> 12) & 0x3f);
+
+1051 *
+buf
+++ = 0x80 | ((
+v®
+ >> 6) & 0x3f);
+
+1052 *
+buf
+++ = 0x80 | ((
+v®
+ & 0x3f));
+
+1054 *
+buf
+++ = 0xfø| ((
+v®
+ >> 30) & 0x1);
+
+1055 *
+buf
+++ = 0x80 | ((
+v®
+ >> 24) & 0x3f);
+
+1056 *
+buf
+++ = 0x80 | ((
+v®
+ >> 18) & 0x3f);
+
+1057 *
+buf
+++ = 0x80 | ((
+v®
+ >> 12) & 0x3f);
+
+1058 *
+buf
+++ = 0x80 | ((
+v®
+ >> 6) & 0x3f);
+
+1059 *
+buf
+++ = 0x80 | ((
+v®
+ & 0x3f));
+
+1065 \ 5*
+sc
+ = (\ 5*)
+ `memchr
+(
+p
+, 0x3b,
+Ën
+ > 5 ? 5 :\86en);
+
+1066 if(!
+sc
+è\10
+wªt_mÜe
+;
+
+1067 if((
+sc
+ -
+p
+) == 4
+
+1068 &&
+p
+[1] == 0x61
+
+1069 &&
+p
+[2] == 0x6d
+
+1070 &&
+p
+[3] == 0x70 ) {
+
+1071 *
+buf
+++ = 0x26;
+
+1072
+p
+ =
+sc
+;
+
+1075 if((
+sc
+ -
+p
+) == 3) {
+
+1076 if(
+p
+[1] == 0x6c) {
+
+1077 *
+buf
+ = 0x3c;
+
+1078 } \vif(
+p
+[1] == 0x67) {
+
+1079 *
+buf
+ = 0x3e;
+
+1082 *
+buf
+++ =
+ch
+;
+
+1085 if(
+p
+[2] != 0x74) {
+
+1087 *
+buf
+++ =
+ch
+;
+
+1090
+buf
+++;
+
+1091
+p
+ =
+sc
+;
+
+1095 *
+buf
+++ =
+ch
+;
+
+1099
+wªt_mÜe
+:
+
+1100 if(
+have_mÜe
+) {
+
+1105 *
+buf
+++ =
+ch
+;
+
+1108
+chunk_size
+ = (
+p
+ - (cڡ \ 5*)
+chunk_buf
+);
+
+1113
+¡
+->
+size
+ =
+buf
+ - st->buf;
+
+1114
+ `as£¹
+(
+¡
+->
+size
+ <ð
+Ãw_size
+);
+
+1115
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+1117 \15
+chunk_size
+;
+
+1118
+ }
+}
+
+1123 \18
+a¢_dec_rv®_t
+
+
+1124
+ $OCTET_STRING__decode_x\94
+(
+
+1125 cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1126 \1e**
+¥\8c
+, cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+,
+
+1127 \12(*
+Ýt_uÃx³ùed_\8fg_decod\94
+)(\1e*
+¡ruù_±r
+, cڡ \1e*
+chunk_buf
+,
+
+1128
+size_t
+
+chunk_size
+),
+
+1129
+ $ssize_t
+ (*
+body_»ûiv\94
+)(\1e*
+¡ruù_±r
+, cڡ \1e*
+chunk_buf
+,
+
+1130
+size_t
+
+chunk_size
+, \12
+have_mÜe
+)) {
+
+1131
+OCTET_STRING_t
+ *
+¡
+ = (OCTET_STRING_\88*)*
+¥\8c
+;
+
+1132 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+1133 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+1134 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+1135 cڡ \ 5*
+xml_\8fg
+ =
+Ýt_mÇme
+ ? o±_mÇm\90:
+td
+->xml_tag;
+
+1136
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+1137
+a¢_dec_rv®_t
+
+rv®
+;
+
+1138 \12
+¡_®loÿ\8bd
+;
+
+1143 if(!
+¡
+) {
+
+1144
+¡
+ = (
+OCTET_STRING_t
+ *)
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+1145 *
+¥\8c
+ = (\1e*)
+¡
+;
+
+1146 if(!
+¡
+è\10
+¡a_ç\9eed
+;
+
+1147
+¡_®loÿ\8bd
+ = 1;
+
+1149
+¡_®loÿ\8bd
+ = 0;
+
+1151 if(!
+¡
+->
+buf
+) {
+
+1153
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `CALLOC
+(1, 1);
+
+1154 if(!
+¡
+->
+buf
+) {
+
+1155 if(
+¡_®loÿ\8bd
+) {
+
+1156 *
+¥\8c
+ = 0;
+
+1157 \10
+¡b_ç\9eed
+;
+
+1159 \10
+¡a_ç\9eed
+;
+
+1165
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)(((\ 5*)*
+¥\8c
+è+
+¥ecs
+->
+ùx_off£t
+);
+
+1167 \15
+ `x\94_decode_g\92\94®
+(
+Ýt_codec_ùx
+,
+ùx
+, *
+¥\8c
+,
+xml_\8fg
+,
+
+1168
+buf_±r
+,
+size
+,
+Ýt_uÃx³ùed_\8fg_decod\94
+,
+body_»ûiv\94
+);
+
+1170
+¡b_ç\9eed
+:
+
+1171
+ `FREEMEM
+(
+¡
+);
+
+1172
+¡a_ç\9eed
+:
+
+1173
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+1174
+rv®
+.
+cÚsumed
+ = 0;
+
+1175 \15
+rv®
+;
+
+1176
+ }
+}
+
+1181
+a¢_dec_rv®_t
+
+
+1182
+ $OCTET_STRING_decode_x\94_hex
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1183 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+1184 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+
+1185
+size_t
+
+size
+) {
+
+1186 \15
+ `OCTET_STRING__decode_x\94
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+Ýt_mÇme
+,
+
+1187
+buf_±r
+,
+size
+, 0,
+OCTET_STRING__cÚv\94t_hexadecim®
+);
+
+1188
+ }
+}
+
+1193
+a¢_dec_rv®_t
+
+
+1194
+ $OCTET_STRING_decode_x\94_b\9a¬y
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1195 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+1196 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+
+1197
+size_t
+
+size
+) {
+
+1198 \15
+ `OCTET_STRING__decode_x\94
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+Ýt_mÇme
+,
+
+1199
+buf_±r
+,
+size
+, 0,
+OCTET_STRING__cÚv\94t_b\9a¬y
+);
+
+1200
+ }
+}
+
+1205
+a¢_dec_rv®_t
+
+
+1206
+ $OCTET_STRING_decode_x\94_utf8
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1207 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+1208 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+
+1209
+size_t
+
+size
+) {
+
+1210 \15
+ `OCTET_STRING__decode_x\94
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+Ýt_mÇme
+,
+
+1211
+buf_±r
+,
+size
+,
+
+1212
+OCTET_STRING__hªdË_cÚ\8cÞ_ch¬s
+,
+
+1213
+OCTET_STRING__cÚv\94t_\92\8cefs
+);
+
+1214
+ }
+}
+
+1216 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+1219
+ $OCTET_STRING_³r_g\91_ch¬aù\94s
+(
+a¢_³r_d©a_t
+ *
+po
+,
+u\9at8_t
+ *
+buf
+,
+
+1220
+size_t
+
+un\99s
+, \1d\12
+bpc
+, \1d\12
+un\99_b\99s
+,
+
+1221 \13
+lb
+, \13
+ub
+, cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+) {
+
+1222
+u\9at8_t
+ *
+\92d
+ =
+buf
+ +
+un\99s
+ *
+bpc
+;
+
+1224
+ `ASN_DEBUG
+("Expanding %d characters into (%ld..%ld):%d",
+
+1225 (\12)
+un\99s
+,
+lb
+,
+ub
+,
+un\99_b\99s
+);
+
+1228 if((\1d\13)
+ub
+ <ð((\1d\13)2 << (
+un\99_b\99s
+ - 1))) {
+
+1230
+lb
+ = 0;
+
+1231 } \vif(
+pc
+ &&\85c->
+code2v®ue
+) {
+
+1232 if(
+un\99_b\99s
+ > 16)
+
+1236 \ f;
+buf
+ <
+\92d
+; buà+ð
+bpc
+) {
+
+1237 \12
+v®ue
+;
+
+1238 \12
+code
+ =
+ `³r_g\91_ãw_b\99s
+(
+po
+,
+un\99_b\99s
+);
+
+1239 if(
+code
+ < 0) \15 -1;
+
+1240
+v®ue
+ =
+pc
+->
+ `code2v®ue
+(
+code
+);
+
+1241 if(
+v®ue
+ < 0) {
+
+1242
+ `ASN_DEBUG
+("Code %d (0x%02x) is"
+
+1244
+code
+, code,
+lb
+,
+ub
+);
+
+1247 \1a
+bpc
+) {
+
+1248 \ 41: *
+buf
+ =
+v®ue
+; \ 3;
+
+1249 \ 42:
+buf
+[0] =
+v®ue
+ >> 8; buf[1] = value; \ 3;
+
+1250 \ 44:
+buf
+[0] =
+v®ue
+ >> 24; buf[1] = value >> 16;
+
+1251
+buf
+[2] =
+v®ue
+ >> 8; buf[3] = value; \ 3;
+
+1258 if(
+lb
+ =ð0 && (
+un\99_b\99s
+ =ð8 *
+bpc
+)) {
+
+1259 \15
+ `³r_g\91_mªy_b\99s
+(
+po
+,
+buf
+, 0,
+un\99_b\99s
+ *
+un\99s
+);
+
+1262 \ f;
+buf
+ <
+\92d
+; buà+ð
+bpc
+) {
+
+1263
+\9at32_t
+
+code
+ =
+ `³r_g\91_ãw_b\99s
+(
+po
+,
+un\99_b\99s
+);
+
+1264
+\9at32_t
+
+ch
+ =
+code
+ +
+lb
+;
+
+1265 if(
+code
+ < 0) \15 -1;
+
+1266 if(
+ch
+ >
+ub
+) {
+
+1267
+ `ASN_DEBUG
+("Code %d is out of\84ange (%ld..%ld)",
+
+1268
+ch
+,
+lb
+,
+ub
+);
+
+1271 \1a
+bpc
+) {
+
+1272 \ 41: *
+buf
+ =
+ch
+; \ 3;
+
+1273 \ 42:
+buf
+[0] =
+ch
+ >> 8; buf[1] = ch; \ 3;
+
+1274 \ 44:
+buf
+[0] =
+ch
+ >> 24; buf[1] = ch >> 16;
+
+1275
+buf
+[2] =
+ch
+ >> 8; buf[3] = ch; \ 3;
+
+1280
+ }
+}
+
+1283
+ $OCTET_STRING_³r_put_ch¬aù\94s
+(
+a¢_³r_ou\8d_t
+ *
+po
+, cڡ
+u\9at8_t
+ *
+buf
+,
+
+1284
+size_t
+
+un\99s
+, \1d\12
+bpc
+, \1d\12
+un\99_b\99s
+,
+
+1285 \13
+lb
+, \13
+ub
+, cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+) {
+
+1286 cڡ
+u\9at8_t
+ *
+\92d
+ =
+buf
+ +
+un\99s
+ *
+bpc
+;
+
+1288
+ `ASN_DEBUG
+("Squeezing %d characters into (%ld..%ld):%d (%d bpc)",
+
+1289 (\12)
+un\99s
+,
+lb
+,
+ub
+,
+un\99_b\99s
+,
+bpc
+);
+
+1292 if((\1d\13)
+ub
+ <ð((\1d\13)2 << (
+un\99_b\99s
+ - 1))) {
+
+1294
+lb
+ = 0;
+
+1295 } \vif(
+pc
+ &&\85c->
+v®ue2code
+) {
+
+1296 \ f;
+buf
+ <
+\92d
+; buà+ð
+bpc
+) {
+
+1297 \12
+code
+;
+
+1298
+u\9at32_t
+
+v®ue
+;
+
+1299 \1a
+bpc
+) {
+
+1300 \ 41:
+v®ue
+ = *(cڡ
+u\9at8_t
+ *)
+buf
+; \ 3;
+
+1301 \ 42:
+v®ue
+ = (
+buf
+[0] << 8) | buf[1]; \ 3;
+
+1302 \ 44:
+v®ue
+ = (
+buf
+[0] << 24) | (buf[1] << 16)
+
+1303 | (
+buf
+[2] << 8) | buf[3]; \ 3;
+
+1306
+code
+ =
+pc
+->
+ `v®ue2code
+(
+v®ue
+);
+
+1307 if(
+code
+ < 0) {
+
+1308
+ `ASN_DEBUG
+("Character %d (0x%02x) is"
+
+1310 *
+buf
+, *buf,
+lb
+,
+ub
+);
+
+1313 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+code
+,
+un\99_b\99s
+))
+
+1319 if(
+lb
+ =ð0 && (
+un\99_b\99s
+ =ð8 *
+bpc
+)) {
+
+1320 \15
+ `³r_put_mªy_b\99s
+(
+po
+,
+buf
+,
+un\99_b\99s
+ *
+un\99s
+);
+
+1323 \ f
+ub
+ -ð
+lb
+;
+buf
+ <
+\92d
+; buà+ð
+bpc
+) {
+
+1324 \12
+ch
+;
+
+1325
+u\9at32_t
+
+v®ue
+;
+
+1326 \1a
+bpc
+) {
+
+1328
+v®ue
+ = *(cڡ
+u\9at8_t
+ *)
+buf
+;
+
+1331
+v®ue
+ = (
+buf
+[0] << 8) | buf[1];
+
+1334
+v®ue
+ = (
+buf
+[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3];
+
+1339
+ch
+ =
+v®ue
+ -
+lb
+;
+
+1340 if(
+ch
+ < 0 || ch >
+ub
+) {
+
+1341
+ `ASN_DEBUG
+("Ch¬aù\94 %d (0x%02xèi ou\88oà¿ng\90(%ld..%ld)", *
+buf
+,
+
+1342
+v®ue
+,
+lb
+,
+ub
+ +\86b);
+
+1345 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+ch
+,
+un\99_b\99s
+)) \15 -1;
+
+1349
+ }
+}
+
+1351 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+ ga¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+ = {
+
+1352 {
+APC_CONSTRAINED
+, 8, 8, 0, 255 },
+
+1353 {
+APC_SEMI_CONSTRAINED
+, -1, -1, 0, 0 },
+
+1357
+a¢_dec_rv®_t
+
+
+1358
+ $OCTET_STRING_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1359 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1360 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+1361
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+1362 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+1363 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+1364 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+1365 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+ =
+
+1366
+cÚ¡¿\9ats
+ ? cÚ¡¿\9at :
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+1367 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+cv®
+;
+
+1368 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+csiz
+;
+
+1369
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0 };
+
+1370
+OCTET_STRING_t
+ *
+¡
+ = (OCTET_STRING_\88*)*
+¥\8c
+;
+
+1371
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+1372 \12
+»³©
+;
+
+1374
+OS__BPC_CHAR
+ = 1,
+
+1375
+OS__BPC_U16
+ = 2,
+
+1376
+OS__BPC_U32
+ = 4
+
+1377 }
+bpc
+;
+
+1378 \1d\12
+un\99_b\99s
+;
+
+1379 \1d\12
+ÿnÚiÿl_un\99_b\99s
+;
+
+1381 (\1e)
+Ýt_codec_ùx
+;
+
+1383 if(
+pc
+) {
+
+1384
+cv®
+ = &
+pc
+->
+v®ue
+;
+
+1385
+csiz
+ = &
+pc
+->
+size
+;
+
+1387
+cv®
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+v®ue
+;
+
+1388
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1391 \1a
+¥ecs
+->
+subv¬\9fÁ
+) {
+
+1393 \ 4
+ASN_OSUBV_ANY
+:
+
+1394 \ 4
+ASN_OSUBV_BIT
+:
+
+1395
+ `ASN_DEBUG
+("UÄecognized subv¬\9fÁ %d",
+¥ecs
+->
+subv¬\9fÁ
+);
+
+1396
+ `RETURN
+(
+RC_FAIL
+);
+
+1398 \ 4
+ASN_OSUBV_STR
+:
+
+1399
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 8;
+
+1400 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1401
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1402
+bpc
+ =
+OS__BPC_CHAR
+;
+
+1404 \ 4
+ASN_OSUBV_U16
+:
+
+1405
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 16;
+
+1406 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1407
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1408
+bpc
+ =
+OS__BPC_U16
+;
+
+1410 \ 4
+ASN_OSUBV_U32
+:
+
+1411
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 32;
+
+1412 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1413
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1414
+bpc
+ =
+OS__BPC_U32
+;
+
+1421 if(!
+¡
+) {
+
+1422
+¡
+ = (
+OCTET_STRING_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+));
+
+1423 if(!
+¡
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+1426
+ `ASN_DEBUG
+("PER Decoding %s size %ld .. %ld bits %d",
+
+1427
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+ ? "extensible" : "non-extensible",
+
+1428
+csiz
+->
+low\94_bound
+, csiz->
+uµ\94_bound
+, csiz->
+efãùive_b\99s
+);
+
+1430 if(
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+1431 \12
+\9aext
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+1432 if(
+\9aext
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1433 if(
+\9aext
+) {
+
+1434
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1435
+un\99_b\99s
+ =
+ÿnÚiÿl_un\99_b\99s
+;
+
+1439 if(
+csiz
+->
+efãùive_b\99s
+ >= 0) {
+
+1440
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+1441 if(
+bpc
+) {
+
+1442
+¡
+->
+size
+ =
+csiz
+->
+uµ\94_bound
+ *
+bpc
+;
+
+1444
+¡
+->
+size
+ = (
+csiz
+->
+uµ\94_bound
+ + 7) >> 3;
+
+1446
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(¡->
+size
+ + 1);
+
+1447 if(!
+¡
+->
+buf
+è{ st->
+size
+ = 0;
+ `RETURN
+(
+RC_FAIL
+); }
+
+1453 if(
+csiz
+->
+efãùive_b\99s
+ == 0) {
+
+1454 \12
+»t
+;
+
+1455 if(
+bpc
+) {
+
+1456
+ `ASN_DEBUG
+("Encoding OCTET STRING size %ld",
+
+1457
+csiz
+->
+uµ\94_bound
+);
+
+1458
+»t
+ =
+ `OCTET_STRING_³r_g\91_ch¬aù\94s
+(
+pd
+,
+¡
+->
+buf
+,
+
+1459
+csiz
+->
+uµ\94_bound
+,
+bpc
+,
+un\99_b\99s
+,
+
+1460
+cv®
+->
+low\94_bound
+, cv®->
+uµ\94_bound
+,
+pc
+);
+
+1461 if(
+»t
+ > 0è
+ `RETURN
+(
+RC_FAIL
+);
+
+1463
+ `ASN_DEBUG
+("Encoding BIT STRING size %ld",
+
+1464
+csiz
+->
+uµ\94_bound
+);
+
+1465
+»t
+ =
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+¡
+->
+buf
+, 0,
+
+1466
+un\99_b\99s
+ *
+csiz
+->
+uµ\94_bound
+);
+
+1468 if(
+»t
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1469
+cÚsumed_my£lf
+ +ð
+un\99_b\99s
+ *
+csiz
+->
+uµ\94_bound
+;
+
+1470
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+1471
+ `RETURN
+(
+RC_OK
+);
+
+1474
+¡
+->
+size
+ = 0;
+
+1476
+ssize_t
+
+¿w_Ën
+;
+
+1477
+ssize_t
+
+Ën_by\8bs
+;
+
+1478 \1e*
+p
+;
+
+1479 \12
+»t
+;
+
+1482
+¿w_Ën
+ =
+ `u³r_g\91_Ëngth
+(
+pd
+,
+csiz
+->
+efãùive_b\99s
+, csiz->
+low\94_bound
+,
+
+1483 &
+»³©
+);
+
+1484 if(
+¿w_Ën
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1485 if(
+¿w_Ën
+ =ð0 &&
+¡
+->
+buf
+) \ 3;
+
+1487
+ `ASN_DEBUG
+("Got PER\86ength\83b %ld,\86en %ld, %s (%s)",
+
+1488 (\13)
+csiz
+->
+efãùive_b\99s
+, (\13)
+¿w_Ën
+,
+
+1489
+»³©
+ ? "»³©" : "Úû",
+td
+->
+Çme
+);
+
+1490
+Ën_by\8bs
+ =
+¿w_Ën
+ *
+bpc
+;
+
+1491
+p
+ =
+ `REALLOC
+(
+¡
+->
+buf
+, st->
+size
+ +
+Ën_by\8bs
+ + 1);
+
+1492 if(!
+p
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+1493
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+p
+;
+
+1495
+»t
+ =
+ `OCTET_STRING_³r_g\91_ch¬aù\94s
+(
+pd
+, &
+¡
+->
+buf
+[¡->
+size
+],
+¿w_Ën
+,
+
+1496
+bpc
+,
+un\99_b\99s
+,
+cv®
+->
+low\94_bound
+,
+
+1497
+cv®
+->
+uµ\94_bound
+,
+pc
+);
+
+1498 if(
+»t
+ > 0è
+ `RETURN
+(
+RC_FAIL
+);
+
+1499 if(
+»t
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1500
+¡
+->
+size
+ +ð
+Ën_by\8bs
+;
+
+1501 } \1f
+»³©
+);
+
+1502
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+1504 \15
+rv®
+;
+
+1505
+ }
+}
+
+1507
+a¢_\92c_rv®_t
+
+
+1508
+ $OCTET_STRING_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1509 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+1510 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+1511 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+1512 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+1513 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+1514 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+ =
+cÚ¡¿\9ats
+ ? constraints
+
+1515 :
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+1516 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+cv®
+;
+
+1517 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+csiz
+;
+
+1518 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+1519
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+1520 \12
+\9aext
+ = 0;
+
+1521 \1d\12
+un\99_b\99s
+;
+
+1522 \1d\12
+ÿnÚiÿl_un\99_b\99s
+;
+
+1523
+size_t
+
+size_\9a_un\99s
+;
+
+1524 cڡ
+u\9at8_t
+ *
+buf
+;
+
+1525 \12
+»t
+;
+
+1527
+OS__BPC_CHAR
+ = 1,
+
+1528
+OS__BPC_U16
+ = 2,
+
+1529
+OS__BPC_U32
+ = 4
+
+1530 }
+bpc
+;
+
+1531 \12
+ù_ex\8bnsibË
+;
+
+1533 if(!
+¡
+ || (!¡->
+buf
+ && st->
+size
+))
+
+1534
+ASN__ENCODE_FAILED
+;
+
+1536 if(
+pc
+) {
+
+1537
+cv®
+ = &
+pc
+->
+v®ue
+;
+
+1538
+csiz
+ = &
+pc
+->
+size
+;
+
+1540
+cv®
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+v®ue
+;
+
+1541
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1543
+ù_ex\8bnsibË
+ =
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+;
+
+1545 \1a
+¥ecs
+->
+subv¬\9fÁ
+) {
+
+1547 \ 4
+ASN_OSUBV_ANY
+:
+
+1548 \ 4
+ASN_OSUBV_BIT
+:
+
+1549
+ASN__ENCODE_FAILED
+;
+
+1550 \ 4
+ASN_OSUBV_STR
+:
+
+1551
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 8;
+
+1552 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1553
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1554
+bpc
+ =
+OS__BPC_CHAR
+;
+
+1555
+size_\9a_un\99s
+ =
+¡
+->
+size
+;
+
+1557 \ 4
+ASN_OSUBV_U16
+:
+
+1558
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 16;
+
+1559 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1560
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1561
+bpc
+ =
+OS__BPC_U16
+;
+
+1562
+size_\9a_un\99s
+ =
+¡
+->
+size
+ >> 1;
+
+1563 if(
+¡
+->
+size
+ & 1) {
+
+1564
+ `ASN_DEBUG
+("% ¡r\9ag siz\90i nÙ modulØ2",
+td
+->
+Çme
+);
+
+1565
+ASN__ENCODE_FAILED
+;
+
+1568 \ 4
+ASN_OSUBV_U32
+:
+
+1569
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 32;
+
+1570 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1571
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1572
+bpc
+ =
+OS__BPC_U32
+;
+
+1573
+size_\9a_un\99s
+ =
+¡
+->
+size
+ >> 2;
+
+1574 if(
+¡
+->
+size
+ & 3) {
+
+1575
+ `ASN_DEBUG
+("% ¡r\9ag siz\90i nÙ modulØ4",
+td
+->
+Çme
+);
+
+1576
+ASN__ENCODE_FAILED
+;
+
+1581
+ `ASN_DEBUG
+("Encod\9ag % \9atØ%"
+ASN_PRI_SIZE
+ " units of %d bits"
+
+1583
+td
+->
+Çme
+,
+size_\9a_un\99s
+,
+un\99_b\99s
+,
+
+1584
+csiz
+->
+low\94_bound
+, csiz->
+uµ\94_bound
+,
+
+1585
+csiz
+->
+efãùive_b\99s
+,
+ù_ex\8bnsibË
+ ? " EXT" : "");
+
+1589 if(
+csiz
+->
+efãùive_b\99s
+ >= 0) {
+
+1590 if((
+ssize_t
+)
+size_\9a_un\99s
+ <
+csiz
+->
+low\94_bound
+
+
+1591 || (
+ssize_t
+)
+size_\9a_un\99s
+ >
+csiz
+->
+uµ\94_bound
+) {
+
+1592 if(
+ù_ex\8bnsibË
+) {
+
+1593
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1594
+un\99_b\99s
+ =
+ÿnÚiÿl_un\99_b\99s
+;
+
+1595
+\9aext
+ = 1;
+
+1597
+ASN__ENCODE_FAILED
+;
+
+1601
+\9aext
+ = 0;
+
+1604 if(
+ù_ex\8bnsibË
+) {
+
+1606 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+\9aext
+, 1))
+
+1607
+ASN__ENCODE_FAILED
+;
+
+1610 if(
+csiz
+->
+efãùive_b\99s
+ >ð0 && !
+\9aext
+) {
+
+1611
+ `ASN_DEBUG
+("Encod\9ag %"
+ASN_PRI_SIZE
+ " by\8b (%ld),\86\92gth iÀ%d b\99s",
+¡
+->
+size
+,
+
+1612
+size_\9a_un\99s
+ -
+csiz
+->
+low\94_bound
+, csiz->
+efãùive_b\99s
+);
+
+1613
+»t
+ =
+ `³r_put_ãw_b\99s
+(
+po
+,
+size_\9a_un\99s
+ -
+csiz
+->
+low\94_bound
+,
+
+1614
+csiz
+->
+efãùive_b\99s
+);
+
+1615 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+1616
+»t
+ =
+ `OCTET_STRING_³r_put_ch¬aù\94s
+(
+po
+,
+¡
+->
+buf
+,
+size_\9a_un\99s
+,
+bpc
+,
+
+1617
+un\99_b\99s
+,
+cv®
+->
+low\94_bound
+,
+
+1618
+cv®
+->
+uµ\94_bound
+,
+pc
+);
+
+1619 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+1620
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1623
+ `ASN_DEBUG
+("Encod\9ag %"
+ASN_PRI_SIZE
+ " by\8bs",
+¡
+->
+size
+);
+
+1625
+buf
+ =
+¡
+->buf;
+
+1626
+ `ASN_DEBUG
+("Encod\9ag %"
+ASN_PRI_SIZE
+ " iÀun\99s",
+size_\9a_un\99s
+);
+
+1628 \12
+Ãed_eom
+ = 0;
+
+1629
+ssize_t
+
+may_§ve
+ =
+ `u³r_put_Ëngth
+(
+po
+,
+size_\9a_un\99s
+, &
+Ãed_eom
+);
+
+1630 if(
+may_§ve
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+1632
+ `ASN_DEBUG
+("Encod\9ag %"
+ASN_PRI_SSIZE
+ " oà%"
+ASN_PRI_SIZE
+ "%s",
+may_§ve
+,
+size_\9a_un\99s
+,
+
+1633
+Ãed_eom
+ ? ",+EOM" : "");
+
+1635
+»t
+ =
+ `OCTET_STRING_³r_put_ch¬aù\94s
+(
+po
+,
+buf
+,
+may_§ve
+,
+bpc
+,
+un\99_b\99s
+,
+
+1636
+cv®
+->
+low\94_bound
+,
+
+1637
+cv®
+->
+uµ\94_bound
+,
+pc
+);
+
+1638 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+1640
+buf
+ +ð
+may_§ve
+ *
+bpc
+;
+
+1641
+size_\9a_un\99s
+ -ð
+may_§ve
+;
+
+1642
+ `as£¹
+(!(
+may_§ve
+ & 0x07è|| !
+size_\9a_un\99s
+);
+
+1643 if(
+Ãed_eom
+ &&
+ `u³r_put_Ëngth
+(
+po
+, 0, 0))
+
+1644
+ASN__ENCODE_FAILED
+;
+
+1645 } \1f
+size_\9a_un\99s
+);
+
+1647
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1648
+ }
+}
+
+1650
+a¢_dec_rv®_t
+
+
+1651
+ $OCTET_STRING_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1652 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1653 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+1654 \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+1656 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+1657 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+1658 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+1659 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+ =
+cÚ¡¿\9ats
+ ? constraints
+
+1660 :
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+1661 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+cv®
+;
+
+1662 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+csiz
+;
+
+1663
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0 };
+
+1664
+BIT_STRING_t
+ *
+¡
+ = (BIT_STRING_\88*)*
+¥\8c
+;
+
+1665
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+1666 \12
+»³©
+;
+
+1668
+OS__BPC_BIT
+ = 0,
+
+1669
+OS__BPC_CHAR
+ = 1,
+
+1670
+OS__BPC_U16
+ = 2,
+
+1671
+OS__BPC_U32
+ = 4
+
+1672 }
+bpc
+;
+
+1673 \1d\12
+un\99_b\99s
+;
+
+1674 \1d\12
+ÿnÚiÿl_un\99_b\99s
+;
+
+1676 (\1e)
+Ýt_codec_ùx
+;
+
+1678 if(
+pc
+) {
+
+1679
+cv®
+ = &
+pc
+->
+v®ue
+;
+
+1680
+csiz
+ = &
+pc
+->
+size
+;
+
+1682
+cv®
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+v®ue
+;
+
+1683
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1686 \1a
+¥ecs
+->
+subv¬\9fÁ
+) {
+
+1692 \ 4
+ASN_OSUBV_BIT
+:
+
+1693
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 1;
+
+1694
+bpc
+ =
+OS__BPC_BIT
+;
+
+1696 \ 4
+ASN_OSUBV_ANY
+:
+
+1697 \ 4
+ASN_OSUBV_STR
+:
+
+1698
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 8;
+
+1702
+bpc
+ =
+OS__BPC_CHAR
+;
+
+1704 \ 4
+ASN_OSUBV_U16
+:
+
+1705
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 16;
+
+1706 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1707
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1708
+bpc
+ =
+OS__BPC_U16
+;
+
+1710 \ 4
+ASN_OSUBV_U32
+:
+
+1711
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 32;
+
+1712 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1713
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1714
+bpc
+ =
+OS__BPC_U32
+;
+
+1721 if(!
+¡
+) {
+
+1722
+¡
+ = (
+BIT_STRING_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+));
+
+1723 if(!
+¡
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+1726
+ `ASN_DEBUG
+("PER Decoding %s size %ld .. %ld bits %d",
+
+1727
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+ ? "extensible" : "non-extensible",
+
+1728
+csiz
+->
+low\94_bound
+, csiz->
+uµ\94_bound
+, csiz->
+efãùive_b\99s
+);
+
+1730 if(
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+1731 \12
+\9aext
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+1732 if(
+\9aext
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1733 if(
+\9aext
+) {
+
+1734
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1735
+cv®
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+v®ue
+;
+
+1736
+un\99_b\99s
+ =
+ÿnÚiÿl_un\99_b\99s
+;
+
+1740 if(
+csiz
+->
+efãùive_b\99s
+ >= 0) {
+
+1741
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+1742 if(
+bpc
+) {
+
+1743
+¡
+->
+size
+ =
+csiz
+->
+uµ\94_bound
+ *
+bpc
+;
+
+1745
+¡
+->
+size
+ = (
+csiz
+->
+uµ\94_bound
+ + 7) >> 3;
+
+1747
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(¡->
+size
+ + 1);
+
+1748 if(!
+¡
+->
+buf
+è{ st->
+size
+ = 0;
+ `RETURN
+(
+RC_FAIL
+); }
+
+1754 if(
+csiz
+->
+efãùive_b\99s
+ == 0) {
+
+1755 \12
+»t
+;
+
+1756 ià(
+¡
+->
+size
+ > 2) {
+
+1757 ià(
+ `\94_g\91_®ign
+(
+pd
+) < 0)
+
+1758
+ `RETURN
+(
+RC_FAIL
+);
+
+1760 if(
+bpc
+) {
+
+1761
+ `ASN_DEBUG
+("Decoding OCTET STRING size %ld",
+
+1762
+csiz
+->
+uµ\94_bound
+);
+
+1763
+»t
+ =
+ `OCTET_STRING_³r_g\91_ch¬aù\94s
+(
+pd
+,
+¡
+->
+buf
+,
+
+1764
+csiz
+->
+uµ\94_bound
+,
+bpc
+,
+un\99_b\99s
+,
+
+1765
+cv®
+->
+low\94_bound
+, cv®->
+uµ\94_bound
+,
+pc
+);
+
+1766 if(
+»t
+ > 0è
+ `RETURN
+(
+RC_FAIL
+);
+
+1768
+ `ASN_DEBUG
+("Decoding BIT STRING size %ld",
+
+1769
+csiz
+->
+uµ\94_bound
+);
+
+1770
+»t
+ =
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+¡
+->
+buf
+, 0,
+
+1771
+un\99_b\99s
+ *
+csiz
+->
+uµ\94_bound
+);
+
+1773 if(
+»t
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1774
+cÚsumed_my£lf
+ +ð
+un\99_b\99s
+ *
+csiz
+->
+uµ\94_bound
+;
+
+1775
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+1776 if(
+bpc
+ == 0) {
+
+1777 \12
+ubs
+ = (
+csiz
+->
+uµ\94_bound
+ & 0x7);
+
+1778
+¡
+->
+b\99s_unu£d
+ =
+ubs
+ ? 8 - ubs : 0;
+
+1780
+ `RETURN
+(
+RC_OK
+);
+
+1783
+¡
+->
+size
+ = 0;
+
+1785
+ssize_t
+
+¿w_Ën
+;
+
+1786
+ssize_t
+
+Ën_by\8bs
+;
+
+1787
+ssize_t
+
+Ën_b\99s
+;
+
+1788 \1e*
+p
+;
+
+1789 \12
+»t
+;
+
+1792 ià(
+csiz
+->
+uµ\94_bound
+ - csiz->
+low\94_bound
+ == 0)
+
+1794
+¿w_Ën
+ =
+ `\94_g\91_Ëngth
+(
+pd
+, -1,
+csiz
+->
+efãùive_b\99s
+, &
+»³©
+);
+
+1796
+¿w_Ën
+ =
+ `\94_g\91_Ëngth
+(
+pd
+,
+csiz
+->
+uµ\94_bound
+ - csiz->
+low\94_bound
+ + 1, csiz->
+efãùive_b\99s
+, &
+»³©
+);
+
+1797
+»³©
+ = 0;
+
+1798 if(
+¿w_Ën
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1799
+¿w_Ën
+ +ð
+csiz
+->
+low\94_bound
+;
+
+1801
+ `ASN_DEBUG
+("Got PER\86ength\83b %ld,\86en %ld, %s (%s)",
+
+1802 (\13)
+csiz
+->
+efãùive_b\99s
+, (\13)
+¿w_Ën
+,
+
+1803
+»³©
+ ? "»³©" : "Úû",
+td
+->
+Çme
+);
+
+1805 ià(
+¿w_Ën
+ > 2) {
+
+1806 ià(
+ `\94_g\91_®ign
+(
+pd
+) < 0)
+
+1807
+ `RETURN
+(
+RC_FAIL
+);
+
+1810 if(
+bpc
+) {
+
+1811
+Ën_by\8bs
+ =
+¿w_Ën
+ *
+bpc
+;
+
+1812
+Ën_b\99s
+ =
+Ën_by\8bs
+ *
+un\99_b\99s
+;
+
+1814
+Ën_b\99s
+ =
+¿w_Ën
+;
+
+1815
+Ën_by\8bs
+ = (
+Ën_b\99s
+ + 7) >> 3;
+
+1816 if(
+Ën_b\99s
+ & 0x7)
+
+1817
+¡
+->
+b\99s_unu£d
+ = 8 - (
+Ën_b\99s
+ & 0x7);
+
+1820
+p
+ =
+ `REALLOC
+(
+¡
+->
+buf
+, st->
+size
+ +
+Ën_by\8bs
+ + 1);
+
+1821 if(!
+p
+è
+ `RETURN
+(
+RC_FAIL
+);
+
+1822
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+p
+;
+
+1824 if(
+bpc
+) {
+
+1825
+»t
+ =
+ `OCTET_STRING_³r_g\91_ch¬aù\94s
+(
+pd
+,
+
+1826 &
+¡
+->
+buf
+[¡->
+size
+],
+¿w_Ën
+,
+bpc
+,
+un\99_b\99s
+,
+
+1827
+cv®
+->
+low\94_bound
+, cv®->
+uµ\94_bound
+,
+pc
+);
+
+1828 if(
+»t
+ > 0è
+ `RETURN
+(
+RC_FAIL
+);
+
+1830
+»t
+ =
+ `³r_g\91_mªy_b\99s
+(
+pd
+, &
+¡
+->
+buf
+[¡->
+size
+],
+
+1831 0,
+Ën_b\99s
+);
+
+1833 if(
+»t
+ < 0è
+ `RETURN
+(
+RC_WMORE
+);
+
+1834
+¡
+->
+size
+ +ð
+Ën_by\8bs
+;
+
+1835 } \1f
+»³©
+);
+
+1836
+¡
+->
+buf
+[¡->
+size
+] = 0;
+
+1838 \15
+rv®
+;
+
+1839
+ }
+}
+
+1841
+a¢_\92c_rv®_t
+
+
+1842
+ $OCTET_STRING_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1843 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+1844 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+1846 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+1847 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+1848 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+1849 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+pc
+ =
+cÚ¡¿\9ats
+ ? constraints
+
+1850 :
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+;
+
+1851 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+cv®
+;
+
+1852 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+csiz
+;
+
+1853 cڡ
+BIT_STRING_t
+ *
+¡
+ = (cÚ¡ BIT_STRING_\88*)
+¥\8c
+;
+
+1854
+a¢_\92c_rv®_t
+
+\94
+ = { 0, 0, 0 };
+
+1855 \12
+\9aext
+ = 0;
+
+1856 \1d\12
+un\99_b\99s
+;
+
+1857 \1d\12
+ÿnÚiÿl_un\99_b\99s
+;
+
+1858 \1d\12
+size\9aun\99s
+;
+
+1859 cڡ
+u\9at8_t
+ *
+buf
+;
+
+1860 \12
+»t
+;
+
+1862
+OS__BPC_BIT
+ = 0,
+
+1863
+OS__BPC_CHAR
+ = 1,
+
+1864
+OS__BPC_U16
+ = 2,
+
+1865
+OS__BPC_U32
+ = 4
+
+1866 }
+bpc
+;
+
+1867 \12
+ù_ex\8bnsibË
+;
+
+1869 if(!
+¡
+ || (!¡->
+buf
+ && st->
+size
+))
+
+1870
+ASN__ENCODE_FAILED
+;
+
+1872 if(
+pc
+) {
+
+1873
+cv®
+ = &
+pc
+->
+v®ue
+;
+
+1874
+csiz
+ = &
+pc
+->
+size
+;
+
+1876
+cv®
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+v®ue
+;
+
+1877
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1879
+ù_ex\8bnsibË
+ =
+csiz
+->
+æags
+ &
+APC_EXTENSIBLE
+;
+
+1881 \1a
+¥ecs
+->
+subv¬\9fÁ
+) {
+
+1886 \ 4
+ASN_OSUBV_BIT
+:
+
+1887
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 1;
+
+1888
+bpc
+ =
+OS__BPC_BIT
+;
+
+1889
+size\9aun\99s
+ =
+¡
+->
+size
+ * 8 - (¡->
+b\99s_unu£d
+ & 0x07);
+
+1890
+ `ASN_DEBUG
+("BIT STRING of %d bytes",
+
+1891
+size\9aun\99s
+);
+
+1893 \ 4
+ASN_OSUBV_ANY
+:
+
+1894 \ 4
+ASN_OSUBV_STR
+:
+
+1895
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 8;
+
+1899
+bpc
+ =
+OS__BPC_CHAR
+;
+
+1900
+size\9aun\99s
+ =
+¡
+->
+size
+;
+
+1902 \ 4
+ASN_OSUBV_U16
+:
+
+1903
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 16;
+
+1904 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1905
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1906
+bpc
+ =
+OS__BPC_U16
+;
+
+1907
+size\9aun\99s
+ =
+¡
+->
+size
+ / 2;
+
+1909 \ 4
+ASN_OSUBV_U32
+:
+
+1910
+ÿnÚiÿl_un\99_b\99s
+ =
+un\99_b\99s
+ = 32;
+
+1911 if(
+cv®
+->
+æags
+ &
+APC_CONSTRAINED
+)
+
+1912
+un\99_b\99s
+ =
+cv®
+->
+¿nge_b\99s
+;
+
+1913
+bpc
+ =
+OS__BPC_U32
+;
+
+1914
+size\9aun\99s
+ =
+¡
+->
+size
+ / 4;
+
+1918
+ `ASN_DEBUG
+("Encoding %s into %d units of %d bits"
+
+1920
+td
+->
+Çme
+,
+size\9aun\99s
+,
+un\99_b\99s
+,
+
+1921
+csiz
+->
+low\94_bound
+, csiz->
+uµ\94_bound
+,
+
+1922
+csiz
+->
+efãùive_b\99s
+,
+ù_ex\8bnsibË
+ ? " EXT" : "");
+
+1926 if(
+csiz
+->
+efãùive_b\99s
+ >= 0) {
+
+1927 if((\12)
+size\9aun\99s
+ <
+csiz
+->
+low\94_bound
+
+
+1928 || (\12)
+size\9aun\99s
+ >
+csiz
+->
+uµ\94_bound
+) {
+
+1929 if(
+ù_ex\8bnsibË
+) {
+
+1930
+cv®
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+v®ue
+;
+
+1931
+csiz
+ = &
+a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
+.
+size
+;
+
+1932
+un\99_b\99s
+ =
+ÿnÚiÿl_un\99_b\99s
+;
+
+1933
+\9aext
+ = 1;
+
+1935
+ASN__ENCODE_FAILED
+;
+
+1938
+\9aext
+ = 0;
+
+1942 if(
+ù_ex\8bnsibË
+) {
+
+1944 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+\9aext
+, 1))
+
+1945
+ASN__ENCODE_FAILED
+;
+
+1951 if(
+csiz
+->
+efãùive_b\99s
+ >= 0) {
+
+1952
+ `ASN_DEBUG
+("Encoding %lu bytes (%ld),\86ength in %d bits",
+
+1953
+¡
+->
+size
+,
+size\9aun\99s
+ -
+csiz
+->
+low\94_bound
+,
+
+1954
+csiz
+->
+efãùive_b\99s
+);
+
+1955 ià(
+csiz
+->
+efãùive_b\99s
+ > 0) {
+
+1956
+»t
+ =
+ `\94_put_Ëngth
+(
+po
+,
+csiz
+->
+uµ\94_bound
+ - csiz->
+low\94_bound
+ + 1,
+size\9aun\99s
+ - csiz->lower_bound);
+
+1957 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+1961 ià((
+¡
+->
+size
+ > 2è|| (
+csiz
+->
+low\94_bound
+ !ðcsiz->
+uµ\94_bound
+)) {
+
+1962 ià(
+ `\94_put_®ign
+(
+po
+) < 0)
+
+1963
+ASN__ENCODE_FAILED
+;
+
+1965 if(
+bpc
+) {
+
+1966
+»t
+ =
+ `OCTET_STRING_³r_put_ch¬aù\94s
+(
+po
+,
+¡
+->
+buf
+,
+
+1967
+size\9aun\99s
+,
+bpc
+,
+un\99_b\99s
+,
+
+1968
+cv®
+->
+low\94_bound
+, cv®->
+uµ\94_bound
+,
+pc
+);
+
+1970
+»t
+ =
+ `³r_put_mªy_b\99s
+(
+po
+,
+¡
+->
+buf
+,
+
+1971
+size\9aun\99s
+ *
+un\99_b\99s
+);
+
+1973 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+1974
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1977
+ `ASN_DEBUG
+("Encod\9ag %lu by\8bs",
+¡
+->
+size
+);
+
+1979 if(
+size\9aun\99s
+ == 0) {
+
+1980 if(
+ `\94_put_Ëngth
+(
+po
+, -1, 0))
+
+1981
+ASN__ENCODE_FAILED
+;
+
+1982
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1985
+buf
+ =
+¡
+->buf;
+
+1986 \1f
+size\9aun\99s
+) {
+
+1987
+ssize_t
+
+maySave
+ =
+ `\94_put_Ëngth
+(
+po
+, -1,
+size\9aun\99s
+);
+
+1989 if(
+maySave
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+1991
+ `ASN_DEBUG
+("Encoding %ld of %ld",
+
+1992 (\13)
+maySave
+, (\13)
+size\9aun\99s
+);
+
+1994 if(
+bpc
+) {
+
+1995
+»t
+ =
+ `OCTET_STRING_³r_put_ch¬aù\94s
+(
+po
+,
+buf
+,
+
+1996
+maySave
+,
+bpc
+,
+un\99_b\99s
+,
+
+1997
+cv®
+->
+low\94_bound
+, cv®->
+uµ\94_bound
+,
+pc
+);
+
+1999
+»t
+ =
+ `³r_put_mªy_b\99s
+(
+po
+,
+buf
+,
+maySave
+ *
+un\99_b\99s
+);
+
+2001 if(
+»t
+è
+ASN__ENCODE_FAILED
+;
+
+2003 if(
+bpc
+)
+
+2004
+buf
+ +ð
+maySave
+ *
+bpc
+;
+
+2006
+buf
+ +ð
+maySave
+ >> 3;
+
+2007
+size\9aun\99s
+ -ð
+maySave
+;
+
+2008
+ `as£¹
+(!(
+maySave
+ & 0x07è|| !
+size\9aun\99s
+);
+
+2011
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+2012
+ }
+}
+
+2017
+ $OCTET_STRING_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+2018 \12
+\9eev\96
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+2019 cڡ \ 5* cڡ
+h2c
+ = "0123456789ABCDEF";
+
+2020 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+2021 \ 5
+sü©ch
+[16 * 3 + 4];
+
+2022 \ 5*
+p
+ =
+sü©ch
+;
+
+2023
+u\9at8_t
+ *
+buf
+;
+
+2024
+u\9at8_t
+ *
+\92d
+;
+
+2025
+size_t
+
+i
+;
+
+2027 (\1e)
+td
+;
+
+2029 if(!
+¡
+ || (!¡->
+buf
+ && st->
+size
+))
+
+2030 \15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+2035
+buf
+ =
+¡
+->buf;
+
+2036
+\92d
+ =
+buf
+ +
+¡
+->
+size
+;
+
+2037 \ f
+i
+ = 0;
+buf
+ <
+\92d
+; buf++, i++) {
+
+2038 if(!(
+i
+ % 16è&& (\98||
+¡
+->
+size
+ > 16)) {
+
+2039 if(
+ `cb
+(
+sü©ch
+,
+p
+ - sü©ch,
+p_key
+) < 0)
+
+2041
+ `_i_INDENT
+(1);
+
+2042
+p
+ =
+sü©ch
+;
+
+2044 *
+p
+++ =
+h2c
+[(*
+buf
+ >> 4) & 0x0F];
+
+2045 *
+p
+++ =
+h2c
+[*
+buf
+ & 0x0F];
+
+2046 *
+p
+++ = 0x20;
+
+2049 if(
+p
+ >
+sü©ch
+) {
+
+2050
+p
+--;
+
+2051 if(
+ `cb
+(
+sü©ch
+,
+p
+ - sü©ch,
+p_key
+) < 0)
+
+2056
+ }
+}
+
+2059
+ $OCTET_STRING_´\9at_utf8
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+2060 \12
+\9eev\96
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+2061 \1e*
+p_key
+) {
+
+2062 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+2064 (\1e)
+td
+;
+
+2065 (\1e)
+\9eev\96
+;
+
+2067 if(
+¡
+ && (¡->
+buf
+ || !¡->
+size
+)) {
+
+2068 \15 (
+ `cb
+(
+¡
+->
+buf
+, st->
+size
+,
+p_key
+) < 0) ? -1 : 0;
+
+2070 \15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+2072
+ }
+}
+
+2075
+ $OCTET_STRING_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+2076 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+2077
+OCTET_STRING_t
+ *
+¡
+ = (OCTET_STRING_\88*)
+¥\8c
+;
+
+2078 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+;
+
+2079
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+2080 \19
+_¡ack
+ *
+¡ck
+;
+
+2082 if(!
+td
+ || !
+¡
+)
+
+2085
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+2086 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+2087 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+2088
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+2090
+ `ASN_DEBUG
+("F»e\9ag % a OCTET STRING",
+td
+->
+Çme
+);
+
+2092 if(
+¡
+->
+buf
+) {
+
+2093
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+2094
+¡
+->
+buf
+ = 0;
+
+2100
+¡ck
+ = (\19
+_¡ack
+ *)
+ùx
+->
+±r
+;
+
+2101 if(
+¡ck
+) {
+
+2102 \1f
+¡ck
+->
+\8f\9e
+) {
+
+2103 \19
+_¡ack_\96
+ *
+£l
+ =
+¡ck
+->
+\8f\9e
+;
+
+2104
+¡ck
+->
+\8f\9e
+ =
+£l
+->
+´ev
+;
+
+2105
+ `FREEMEM
+(
+£l
+);
+
+2107
+ `FREEMEM
+(
+¡ck
+);
+
+2110 \1a
+m\91hod
+) {
+
+2111 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+2112
+ `FREEMEM
+(
+¥\8c
+);
+
+2114 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+2116 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+:
+
+2117
+ `mem£t
+(
+¥\8c
+, 0,
+
+2118
+td
+->
+¥ecifics
+
+
+2119 ? ((cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)(
+td
+->
+¥ecifics
+))
+
+2120 ->
+¡ruù_size
+
+
+2121 : \17(
+OCTET_STRING_t
+));
+
+2124
+ }
+}
+
+2130
+ $OCTET_STRING_äomBuf
+(
+OCTET_STRING_t
+ *
+¡
+, cڡ \ 5*
+¡r
+, \12
+Ën
+) {
+
+2131 \1e*
+buf
+;
+
+2133 if(
+¡
+ =ð0 || (
+¡r
+ =ð0 &&
+Ën
+)) {
+
+2134
+\94ºo
+ =
+EINVAL
+;
+
+2141 if(
+¡r
+ =ð
+NULL
+) {
+
+2142
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+2143
+¡
+->
+buf
+ = 0;
+
+2144
+¡
+->
+size
+ = 0;
+
+2149 if(
+Ën
+ < 0)
+
+2150
+Ën
+ =
+ `¡¾\92
+(
+¡r
+);
+
+2153
+buf
+ =
+ `MALLOC
+(
+Ën
+ + 1);
+
+2154 if(
+buf
+ =ð
+NULL
+)
+
+2157
+ `memýy
+(
+buf
+,
+¡r
+,
+Ën
+);
+
+2158 ((
+u\9at8_t
+ *)
+buf
+)[
+Ën
+] = '\0';
+
+2159
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+2160
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)buf;
+
+2161
+¡
+->
+size
+ =
+Ën
+;
+
+2164
+ }
+}
+
+2166
+OCTET_STRING_t
+ *
+
+2167
+ $OCTET_STRING_Ãw_äomBuf
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \ 5*
+¡r
+,
+
+2168 \12
+Ën
+) {
+
+2169 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+
+2170
+td
+->
+¥ecifics
+ ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)td->specifics
+
+2171 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+2172
+OCTET_STRING_t
+ *
+¡
+;
+
+2174
+¡
+ = (
+OCTET_STRING_t
+ *)
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+2175 if(
+¡
+ &&
+¡r
+ &&
+ `OCTET_STRING_äomBuf
+(¡, s\8c,
+Ën
+)) {
+
+2176
+ `FREEMEM
+(
+¡
+);
+
+2177
+¡
+ =
+NULL
+;
+
+2180 \15
+¡
+;
+
+2181
+ }
+}
+
+2188
+ $OCTET_STRING_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+2189 cڡ \1e*
+b±r
+) {
+
+2190 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+;
+
+2191 cڡ
+OCTET_STRING_t
+ *
+a
+ =
+\8c
+;
+
+2192 cڡ
+OCTET_STRING_t
+ *
+b
+ =
+b±r
+;
+
+2194
+ `as£¹
+(!
+¥ecs
+ || s³cs->
+subv¬\9fÁ
+ !ð
+ASN_OSUBV_BIT
+);
+
+2196 if(
+a
+ &&
+b
+) {
+
+2197
+size_t
+
+commÚ_´efix_size
+ =
+a
+->
+size
+ <ð
+b
+->size ?\87->size : b->size;
+
+2198 \12
+»t
+ =
+ `memcmp
+(
+a
+->
+buf
+,
+b
+->buf,
+commÚ_´efix_size
+);
+
+2199 if(
+»t
+ == 0) {
+
+2201 if(
+a
+->
+size
+ <
+b
+->size) {
+
+2203 } \vif(
+a
+->
+size
+ >
+b
+->size) {
+
+2209 \15
+»t
+ < 0 ? -1 : 1;
+
+2211 } \vif(!
+a
+ && !
+b
+) {
+
+2213 } \vif(!
+a
+) {
+
+2219
+ }
+}
+
+2224 \18
+u\9at32_t
+
+
+2225
+ $OCTET_STRING__¿ndom_ch¬
+(\1d\13
+lb
+, \1d\13
+ub
+) {
+
+2226
+ `as£¹
+(
+lb
+ <ð
+ub
+);
+
+2227 \1a
+ `a¢_¿ndom_b\91w\93n
+(0, 16)) {
+
+2229 if(
+lb
+ <
+ub
+) \15\86b + 1;
+
+2232 \15
+lb
+;
+
+2234 if(
+lb
+ <
+ub
+) \15 ub - 1;
+
+2237 \15
+ub
+;
+
+2239 \15
+ `a¢_¿ndom_b\91w\93n
+(
+lb
+,
+ub
+);
+
+2241
+ }
+}
+
+2244
+size_t
+
+
+2245
+ $OCTET_STRING_¿ndom_Ëngth_cÚ¡¿\9aed
+(
+
+2246 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+2247 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+size_t
+
+max_Ëngth
+) {
+
+2248 cڡ \1d
+Ëngths
+[] = {0, 1, 2, 3, 4, 8,
+
+2251
+size_t
+
+ºd_Ën
+;
+
+2254
+ºd_Ën
+ =
+Ëngths
+[
+ `a¢_¿ndom_b\91w\93n
+(
+
+2255 0, \17(
+Ëngths
+) / \17(lengths[0]) - 1)];
+
+2257 if(!
+cÚ¡¿\9ats
+ || !cÚ¡¿\9ats->
+³r_cÚ¡¿\9ats
+)
+
+2258
+cÚ¡¿\9ats
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+;
+
+2259 if(
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+) {
+
+2260 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+pc
+ = &
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+2261 if(
+pc
+->
+æags
+ &
+APC_CONSTRAINED
+) {
+
+2262 \13
+sugge¡ed_uµ\94_bound
+ =
+pc
+->
+uµ\94_bound
+ < (
+ssize_t
+)
+max_Ëngth
+
+
+2263 ?
+pc
+->
+uµ\94_bound
+
+
+2264 : (
+ssize_t
+)
+max_Ëngth
+;
+
+2265 if(
+max_Ëngth
+ <ð(
+size_t
+)
+pc
+->
+low\94_bound
+) {
+
+2266 \15
+pc
+->
+low\94_bound
+;
+
+2268 if(
+pc
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+2269 \1a
+ `a¢_¿ndom_b\91w\93n
+(0, 5)) {
+
+2271 if(
+pc
+->
+low\94_bound
+ > 0) {
+
+2272
+ºd_Ën
+ =
+pc
+->
+low\94_bound
+ - 1;
+
+2277
+ºd_Ën
+ =
+pc
+->
+uµ\94_bound
+ + 1;
+
+2281 if(
+ºd_Ën
+ <ð
+max_Ëngth
+) {
+
+2286
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+pc
+->
+low\94_bound
+,
+
+2287
+sugge¡ed_uµ\94_bound
+);
+
+2290
+ºd_Ën
+ =
+
+2291
+ `a¢_¿ndom_b\91w\93n
+(
+pc
+->
+low\94_bound
+,
+sugge¡ed_uµ\94_bound
+);
+
+2294
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(0,
+max_Ëngth
+);
+
+2296 } \vif(
+ºd_Ën
+ >
+max_Ëngth
+) {
+
+2297
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(0,
+max_Ëngth
+);
+
+2300 \15
+ºd_Ën
+;
+
+2301
+ }
+}
+
+2303
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+2304
+ $OCTET_STRING_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+2305 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+2306
+size_t
+
+max_Ëngth
+) {
+
+2307 cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *
+¥ecs
+ =
+td
+->
+¥ecifics
+
+
+2308 ? (cڡ
+a¢_OCTET_STRING_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+
+
+2309 : &
+a¢_SPC_OCTET_STRING_¥ecs
+;
+
+2310
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 1};
+
+2311
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+2312
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+2313 \1d\12
+un\99_by\8bs
+ = 1;
+
+2314 \1d\13
+þb
+ = 0;
+
+2315 \1d\13
+cub
+ = 255;
+
+2316
+u\9at8_t
+ *
+buf
+;
+
+2317
+u\9at8_t
+ *
+b\92d
+;
+
+2318
+u\9at8_t
+ *
+b
+;
+
+2319
+size_t
+
+ºd_Ën
+;
+
+2320
+OCTET_STRING_t
+ *
+¡
+;
+
+2322 if(
+max_Ëngth
+ =ð0 && !*
+¥\8c
+è\15
+»suÉ_sk\9d³d
+;
+
+2324 \1a
+¥ecs
+->
+subv¬\9fÁ
+) {
+
+2326 \ 4
+ASN_OSUBV_ANY
+:
+
+2327 \15
+»suÉ_ç\9eed
+;
+
+2328 \ 4
+ASN_OSUBV_BIT
+:
+
+2330 \15
+»suÉ_ç\9eed
+;
+
+2331 \ 4
+ASN_OSUBV_STR
+:
+
+2332
+un\99_by\8bs
+ = 1;
+
+2333
+þb
+ = 0;
+
+2334
+cub
+ = 255;
+
+2336 \ 4
+ASN_OSUBV_U16
+:
+
+2337
+un\99_by\8bs
+ = 2;
+
+2338
+þb
+ = 0;
+
+2339
+cub
+ = 65535;
+
+2341 \ 4
+ASN_OSUBV_U32
+:
+
+2342
+un\99_by\8bs
+ = 4;
+
+2343
+þb
+ = 0;
+
+2344
+cub
+ = 0x10FFFF;
+
+2348 if(!
+cÚ¡¿\9ats
+ || !cÚ¡¿\9ats->
+³r_cÚ¡¿\9ats
+)
+
+2349
+cÚ¡¿\9ats
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+;
+
+2350 if(
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+) {
+
+2351 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+pc
+ = &
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+2352 if(
+pc
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+2353
+þb
+ =
+pc
+->
+low\94_bound
+;
+
+2354 } \vif(
+pc
+->
+æags
+ &
+APC_CONSTRAINED
+) {
+
+2355
+þb
+ =
+pc
+->
+low\94_bound
+;
+
+2356
+cub
+ =
+pc
+->
+uµ\94_bound
+;
+
+2360
+ºd_Ën
+ =
+
+2361
+ `OCTET_STRING_¿ndom_Ëngth_cÚ¡¿\9aed
+(
+td
+,
+cÚ¡¿\9ats
+,
+max_Ëngth
+);
+
+2363
+buf
+ =
+ `CALLOC
+(
+un\99_by\8bs
+,
+ºd_Ën
+ + 1);
+
+2364 if(!
+buf
+è\15
+»suÉ_ç\9eed
+;
+
+2366
+b\92d
+ = &
+buf
+[
+un\99_by\8bs
+ *
+ºd_Ën
+];
+
+2368 \1a
+un\99_by\8bs
+) {
+
+2370 \ f
+b
+ =
+buf
+; b <
+b\92d
+; b +ð
+un\99_by\8bs
+) {
+
+2371 *(
+u\9at8_t
+ *)
+b
+ =
+ `OCTET_STRING__¿ndom_ch¬
+(
+þb
+,
+cub
+);
+
+2373 *(
+u\9at8_t
+ *)
+b
+ = 0;
+
+2376 \ f
+b
+ =
+buf
+; b <
+b\92d
+; b +ð
+un\99_by\8bs
+) {
+
+2377
+u\9at32_t
+
+code
+ =
+ `OCTET_STRING__¿ndom_ch¬
+(
+þb
+,
+cub
+);
+
+2378
+b
+[0] =
+code
+ >> 8;
+
+2379
+b
+[1] =
+code
+;
+
+2381 *(
+u\9at16_t
+ *)
+b
+ = 0;
+
+2384 \ f
+b
+ =
+buf
+; b <
+b\92d
+; b +ð
+un\99_by\8bs
+) {
+
+2385
+u\9at32_t
+
+code
+ =
+ `OCTET_STRING__¿ndom_ch¬
+(
+þb
+,
+cub
+);
+
+2386
+b
+[0] =
+code
+ >> 24;
+
+2387
+b
+[1] =
+code
+ >> 16;
+
+2388
+b
+[2] =
+code
+ >> 8;
+
+2389
+b
+[3] =
+code
+;
+
+2391 *(
+u\9at32_t
+ *)
+b
+ = 0;
+
+2395 if(*
+¥\8c
+) {
+
+2396
+¡
+ = *
+¥\8c
+;
+
+2397
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+2399
+¡
+ = (
+OCTET_STRING_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+));
+
+2400 if(!
+¡
+) {
+
+2401
+ `FREEMEM
+(
+buf
+);
+
+2402 \15
+»suÉ_ç\9eed
+;
+
+2406
+¡
+->
+buf
+ = buf;
+
+2407
+¡
+->
+size
+ =
+un\99_by\8bs
+ *
+ºd_Ën
+;
+
+2409
+»suÉ_ok
+.
+Ëngth
+ =
+¡
+->
+size
+;
+
+2410 \15
+»suÉ_ok
+;
+
+2411
+ }
+}
+
+ @OPEN_TYPE.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<OPEN_TYPE.h
+>
+
+7 \ 2
+ ~<cڡr_CHOICE.h
+>
+
+8 \ 2
+ ~<³r_Ý\92ty³.h
+>
+
+9 \ 2
+ ~<\94ºo.h
+>
+
+11
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_OPEN_TYPE
+ = {
+
+12
+OPEN_TYPE_ä\93
+,
+
+13
+OPEN_TYPE_´\9at
+,
+
+14
+OPEN_TYPE_com·»
+,
+
+15
+OPEN_TYPE_decode_b\94
+,
+
+16
+OPEN_TYPE_\92code_d\94
+,
+
+17
+OPEN_TYPE_decode_x\94
+,
+
+18
+OPEN_TYPE_\92code_x\94
+,
+
+19 #ifdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+22
+OPEN_TYPE_decode_Ûr
+,
+
+23
+OPEN_TYPE_\92code_Ûr
+,
+
+25 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+28
+OPEN_TYPE_decode_u³r
+,
+
+29
+OPEN_TYPE_\92code_u³r
+,
+
+30
+OPEN_TYPE_decode_\94
+,
+
+31
+OPEN_TYPE_\92code_\94
+,
+
+37 #undeà
+ADVANCE
+
+
+38 \ 1
+ #ADVANCE
+(
+num_by\8bs
+) \
+
+40
+size_t
+
+num
+ =
+num_by\8bs
+; \
+
+41
+±r
+ = ((cÚ¡ \ 5*í\8cè+
+num
+; \
+
+42
+size
+ -ð
+num
+; \
+
+43
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+44 } \1f0)
+
+ )
+
+46
+a¢_dec_rv®_t
+
+
+47
+ $OPEN_TYPE_b\94_g\91
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+48 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+49 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+, cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+50
+size_t
+
+cÚsumed_my£lf
+ = 0;
+
+51
+a¢_ty³_£ËùÜ_»suÉ_t
+
+£Ëùed
+;
+
+52 \1e*
+memb_±r
+;
+
+53 \1e**
+memb_±r2
+;
+
+54 \1e*
+\9aÃr_v®ue
+;
+
+55
+a¢_dec_rv®_t
+
+rv
+;
+
+57 if(!(
+\96m
+->
+æags
+ &
+ATF_OPEN_TYPE
+)) {
+
+58
+ASN__DECODE_FAILED
+;
+
+61 if(!
+\96m
+->
+ty³_£ËùÜ
+) {
+
+62
+ `ASN_DEBUG
+("Type selector is\82ot defined for Open Type %s->%s->%s",
+
+63
+td
+->
+Çme
+,
+\96m
+->Çme,\83lm->
+ty³
+->name);
+
+64
+ASN__DECODE_FAILED
+;
+
+67
+£Ëùed
+ =
+\96m
+->
+ `ty³_£ËùÜ
+(
+td
+,
+¥\8c
+);
+
+68 if(!
+£Ëùed
+.
+´e£nû_\9adex
+) {
+
+69
+ASN__DECODE_FAILED
+;
+
+73 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+74
+memb_±r2
+ = (\1e**)((\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+76
+memb_±r
+ = (\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+77
+memb_±r2
+ = &
+memb_±r
+;
+
+79 if(*
+memb_±r2
+ !ð
+NULL
+) {
+
+81 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+, 0) != 0) {
+
+82
+ASN__DECODE_FAILED
+;
+
+86
+\9aÃr_v®ue
+ =
+
+87 (\ 5*)*
+memb_±r2
+
+
+88 +
+\96m
+->
+ty³
+->
+\96em\92ts
+[
+£Ëùed
+.
+´e£nû_\9adex
+ - 1].
+memb_off£t
+;
+
+90
+ `ASN_DEBUG
+("´e£nû %d\n",
+£Ëùed
+.
+´e£nû_\9adex
+);
+
+92
+rv
+ =
+£Ëùed
+.
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `b\94_decod\94
+(
+
+93
+Ýt_codec_ùx
+,
+£Ëùed
+.
+ty³_desü\9dtÜ
+, &
+\9aÃr_v®ue
+,
+±r
+,
+size
+,
+
+94
+\96m
+->
+\8fg_mode
+);
+
+95
+ `ADVANCE
+(
+rv
+.
+cÚsumed
+);
+
+96
+rv
+.
+cÚsumed
+ = 0;
+
+97 \1a
+rv
+.
+code
+) {
+
+98 \ 4
+RC_OK
+:
+
+99 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+,
+
+100
+£Ëùed
+.
+´e£nû_\9adex
+)
+
+102
+rv
+.
+code
+ =
+RC_OK
+;
+
+103
+rv
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+;
+
+104 \15
+rv
+;
+
+109 \ 4
+RC_FAIL
+:
+
+110
+rv
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+;
+
+112 \ 4
+RC_WMORE
+:
+
+116 if(*
+memb_±r2
+) {
+
+117 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+118
+ `ASN_STRUCT_FREE
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+\9aÃr_v®ue
+);
+
+119 *
+memb_±r2
+ =
+NULL
+;
+
+121
+ `ASN_STRUCT_RESET
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+
+122
+\9aÃr_v®ue
+);
+
+125 \15
+rv
+;
+
+126
+ }
+}
+
+128
+a¢_dec_rv®_t
+
+
+129
+ $OPEN_TYPE_x\94_g\91
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+130 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+131 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+, cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+132
+size_t
+
+cÚsumed_my£lf
+ = 0;
+
+133
+a¢_ty³_£ËùÜ_»suÉ_t
+
+£Ëùed
+;
+
+134 \1e*
+memb_±r
+;
+
+135 \1e**
+memb_±r2
+;
+
+136 \1e*
+\9aÃr_v®ue
+;
+
+137
+a¢_dec_rv®_t
+
+rv
+;
+
+139 \12
+x\94_cÚ\8bxt
+ = 0;
+
+140
+ssize_t
+
+ch_size
+;
+
+141
+px\94_chunk_ty³_e
+
+ch_ty³
+;
+
+143 if(!(
+\96m
+->
+æags
+ &
+ATF_OPEN_TYPE
+)) {
+
+144
+ASN__DECODE_FAILED
+;
+
+147 if(!
+\96m
+->
+ty³_£ËùÜ
+) {
+
+148
+ `ASN_DEBUG
+("Type selector is\82ot defined for Open Type %s->%s->%s",
+
+149
+td
+->
+Çme
+,
+\96m
+->Çme,\83lm->
+ty³
+->name);
+
+150
+ASN__DECODE_FAILED
+;
+
+153
+£Ëùed
+ =
+\96m
+->
+ `ty³_£ËùÜ
+(
+td
+,
+¥\8c
+);
+
+154 if(!
+£Ëùed
+.
+´e£nû_\9adex
+) {
+
+155
+ASN__DECODE_FAILED
+;
+
+159
+ `as£¹
+(
+\96m
+->
+æags
+ =ð
+ATF_OPEN_TYPE
+);
+
+160 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+161
+memb_±r2
+ = (\1e**)((\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+163
+memb_±r
+ = (\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+164
+memb_±r2
+ = &
+memb_±r
+;
+
+166 if(*
+memb_±r2
+ !ð
+NULL
+) {
+
+168 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+, 0)
+
+170
+ASN__DECODE_FAILED
+;
+
+178
+ch_size
+ =
+ `x\94_Ãxt_tok\92
+(&
+x\94_cÚ\8bxt
+,
+±r
+,
+size
+, &
+ch_ty³
+);
+
+179 if(
+ch_size
+ < 0) {
+
+180
+ASN__DECODE_FAILED
+;
+
+182 \1a
+ch_ty³
+) {
+
+183 \ 4
+PXER_WMORE
+:
+
+184
+ASN__DECODE_STARVED
+;
+
+185 \ 4
+PXER_COMMENT
+:
+
+186 \ 4
+PXER_TEXT
+:
+
+187
+ `ADVANCE
+(
+ch_size
+);
+
+189 \ 4
+PXER_TAG
+:
+
+199 \1a
+ `x\94_check_\8fg
+(
+±r
+,
+ch_size
+,
+\96m
+->
+Çme
+)) {
+
+200 \ 4
+XCT_OPENING
+:
+
+201
+ `ADVANCE
+(
+ch_size
+);
+
+203 \ 4
+XCT_BROKEN
+:
+
+205
+ASN__DECODE_FAILED
+;
+
+208
+\9aÃr_v®ue
+ =
+
+209 (\ 5*)*
+memb_±r2
+
+
+210 +
+\96m
+->
+ty³
+->
+\96em\92ts
+[
+£Ëùed
+.
+´e£nû_\9adex
+ - 1].
+memb_off£t
+;
+
+212
+rv
+ =
+£Ëùed
+.
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `x\94_decod\94
+(
+
+213
+Ýt_codec_ùx
+,
+£Ëùed
+.
+ty³_desü\9dtÜ
+, &
+\9aÃr_v®ue
+,
+NULL
+,
+±r
+,
+size
+);
+
+214
+ `ADVANCE
+(
+rv
+.
+cÚsumed
+);
+
+215
+rv
+.
+cÚsumed
+ = 0;
+
+216 \1a
+rv
+.
+code
+) {
+
+217 \ 4
+RC_OK
+:
+
+218 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+,
+
+219
+£Ëùed
+.
+´e£nû_\9adex
+)
+
+223
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+226 \ 4
+RC_FAIL
+:
+
+228
+rv
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+;
+
+230 \ 4
+RC_WMORE
+:
+
+235 if(*
+memb_±r2
+) {
+
+236 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+237
+ `ASN_STRUCT_FREE
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+\9aÃr_v®ue
+);
+
+238 *
+memb_±r2
+ =
+NULL
+;
+
+240
+ `ASN_STRUCT_RESET
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+
+241
+\9aÃr_v®ue
+);
+
+244 \15
+rv
+;
+
+251
+ch_size
+ =
+ `x\94_Ãxt_tok\92
+(&
+x\94_cÚ\8bxt
+,
+±r
+,
+size
+, &
+ch_ty³
+);
+
+252 if(
+ch_size
+ < 0) {
+
+253
+ASN__DECODE_FAILED
+;
+
+255 \1a
+ch_ty³
+) {
+
+256 \ 4
+PXER_WMORE
+:
+
+257
+ASN__DECODE_STARVED
+;
+
+258 \ 4
+PXER_COMMENT
+:
+
+259 \ 4
+PXER_TEXT
+:
+
+260
+ `ADVANCE
+(
+ch_size
+);
+
+262 \ 4
+PXER_TAG
+:
+
+272 \1a
+ `x\94_check_\8fg
+(
+±r
+,
+ch_size
+,
+\96m
+->
+Çme
+)) {
+
+273 \ 4
+XCT_CLOSING
+:
+
+274
+ `ADVANCE
+(
+ch_size
+);
+
+276 \ 4
+XCT_BROKEN
+:
+
+278
+ASN__DECODE_FAILED
+;
+
+281
+rv
+.
+cÚsumed
+ +ð
+cÚsumed_my£lf
+;
+
+283 \15
+rv
+;
+
+284
+ }
+}
+
+287 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+289
+a¢_dec_rv®_t
+
+
+290
+ $OPEN_TYPE_u³r_g\91
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+291 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+292 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+293
+a¢_ty³_£ËùÜ_»suÉ_t
+
+£Ëùed
+;
+
+294 \1e*
+memb_±r
+;
+
+295 \1e**
+memb_±r2
+;
+
+296 \1e*
+\9aÃr_v®ue
+;
+
+297
+a¢_dec_rv®_t
+
+rv
+;
+
+299 if(!(
+\96m
+->
+æags
+ &
+ATF_OPEN_TYPE
+)) {
+
+300
+ASN__DECODE_FAILED
+;
+
+303 if(!
+\96m
+->
+ty³_£ËùÜ
+) {
+
+304
+ `ASN_DEBUG
+("Type selector is\82ot defined for Open Type %s->%s->%s",
+
+305
+td
+->
+Çme
+,
+\96m
+->Çme,\83lm->
+ty³
+->name);
+
+306
+ASN__DECODE_FAILED
+;
+
+309
+£Ëùed
+ =
+\96m
+->
+ `ty³_£ËùÜ
+(
+td
+,
+¥\8c
+);
+
+310 if(!
+£Ëùed
+.
+´e£nû_\9adex
+) {
+
+311
+ASN__DECODE_FAILED
+;
+
+315
+ `as£¹
+(
+\96m
+->
+æags
+ =ð
+ATF_OPEN_TYPE
+);
+
+316 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+317
+memb_±r2
+ = (\1e**)((\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+319
+memb_±r
+ = (\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+320
+memb_±r2
+ = &
+memb_±r
+;
+
+322 if(*
+memb_±r2
+ !ð
+NULL
+) {
+
+324 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+, 0)
+
+326
+ASN__DECODE_FAILED
+;
+
+330
+\9aÃr_v®ue
+ =
+
+331 (\ 5*)*
+memb_±r2
+
+
+332 +
+\96m
+->
+ty³
+->
+\96em\92ts
+[
+£Ëùed
+.
+´e£nû_\9adex
+ - 1].
+memb_off£t
+;
+
+334
+rv
+ =
+ `u³r_Ý\92_ty³_g\91
+(
+Ýt_codec_ùx
+,
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+NULL
+,
+
+335 &
+\9aÃr_v®ue
+,
+pd
+);
+
+336 \1a
+rv
+.
+code
+) {
+
+337 \ 4
+RC_OK
+:
+
+338 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+,
+
+339
+£Ëùed
+.
+´e£nû_\9adex
+)
+
+343
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+346 \ 4
+RC_WMORE
+:
+
+347 \ 4
+RC_FAIL
+:
+
+348 if(*
+memb_±r2
+) {
+
+349 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+350
+ `ASN_STRUCT_FREE
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+\9aÃr_v®ue
+);
+
+351 *
+memb_±r2
+ =
+NULL
+;
+
+353
+ `ASN_STRUCT_RESET
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+
+354
+\9aÃr_v®ue
+);
+
+358 \15
+rv
+;
+
+359
+ }
+}
+
+361
+a¢_\92c_rv®_t
+
+
+362
+ $OPEN_TYPE_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+363 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+364 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+365 cڡ \1e*
+memb_±r
+;
+
+366
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+367
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+368 \1d
+´e£Á
+;
+
+370 (\1e)
+cÚ¡¿\9ats
+;
+
+372
+´e£Á
+ =
+ `CHOICE_v¬\9fÁ_g\91_´e£nû
+(
+td
+,
+¥\8c
+);
+
+373 if(
+´e£Á
+ =ð0 ||\85»£Á >
+td
+->
+\96em\92ts_couÁ
+) {
+
+374
+ASN__ENCODE_FAILED
+;
+
+376
+´e£Á
+--;
+
+379
+ `ASN_DEBUG
+("Encod\9ag % OPEN TYPE\83Ëm\92\88%d",
+td
+->
+Çme
+,
+´e£Á
+);
+
+381
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+];
+
+382 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+384
+memb_±r
+ =
+
+385 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+386 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+388
+memb_±r
+ = (cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+391 if(
+ `u³r_Ý\92_ty³_put
+(
+\96m
+->
+ty³
+,
+NULL
+,
+memb_±r
+,
+po
+) < 0) {
+
+392
+ASN__ENCODE_FAILED
+;
+
+395
+\94
+.
+\92coded
+ = 0;
+
+396
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+397
+ }
+}
+
+399
+a¢_dec_rv®_t
+
+
+400
+ $OPEN_TYPE_\94_g\91
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+401 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+402 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+403
+a¢_ty³_£ËùÜ_»suÉ_t
+
+£Ëùed
+;
+
+404 \1e*
+memb_±r
+;
+
+405 \1e**
+memb_±r2
+;
+
+406 \1e*
+\9aÃr_v®ue
+;
+
+407
+a¢_dec_rv®_t
+
+rv
+;
+
+409 if(!(
+\96m
+->
+æags
+ &
+ATF_OPEN_TYPE
+)) {
+
+410
+ASN__DECODE_FAILED
+;
+
+413 if(!
+\96m
+->
+ty³_£ËùÜ
+) {
+
+414
+ `ASN_DEBUG
+("Type selector is\82ot defined for Open Type %s->%s->%s",
+
+415
+td
+->
+Çme
+,
+\96m
+->Çme,\83lm->
+ty³
+->name);
+
+416
+ASN__DECODE_FAILED
+;
+
+419
+£Ëùed
+ =
+\96m
+->
+ `ty³_£ËùÜ
+(
+td
+,
+¥\8c
+);
+
+420 if(!
+£Ëùed
+.
+´e£nû_\9adex
+) {
+
+421
+ASN__DECODE_FAILED
+;
+
+425
+ `as£¹
+(
+\96m
+->
+æags
+ =ð
+ATF_OPEN_TYPE
+);
+
+426 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+427
+memb_±r2
+ = (\1e**)((\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+429
+memb_±r
+ = (\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+430
+memb_±r2
+ = &
+memb_±r
+;
+
+432 if(*
+memb_±r2
+ !ð
+NULL
+) {
+
+434 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+, 0)
+
+436
+ASN__DECODE_FAILED
+;
+
+440
+\9aÃr_v®ue
+ =
+
+441 (\ 5*)*
+memb_±r2
+
+
+442 +
+\96m
+->
+ty³
+->
+\96em\92ts
+[
+£Ëùed
+.
+´e£nû_\9adex
+ - 1].
+memb_off£t
+;
+
+444
+rv
+ =
+ `\94_Ý\92_ty³_g\91
+(
+Ýt_codec_ùx
+,
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+NULL
+,
+
+445 &
+\9aÃr_v®ue
+,
+pd
+);
+
+446 \1a
+rv
+.
+code
+) {
+
+447 \ 4
+RC_OK
+:
+
+448 if(
+ `CHOICE_v¬\9fÁ_£t_´e£nû
+(
+\96m
+->
+ty³
+, *
+memb_±r2
+,
+
+449
+£Ëùed
+.
+´e£nû_\9adex
+)
+
+453
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+456 \ 4
+RC_WMORE
+:
+
+457 \ 4
+RC_FAIL
+:
+
+458 if(*
+memb_±r2
+) {
+
+459 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+460
+ `ASN_STRUCT_FREE
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+\9aÃr_v®ue
+);
+
+461 *
+memb_±r2
+ =
+NULL
+;
+
+463
+ `ASN_STRUCT_RESET
+(*
+£Ëùed
+.
+ty³_desü\9dtÜ
+,
+
+464
+\9aÃr_v®ue
+);
+
+468 \15
+rv
+;
+
+469
+ }
+}
+
+471
+a¢_\92c_rv®_t
+
+
+472
+ $OPEN_TYPE_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+473 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+474 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+475 cڡ \1e*
+memb_±r
+;
+
+476
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+477
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+478 \1d
+´e£Á
+;
+
+480 (\1e)
+cÚ¡¿\9ats
+;
+
+482
+´e£Á
+ =
+ `CHOICE_v¬\9fÁ_g\91_´e£nû
+(
+td
+,
+¥\8c
+);
+
+483 if(
+´e£Á
+ =ð0 ||\85»£Á >
+td
+->
+\96em\92ts_couÁ
+) {
+
+484
+ASN__ENCODE_FAILED
+;
+
+486
+´e£Á
+--;
+
+489
+ `ASN_DEBUG
+("Encod\9ag % OPEN TYPE\83Ëm\92\88%d",
+td
+->
+Çme
+,
+´e£Á
+);
+
+491
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+];
+
+492 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+494
+memb_±r
+ =
+
+495 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+496 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+498
+memb_±r
+ = (cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+501 if(
+ `\94_Ý\92_ty³_put
+(
+\96m
+->
+ty³
+,
+NULL
+,
+memb_±r
+,
+po
+) < 0) {
+
+502
+ASN__ENCODE_FAILED
+;
+
+505
+\94
+.
+\92coded
+ = 0;
+
+506
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+507
+ }
+}
+
+ @PLMNIdentity.c
+
+8 \ 2
+ ~"PLMNId\92t\99y.h
+"
+
+11
+ $PLMNId\92t\99y_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 3)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_PLMNId\92t\99y_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 3, 3 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_PLMNId\92t\99y_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_PLMNId\92t\99y
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_PLMNId\92t\99y_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_PLMNId\92t\99y_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_PLMNId\92t\99y_\8fgs_1
+[0]),
+
+55
+a¢_DEF_PLMNId\92t\99y_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_PLMNId\92t\99y_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_PLMNId\92t\99y_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_PLMNId\92t\99y_cÚ¡r_1
+,
+PLMNId\92t\99y_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @PrintableString.c
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<Pr\9a\8fbËS\8c\9ag.h
+>
+
+12 \18cڡ \12
+ g_Pr\9a\8fbËS\8c\9ag_®phab\91
+[256] = {
+
+22 \18cڡ \12
+ g_Pr\9a\8fbËS\8c\9ag_code2v®ue
+[74] = {
+
+32 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
+[] = {
+
+33 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (19 << 2)),
+
+34 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+36 \18\12
+ $a¢_DEF_Pr\9a\8fbËS\8c\9ag_v2c
+(\1d\12
+v®ue
+) {
+
+37 \15
+_Pr\9a\8fbËS\8c\9ag_®phab\91
+[
+v®ue
+ > 255 ? 0 : value] - 1;
+
+38
+ }
+}
+
+39 \18\12
+ $a¢_DEF_Pr\9a\8fbËS\8c\9ag_c2v
+(\1d\12
+code
+) {
+
+40 if(
+code
+ < 74)
+
+41 \15
+_Pr\9a\8fbËS\8c\9ag_code2v®ue
+[
+code
+];
+
+43
+ }
+}
+
+44 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+ ga¢_DEF_Pr\9a\8fbËS\8c\9ag_³r_cÚ¡¿\9ats
+ = {
+
+45 {
+APC_CONSTRAINED
+, 4, 4, 0x20, 0x39 },
+
+46 {
+APC_SEMI_CONSTRAINED
+, -1, -1, 0, 0 },
+
+47
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_v2c
+,
+
+48
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_c2v
+
+
+50
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_Pr\9a\8fbËS\8c\9ag
+ = {
+
+51
+OCTET_STRING_ä\93
+,
+
+52
+OCTET_STRING_´\9at_utf8
+,
+
+53
+OCTET_STRING_com·»
+,
+
+54
+OCTET_STRING_decode_b\94
+,
+
+55
+OCTET_STRING_\92code_d\94
+,
+
+56
+OCTET_STRING_decode_x\94_utf8
+,
+
+57
+OCTET_STRING_\92code_x\94_utf8
+,
+
+58 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+62
+OCTET_STRING_decode_Ûr
+,
+
+63
+OCTET_STRING_\92code_Ûr
+,
+
+65 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+71
+OCTET_STRING_decode_u³r
+,
+
+72
+OCTET_STRING_\92code_u³r
+,
+
+73
+OCTET_STRING_decode_\94
+,
+
+74
+OCTET_STRING_\92code_\94
+,
+
+76
+OCTET_STRING_¿ndom_f\9el
+,
+
+79
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Pr\9a\8fbËS\8c\9ag
+ = {
+
+82 &
+a¢_OP_Pr\9a\8fbËS\8c\9ag
+,
+
+83
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
+,
+
+84 \17(
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
+)
+
+85 / \17(
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
+[0]) - 1,
+
+86
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
+,
+
+87 \17(
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
+)
+
+88 / \17(
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
+[0]),
+
+89 { 0, &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag_³r_cÚ¡¿\9ats
+,
+Pr\9a\8fbËS\8c\9ag_cÚ¡¿\9at
+ },
+
+96
+ $Pr\9a\8fbËS\8c\9ag_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+97
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+,
+
+98 \1e*
+p_key
+) {
+
+99 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+101 if(
+¡
+ && st->
+buf
+) {
+
+102
+u\9at8_t
+ *
+buf
+ =
+¡
+->buf;
+
+103
+u\9at8_t
+ *
+\92d
+ =
+buf
+ +
+¡
+->
+size
+;
+
+109 \ f;
+buf
+ <
+\92d
+; buf++) {
+
+110 if(!
+_Pr\9a\8fbËS\8c\9ag_®phab\91
+[*
+buf
+]) {
+
+111
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+115
+td
+->
+Çme
+,
+
+116 (\13)((
+buf
+ -
+¡
+->buf) + 1),
+
+117 *
+buf
+,
+
+118
+__FILE__
+,
+__LINE__
+);
+
+123
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+125
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+130
+ }
+}
+
+ @QCI.c
+
+8 \ 2
+ ~"QCI.h
+"
+
+11
+ $QCI_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 255)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_QCI_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+, 8, 8, 0, 255 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_QCI_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_QCI
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_QCI_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_QCI_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_QCI_\8fgs_1
+[0]),
+
+54
+a¢_DEF_QCI_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_QCI_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_QCI_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_QCI_cÚ¡r_1
+,
+QCI_cÚ¡¿\9at
+ },
+
+ @QoSID.c
+
+8 \ 2
+ ~"QoSID.h
+"
+
+10 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_QoSID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+11 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+15 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_QoSID_1
+[] = {
+
+16 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+QoSID
+,
+choiû
+.
+fiveGC
+),
+
+17 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+19 &
+a¢_DEF_FiveQI
+,
+
+25 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+QoSID
+,
+choiû
+.
+ePC
+),
+
+26 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+28 &
+a¢_DEF_QCI
+,
+
+35 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_QoSID_\8fg2\96_1
+[] = {
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+37 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+39 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_QoSID_¥ecs_1
+ = {
+
+40 \17(\19
+QoSID
+),
+
+41
+off£tof
+(\19
+QoSID
+,
+_a¢_ùx
+),
+
+42
+off£tof
+(\19
+QoSID
+,
+´e£Á
+),
+
+43 \17(((\19
+QoSID
+ *)0)->
+´e£Á
+),
+
+44
+a¢_MAP_QoSID_\8fg2\96_1
+,
+
+49
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_QoSID
+ = {
+
+52 &
+a¢_OP_CHOICE
+,
+
+57 { 0, &
+a¢_PER_ty³_QoSID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_QoSID_1
+,
+
+60 &
+a¢_SPC_QoSID_¥ecs_1
+
+
+ @QosFlowIdentifier.c
+
+8 \ 2
+ ~"QosFlowId\92tif\9br.h
+"
+
+11
+ $QosFlowId\92tif\9br_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 0 && value <= 63)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_QosFlowId\92tif\9br_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 6, 6, 0, 63 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_QosFlowId\92tif\9br_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_QosFlowId\92tif\9br
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
+[0]),
+
+54
+a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_QosFlowId\92tif\9br_cÚ¡r_1
+,
+QosFlowId\92tif\9br_cÚ¡¿\9at
+ },
+
+ @RANUEID.c
+
+8 \ 2
+ ~"RANUEID.h
+"
+
+11
+ $RANUEID_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 8)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_RANUEID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 8, 8 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RANUEID_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RANUEID
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_RANUEID_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_RANUEID_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_RANUEID_\8fgs_1
+[0]),
+
+55
+a¢_DEF_RANUEID_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_RANUEID_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_RANUEID_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_RANUEID_cÚ¡r_1
+,
+RANUEID_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @RANfunction-Name.c
+
+8 \ 2
+ ~"RANfunùiÚ-Name.h
+"
+
+10 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_2
+[256] = {
+
+20 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_2
+[74] = {
+
+28 \18\12
+ $check_³rm\99\8bd_®phab\91_2
+(cڡ \1e*
+¥\8c
+) {
+
+29 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_2
+;
+
+31 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+32 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+33 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+35 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+36
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+37 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+40
+ }
+}
+
+42 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_3
+[256] = {
+
+52 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_3
+[74] = {
+
+60 \18\12
+ $check_³rm\99\8bd_®phab\91_3
+(cڡ \1e*
+¥\8c
+) {
+
+61 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_3
+;
+
+63 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+64 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+65 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+67 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+68
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+69 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+72
+ }
+}
+
+74 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_4
+[256] = {
+
+84 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_4
+[74] = {
+
+92 \18\12
+ $check_³rm\99\8bd_®phab\91_4
+(cڡ \1e*
+¥\8c
+) {
+
+93 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_4
+;
+
+95 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+96 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+97 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+99 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+100
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+101 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+104
+ }
+}
+
+107
+ $memb_¿nFunùiÚ_ShÜtName_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+108
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+109 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+110
+size_t
+
+size
+;
+
+112 if(!
+¥\8c
+) {
+
+113
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+115
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+119
+size
+ =
+¡
+->size;
+
+121 if((
+size
+ >= 1 && size <= 150)
+
+122 && !
+ `check_³rm\99\8bd_®phab\91_2
+(
+¡
+)) {
+
+126
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+128
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+131
+ }
+}
+
+133 \18\12
+ $a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_v2c
+(\1d\12
+v®ue
+) {
+
+134 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_2
+)/\17(permitted_alphabet_table_2[0]))
+
+136 \15
+³rm\99\8bd_®phab\91_\8fbË_2
+[
+v®ue
+] - 1;
+
+137
+ }
+}
+
+138 \18\12
+ $a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_c2v
+(\1d\12
+code
+) {
+
+139 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_2
+)/\17(permitted_alphabet_code2value_2[0]))
+
+141 \15
+³rm\99\8bd_®phab\91_code2v®ue_2
+[
+code
+];
+
+142
+ }
+}
+
+144
+ $memb_¿nFunùiÚ_E2SM_OID_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+145
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+146 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+147
+size_t
+
+size
+;
+
+149 if(!
+¥\8c
+) {
+
+150
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+152
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+156
+size
+ =
+¡
+->size;
+
+158 if((
+size
+ >= 1 && size <= 1000)
+
+159 && !
+ `check_³rm\99\8bd_®phab\91_3
+(
+¡
+)) {
+
+163
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+165
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+168
+ }
+}
+
+170 \18\12
+ $a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_v2c
+(\1d\12
+v®ue
+) {
+
+171 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_3
+)/\17(permitted_alphabet_table_3[0]))
+
+173 \15
+³rm\99\8bd_®phab\91_\8fbË_3
+[
+v®ue
+] - 1;
+
+174
+ }
+}
+
+175 \18\12
+ $a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_c2v
+(\1d\12
+code
+) {
+
+176 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_3
+)/\17(permitted_alphabet_code2value_3[0]))
+
+178 \15
+³rm\99\8bd_®phab\91_code2v®ue_3
+[
+code
+];
+
+179
+ }
+}
+
+181
+ $memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+182
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+183 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+184
+size_t
+
+size
+;
+
+186 if(!
+¥\8c
+) {
+
+187
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+189
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+193
+size
+ =
+¡
+->size;
+
+195 if((
+size
+ >= 1 && size <= 150)
+
+196 && !
+ `check_³rm\99\8bd_®phab\91_4
+(
+¡
+)) {
+
+200
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+202
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+205
+ }
+}
+
+207 \18\12
+ $a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_v2c
+(\1d\12
+v®ue
+) {
+
+208 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_4
+)/\17(permitted_alphabet_table_4[0]))
+
+210 \15
+³rm\99\8bd_®phab\91_\8fbË_4
+[
+v®ue
+] - 1;
+
+211
+ }
+}
+
+212 \18\12
+ $a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_c2v
+(\1d\12
+code
+) {
+
+213 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_4
+)/\17(permitted_alphabet_code2value_4[0]))
+
+215 \15
+³rm\99\8bd_®phab\91_code2v®ue_4
+[
+code
+];
+
+216
+ }
+}
+
+217 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_¿nFunùiÚ_ShÜtName_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+218 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+219 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 8, 8, 1, 150 } ,
+
+220
+a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_v2c
+,
+
+221
+a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_c2v
+
+
+223 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_¿nFunùiÚ_E2SM_OID_cÚ¡r_3
+
+ gCC_NOTUSED
+ = {
+
+224 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+225 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 10, 10, 1, 1000 } ,
+
+226
+a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_v2c
+,
+
+227
+a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_c2v
+
+
+229 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡r_4
+
+ gCC_NOTUSED
+ = {
+
+230 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+231 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 8, 8, 1, 150 } ,
+
+232
+a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_v2c
+,
+
+233
+a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_c2v
+
+
+235
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_RANfunùiÚ_Name_1
+[] = {
+
+236 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RANfunùiÚ_Name
+,
+¿nFunùiÚ_ShÜtName
+),
+
+237 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+239 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+241 { 0, &
+a¢_PER_memb_¿nFunùiÚ_ShÜtName_cÚ¡r_2
+,
+memb_¿nFunùiÚ_ShÜtName_cÚ¡¿\9at_1
+ },
+
+245 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RANfunùiÚ_Name
+,
+¿nFunùiÚ_E2SM_OID
+),
+
+246 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+248 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+250 { 0, &
+a¢_PER_memb_¿nFunùiÚ_E2SM_OID_cÚ¡r_3
+,
+memb_¿nFunùiÚ_E2SM_OID_cÚ¡¿\9at_1
+ },
+
+254 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RANfunùiÚ_Name
+,
+¿nFunùiÚ_Desü\9dtiÚ
+),
+
+255 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+257 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+259 { 0, &
+a¢_PER_memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡r_4
+,
+memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡¿\9at_1
+ },
+
+263 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+RANfunùiÚ_Name
+,
+¿nFunùiÚ_In¡ªû
+),
+
+264 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+266 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+273 \18cڡ \12
+ ga¢_MAP_RANfunùiÚ_Name_oms_1
+[] = { 3 };
+
+274 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RANfunùiÚ_Name_\8fgs_1
+[] = {
+
+275 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+277 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_RANfunùiÚ_Name_\8fg2\96_1
+[] = {
+
+278 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+279 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+280 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+281 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 }
+
+283
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_RANfunùiÚ_Name_¥ecs_1
+ = {
+
+284 \17(\19
+RANfunùiÚ_Name
+),
+
+285
+off£tof
+(\19
+RANfunùiÚ_Name
+,
+_a¢_ùx
+),
+
+286
+a¢_MAP_RANfunùiÚ_Name_\8fg2\96_1
+,
+
+288
+a¢_MAP_RANfunùiÚ_Name_oms_1
+,
+
+292
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RANfunùiÚ_Name
+ = {
+
+295 &
+a¢_OP_SEQUENCE
+,
+
+296
+a¢_DEF_RANfunùiÚ_Name_\8fgs_1
+,
+
+297 \17(
+a¢_DEF_RANfunùiÚ_Name_\8fgs_1
+)
+
+298 /\17(
+a¢_DEF_RANfunùiÚ_Name_\8fgs_1
+[0]),
+
+299
+a¢_DEF_RANfunùiÚ_Name_\8fgs_1
+,
+
+300 \17(
+a¢_DEF_RANfunùiÚ_Name_\8fgs_1
+)
+
+301 /\17(
+a¢_DEF_RANfunùiÚ_Name_\8fgs_1
+[0]),
+
+302 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+303
+a¢_MBR_RANfunùiÚ_Name_1
+,
+
+305 &
+a¢_SPC_RANfunùiÚ_Name_¥ecs_1
+
+
+ @REAL.c
+
+5 \ 1
+ #_ISOC99_SOURCE
+
+
+ )
+
+6 #iâdeà
+_BSD_SOURCE
+
+
+7 \ 1
+ #_BSD_SOURCE
+
+
+ )
+
+9 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+10 #if
+def\9aed
+(
+__®pha
+)
+
+11 \ 2
+ ~<sys/»sourû.h
+>
+
+13 \ 2
+ ~<¡dlib.h
+>
+
+14 \ 2
+ ~<m©h.h
+>
+
+15 \ 2
+ ~<æßt.h
+>
+
+16 \ 2
+ ~<\94ºo.h
+>
+
+17 \ 2
+ ~<REAL.h
+>
+
+18 \ 2
+ ~<OCTET_STRING.h
+>
+
+20 #undeà
+INT_MAX
+
+
+21 \ 1
+ #INT_MAX
+ ((\12)(((\1d\12)-1è>> 1))
+
+ )
+
+23 #if !(
+def\9aed
+(
+NAN
+è|| def\9aed(
+INFINITY
+))
+
+24 \18vÞ©\9e\90\b
+»®_z\94o
+
+ gCC_NOTUSED
+ = 0.0;
+
+26 #iâdef
+NAN
+
+
+27 \ 1
+ #NAN
+ (0.0/0.0)
+
+ )
+
+29 #iâdef
+INFINITY
+
+
+30 \ 1
+ #INFINITY
+ (1.0/0.0)
+
+ )
+
+33 #ià
+def\9aed
+(
+__þªg__
+)
+
+41 #´agm¨
+þªg
+
+d\9fgno¡ic
+
+push
+
+
+42 #´agm¨
+þªg
+
+d\9fgno¡ic
+
+ignÜed
+ "-Wc11-extensions"
+
+43 \18\12
+ $a¢_i¢ª
+(\b
+d
+) {
+
+44 \15
+ `i¢ª
+(
+d
+);
+
+45
+ }
+}
+
+46 \18\12
+ $a¢_isf\9a\99e
+(\b
+d
+) {
+
+47 #ifdeà
+isf\9a\99e
+
+
+48 \15
+ `isf\9a\99e
+(
+d
+);
+
+50 \15
+ `f\9a\99e
+(
+d
+);
+
+52
+ }
+}
+
+53 #´agm¨
+þªg
+
+d\9fgno¡ic
+
+pÝ
+
+
+55 \ 1
+ #a¢_i¢ª
+(
+v
+è
+ `i¢ª
+(v)
+
+ )
+
+56 #ifdeà
+isf\9a\99e
+
+
+57 \ 1
+ #a¢_isf\9a\99e
+(
+d
+è
+ `isf\9a\99e
+(dè
+
+ )
+
+59 \ 1
+ #a¢_isf\9a\99e
+(
+d
+è
+ `f\9a\99e
+(dè
+
+ )
+
+66 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_REAL_\8fgs
+[] = {
+
+67 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (9 << 2))
+
+69
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_REAL
+ = {
+
+70
+ASN__PRIMITIVE_TYPE_ä\93
+,
+
+71
+REAL_´\9at
+,
+
+72
+REAL_com·»
+,
+
+73
+b\94_decode_´im\99ive
+,
+
+74
+d\94_\92code_´im\99ive
+,
+
+75
+REAL_decode_x\94
+,
+
+76
+REAL_\92code_x\94
+,
+
+77 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+81
+REAL_decode_Ûr
+,
+
+82
+REAL_\92code_Ûr
+,
+
+84 #ifdef
+ASN_DISABLE_PER_SUPPORT
+
+
+90
+REAL_decode_u³r
+,
+
+91
+REAL_\92code_u³r
+,
+
+92
+REAL_decode_\94
+,
+
+93
+REAL_\92code_\94
+,
+
+95
+REAL_¿ndom_f\9el
+,
+
+98
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_REAL
+ = {
+
+101 &
+a¢_OP_REAL
+,
+
+102
+a¢_DEF_REAL_\8fgs
+,
+
+103 \17(
+a¢_DEF_REAL_\8fgs
+) / \17(asn_DEF_REAL_tags[0]),
+
+104
+a¢_DEF_REAL_\8fgs
+,
+
+105 \17(
+a¢_DEF_REAL_\8fgs
+) / \17(asn_DEF_REAL_tags[0]),
+
+106 { 0, 0,
+a¢_g\92\94ic_no_cÚ¡¿\9at
+ },
+
+112 \e\f
+ e¥ec\9flR\97lV®ue
+ {
+
+113
+ mSRV__NOT_A_NUMBER
+,
+
+114
+ mSRV__MINUS_INFINITY
+,
+
+115
+ mSRV__PLUS_INFINITY
+
+
+116 }
+ t¥ec\9flR\97lV®ue_e
+;
+
+117 \18\19
+ s¥ec\9flR\97lV®ue_s
+ {
+
+118 \ 5*
+ m¡r\9ag
+;
+
+119
+size_t
+
+ mËngth
+;
+
+120 \13
+ mdv
+;
+
+121 }
+ g¥ec\9flR\97lV®ue
+[] = {
+
+122 \ 1
+ #SRV_SET
+(
+foo
+,
+v®
+è{ foo, \17(fooè- 1, v® }
+
+ )
+
+123
+SRV_SET
+("<NOT-A-NUMBER/>", 0),
+
+124
+SRV_SET
+("<MINUS-INFINITY/>", -1),
+
+125
+SRV_SET
+("<PLUS-INFINITY/>", 1),
+
+126 #undeà
+SRV_SET
+
+
+129
+ssize_t
+
+
+130
+ $REAL__dump
+(\b
+d
+, \12
+ÿnÚiÿl
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+131 \ 5
+loÿl_buf
+[64];
+
+132 \ 5*
+buf
+ =
+loÿl_buf
+;
+
+133
+ssize_t
+
+buæ\92
+ = \17(
+loÿl_buf
+);
+
+134 cڡ \ 5*
+fmt
+ =
+ÿnÚiÿl
+ ? "%.17E" : "%.15f" ;
+
+135
+ssize_t
+
+»t
+;
+
+141 if(
+ `a¢_i¢ª
+(
+d
+)) {
+
+142
+buf
+ =
+¥ec\9flR\97lV®ue
+[
+SRV__NOT_A_NUMBER
+].
+¡r\9ag
+;
+
+143
+buæ\92
+ =
+¥ec\9flR\97lV®ue
+[
+SRV__NOT_A_NUMBER
+].
+Ëngth
+;
+
+144 \15 (
+ `cb
+(
+buf
+,
+buæ\92
+,
+p_key
+) < 0) ? -1 : buflen;
+
+145 } \vif(!
+ `a¢_isf\9a\99e
+(
+d
+)) {
+
+146 if(
+ `cÝysign
+(1.0,
+d
+) < 0.0) {
+
+147
+buf
+ =
+¥ec\9flR\97lV®ue
+[
+SRV__MINUS_INFINITY
+].
+¡r\9ag
+;
+
+148
+buæ\92
+ =
+¥ec\9flR\97lV®ue
+[
+SRV__MINUS_INFINITY
+].
+Ëngth
+;
+
+150
+buf
+ =
+¥ec\9flR\97lV®ue
+[
+SRV__PLUS_INFINITY
+].
+¡r\9ag
+;
+
+151
+buæ\92
+ =
+¥ec\9flR\97lV®ue
+[
+SRV__PLUS_INFINITY
+].
+Ëngth
+;
+
+153 \15 (
+ `cb
+(
+buf
+,
+buæ\92
+,
+p_key
+) < 0) ? -1 : buflen;
+
+154 } \vif(
+ `\9eogb
+(
+d
+è<ð-
+INT_MAX
+) {
+
+155 if(
+ `cÝysign
+(1.0,
+d
+) < 0.0) {
+
+156
+buf
+ = "-0";
+
+157
+buæ\92
+ = 2;
+
+159
+buf
+ = "0";
+
+160
+buæ\92
+ = 1;
+
+162 \15 (
+ `cb
+(
+buf
+,
+buæ\92
+,
+p_key
+) < 0) ? -1 : buflen;
+
+169
+»t
+ =
+ `¢´\9atf
+(
+buf
+,
+buæ\92
+,
+fmt
+,
+d
+);
+
+170 if(
+»t
+ < 0) {
+
+172
+buæ\92
+ <<= 1;
+
+173 if(
+buæ\92
+ > 4096) {
+
+175 if(
+buf
+ !ð
+loÿl_buf
+è
+ `FREEMEM
+(buf);
+
+178 } \vif(
+»t
+ >ð
+buæ\92
+) {
+
+179
+buæ\92
+ =
+»t
+ + 1;
+
+181
+buæ\92
+ =
+»t
+;
+
+184 if(
+buf
+ !ð
+loÿl_buf
+è
+ `FREEMEM
+(buf);
+
+185
+buf
+ = (\ 5*)
+ `MALLOC
+(
+buæ\92
+);
+
+186 if(!
+buf
+) \15 -1;
+
+189 if(
+ÿnÚiÿl
+) {
+
+194 \ 5*
+dÙ
+;
+
+195 \ 5*
+\92d
+ =
+buf
+ +
+buæ\92
+;
+
+196 \ 5*
+Ï¡_z\94o
+;
+
+197 \ 5*
+f\9c¡_z\94o_\9a_run
+;
+
+198 \ 5*
+s
+;
+
+201
+LZSTATE_NOTHING
+,
+
+202
+LZSTATE_ZEROES
+
+
+203 }
+lz_¡©e
+ =
+LZSTATE_NOTHING
+;
+
+205
+dÙ
+ = (
+buf
+[0] == 0x2d ) ? (buf + 2) : (buf + 1);
+
+206 if(*
+dÙ
+ >= 0x30) {
+
+207 if(
+buf
+ !ð
+loÿl_buf
+è
+ `FREEMEM
+(buf);
+
+208
+\94ºo
+ =
+EINVAL
+;
+
+211 *
+dÙ
+ = 0x2e;
+
+213 \ f
+f\9c¡_z\94o_\9a_run
+ =
+Ï¡_z\94o
+ =
+s
+ =
+dÙ
+ + 2; s <
+\92d
+; s++) {
+
+214 \1a*
+s
+) {
+
+216 if(
+lz_¡©e
+ =ð
+LZSTATE_ZEROES
+è
+Ï¡_z\94o
+ =
+f\9c¡_z\94o_\9a_run
+;
+
+219 if(
+lz_¡©e
+ =ð
+LZSTATE_NOTHING
+è
+f\9c¡_z\94o_\9a_run
+ =
+s
+;
+
+220
+lz_¡©e
+ =
+LZSTATE_ZEROES
+;
+
+223
+lz_¡©e
+ =
+LZSTATE_NOTHING
+;
+
+229 if(
+s
+ =ð
+\92d
+) {
+
+230 if(
+buf
+ !ð
+loÿl_buf
+è
+ `FREEMEM
+(buf);
+
+231
+\94ºo
+ =
+EINVAL
+;
+
+235
+ `as£¹
+(*
+s
+ == 0x45);
+
+237 \ 5*
+E
+ =
+s
+;
+
+238 \ 5*
+exµ\8c
+ = ++
+E
+;
+
+239 \ 5*
+s
+ =
+exµ\8c
+;
+
+240 \12
+sign
+;
+
+242 if(*
+exµ\8c
+ == 0x2b ) {
+
+244
+buæ\92
+ -= 1;
+
+245
+sign
+ = 0;
+
+247
+sign
+ = 1;
+
+248
+s
+++;
+
+250
+exµ\8c
+++;
+
+251 if(
+exµ\8c
+ >
+\92d
+) {
+
+252 if(
+buf
+ !ð
+loÿl_buf
+è
+ `FREEMEM
+(buf);
+
+253
+\94ºo
+ =
+EINVAL
+;
+
+256 if(*
+exµ\8c
+ == 0x30) {
+
+257
+buæ\92
+--;
+
+258
+exµ\8c
+++;
+
+260 if(
+lz_¡©e
+ =ð
+LZSTATE_ZEROES
+) {
+
+261 *
+Ï¡_z\94o
+ = 0x45;
+
+262
+buæ\92
+ -ð
+s
+ - (
+Ï¡_z\94o
+ + 1);
+
+263
+s
+ =
+Ï¡_z\94o
+ + 1;
+
+264 if(
+sign
+) {
+
+265 *
+s
+++ = 0x2d ;
+
+266
+buæ\92
+++;
+
+269 \ f;
+exµ\8c
+ <ð
+\92d
+;
+s
+++,\83xpptr++)
+
+270 *
+s
+ = *
+exµ\8c
+;
+
+276 \ 5*
+\92d
+ =
+buf
+ +
+buæ\92
+;
+
+277 \ 5*
+Ï¡_z\94o
+ =
+\92d
+;
+
+278 \12
+¡Ýlook\9ag
+ = 0;
+
+279 \ 5*
+z
+;
+
+280 \ f
+z
+ =
+\92d
+ - 1; z >
+buf
+; z--) {
+
+281 \1a*
+z
+) {
+
+283 if(!
+¡Ýlook\9ag
+)
+
+284
+Ï¡_z\94o
+ =
+z
+;
+
+288
+¡Ýlook\9ag
+ = 1;
+
+295 *
+z
+ = 0x2e;
+
+296 if(
+Ï¡_z\94o
+ =ð
+z
+ + 1) {
+
+297
+Ï¡_z\94o
+++;
+
+299
+buæ\92
+ =
+Ï¡_z\94o
+ -
+buf
+;
+
+300 *
+Ï¡_z\94o
+ = '\0';
+
+307
+»t
+ =
+ `cb
+(
+buf
+,
+buæ\92
+,
+p_key
+);
+
+308 if(
+buf
+ !ð
+loÿl_buf
+è
+ `FREEMEM
+(buf);
+
+309 \15 (
+»t
+ < 0è? -1 :
+buæ\92
+;
+
+310
+ }
+}
+
+313
+ $REAL_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+314
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+315 cڡ
+REAL_t
+ *
+¡
+ = (cÚ¡ REAL_\88*)
+¥\8c
+;
+
+316
+ssize_t
+
+»t
+;
+
+317 \b
+d
+;
+
+319 (\1e)
+td
+;
+
+320 (\1e)
+\9eev\96
+;
+
+322 if(!
+¡
+ || !¡->
+buf
+)
+
+323
+»t
+ =
+ `cb
+("<ab£Á>", 8,
+p_key
+);
+
+324 \vif(
+ `a¢_REAL2doubË
+(
+¡
+, &
+d
+))
+
+325
+»t
+ =
+ `cb
+("<\94rÜ>", 7,
+p_key
+);
+
+327
+»t
+ =
+ `REAL__dump
+(
+d
+, 0,
+cb
+,
+p_key
+);
+
+329 \15 (
+»t
+ < 0) ? -1 : 0;
+
+330
+ }
+}
+
+333
+ $REAL_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+334 cڡ \1e*
+b±r
+) {
+
+335 cڡ
+REAL_t
+ *
+a
+ =
+\8c
+;
+
+336 cڡ
+REAL_t
+ *
+b
+ =
+b±r
+;
+
+338 (\1e)
+td
+;
+
+340 if(
+a
+ &&
+b
+) {
+
+341 \b
+adbl
+,
+bdbl
+;
+
+342 \12
+¿
+,
+rb
+;
+
+343
+¿
+ =
+ `a¢_REAL2doubË
+(
+a
+, &
+adbl
+);
+
+344
+rb
+ =
+ `a¢_REAL2doubË
+(
+b
+, &
+bdbl
+);
+
+345 if(
+¿
+ =ð0 &&
+rb
+ == 0) {
+
+346 if(
+ `a¢_i¢ª
+(
+adbl
+)) {
+
+347 if(
+ `a¢_i¢ª
+(
+bdbl
+)) {
+
+352 } \vif(
+ `a¢_i¢ª
+(
+bdbl
+)) {
+
+356 if(
+adbl
+ <
+bdbl
+) {
+
+358 } \vif(
+adbl
+ >
+bdbl
+) {
+
+363 } \vif(
+¿
+) {
+
+368 } \vif(!
+a
+) {
+
+373
+ }
+}
+
+375
+a¢_\92c_rv®_t
+
+
+376
+ $REAL_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+377 \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+378 \1e*
+p_key
+) {
+
+379 cڡ
+REAL_t
+ *
+¡
+ = (cÚ¡ REAL_\88*)
+¥\8c
+;
+
+380
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+381 \b
+d
+;
+
+383 (\1e)
+\9eev\96
+;
+
+385 if(!
+¡
+ || !¡->
+buf
+ ||
+ `a¢_REAL2doubË
+(¡, &
+d
+))
+
+386
+ASN__ENCODE_FAILED
+;
+
+388
+\94
+.
+\92coded
+ =
+ `REAL__dump
+(
+d
+,
+æags
+ &
+XER_F_CANONICAL
+,
+cb
+,
+p_key
+);
+
+389 if(
+\94
+.
+\92coded
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+391
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+392
+ }
+}
+
+398 \18\f
+x\94_pbd_rv®
+
+
+399
+ $REAL__x\94_body_decode
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+400 cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+) {
+
+401
+REAL_t
+ *
+¡
+ = (REAL_\88*)
+¥\8c
+;
+
+402 \b
+v®ue
+;
+
+403 cڡ \ 5*
+x\94d©a
+ = (cڡ \ 5*)
+chunk_buf
+;
+
+404 \ 5*
+\92d±r
+ = 0;
+
+405 \ 5*
+b
+;
+
+407 (\1e)
+td
+;
+
+409 if(!
+chunk_size
+è\15
+XPBD_BROKEN_ENCODING
+;
+
+414 if(
+x\94d©a
+[0] == 0x3c ) {
+
+415
+size_t
+
+i
+;
+
+416 \ f
+i
+ = 0; i < \17(
+¥ec\9flR\97lV®ue
+)
+
+417 / \17(
+¥ec\9flR\97lV®ue
+[0]);
+i
+++) {
+
+418 \19
+¥ec\9flR\97lV®ue_s
+ *
+¤v
+ = &
+¥ec\9flR\97lV®ue
+[
+i
+];
+
+419 \b
+dv
+;
+
+421 if(
+¤v
+->
+Ëngth
+ !ð
+chunk_size
+
+
+422 ||
+ `memcmp
+(
+¤v
+->
+¡r\9ag
+,
+chunk_buf
+,
+chunk_size
+))
+
+430 \1a
+¤v
+->
+dv
+) {
+
+431 \ 4-1:
+dv
+ = -
+INFINITY
+; \ 3;
+
+432 \ 40:
+dv
+ =
+NAN
+; \ 3;
+
+433 \ 41:
+dv
+ =
+INFINITY
+; \ 3;
+
+434 \a: \15
+XPBD_SYSTEM_FAILURE
+;
+
+437 if(
+ `a¢_doubË2REAL
+(
+¡
+,
+dv
+))
+
+438 \15
+XPBD_SYSTEM_FAILURE
+;
+
+440 \15
+XPBD_BODY_CONSUMED
+;
+
+442
+ `ASN_DEBUG
+("Unknown XMLSpecialRealValue");
+
+443 \15
+XPBD_BROKEN_ENCODING
+;
+
+449
+b
+ = (\ 5*)
+ `MALLOC
+(
+chunk_size
+ + 1);
+
+450 if(!
+b
+è\15
+XPBD_SYSTEM_FAILURE
+;
+
+451
+ `memýy
+(
+b
+,
+chunk_buf
+,
+chunk_size
+);
+
+452
+b
+[
+chunk_size
+] = 0;
+
+454
+v®ue
+ =
+ `¡¹od
+(
+b
+, &
+\92d±r
+);
+
+455
+ `FREEMEM
+(
+b
+);
+
+456 if(
+\92d±r
+ =ð
+b
+è\15
+XPBD_BROKEN_ENCODING
+;
+
+458 if(
+ `a¢_doubË2REAL
+(
+¡
+,
+v®ue
+))
+
+459 \15
+XPBD_SYSTEM_FAILURE
+;
+
+461 \15
+XPBD_BODY_CONSUMED
+;
+
+462
+ }
+}
+
+464
+a¢_dec_rv®_t
+
+
+465
+ $REAL_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+466 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+467 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+) {
+
+468 \15
+ `x\94_decode_´im\99ive
+(
+Ýt_codec_ùx
+,
+td
+,
+
+469
+¥\8c
+, \17(
+REAL_t
+),
+Ýt_mÇme
+,
+
+470
+buf_±r
+,
+size
+,
+REAL__x\94_body_decode
+);
+
+471
+ }
+}
+
+474
+ $a¢_REAL2doubË
+(cڡ
+REAL_t
+ *
+¡
+, \b*
+dbl_v®ue
+) {
+
+475 \1d\12
+oùv
+;
+
+477 if(!
+¡
+ || !¡->
+buf
+) {
+
+478
+\94ºo
+ =
+EINVAL
+;
+
+482 if(
+¡
+->
+size
+ == 0) {
+
+483 *
+dbl_v®ue
+ = 0;
+
+487
+oùv
+ =
+¡
+->
+buf
+[0];
+
+489 \1a
+oùv
+ & 0xC0) {
+
+498 \1a
+¡
+->
+buf
+[0]) {
+
+500 *
+dbl_v®ue
+ =
+INFINITY
+;
+
+503 *
+dbl_v®ue
+ = -
+INFINITY
+;
+
+506 *
+dbl_v®ue
+ =
+NAN
+;
+
+509 *
+dbl_v®ue
+ = -0.0;
+
+513
+\94ºo
+ =
+EINVAL
+;
+
+522 \b
+d
+;
+
+523 \ 5*
+sourû
+ = 0;
+
+524 \ 5*
+\92d±r
+;
+
+525 \12
+u£d_m®loc
+ = 0;
+
+527 if(
+oùv
+ == 0 || (octv & 0x3C)) {
+
+529
+\94ºo
+ =
+EINVAL
+;
+
+539 if(
+¡
+->
+buf
+[¡->
+size
+] !ð'\0' ||
+ `memchr
+(st->buf, ',', st->size)) {
+
+540 cڡ
+u\9at8_t
+ *
+p
+, *
+\92d
+;
+
+541 \ 5*
+b
+;
+
+543
+b
+ =
+sourû
+ = (\ 5*)
+ `MALLOC
+(
+¡
+->
+size
+ + 1);
+
+544 if(!
+sourû
+) \15 -1;
+
+545
+u£d_m®loc
+ = 1;
+
+548 \ f
+p
+ =
+¡
+->
+buf
+ + 1,
+\92d
+ = st->buà+ st->
+size
+;
+
+549
+p
+ <
+\92d
+;
+b
+++,\85++)
+
+550 *
+b
+ = (*
+p
+ == ',') ? '.' : *p;
+
+551 *
+b
+ = '\0';
+
+553
+sourû
+ = (\ 5*)&
+¡
+->
+buf
+[1];
+
+556
+\92d±r
+ =
+sourû
+;
+
+557
+d
+ =
+ `¡¹od
+(
+sourû
+, &
+\92d±r
+);
+
+558 if(*
+\92d±r
+ != '\0') {
+
+560 if(
+u£d_m®loc
+è
+ `FREEMEM
+(
+sourû
+);
+
+561
+\94ºo
+ =
+EINVAL
+;
+
+564 if(
+u£d_m®loc
+è
+ `FREEMEM
+(
+sourû
+);
+
+565 if(
+ `a¢_isf\9a\99e
+(
+d
+)) {
+
+566 *
+dbl_v®ue
+ =
+d
+;
+
+569
+\94ºo
+ =
+ERANGE
+;
+
+579 \b
+m
+;
+
+580
+\9at32_t
+
+expv®
+;
+
+581 \1d\12
+\96\92
+;
+
+582 \12
+sÿËF
+;
+
+583 \12
+ba£F
+;
+
+584
+u\9at8_t
+ *
+±r
+;
+
+585
+u\9at8_t
+ *
+\92d
+;
+
+586 \12
+sign
+;
+
+588 \1a(
+oùv
+ & 0x30) >> 4) {
+
+589 \ 40x00:
+ba£F
+ = 1; \ 3;
+
+590 \ 40x01:
+ba£F
+ = 3; \ 3;
+
+591 \ 40x02:
+ba£F
+ = 4; \ 3;
+
+594
+\94ºo
+ =
+EINVAL
+;
+
+598
+sign
+ = (
+oùv
+ & 0x40);
+
+599
+sÿËF
+ = (
+oùv
+ & 0x0C) >> 2;
+
+601 if(
+¡
+->
+size
+ <ð1 + (
+oùv
+ & 0x03)) {
+
+602
+\94ºo
+ =
+EINVAL
+;
+
+606
+\96\92
+ = (
+oùv
+ & 0x03);
+
+607 if(
+\96\92
+ == 0x03) {
+
+608
+\96\92
+ =
+¡
+->
+buf
+[1];
+
+609 if(
+\96\92
+ =ð0 ||
+¡
+->
+size
+ <= (2 +\83len)) {
+
+610
+\94ºo
+ =
+EINVAL
+;
+
+614
+±r
+ = &
+¡
+->
+buf
+[2];
+
+616
+±r
+ = &
+¡
+->
+buf
+[1];
+
+620
+expv®
+ = (\12)(*(
+\9at8_t
+ *)
+±r
+);
+
+621 if(
+\96\92
+ >ð\17(
+expv®
+)-1) {
+
+622
+\94ºo
+ =
+ERANGE
+;
+
+625
+\92d
+ =
+±r
+ +
+\96\92
+ + 1;
+
+626 \ f
+±r
+++;\85\8c <
+\92d
+;\85tr++)
+
+627
+expv®
+ = (expv® * 256è+ *
+±r
+;
+
+629
+m
+ = 0.0;
+
+632
+\92d
+ =
+¡
+->
+buf
+ + st->
+size
+;
+
+633 \ f;
+±r
+ <
+\92d
+;\85tr++)
+
+634
+m
+ =
+ `ldexp
+(m, 8è+ *
+±r
+;
+
+637
+ `ASN_DEBUG
+("m=%.10f, scF=%d, bF=%d,\83xpval=%d,\86dexp()=%f,\86dexp()=%f\n",
+
+638
+m
+,
+sÿËF
+,
+ba£F
+,
+expv®
+,
+
+639
+ `ldexp
+(
+m
+,
+expv®
+ *
+ba£F
+ +
+sÿËF
+),
+
+640
+ `ldexp
+(
+m
+,
+sÿËF
+è*
+ `pow
+Õow(2,
+ba£F
+),
+expv®
+)
+
+648
+m
+ =
+ `ldexp
+(m,
+expv®
+ *
+ba£F
+ +
+sÿËF
+);
+
+649 if(
+ `a¢_isf\9a\99e
+(
+m
+)) {
+
+650 *
+dbl_v®ue
+ =
+sign
+ ? -
+m
+ : m;
+
+652
+\94ºo
+ =
+ERANGE
+;
+
+659
+ }
+}
+
+666
+ $a¢_doubË2REAL
+(
+REAL_t
+ *
+¡
+, \b
+dbl_v®ue
+) {
+
+667 \b
+\8b¡
+ = -0.0;
+
+668 \12
+æßt_big_\92d\9fn
+ = *(cڡ \ 5*)&
+\8b¡
+ != 0;
+
+669
+u\9at8_t
+
+buf
+[16];
+
+670
+u\9at8_t
+
+dsü
+[\17(
+dbl_v®ue
+)];
+
+672 \ 5
+as£¹iÚ_bufãr1
+[9 - \17(
+dbl_v®ue
+)]
+CC_NOTUSED
+;
+
+673 \ 5
+as£¹iÚ_bufãr2
+[\17(
+dbl_v®ue
+è- 7]
+CC_NOTUSED
+;
+
+674
+u\9at8_t
+ *
+±r
+ =
+buf
+;
+
+675
+u\9at8_t
+ *
+m¡Ý
+;
+
+676 \1d\12
+mv®
+;
+
+677 \1d\12
+bmsign
+;
+
+678 \1d\12
+buæ\92
+;
+
+679 \1d\12
+accum
+;
+
+680 \12
+expv®
+;
+
+682 if(!
+¡
+) {
+
+683
+\94ºo
+ =
+EINVAL
+;
+
+692
+expv®
+ =
+ `\9eogb
+(
+dbl_v®ue
+);
+
+693 if(
+expv®
+ <ð-
+INT_MAX
+
+
+694 ||
+expv®
+ =ð
+INT_MAX
+
+
+696 if(!
+¡
+->
+buf
+ || st->
+size
+ < 2) {
+
+697
+±r
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(2);
+
+698 if(!
+±r
+) \15 -1;
+
+699 if(
+¡
+->
+buf
+è
+ `FREEMEM
+(st->buf);
+
+700
+¡
+->
+buf
+ =
+±r
+;
+
+703 if(
+ `a¢_i¢ª
+(
+dbl_v®ue
+)) {
+
+704
+¡
+->
+buf
+[0] = 0x42;
+
+705
+¡
+->
+buf
+[1] = 0;
+
+706
+¡
+->
+size
+ = 1;
+
+707 } \vif(!
+ `a¢_isf\9a\99e
+(
+dbl_v®ue
+)) {
+
+708 if(
+ `cÝysign
+(1.0,
+dbl_v®ue
+) < 0.0) {
+
+709
+¡
+->
+buf
+[0] = 0x41;
+
+711
+¡
+->
+buf
+[0] = 0x40;
+
+713
+¡
+->
+buf
+[1] = 0;
+
+714
+¡
+->
+size
+ = 1;
+
+716 if(
+ `cÝysign
+(1.0,
+dbl_v®ue
+) >= 0.0) {
+
+718
+¡
+->
+buf
+[0] = 0;
+
+719
+¡
+->
+size
+ = 0;
+
+722
+¡
+->
+buf
+[0] = 0x43;
+
+723
+¡
+->
+buf
+[1] = 0;
+
+724
+¡
+->
+size
+ = 1;
+
+730 if(
+æßt_big_\92d\9fn
+) {
+
+731
+u\9at8_t
+ *
+s
+ = ((u\9at8_\88*)&
+dbl_v®ue
+) + 1;
+
+732
+u\9at8_t
+ *
+\92d
+ = ((u\9at8_\88*)&
+dbl_v®ue
+) + \17(\b);
+
+733
+u\9at8_t
+ *
+d
+;
+
+735
+bmsign
+ = 0x80 | ((
+s
+[-1] >> 1) & 0x40);
+
+736 \ f
+m¡Ý
+ =
+d
+ =
+dsü
+;
+s
+ <
+\92d
+; d++, s++) {
+
+737 *
+d
+ = *
+s
+;
+
+738 if(*
+d
+è
+m¡Ý
+ = d;
+
+741
+u\9at8_t
+ *
+s
+ = ((u\9at8_\88*)&
+dbl_v®ue
+) + \17(dbl_value) - 2;
+
+742
+u\9at8_t
+ *
+¡¬t
+ = ((u\9at8_\88*)&
+dbl_v®ue
+);
+
+743
+u\9at8_t
+ *
+d
+;
+
+745
+bmsign
+ = 0x80 | ((
+s
+[1] >> 1) & 0x40);
+
+746 \ f
+m¡Ý
+ =
+d
+ =
+dsü
+;
+s
+ >ð
+¡¬t
+; d++, s--) {
+
+747 *
+d
+ = *
+s
+;
+
+748 if(*
+d
+è
+m¡Ý
+ = d;
+
+753
+dsü
+[0] = 0x10 | (dscr[0] & 0x0f);
+
+756
+expv®
+ -ð8 * ((
+m¡Ý
+ -
+dsü
+) + 1) - 4;
+
+759
+mv®
+ = *
+m¡Ý
+;
+
+760 if(
+mv®
+ && !(mval & 1)) {
+
+761 \12
+shiá_couÁ
+ = 1;
+
+762 \12
+ishiá
+;
+
+763
+u\9at8_t
+ *
+m±r
+;
+
+768 if(!(
+mv®
+ & 0x0f))
+
+769
+shiá_couÁ
+ = 4;
+
+770 \1f((
+mv®
+ >>
+shiá_couÁ
+) & 1) == 0)
+
+771
+shiá_couÁ
+++;
+
+773
+ishiá
+ = 8 -
+shiá_couÁ
+;
+
+774
+accum
+ = 0;
+
+777 \ f
+m±r
+ =
+dsü
+; m±¸<ð
+m¡Ý
+; mptr++) {
+
+778
+mv®
+ = *
+m±r
+;
+
+779 *
+m±r
+ =
+accum
+ | (
+mv®
+ >>
+shiá_couÁ
+);
+
+780
+accum
+ =
+mv®
+ <<
+ishiá
+;
+
+784
+expv®
+ +ð
+shiá_couÁ
+;
+
+787 if(
+expv®
+ < 0) {
+
+788 if((
+expv®
+ >> 7) == -1) {
+
+789 *
+±r
+++ =
+bmsign
+ | 0x00;
+
+790 *
+±r
+++ =
+expv®
+;
+
+791 } \vif((
+expv®
+ >> 15) == -1) {
+
+792 *
+±r
+++ =
+bmsign
+ | 0x01;
+
+793 *
+±r
+++ =
+expv®
+ >> 8;
+
+794 *
+±r
+++ =
+expv®
+;
+
+796 *
+±r
+++ =
+bmsign
+ | 0x02;
+
+797 *
+±r
+++ =
+expv®
+ >> 16;
+
+798 *
+±r
+++ =
+expv®
+ >> 8;
+
+799 *
+±r
+++ =
+expv®
+;
+
+801 } \vif(
+expv®
+ <= 0x7f) {
+
+802 *
+±r
+++ =
+bmsign
+ | 0x00;
+
+803 *
+±r
+++ =
+expv®
+;
+
+804 } \vif(
+expv®
+ <= 0x7fff) {
+
+805 *
+±r
+++ =
+bmsign
+ | 0x01;
+
+806 *
+±r
+++ =
+expv®
+ >> 8;
+
+807 *
+±r
+++ =
+expv®
+;
+
+809
+ `as£¹
+(
+expv®
+ <= 0x7fffff);
+
+810 *
+±r
+++ =
+bmsign
+ | 0x02;
+
+811 *
+±r
+++ =
+expv®
+ >> 16;
+
+812 *
+±r
+++ =
+expv®
+ >> 8;
+
+813 *
+±r
+++ =
+expv®
+;
+
+816
+buæ\92
+ = (
+m¡Ý
+ -
+dsü
+) + 1;
+
+817
+ `memýy
+(
+±r
+,
+dsü
+,
+buæ\92
+);
+
+818
+±r
+ +ð
+buæ\92
+;
+
+819
+buæ\92
+ =
+±r
+ -
+buf
+;
+
+821
+±r
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(
+buæ\92
+ + 1);
+
+822 if(!
+±r
+) \15 -1;
+
+824
+ `memýy
+(
+±r
+,
+buf
+,
+buæ\92
+);
+
+825
+buf
+[
+buæ\92
+] = 0;
+
+827 if(
+¡
+->
+buf
+è
+ `FREEMEM
+(st->buf);
+
+828
+¡
+->
+buf
+ =
+±r
+;
+
+829
+¡
+->
+size
+ =
+buæ\92
+;
+
+832
+ }
+}
+
+834 \12
+CC_ATTR_NO_SANITIZE
+("float-cast-overflow")
+
+835
+ $a¢_doubË2æßt
+(\b
+d
+, \ e*
+outcome
+) {
+
+836 \ e
+f
+ =
+d
+;
+
+838 *
+outcome
+ =
+f
+;
+
+840 if(
+ `a¢_isf\9a\99e
+(
+d
+è=ða¢_isf\9a\99e(
+f
+)) {
+
+845
+ }
+}
+
+847 #iâdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+852
+a¢_\92c_rv®_t
+
+
+853
+ $REAL_\92code_Ûr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+854 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+855
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+856 cڡ
+REAL_t
+ *
+¡
+ =
+¥\8c
+;
+
+857
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+858
+ssize_t
+
+Ën_Ën
+;
+
+860 if(!
+¡
+ || !¡->
+buf
+ || !
+td
+)
+
+861
+ASN__ENCODE_FAILED
+;
+
+863 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+Ûr_cÚ¡¿\9ats
+;
+
+864 if(
+cÚ¡¿\9ats
+ && cÚ¡¿\9ats->
+v®ue
+.
+width
+ != 0) {
+
+867
+ASN__ENCODE_FAILED
+;
+
+871
+Ën_Ën
+ =
+ `Ûr_£r\9flize_Ëngth
+(
+¡
+->
+size
+,
+cb
+,
+p_key
+);
+
+872 if(
+Ën_Ën
+ < 0 ||
+ `cb
+(
+¡
+->
+buf
+, st->
+size
+,
+p_key
+) < 0) {
+
+873
+ASN__ENCODE_FAILED
+;
+
+875
+\94
+.
+\92coded
+ =
+Ën_Ën
+ +
+¡
+->
+size
+;
+
+876
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+878
+ }
+}
+
+880
+a¢_dec_rv®_t
+
+
+881
+ $REAL_decode_Ûr
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+882 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+883 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+884 cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+885
+a¢_dec_rv®_t
+
+ok
+ = {
+RC_OK
+, 0};
+
+886
+REAL_t
+ *
+¡
+;
+
+887
+u\9at8_t
+ *
+buf
+;
+
+888
+ssize_t
+
+Ën_Ën
+;
+
+889
+size_t
+
+»®_body_Ën
+;
+
+891 (\1e)
+Ýt_codec_ùx
+;
+
+893 if(!
+cÚ¡¿\9ats
+ècÚ¡¿\9at ð
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+Ûr_cÚ¡¿\9ats
+;
+
+894 if(
+cÚ¡¿\9ats
+ && cÚ¡¿\9ats->
+v®ue
+.
+width
+ != 0) {
+
+897
+ASN__DECODE_FAILED
+;
+
+900
+Ën_Ën
+ =
+ `Ûr_ãtch_Ëngth
+(
+±r
+,
+size
+, &
+»®_body_Ën
+);
+
+901 if(
+Ën_Ën
+ < 0è
+ASN__DECODE_FAILED
+;
+
+902 if(
+Ën_Ën
+ =ð0è
+ASN__DECODE_STARVED
+;
+
+904
+±r
+ = (cÚ¡ \ 5*í\8c +
+Ën_Ën
+;
+
+905
+size
+ -ð
+Ën_Ën
+;
+
+907 if(
+»®_body_Ën
+ >
+size
+è
+ASN__DECODE_STARVED
+;
+
+909
+buf
+ =
+ `CALLOC
+(1,
+»®_body_Ën
+ + 1);
+
+910 if(!
+buf
+è
+ASN__DECODE_FAILED
+;
+
+912 if(!(
+¡
+ = *
+¥\8c
+)) {
+
+913
+¡
+ = (*
+¥\8c
+ =
+ `CALLOC
+(1, \17(
+REAL_t
+)));
+
+914 if(!
+¡
+) {
+
+915
+ `FREEMEM
+(
+buf
+);
+
+916
+ASN__DECODE_FAILED
+;
+
+919
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+922
+ `memýy
+(
+buf
+,
+±r
+,
+»®_body_Ën
+);
+
+923
+buf
+[
+»®_body_Ën
+] = '\0';
+
+925
+¡
+->
+buf
+ = buf;
+
+926
+¡
+->
+size
+ =
+»®_body_Ën
+;
+
+928
+ok
+.
+cÚsumed
+ =
+Ën_Ën
+ +
+»®_body_Ën
+;
+
+929 \15
+ok
+;
+
+930
+ }
+}
+
+934 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+936
+a¢_dec_rv®_t
+
+
+937
+ $REAL_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+938 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+939 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+940
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+941 (\1e)
+cÚ¡¿\9ats
+;
+
+942 \15
+ `OCTET_STRING_decode_u³r
+(
+Ýt_codec_ùx
+,
+td
+, 0,
+¥\8c
+,
+pd
+);
+
+943
+ }
+}
+
+945
+a¢_\92c_rv®_t
+
+
+946
+ $REAL_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+947 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+948
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+949 (\1e)
+cÚ¡¿\9ats
+;
+
+950 \15
+ `OCTET_STRING_\92code_u³r
+(
+td
+, 0,
+¥\8c
+,
+po
+);
+
+951
+ }
+}
+
+953
+a¢_dec_rv®_t
+
+
+954
+ $REAL_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+955 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+956 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+957 \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+958 (\1e)
+cÚ¡¿\9ats
+;
+
+959 \15
+ `OCTET_STRING_decode_\94
+(
+Ýt_codec_ùx
+,
+td
+, 0,
+¥\8c
+,
+pd
+);
+
+960
+ }
+}
+
+962
+a¢_\92c_rv®_t
+
+
+963
+ $REAL_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+964 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+965 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+966 (\1e)
+cÚ¡¿\9ats
+;
+
+967 \15
+ `OCTET_STRING_\92code_\94
+(
+td
+, 0,
+¥\8c
+,
+po
+);
+
+968
+ }
+}
+
+972
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+973
+ $REAL_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+974 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+975
+size_t
+
+max_Ëngth
+) {
+
+976
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 1};
+
+977
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+978
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+979 \18cڡ \b
+v®ues
+[] = {
+
+980 0, -0.0, -1, 1, -
+M_E
+, M_E, -3.14, 3.14, -
+M_PI
+, M_PI, -255, 255,
+
+987 -
+FLT_MIN
+, FLT_MIN,
+
+988 -
+FLT_MAX
+, FLT_MAX,
+
+989 -
+DBL_MIN
+, DBL_MIN,
+
+990 -
+DBL_MAX
+, DBL_MAX,
+
+991 #ifdeà
+FLT_TRUE_MIN
+
+
+992 -
+FLT_TRUE_MIN
+, FLT_TRUE_MIN,
+
+994 #ifdeà
+DBL_TRUE_MIN
+
+
+995 -
+DBL_TRUE_MIN
+, DBL_TRUE_MIN,
+
+997
+INFINITY
+, -INFINITY,
+NAN
+};
+
+998
+REAL_t
+ *
+¡
+;
+
+999 \b
+d
+;
+
+1001 (\1e)
+cÚ¡¿\9ats
+;
+
+1003 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+1005
+d
+ =
+v®ues
+[
+ `a¢_¿ndom_b\91w\93n
+(0, \17(values) / \17(values[0]) - 1)];
+
+1007 if(*
+¥\8c
+) {
+
+1008
+¡
+ = *
+¥\8c
+;
+
+1010
+¡
+ = (
+REAL_t
+*)(*
+¥\8c
+ =
+ `CALLOC
+(1, \17(REAL_t)));
+
+1011 if(!
+¡
+) {
+
+1012 \15
+»suÉ_ç\9eed
+;
+
+1016 if(
+ `a¢_doubË2REAL
+(
+¡
+,
+d
+)) {
+
+1017 if(
+¡
+ =ð*
+¥\8c
+) {
+
+1018
+ `ASN_STRUCT_RESET
+(*
+td
+,
+¡
+);
+
+1020
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¡
+);
+
+1022 \15
+»suÉ_ç\9eed
+;
+
+1025
+»suÉ_ok
+.
+Ëngth
+ =
+¡
+->
+size
+;
+
+1026 \15
+»suÉ_ok
+;
+
+1027
+ }
+}
+
+ @RIC-EventTriggerStyle-Item.c
+
+8 \ 2
+ ~"RIC-Ev\92tTrigg\94StyË-I\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_RIC_Ev\92tTrigg\94StyË_I\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_Ev\92tTrigg\94StyË_I\8bm
+,
+ric_Ev\92tTrigg\94StyË_Ty³
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_RIC_StyË_Ty³
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_Ev\92tTrigg\94StyË_I\8bm
+,
+ric_Ev\92tTrigg\94StyË_Name
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_RIC_StyË_Name
+,
+
+29 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_Ev\92tTrigg\94StyË_I\8bm
+,
+ric_Ev\92tTrigg\94FÜm©_Ty³
+),
+
+30 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+32 &
+a¢_DEF_RIC_FÜm©_Ty³
+,
+
+39 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
+[] = {
+
+40 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+42 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fg2\96_1
+[] = {
+
+43 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+44 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+47
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_RIC_Ev\92tTrigg\94StyË_I\8bm_¥ecs_1
+ = {
+
+48 \17(\19
+RIC_Ev\92tTrigg\94StyË_I\8bm
+),
+
+49
+off£tof
+(\19
+RIC_Ev\92tTrigg\94StyË_I\8bm
+,
+_a¢_ùx
+),
+
+50
+a¢_MAP_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fg2\96_1
+,
+
+55
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm
+ = {
+
+58 &
+a¢_OP_SEQUENCE
+,
+
+59
+a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
+,
+
+60 \17(
+a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
+)
+
+61 /\17(
+a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
+[0]),
+
+62
+a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
+,
+
+63 \17(
+a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
+)
+
+64 /\17(
+a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
+[0]),
+
+65 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+66
+a¢_MBR_RIC_Ev\92tTrigg\94StyË_I\8bm_1
+,
+
+68 &
+a¢_SPC_RIC_Ev\92tTrigg\94StyË_I\8bm_¥ecs_1
+
+
+ @RIC-Format-Type.c
+
+8 \ 2
+ ~"RIC-FÜm©-Ty³.h
+"
+
+14 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
+[] = {
+
+15 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+17
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RIC_FÜm©_Ty³
+ = {
+
+20 &
+a¢_OP_N©iveIÁeg\94
+,
+
+21
+a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
+,
+
+22 \17(
+a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
+)
+
+23 /\17(
+a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
+[0]),
+
+24
+a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
+,
+
+25 \17(
+a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
+)
+
+26 /\17(
+a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
+[0]),
+
+27 { 0, 0,
+N©iveIÁeg\94_cÚ¡¿\9at
+ },
+
+ @RIC-ReportStyle-Item.c
+
+8 \ 2
+ ~"RIC-R\95ÜtStyË-I\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_RIC_R\95ÜtStyË_I\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_R\95ÜtStyË_I\8bm
+,
+ric_R\95ÜtStyË_Ty³
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_RIC_StyË_Ty³
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_R\95ÜtStyË_I\8bm
+,
+ric_R\95ÜtStyË_Name
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_RIC_StyË_Name
+,
+
+29 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_R\95ÜtStyË_I\8bm
+,
+ric_AùiÚFÜm©_Ty³
+),
+
+30 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+32 &
+a¢_DEF_RIC_FÜm©_Ty³
+,
+
+38 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_R\95ÜtStyË_I\8bm
+,
+m\97sInfo_AùiÚ_Li¡
+),
+
+39 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+41 &
+a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡
+,
+
+47 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_R\95ÜtStyË_I\8bm
+,
+ric_IndiÿtiÚH\97d\94FÜm©_Ty³
+),
+
+48 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+50 &
+a¢_DEF_RIC_FÜm©_Ty³
+,
+
+56 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RIC_R\95ÜtStyË_I\8bm
+,
+ric_IndiÿtiÚMes§geFÜm©_Ty³
+),
+
+57 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+59 &
+a¢_DEF_RIC_FÜm©_Ty³
+,
+
+66 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
+[] = {
+
+67 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+69 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_RIC_R\95ÜtStyË_I\8bm_\8fg2\96_1
+[] = {
+
+70 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+71 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+72 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+73 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+74 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+75 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 }
+
+77
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_RIC_R\95ÜtStyË_I\8bm_¥ecs_1
+ = {
+
+78 \17(\19
+RIC_R\95ÜtStyË_I\8bm
+),
+
+79
+off£tof
+(\19
+RIC_R\95ÜtStyË_I\8bm
+,
+_a¢_ùx
+),
+
+80
+a¢_MAP_RIC_R\95ÜtStyË_I\8bm_\8fg2\96_1
+,
+
+85
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RIC_R\95ÜtStyË_I\8bm
+ = {
+
+88 &
+a¢_OP_SEQUENCE
+,
+
+89
+a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
+,
+
+90 \17(
+a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
+)
+
+91 /\17(
+a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
+[0]),
+
+92
+a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
+,
+
+93 \17(
+a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
+)
+
+94 /\17(
+a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
+[0]),
+
+95 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+96
+a¢_MBR_RIC_R\95ÜtStyË_I\8bm_1
+,
+
+98 &
+a¢_SPC_RIC_R\95ÜtStyË_I\8bm_¥ecs_1
+
+
+ @RIC-Style-Name.c
+
+8 \ 2
+ ~"RIC-StyË-Name.h
+"
+
+10 \18cڡ \12
+ g³rm\99\8bd_®phab\91_\8fbË_1
+[256] = {
+
+20 \18cڡ \12
+ g³rm\99\8bd_®phab\91_code2v®ue_1
+[74] = {
+
+28 \18\12
+ $check_³rm\99\8bd_®phab\91_1
+(cڡ \1e*
+¥\8c
+) {
+
+29 cڡ \12*
+\8fbË
+ =
+³rm\99\8bd_®phab\91_\8fbË_1
+;
+
+31 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+32 cڡ
+u\9at8_t
+ *
+ch
+ =
+¡
+->
+buf
+;
+
+33 cڡ
+u\9at8_t
+ *
+\92d
+ =
+ch
+ +
+¡
+->
+size
+;
+
+35 \ f;
+ch
+ <
+\92d
+; ch++) {
+
+36
+u\9at8_t
+
+cv
+ = *
+ch
+;
+
+37 if(!
+\8fbË
+[
+cv
+]) \15 -1;
+
+40
+ }
+}
+
+43
+ $RIC_StyË_Name_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+44
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+45 cڡ
+Pr\9a\8fbËS\8c\9ag_t
+ *
+¡
+ = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
+¥\8c
+;
+
+46
+size_t
+
+size
+;
+
+48 if(!
+¥\8c
+) {
+
+49
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+51
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+55
+size
+ =
+¡
+->size;
+
+57 if((
+size
+ >= 1 && size <= 150)
+
+58 && !
+ `check_³rm\99\8bd_®phab\91_1
+(
+¡
+)) {
+
+62
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+64
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+67
+ }
+}
+
+69 \18\12
+ $a¢_PER_MAP_RIC_StyË_Name_1_v2c
+(\1d\12
+v®ue
+) {
+
+70 if(
+v®ue
+ >ð\17(
+³rm\99\8bd_®phab\91_\8fbË_1
+)/\17(permitted_alphabet_table_1[0]))
+
+72 \15
+³rm\99\8bd_®phab\91_\8fbË_1
+[
+v®ue
+] - 1;
+
+73
+ }
+}
+
+74 \18\12
+ $a¢_PER_MAP_RIC_StyË_Name_1_c2v
+(\1d\12
+code
+) {
+
+75 if(
+code
+ >ð\17(
+³rm\99\8bd_®phab\91_code2v®ue_1
+)/\17(permitted_alphabet_code2value_1[0]))
+
+77 \15
+³rm\99\8bd_®phab\91_code2v®ue_1
+[
+code
+];
+
+78
+ }
+}
+
+83
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_RIC_StyË_Name_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+84 {
+APC_CONSTRAINED
+, 7, 7, 32, 122 } ,
+
+85 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 8, 8, 1, 150 } ,
+
+86
+a¢_PER_MAP_RIC_StyË_Name_1_v2c
+,
+
+87
+a¢_PER_MAP_RIC_StyË_Name_1_c2v
+
+
+89 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RIC_StyË_Name_\8fgs_1
+[] = {
+
+90 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (19 << 2))
+
+92
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RIC_StyË_Name
+ = {
+
+95 &
+a¢_OP_Pr\9a\8fbËS\8c\9ag
+,
+
+96
+a¢_DEF_RIC_StyË_Name_\8fgs_1
+,
+
+97 \17(
+a¢_DEF_RIC_StyË_Name_\8fgs_1
+)
+
+98 /\17(
+a¢_DEF_RIC_StyË_Name_\8fgs_1
+[0]),
+
+99
+a¢_DEF_RIC_StyË_Name_\8fgs_1
+,
+
+100 \17(
+a¢_DEF_RIC_StyË_Name_\8fgs_1
+)
+
+101 /\17(
+a¢_DEF_RIC_StyË_Name_\8fgs_1
+[0]),
+
+102 { 0, &
+a¢_PER_ty³_RIC_StyË_Name_cÚ¡r_1
+,
+RIC_StyË_Name_cÚ¡¿\9at
+ },
+
+ @RIC-Style-Type.c
+
+8 \ 2
+ ~"RIC-StyË-Ty³.h
+"
+
+14 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RIC_StyË_Ty³_\8fgs_1
+[] = {
+
+15 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+17
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RIC_StyË_Ty³
+ = {
+
+20 &
+a¢_OP_N©iveIÁeg\94
+,
+
+21
+a¢_DEF_RIC_StyË_Ty³_\8fgs_1
+,
+
+22 \17(
+a¢_DEF_RIC_StyË_Ty³_\8fgs_1
+)
+
+23 /\17(
+a¢_DEF_RIC_StyË_Ty³_\8fgs_1
+[0]),
+
+24
+a¢_DEF_RIC_StyË_Ty³_\8fgs_1
+,
+
+25 \17(
+a¢_DEF_RIC_StyË_Ty³_\8fgs_1
+)
+
+26 /\17(
+a¢_DEF_RIC_StyË_Ty³_\8fgs_1
+[0]),
+
+27 { 0, 0,
+N©iveIÁeg\94_cÚ¡¿\9at
+ },
+
+ @RRC-MessageID.c
+
+8 \ 2
+ ~"RRC-Mes§geID.h
+"
+
+10 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_¼cTy³_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+11 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+15 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_¼cTy³_2
+[] = {
+
+16 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RRC_Mes§geID__¼cTy³
+,
+choiû
+.
+lTE
+),
+
+17 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+19 &
+a¢_DEF_RRCþass_LTE
+,
+
+25 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RRC_Mes§geID__¼cTy³
+,
+choiû
+.
+nR
+),
+
+26 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+28 &
+a¢_DEF_RRCþass_NR
+,
+
+35 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_¼cTy³_\8fg2\96_2
+[] = {
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+37 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+39 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_¼cTy³_¥ecs_2
+ = {
+
+40 \17(\19
+RRC_Mes§geID__¼cTy³
+),
+
+41
+off£tof
+(\19
+RRC_Mes§geID__¼cTy³
+,
+_a¢_ùx
+),
+
+42
+off£tof
+(\19
+RRC_Mes§geID__¼cTy³
+,
+´e£Á
+),
+
+43 \17(((\19
+RRC_Mes§geID__¼cTy³
+ *)0)->
+´e£Á
+),
+
+44
+a¢_MAP_¼cTy³_\8fg2\96_2
+,
+
+50
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_¼cTy³_2
+ = {
+
+53 &
+a¢_OP_CHOICE
+,
+
+58 { 0, &
+a¢_PER_ty³_¼cTy³_cÚ¡r_2
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+59
+a¢_MBR_¼cTy³_2
+,
+
+61 &
+a¢_SPC_¼cTy³_¥ecs_2
+
+
+64 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_RRC_Mes§geID_1
+[] = {
+
+65 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RRC_Mes§geID
+,
+¼cTy³
+),
+
+66 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+68 &
+a¢_DEF_¼cTy³_2
+,
+
+74 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+RRC_Mes§geID
+,
+mes§geID
+),
+
+75 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+77 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+84 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RRC_Mes§geID_\8fgs_1
+[] = {
+
+85 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+87 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_RRC_Mes§geID_\8fg2\96_1
+[] = {
+
+88 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+89 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+91 \18
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_RRC_Mes§geID_¥ecs_1
+ = {
+
+92 \17(\19
+RRC_Mes§geID
+),
+
+93
+off£tof
+(\19
+RRC_Mes§geID
+,
+_a¢_ùx
+),
+
+94
+a¢_MAP_RRC_Mes§geID_\8fg2\96_1
+,
+
+99
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RRC_Mes§geID
+ = {
+
+102 &
+a¢_OP_SEQUENCE
+,
+
+103
+a¢_DEF_RRC_Mes§geID_\8fgs_1
+,
+
+104 \17(
+a¢_DEF_RRC_Mes§geID_\8fgs_1
+)
+
+105 /\17(
+a¢_DEF_RRC_Mes§geID_\8fgs_1
+[0]),
+
+106
+a¢_DEF_RRC_Mes§geID_\8fgs_1
+,
+
+107 \17(
+a¢_DEF_RRC_Mes§geID_\8fgs_1
+)
+
+108 /\17(
+a¢_DEF_RRC_Mes§geID_\8fgs_1
+[0]),
+
+109 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+110
+a¢_MBR_RRC_Mes§geID_1
+,
+
+112 &
+a¢_SPC_RRC_Mes§geID_¥ecs_1
+
+
+ @RRCclass-LTE.c
+
+8 \ 2
+ ~"RRCþass-LTE.h
+"
+
+14
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_RRCþass_LTE_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+15 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 4, 4, 0, 11 } ,
+
+16 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+19 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_RRCþass_LTE_v®ue2\92um_1
+[] = {
+
+34 \18cڡ \1d\12
+ ga¢_MAP_RRCþass_LTE_\92um2v®ue_1
+[] = {
+
+49 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_RRCþass_LTE_¥ecs_1
+ = {
+
+50
+a¢_MAP_RRCþass_LTE_v®ue2\92um_1
+,
+
+51
+a¢_MAP_RRCþass_LTE_\92um2v®ue_1
+,
+
+58 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RRCþass_LTE_\8fgs_1
+[] = {
+
+59 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+61
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RRCþass_LTE
+ = {
+
+64 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+65
+a¢_DEF_RRCþass_LTE_\8fgs_1
+,
+
+66 \17(
+a¢_DEF_RRCþass_LTE_\8fgs_1
+)
+
+67 /\17(
+a¢_DEF_RRCþass_LTE_\8fgs_1
+[0]),
+
+68
+a¢_DEF_RRCþass_LTE_\8fgs_1
+,
+
+69 \17(
+a¢_DEF_RRCþass_LTE_\8fgs_1
+)
+
+70 /\17(
+a¢_DEF_RRCþass_LTE_\8fgs_1
+[0]),
+
+71 { 0, &
+a¢_PER_ty³_RRCþass_LTE_cÚ¡r_1
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+73 &
+a¢_SPC_RRCþass_LTE_¥ecs_1
+
+
+ @RRCclass-NR.c
+
+8 \ 2
+ ~"RRCþass-NR.h
+"
+
+14
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_RRCþass_NR_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+15 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 3, 3, 0, 7 } ,
+
+16 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+19 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_RRCþass_NR_v®ue2\92um_1
+[] = {
+
+30 \18cڡ \1d\12
+ ga¢_MAP_RRCþass_NR_\92um2v®ue_1
+[] = {
+
+41 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_RRCþass_NR_¥ecs_1
+ = {
+
+42
+a¢_MAP_RRCþass_NR_v®ue2\92um_1
+,
+
+43
+a¢_MAP_RRCþass_NR_\92um2v®ue_1
+,
+
+50 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_RRCþass_NR_\8fgs_1
+[] = {
+
+51 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+53
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_RRCþass_NR
+ = {
+
+56 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+57
+a¢_DEF_RRCþass_NR_\8fgs_1
+,
+
+58 \17(
+a¢_DEF_RRCþass_NR_\8fgs_1
+)
+
+59 /\17(
+a¢_DEF_RRCþass_NR_\8fgs_1
+[0]),
+
+60
+a¢_DEF_RRCþass_NR_\8fgs_1
+,
+
+61 \17(
+a¢_DEF_RRCþass_NR_\8fgs_1
+)
+
+62 /\17(
+a¢_DEF_RRCþass_NR_\8fgs_1
+[0]),
+
+63 { 0, &
+a¢_PER_ty³_RRCþass_NR_cÚ¡r_1
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+65 &
+a¢_SPC_RRCþass_NR_¥ecs_1
+
+
+ @S-NSSAI.c
+
+8 \ 2
+ ~"S-NSSAI.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_S_NSSAI_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+S_NSSAI
+,
+sST
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_SST
+,
+
+20 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+S_NSSAI
+,
+sD
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_SD
+,
+
+30 \18cڡ \12
+ ga¢_MAP_S_NSSAI_oms_1
+[] = { 1 };
+
+31 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_S_NSSAI_\8fgs_1
+[] = {
+
+32 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+34 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_S_NSSAI_\8fg2\96_1
+[] = {
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+38
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_S_NSSAI_¥ecs_1
+ = {
+
+39 \17(\19
+S_NSSAI
+),
+
+40
+off£tof
+(\19
+S_NSSAI
+,
+_a¢_ùx
+),
+
+41
+a¢_MAP_S_NSSAI_\8fg2\96_1
+,
+
+43
+a¢_MAP_S_NSSAI_oms_1
+,
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_S_NSSAI
+ = {
+
+50 &
+a¢_OP_SEQUENCE
+,
+
+51
+a¢_DEF_S_NSSAI_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_S_NSSAI_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_S_NSSAI_\8fgs_1
+[0]),
+
+54
+a¢_DEF_S_NSSAI_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_S_NSSAI_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_S_NSSAI_\8fgs_1
+[0]),
+
+57 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_S_NSSAI_1
+,
+
+60 &
+a¢_SPC_S_NSSAI_¥ecs_1
+
+
+ @SD.c
+
+8 \ 2
+ ~"SD.h
+"
+
+11
+ $SD_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 3)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_SD_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 3, 3 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_SD_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_SD
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_SD_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_SD_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_SD_\8fgs_1
+[0]),
+
+55
+a¢_DEF_SD_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_SD_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_SD_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_SD_cÚ¡r_1
+,
+SD_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @SST.c
+
+8 \ 2
+ ~"SST.h
+"
+
+11
+ $SST_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 1)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_SST_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 1, 1 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_SST_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_SST
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_SST_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_SST_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_SST_\8fgs_1
+[0]),
+
+55
+a¢_DEF_SST_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_SST_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_SST_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_SST_cÚ¡r_1
+,
+SST_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @ServingCell-ARFCN.c
+
+8 \ 2
+ ~"S\94v\9agC\96l-ARFCN.h
+"
+
+10 \ 2
+ ~"NR-ARFCN.h
+"
+
+11 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_S\94v\9agC\96l_ARFCN_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+13 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+16 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_S\94v\9agC\96l_ARFCN_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+S\94v\9agC\96l_ARFCN
+,
+choiû
+.
+nR
+),
+
+18 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+20 &
+a¢_DEF_NR_ARFCN
+,
+
+26 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+S\94v\9agC\96l_ARFCN
+,
+choiû
+.
+eUTRA
+),
+
+27 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+29 &
+a¢_DEF_E_UTRA_ARFCN
+,
+
+36 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_S\94v\9agC\96l_ARFCN_\8fg2\96_1
+[] = {
+
+37 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+38 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+40 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_S\94v\9agC\96l_ARFCN_¥ecs_1
+ = {
+
+41 \17(\19
+S\94v\9agC\96l_ARFCN
+),
+
+42
+off£tof
+(\19
+S\94v\9agC\96l_ARFCN
+,
+_a¢_ùx
+),
+
+43
+off£tof
+(\19
+S\94v\9agC\96l_ARFCN
+,
+´e£Á
+),
+
+44 \17(((\19
+S\94v\9agC\96l_ARFCN
+ *)0)->
+´e£Á
+),
+
+45
+a¢_MAP_S\94v\9agC\96l_ARFCN_\8fg2\96_1
+,
+
+50
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_S\94v\9agC\96l_ARFCN
+ = {
+
+53 &
+a¢_OP_CHOICE
+,
+
+58 { 0, &
+a¢_PER_ty³_S\94v\9agC\96l_ARFCN_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+59
+a¢_MBR_S\94v\9agC\96l_ARFCN_1
+,
+
+61 &
+a¢_SPC_S\94v\9agC\96l_ARFCN_¥ecs_1
+
+
+ @ServingCell-PCI.c
+
+8 \ 2
+ ~"S\94v\9agC\96l-PCI.h
+"
+
+10 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_S\94v\9agC\96l_PCI_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+11 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 1, 1, 0, 1 } ,
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+15 \18
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_S\94v\9agC\96l_PCI_1
+[] = {
+
+16 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+S\94v\9agC\96l_PCI
+,
+choiû
+.
+nR
+),
+
+17 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+19 &
+a¢_DEF_NR_PCI
+,
+
+25 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+S\94v\9agC\96l_PCI
+,
+choiû
+.
+eUTRA
+),
+
+26 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+28 &
+a¢_DEF_E_UTRA_PCI
+,
+
+35 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_S\94v\9agC\96l_PCI_\8fg2\96_1
+[] = {
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+37 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+39 \18
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_S\94v\9agC\96l_PCI_¥ecs_1
+ = {
+
+40 \17(\19
+S\94v\9agC\96l_PCI
+),
+
+41
+off£tof
+(\19
+S\94v\9agC\96l_PCI
+,
+_a¢_ùx
+),
+
+42
+off£tof
+(\19
+S\94v\9agC\96l_PCI
+,
+´e£Á
+),
+
+43 \17(((\19
+S\94v\9agC\96l_PCI
+ *)0)->
+´e£Á
+),
+
+44
+a¢_MAP_S\94v\9agC\96l_PCI_\8fg2\96_1
+,
+
+49
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_S\94v\9agC\96l_PCI
+ = {
+
+52 &
+a¢_OP_CHOICE
+,
+
+57 { 0, &
+a¢_PER_ty³_S\94v\9agC\96l_PCI_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_S\94v\9agC\96l_PCI_1
+,
+
+60 &
+a¢_SPC_S\94v\9agC\96l_PCI_¥ecs_1
+
+
+ @SubscriberProfileIDforRFP.c
+
+8 \ 2
+ ~"Subsüib\94Prof\9eeIDfÜRFP.h
+"
+
+11
+ $Subsüib\94Prof\9eeIDfÜRFP_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 256)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+39 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_Subsüib\94Prof\9eeIDfÜRFP_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+, 8, 8, 1, 256 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (2 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Subsüib\94Prof\9eeIDfÜRFP
+ = {
+
+50 &
+a¢_OP_N©iveIÁeg\94
+,
+
+51
+a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
+[0]),
+
+54
+a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_Subsüib\94Prof\9eeIDfÜRFP_cÚ¡r_1
+,
+Subsüib\94Prof\9eeIDfÜRFP_cÚ¡¿\9at
+ },
+
+ @SupportedSULBandList.c
+
+8 \ 2
+ ~"SuµÜ\8bdSULBªdLi¡.h
+"
+
+10 \ 2
+ ~"SuµÜ\8bdSULF»qBªdI\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_SuµÜ\8bdSULBªdLi¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 6, 6, 0, 32 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_SuµÜ\8bdSULBªdLi¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_SuµÜ\8bdSULBªdLi¡_¥ecs_1
+ = {
+
+31 \17(\19
+SuµÜ\8bdSULBªdLi¡
+),
+
+32
+off£tof
+(\19
+SuµÜ\8bdSULBªdLi¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_SuµÜ\8bdSULBªdLi¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_SuµÜ\8bdSULBªdLi¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_SuµÜ\8bdSULBªdLi¡_1
+,
+
+48 &
+a¢_SPC_SuµÜ\8bdSULBªdLi¡_¥ecs_1
+
+
+ @SupportedSULFreqBandItem.c
+
+8 \ 2
+ ~"SuµÜ\8bdSULF»qBªdI\8bm.h
+"
+
+11
+ $memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 \13
+v®ue
+;
+
+15 if(!
+¥\8c
+) {
+
+16
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+18
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+22
+v®ue
+ = *(cڡ \13*)
+¥\8c
+;
+
+24 if((
+v®ue
+ >= 1 && value <= 1024)) {
+
+28
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+30
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+33
+ }
+}
+
+35 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+36 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 10, 10, 1, 1024 } ,
+
+37 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+40
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_SuµÜ\8bdSULF»qBªdI\8bm_1
+[] = {
+
+41 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+SuµÜ\8bdSULF»qBªdI\8bm
+,
+äeqBªdIndiÿtÜNr
+),
+
+42 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+44 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+46 { 0, &
+a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
+,
+memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
+ },
+
+51 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
+[] = {
+
+52 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+54 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_SuµÜ\8bdSULF»qBªdI\8bm_\8fg2\96_1
+[] = {
+
+55 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+57
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_SuµÜ\8bdSULF»qBªdI\8bm_¥ecs_1
+ = {
+
+58 \17(\19
+SuµÜ\8bdSULF»qBªdI\8bm
+),
+
+59
+off£tof
+(\19
+SuµÜ\8bdSULF»qBªdI\8bm
+,
+_a¢_ùx
+),
+
+60
+a¢_MAP_SuµÜ\8bdSULF»qBªdI\8bm_\8fg2\96_1
+,
+
+65
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm
+ = {
+
+68 &
+a¢_OP_SEQUENCE
+,
+
+69
+a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
+,
+
+70 \17(
+a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
+)
+
+71 /\17(
+a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
+[0]),
+
+72
+a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
+,
+
+73 \17(
+a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
+)
+
+74 /\17(
+a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
+[0]),
+
+75 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+76
+a¢_MBR_SuµÜ\8bdSULF»qBªdI\8bm_1
+,
+
+78 &
+a¢_SPC_SuµÜ\8bdSULF»qBªdI\8bm_¥ecs_1
+
+
+ @TestCond-Expression.c
+
+8 \ 2
+ ~"Te¡CÚd-Ex´essiÚ.h
+"
+
+14
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_Te¡CÚd_Ex´essiÚ_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+15 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 3, 3, 0, 4 } ,
+
+16 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+19 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_Te¡CÚd_Ex´essiÚ_v®ue2\92um_1
+[] = {
+
+27 \18cڡ \1d\12
+ ga¢_MAP_Te¡CÚd_Ex´essiÚ_\92um2v®ue_1
+[] = {
+
+35 cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_Te¡CÚd_Ex´essiÚ_¥ecs_1
+ = {
+
+36
+a¢_MAP_Te¡CÚd_Ex´essiÚ_v®ue2\92um_1
+,
+
+37
+a¢_MAP_Te¡CÚd_Ex´essiÚ_\92um2v®ue_1
+,
+
+44 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
+[] = {
+
+45 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Te¡CÚd_Ex´essiÚ
+ = {
+
+50 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+51
+a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
+[0]),
+
+54
+a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
+[0]),
+
+57 { 0, &
+a¢_PER_ty³_Te¡CÚd_Ex´essiÚ_cÚ¡r_1
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+59 &
+a¢_SPC_Te¡CÚd_Ex´essiÚ_¥ecs_1
+
+
+ @TestCond-Type.c
+
+8 \ 2
+ ~"Te¡CÚd-Ty³.h
+"
+
+34 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_gBR_cÚ¡r_2
+
+ gCC_NOTUSED
+ = {
+
+35 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+36 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+39 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_aMBR_cÚ¡r_5
+
+ gCC_NOTUSED
+ = {
+
+40 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+44 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_isS\8ft_cÚ¡r_8
+
+ gCC_NOTUSED
+ = {
+
+45 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+46 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+49 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_isC©M_cÚ¡r_11
+
+ gCC_NOTUSED
+ = {
+
+50 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+51 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+54 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_rSRP_cÚ¡r_14
+
+ gCC_NOTUSED
+ = {
+
+55 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+56 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+59 \18
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_rSRQ_cÚ¡r_17
+
+ gCC_NOTUSED
+ = {
+
+60 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 0, 0, 0, 0 } ,
+
+61 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+64
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_Te¡CÚd_Ty³_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+65 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 3, 3, 0, 5 } ,
+
+66 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+69 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_gBR_v®ue2\92um_2
+[] = {
+
+73 \18cڡ \1d\12
+ ga¢_MAP_gBR_\92um2v®ue_2
+[] = {
+
+77 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_gBR_¥ecs_2
+ = {
+
+78
+a¢_MAP_gBR_v®ue2\92um_2
+,
+
+79
+a¢_MAP_gBR_\92um2v®ue_2
+,
+
+86 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_gBR_\8fgs_2
+[] = {
+
+87 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+88 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+91
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_gBR_2
+ = {
+
+94 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+95
+a¢_DEF_gBR_\8fgs_2
+,
+
+96 \17(
+a¢_DEF_gBR_\8fgs_2
+)
+
+97 /\17(
+a¢_DEF_gBR_\8fgs_2
+[0]) - 1,
+
+98
+a¢_DEF_gBR_\8fgs_2
+,
+
+99 \17(
+a¢_DEF_gBR_\8fgs_2
+)
+
+100 /\17(
+a¢_DEF_gBR_\8fgs_2
+[0]),
+
+101 { 0, &
+a¢_PER_ty³_gBR_cÚ¡r_2
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+103 &
+a¢_SPC_gBR_¥ecs_2
+
+
+106 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_aMBR_v®ue2\92um_5
+[] = {
+
+110 \18cڡ \1d\12
+ ga¢_MAP_aMBR_\92um2v®ue_5
+[] = {
+
+114 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_aMBR_¥ecs_5
+ = {
+
+115
+a¢_MAP_aMBR_v®ue2\92um_5
+,
+
+116
+a¢_MAP_aMBR_\92um2v®ue_5
+,
+
+123 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_aMBR_\8fgs_5
+[] = {
+
+124 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+125 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+128
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_aMBR_5
+ = {
+
+131 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+132
+a¢_DEF_aMBR_\8fgs_5
+,
+
+133 \17(
+a¢_DEF_aMBR_\8fgs_5
+)
+
+134 /\17(
+a¢_DEF_aMBR_\8fgs_5
+[0]) - 1,
+
+135
+a¢_DEF_aMBR_\8fgs_5
+,
+
+136 \17(
+a¢_DEF_aMBR_\8fgs_5
+)
+
+137 /\17(
+a¢_DEF_aMBR_\8fgs_5
+[0]),
+
+138 { 0, &
+a¢_PER_ty³_aMBR_cÚ¡r_5
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+140 &
+a¢_SPC_aMBR_¥ecs_5
+
+
+143 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_isS\8ft_v®ue2\92um_8
+[] = {
+
+147 \18cڡ \1d\12
+ ga¢_MAP_isS\8ft_\92um2v®ue_8
+[] = {
+
+151 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_isS\8ft_¥ecs_8
+ = {
+
+152
+a¢_MAP_isS\8ft_v®ue2\92um_8
+,
+
+153
+a¢_MAP_isS\8ft_\92um2v®ue_8
+,
+
+160 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_isS\8ft_\8fgs_8
+[] = {
+
+161 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+162 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+165
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_isS\8ft_8
+ = {
+
+168 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+169
+a¢_DEF_isS\8ft_\8fgs_8
+,
+
+170 \17(
+a¢_DEF_isS\8ft_\8fgs_8
+)
+
+171 /\17(
+a¢_DEF_isS\8ft_\8fgs_8
+[0]) - 1,
+
+172
+a¢_DEF_isS\8ft_\8fgs_8
+,
+
+173 \17(
+a¢_DEF_isS\8ft_\8fgs_8
+)
+
+174 /\17(
+a¢_DEF_isS\8ft_\8fgs_8
+[0]),
+
+175 { 0, &
+a¢_PER_ty³_isS\8ft_cÚ¡r_8
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+177 &
+a¢_SPC_isS\8ft_¥ecs_8
+
+
+180 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_isC©M_v®ue2\92um_11
+[] = {
+
+184 \18cڡ \1d\12
+ ga¢_MAP_isC©M_\92um2v®ue_11
+[] = {
+
+188 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_isC©M_¥ecs_11
+ = {
+
+189
+a¢_MAP_isC©M_v®ue2\92um_11
+,
+
+190
+a¢_MAP_isC©M_\92um2v®ue_11
+,
+
+197 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_isC©M_\8fgs_11
+[] = {
+
+198 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+199 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+202
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_isC©M_11
+ = {
+
+205 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+206
+a¢_DEF_isC©M_\8fgs_11
+,
+
+207 \17(
+a¢_DEF_isC©M_\8fgs_11
+)
+
+208 /\17(
+a¢_DEF_isC©M_\8fgs_11
+[0]) - 1,
+
+209
+a¢_DEF_isC©M_\8fgs_11
+,
+
+210 \17(
+a¢_DEF_isC©M_\8fgs_11
+)
+
+211 /\17(
+a¢_DEF_isC©M_\8fgs_11
+[0]),
+
+212 { 0, &
+a¢_PER_ty³_isC©M_cÚ¡r_11
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+214 &
+a¢_SPC_isC©M_¥ecs_11
+
+
+217 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_rSRP_v®ue2\92um_14
+[] = {
+
+221 \18cڡ \1d\12
+ ga¢_MAP_rSRP_\92um2v®ue_14
+[] = {
+
+225 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_rSRP_¥ecs_14
+ = {
+
+226
+a¢_MAP_rSRP_v®ue2\92um_14
+,
+
+227
+a¢_MAP_rSRP_\92um2v®ue_14
+,
+
+234 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_rSRP_\8fgs_14
+[] = {
+
+235 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+236 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+239
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_rSRP_14
+ = {
+
+242 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+243
+a¢_DEF_rSRP_\8fgs_14
+,
+
+244 \17(
+a¢_DEF_rSRP_\8fgs_14
+)
+
+245 /\17(
+a¢_DEF_rSRP_\8fgs_14
+[0]) - 1,
+
+246
+a¢_DEF_rSRP_\8fgs_14
+,
+
+247 \17(
+a¢_DEF_rSRP_\8fgs_14
+)
+
+248 /\17(
+a¢_DEF_rSRP_\8fgs_14
+[0]),
+
+249 { 0, &
+a¢_PER_ty³_rSRP_cÚ¡r_14
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+251 &
+a¢_SPC_rSRP_¥ecs_14
+
+
+254 \18cڡ
+a¢_INTEGER_\92um_m_t
+
+ ga¢_MAP_rSRQ_v®ue2\92um_17
+[] = {
+
+258 \18cڡ \1d\12
+ ga¢_MAP_rSRQ_\92um2v®ue_17
+[] = {
+
+262 \18cڡ
+a¢_INTEGER_¥ecifics_t
+
+ ga¢_SPC_rSRQ_¥ecs_17
+ = {
+
+263
+a¢_MAP_rSRQ_v®ue2\92um_17
+,
+
+264
+a¢_MAP_rSRQ_\92um2v®ue_17
+,
+
+271 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_rSRQ_\8fgs_17
+[] = {
+
+272 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+273 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (10 << 2))
+
+276
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_rSRQ_17
+ = {
+
+279 &
+a¢_OP_N©iveEnum\94©ed
+,
+
+280
+a¢_DEF_rSRQ_\8fgs_17
+,
+
+281 \17(
+a¢_DEF_rSRQ_\8fgs_17
+)
+
+282 /\17(
+a¢_DEF_rSRQ_\8fgs_17
+[0]) - 1,
+
+283
+a¢_DEF_rSRQ_\8fgs_17
+,
+
+284 \17(
+a¢_DEF_rSRQ_\8fgs_17
+)
+
+285 /\17(
+a¢_DEF_rSRQ_\8fgs_17
+[0]),
+
+286 { 0, &
+a¢_PER_ty³_rSRQ_cÚ¡r_17
+,
+N©iveEnum\94©ed_cÚ¡¿\9at
+ },
+
+288 &
+a¢_SPC_rSRQ_¥ecs_17
+
+
+291
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Te¡CÚd_Ty³_1
+[] = {
+
+292 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+choiû
+.
+gBR
+),
+
+293 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+295 &
+a¢_DEF_gBR_2
+,
+
+301 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+choiû
+.
+aMBR
+),
+
+302 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+304 &
+a¢_DEF_aMBR_5
+,
+
+310 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+choiû
+.
+isS\8ft
+),
+
+311 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+313 &
+a¢_DEF_isS\8ft_8
+,
+
+319 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+choiû
+.
+isC©M
+),
+
+320 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+322 &
+a¢_DEF_isC©M_11
+,
+
+328 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+choiû
+.
+rSRP
+),
+
+329 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+331 &
+a¢_DEF_rSRP_14
+,
+
+337 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+choiû
+.
+rSRQ
+),
+
+338 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+340 &
+a¢_DEF_rSRQ_17
+,
+
+347 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Te¡CÚd_Ty³_\8fg2\96_1
+[] = {
+
+348 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+349 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+350 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+351 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+352 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+353 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 }
+
+355
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_Te¡CÚd_Ty³_¥ecs_1
+ = {
+
+356 \17(\19
+Te¡CÚd_Ty³
+),
+
+357
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+_a¢_ùx
+),
+
+358
+off£tof
+(\19
+Te¡CÚd_Ty³
+,
+´e£Á
+),
+
+359 \17(((\19
+Te¡CÚd_Ty³
+ *)0)->
+´e£Á
+),
+
+360
+a¢_MAP_Te¡CÚd_Ty³_\8fg2\96_1
+,
+
+365
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Te¡CÚd_Ty³
+ = {
+
+368 &
+a¢_OP_CHOICE
+,
+
+373 { 0, &
+a¢_PER_ty³_Te¡CÚd_Ty³_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+374
+a¢_MBR_Te¡CÚd_Ty³_1
+,
+
+376 &
+a¢_SPC_Te¡CÚd_Ty³_¥ecs_1
+
+
+ @TestCond-Value.c
+
+8 \ 2
+ ~"Te¡CÚd-V®ue.h
+"
+
+10
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_Te¡CÚd_V®ue_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+11 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 3, 3, 0, 5 } ,
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+15
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Te¡CÚd_V®ue_1
+[] = {
+
+16 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+choiû
+.
+v®ueIÁ
+),
+
+17 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+19 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+25 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+choiû
+.
+v®ueEnum
+),
+
+26 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+28 &
+a¢_DEF_N©iveIÁeg\94
+,
+
+34 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+choiû
+.
+v®ueBoÞ
+),
+
+35 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+37 &
+a¢_DEF_BOOLEAN
+,
+
+43 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+choiû
+.
+v®ueB\99S
+),
+
+44 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+46 &
+a¢_DEF_BIT_STRING
+,
+
+52 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+choiû
+.
+v®ueOùS
+),
+
+53 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+55 &
+a¢_DEF_OCTET_STRING
+,
+
+61 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+choiû
+.
+v®ueP¹S
+),
+
+62 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+64 &
+a¢_DEF_Pr\9a\8fbËS\8c\9ag
+,
+
+71 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Te¡CÚd_V®ue_\8fg2\96_1
+[] = {
+
+72 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+73 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+74 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+75 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+76 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+77 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 }
+
+79
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_Te¡CÚd_V®ue_¥ecs_1
+ = {
+
+80 \17(\19
+Te¡CÚd_V®ue
+),
+
+81
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+_a¢_ùx
+),
+
+82
+off£tof
+(\19
+Te¡CÚd_V®ue
+,
+´e£Á
+),
+
+83 \17(((\19
+Te¡CÚd_V®ue
+ *)0)->
+´e£Á
+),
+
+84
+a¢_MAP_Te¡CÚd_V®ue_\8fg2\96_1
+,
+
+89
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Te¡CÚd_V®ue
+ = {
+
+92 &
+a¢_OP_CHOICE
+,
+
+97 { 0, &
+a¢_PER_ty³_Te¡CÚd_V®ue_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+98
+a¢_MBR_Te¡CÚd_V®ue_1
+,
+
+100 &
+a¢_SPC_Te¡CÚd_V®ue_¥ecs_1
+
+
+ @TestCondInfo.c
+
+8 \ 2
+ ~"Te¡CÚdInfo.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_Te¡CÚdInfo_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚdInfo
+,
+\8b¡Ty³
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_Te¡CÚd_Ty³
+,
+
+20 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚdInfo
+,
+\8b¡Ex´
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_Te¡CÚd_Ex´essiÚ
+,
+
+29 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+Te¡CÚdInfo
+,
+\8b¡V®ue
+),
+
+30 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+32 &
+a¢_DEF_Te¡CÚd_V®ue
+,
+
+39 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_Te¡CÚdInfo_\8fgs_1
+[] = {
+
+40 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+42 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_Te¡CÚdInfo_\8fg2\96_1
+[] = {
+
+43 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+44 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+45 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 }
+
+47
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_Te¡CÚdInfo_¥ecs_1
+ = {
+
+48 \17(\19
+Te¡CÚdInfo
+),
+
+49
+off£tof
+(\19
+Te¡CÚdInfo
+,
+_a¢_ùx
+),
+
+50
+a¢_MAP_Te¡CÚdInfo_\8fg2\96_1
+,
+
+55
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_Te¡CÚdInfo
+ = {
+
+58 &
+a¢_OP_SEQUENCE
+,
+
+59
+a¢_DEF_Te¡CÚdInfo_\8fgs_1
+,
+
+60 \17(
+a¢_DEF_Te¡CÚdInfo_\8fgs_1
+)
+
+61 /\17(
+a¢_DEF_Te¡CÚdInfo_\8fgs_1
+[0]),
+
+62
+a¢_DEF_Te¡CÚdInfo_\8fgs_1
+,
+
+63 \17(
+a¢_DEF_Te¡CÚdInfo_\8fgs_1
+)
+
+64 /\17(
+a¢_DEF_Te¡CÚdInfo_\8fgs_1
+[0]),
+
+65 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+66
+a¢_MBR_Te¡CÚdInfo_1
+,
+
+68 &
+a¢_SPC_Te¡CÚdInfo_¥ecs_1
+
+
+ @TimeStamp.c
+
+8 \ 2
+ ~"TimeS\8fmp.h
+"
+
+11
+ $TimeS\8fmp_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+12
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+13 cڡ
+OCTET_STRING_t
+ *
+¡
+ = (cÚ¡ OCTET_STRING_\88*)
+¥\8c
+;
+
+14
+size_t
+
+size
+;
+
+16 if(!
+¥\8c
+) {
+
+17
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+19
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+23
+size
+ =
+¡
+->size;
+
+25 if((
+size
+ == 4)) {
+
+29
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+31
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+34
+ }
+}
+
+40
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_TimeS\8fmp_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+41 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+42 {
+APC_CONSTRAINED
+, 0, 0, 4, 4 } ,
+
+45 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_TimeS\8fmp_\8fgs_1
+[] = {
+
+46 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (4 << 2))
+
+48
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_TimeS\8fmp
+ = {
+
+51 &
+a¢_OP_OCTET_STRING
+,
+
+52
+a¢_DEF_TimeS\8fmp_\8fgs_1
+,
+
+53 \17(
+a¢_DEF_TimeS\8fmp_\8fgs_1
+)
+
+54 /\17(
+a¢_DEF_TimeS\8fmp_\8fgs_1
+[0]),
+
+55
+a¢_DEF_TimeS\8fmp_\8fgs_1
+,
+
+56 \17(
+a¢_DEF_TimeS\8fmp_\8fgs_1
+)
+
+57 /\17(
+a¢_DEF_TimeS\8fmp_\8fgs_1
+[0]),
+
+58 { 0, &
+a¢_PER_ty³_TimeS\8fmp_cÚ¡r_1
+,
+TimeS\8fmp_cÚ¡¿\9at
+ },
+
+60 &
+a¢_SPC_OCTET_STRING_¥ecs
+
+
+ @UEID-EN-GNB.c
+
+8 \ 2
+ ~"UEID-EN-GNB.h
+"
+
+10 \ 2
+ ~"UEID-GNB-CU-CP-E1AP-ID-Li¡.h
+"
+
+11
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_EN_GNB_1
+[] = {
+
+12 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_EN_GNB
+,
+m_eNB_UE_X2AP_ID
+),
+
+13 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+15 &
+a¢_DEF_ENB_UE_X2AP_ID
+,
+
+21 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+UEID_EN_GNB
+,
+m_eNB_UE_X2AP_ID_Ex\8bnsiÚ
+),
+
+22 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+24 &
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ
+,
+
+30 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_EN_GNB
+,
+glob®ENB_ID
+),
+
+31 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+33 &
+a¢_DEF_Glob®ENB_ID
+,
+
+39 {
+ATF_POINTER
+, 3,
+off£tof
+(\19
+UEID_EN_GNB
+,
+gNB_CU_UE_F1AP_ID
+),
+
+40 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+42 &
+a¢_DEF_GNB_CU_UE_F1AP_ID
+,
+
+48 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+UEID_EN_GNB
+,
+gNB_CU_CP_UE_E1AP_ID_Li¡
+),
+
+49 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+51 &
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡
+,
+
+57 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+UEID_EN_GNB
+,
+¿n_UEID
+),
+
+58 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+60 &
+a¢_DEF_RANUEID
+,
+
+67 \18cڡ \12
+ ga¢_MAP_UEID_EN_GNB_oms_1
+[] = { 1, 3, 4, 5 };
+
+68 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_EN_GNB_\8fgs_1
+[] = {
+
+69 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+71 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_EN_GNB_\8fg2\96_1
+[] = {
+
+72 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+73 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+74 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+75 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+76 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+77 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 }
+
+79
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_EN_GNB_¥ecs_1
+ = {
+
+80 \17(\19
+UEID_EN_GNB
+),
+
+81
+off£tof
+(\19
+UEID_EN_GNB
+,
+_a¢_ùx
+),
+
+82
+a¢_MAP_UEID_EN_GNB_\8fg2\96_1
+,
+
+84
+a¢_MAP_UEID_EN_GNB_oms_1
+,
+
+88
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_EN_GNB
+ = {
+
+91 &
+a¢_OP_SEQUENCE
+,
+
+92
+a¢_DEF_UEID_EN_GNB_\8fgs_1
+,
+
+93 \17(
+a¢_DEF_UEID_EN_GNB_\8fgs_1
+)
+
+94 /\17(
+a¢_DEF_UEID_EN_GNB_\8fgs_1
+[0]),
+
+95
+a¢_DEF_UEID_EN_GNB_\8fgs_1
+,
+
+96 \17(
+a¢_DEF_UEID_EN_GNB_\8fgs_1
+)
+
+97 /\17(
+a¢_DEF_UEID_EN_GNB_\8fgs_1
+[0]),
+
+98 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+99
+a¢_MBR_UEID_EN_GNB_1
+,
+
+101 &
+a¢_SPC_UEID_EN_GNB_¥ecs_1
+
+
+ @UEID-ENB.c
+
+8 \ 2
+ ~"UEID-ENB.h
+"
+
+10 \ 2
+ ~"Glob®ENB-ID.h
+"
+
+11
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_ENB_1
+[] = {
+
+12 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_ENB
+,
+mME_UE_S1AP_ID
+),
+
+13 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+15 &
+a¢_DEF_MME_UE_S1AP_ID
+,
+
+21 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_ENB
+,
+gUMMEI
+),
+
+22 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+24 &
+a¢_DEF_GUMMEI
+,
+
+30 {
+ATF_POINTER
+, 3,
+off£tof
+(\19
+UEID_ENB
+,
+m_eNB_UE_X2AP_ID
+),
+
+31 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+33 &
+a¢_DEF_ENB_UE_X2AP_ID
+,
+
+39 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+UEID_ENB
+,
+m_eNB_UE_X2AP_ID_Ex\8bnsiÚ
+),
+
+40 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+42 &
+a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ
+,
+
+48 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+UEID_ENB
+,
+glob®ENB_ID
+),
+
+49 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+51 &
+a¢_DEF_Glob®ENB_ID
+,
+
+58 \18cڡ \12
+ ga¢_MAP_UEID_ENB_oms_1
+[] = { 2, 3, 4 };
+
+59 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_ENB_\8fgs_1
+[] = {
+
+60 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+62 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_ENB_\8fg2\96_1
+[] = {
+
+63 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+64 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+65 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+66 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+67 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 }
+
+69
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_ENB_¥ecs_1
+ = {
+
+70 \17(\19
+UEID_ENB
+),
+
+71
+off£tof
+(\19
+UEID_ENB
+,
+_a¢_ùx
+),
+
+72
+a¢_MAP_UEID_ENB_\8fg2\96_1
+,
+
+74
+a¢_MAP_UEID_ENB_oms_1
+,
+
+78
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_ENB
+ = {
+
+81 &
+a¢_OP_SEQUENCE
+,
+
+82
+a¢_DEF_UEID_ENB_\8fgs_1
+,
+
+83 \17(
+a¢_DEF_UEID_ENB_\8fgs_1
+)
+
+84 /\17(
+a¢_DEF_UEID_ENB_\8fgs_1
+[0]),
+
+85
+a¢_DEF_UEID_ENB_\8fgs_1
+,
+
+86 \17(
+a¢_DEF_UEID_ENB_\8fgs_1
+)
+
+87 /\17(
+a¢_DEF_UEID_ENB_\8fgs_1
+[0]),
+
+88 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+89
+a¢_MBR_UEID_ENB_1
+,
+
+91 &
+a¢_SPC_UEID_ENB_¥ecs_1
+
+
+ @UEID-GNB-CU-CP-E1AP-ID-Item.c
+
+8 \ 2
+ ~"UEID-GNB-CU-CP-E1AP-ID-I\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_GNB_CU_CP_E1AP_ID_I\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_GNB_CU_CP_E1AP_ID_I\8bm
+,
+gNB_CU_CP_UE_E1AP_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_GNB_CU_CP_E1AP_ID_I\8bm_¥ecs_1
+ = {
+
+28 \17(\19
+UEID_GNB_CU_CP_E1AP_ID_I\8bm
+),
+
+29
+off£tof
+(\19
+UEID_GNB_CU_CP_E1AP_ID_I\8bm
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
+[0]),
+
+42
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_UEID_GNB_CU_CP_E1AP_ID_I\8bm_1
+,
+
+48 &
+a¢_SPC_UEID_GNB_CU_CP_E1AP_ID_I\8bm_¥ecs_1
+
+
+ @UEID-GNB-CU-CP-E1AP-ID-List.c
+
+8 \ 2
+ ~"UEID-GNB-CU-CP-E1AP-ID-Li¡.h
+"
+
+10 \ 2
+ ~"UEID-GNB-CU-CP-E1AP-ID-I\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_UEID_GNB_CU_CP_E1AP_ID_Li¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 16, 16, 1, 65535 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_GNB_CU_CP_E1AP_ID_Li¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_UEID_GNB_CU_CP_E1AP_ID_Li¡_¥ecs_1
+ = {
+
+31 \17(\19
+UEID_GNB_CU_CP_E1AP_ID_Li¡
+),
+
+32
+off£tof
+(\19
+UEID_GNB_CU_CP_E1AP_ID_Li¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_UEID_GNB_CU_CP_E1AP_ID_Li¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_UEID_GNB_CU_CP_E1AP_ID_Li¡_1
+,
+
+48 &
+a¢_SPC_UEID_GNB_CU_CP_E1AP_ID_Li¡_¥ecs_1
+
+
+ @UEID-GNB-CU-CP-F1AP-ID-Item.c
+
+8 \ 2
+ ~"UEID-GNB-CU-CP-F1AP-ID-I\8bm.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_GNB_CU_CP_F1AP_ID_I\8bm_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_GNB_CU_CP_F1AP_ID_I\8bm
+,
+gNB_CU_UE_F1AP_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_GNB_CU_UE_F1AP_ID
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_GNB_CU_CP_F1AP_ID_I\8bm_¥ecs_1
+ = {
+
+28 \17(\19
+UEID_GNB_CU_CP_F1AP_ID_I\8bm
+),
+
+29
+off£tof
+(\19
+UEID_GNB_CU_CP_F1AP_ID_I\8bm
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
+[0]),
+
+42
+a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_UEID_GNB_CU_CP_F1AP_ID_I\8bm_1
+,
+
+48 &
+a¢_SPC_UEID_GNB_CU_CP_F1AP_ID_I\8bm_¥ecs_1
+
+
+ @UEID-GNB-CU-F1AP-ID-List.c
+
+8 \ 2
+ ~"UEID-GNB-CU-F1AP-ID-Li¡.h
+"
+
+10 \ 2
+ ~"UEID-GNB-CU-CP-F1AP-ID-I\8bm.h
+"
+
+11
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_UEID_GNB_CU_F1AP_ID_Li¡_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+12 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+13 {
+APC_CONSTRAINED
+, 2, 2, 1, 4 } ,
+
+16
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_GNB_CU_F1AP_ID_Li¡_1
+[] = {
+
+17 {
+ATF_POINTER
+, 0, 0,
+
+18 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2)),
+
+20 &
+a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm
+,
+
+27 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
+[] = {
+
+28 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+30
+a¢_SET_OF_¥ecifics_t
+
+ ga¢_SPC_UEID_GNB_CU_F1AP_ID_Li¡_¥ecs_1
+ = {
+
+31 \17(\19
+UEID_GNB_CU_F1AP_ID_Li¡
+),
+
+32
+off£tof
+(\19
+UEID_GNB_CU_F1AP_ID_Li¡
+,
+_a¢_ùx
+),
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡
+ = {
+
+38 &
+a¢_OP_SEQUENCE_OF
+,
+
+39
+a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
+[0]),
+
+42
+a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
+[0]),
+
+45 { 0, &
+a¢_PER_ty³_UEID_GNB_CU_F1AP_ID_Li¡_cÚ¡r_1
+,
+SEQUENCE_OF_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_UEID_GNB_CU_F1AP_ID_Li¡_1
+,
+
+48 &
+a¢_SPC_UEID_GNB_CU_F1AP_ID_Li¡_¥ecs_1
+
+
+ @UEID-GNB-CU-UP.c
+
+8 \ 2
+ ~"UEID-GNB-CU-UP.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_GNB_CU_UP_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_GNB_CU_UP
+,
+gNB_CU_CP_UE_E1AP_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_GNB_CU_CP_UE_E1AP_ID
+,
+
+20 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+UEID_GNB_CU_UP
+,
+¿n_UEID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_RANUEID
+,
+
+30 \18cڡ \12
+ ga¢_MAP_UEID_GNB_CU_UP_oms_1
+[] = { 1 };
+
+31 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_GNB_CU_UP_\8fgs_1
+[] = {
+
+32 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+34 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_GNB_CU_UP_\8fg2\96_1
+[] = {
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+38
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_GNB_CU_UP_¥ecs_1
+ = {
+
+39 \17(\19
+UEID_GNB_CU_UP
+),
+
+40
+off£tof
+(\19
+UEID_GNB_CU_UP
+,
+_a¢_ùx
+),
+
+41
+a¢_MAP_UEID_GNB_CU_UP_\8fg2\96_1
+,
+
+43
+a¢_MAP_UEID_GNB_CU_UP_oms_1
+,
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_GNB_CU_UP
+ = {
+
+50 &
+a¢_OP_SEQUENCE
+,
+
+51
+a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
+[0]),
+
+54
+a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
+[0]),
+
+57 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_UEID_GNB_CU_UP_1
+,
+
+60 &
+a¢_SPC_UEID_GNB_CU_UP_¥ecs_1
+
+
+ @UEID-GNB-DU.c
+
+8 \ 2
+ ~"UEID-GNB-DU.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_GNB_DU_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_GNB_DU
+,
+gNB_CU_UE_F1AP_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_GNB_CU_UE_F1AP_ID
+,
+
+20 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+UEID_GNB_DU
+,
+¿n_UEID
+),
+
+21 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+23 &
+a¢_DEF_RANUEID
+,
+
+30 \18cڡ \12
+ ga¢_MAP_UEID_GNB_DU_oms_1
+[] = { 1 };
+
+31 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_GNB_DU_\8fgs_1
+[] = {
+
+32 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+34 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_GNB_DU_\8fg2\96_1
+[] = {
+
+35 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+36 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 }
+
+38
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_GNB_DU_¥ecs_1
+ = {
+
+39 \17(\19
+UEID_GNB_DU
+),
+
+40
+off£tof
+(\19
+UEID_GNB_DU
+,
+_a¢_ùx
+),
+
+41
+a¢_MAP_UEID_GNB_DU_\8fg2\96_1
+,
+
+43
+a¢_MAP_UEID_GNB_DU_oms_1
+,
+
+47
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_GNB_DU
+ = {
+
+50 &
+a¢_OP_SEQUENCE
+,
+
+51
+a¢_DEF_UEID_GNB_DU_\8fgs_1
+,
+
+52 \17(
+a¢_DEF_UEID_GNB_DU_\8fgs_1
+)
+
+53 /\17(
+a¢_DEF_UEID_GNB_DU_\8fgs_1
+[0]),
+
+54
+a¢_DEF_UEID_GNB_DU_\8fgs_1
+,
+
+55 \17(
+a¢_DEF_UEID_GNB_DU_\8fgs_1
+)
+
+56 /\17(
+a¢_DEF_UEID_GNB_DU_\8fgs_1
+[0]),
+
+57 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+58
+a¢_MBR_UEID_GNB_DU_1
+,
+
+60 &
+a¢_SPC_UEID_GNB_DU_¥ecs_1
+
+
+ @UEID-GNB.c
+
+8 \ 2
+ ~"UEID-GNB.h
+"
+
+10 \ 2
+ ~"UEID-GNB-CU-F1AP-ID-Li¡.h
+"
+
+11 \ 2
+ ~"UEID-GNB-CU-CP-E1AP-ID-Li¡.h
+"
+
+12 \ 2
+ ~"Glob®GNB-ID.h
+"
+
+13 \ 2
+ ~"Glob®NGRANNodeID.h
+"
+
+14
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_GNB_1
+[] = {
+
+15 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_GNB
+,
+amf_UE_NGAP_ID
+),
+
+16 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+18 &
+a¢_DEF_AMF_UE_NGAP_ID
+,
+
+24 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_GNB
+,
+guami
+),
+
+25 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+27 &
+a¢_DEF_GUAMI
+,
+
+33 {
+ATF_POINTER
+, 6,
+off£tof
+(\19
+UEID_GNB
+,
+gNB_CU_UE_F1AP_ID_Li¡
+),
+
+34 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+36 &
+a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡
+,
+
+42 {
+ATF_POINTER
+, 5,
+off£tof
+(\19
+UEID_GNB
+,
+gNB_CU_CP_UE_E1AP_ID_Li¡
+),
+
+43 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+45 &
+a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡
+,
+
+51 {
+ATF_POINTER
+, 4,
+off£tof
+(\19
+UEID_GNB
+,
+¿n_UEID
+),
+
+52 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+54 &
+a¢_DEF_RANUEID
+,
+
+60 {
+ATF_POINTER
+, 3,
+off£tof
+(\19
+UEID_GNB
+,
+m_NG_RAN_UE_XnAP_ID
+),
+
+61 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+63 &
+a¢_DEF_NG_RANnodeUEXnAPID
+,
+
+69 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+UEID_GNB
+,
+glob®GNB_ID
+),
+
+70 (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)),
+
+72 &
+a¢_DEF_Glob®GNB_ID
+,
+
+78 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+UEID_GNB
+,
+glob®NG_RANNode_ID
+),
+
+79 (
+ASN_TAG_CLASS_CONTEXT
+ | (7 << 2)),
+
+81 &
+a¢_DEF_Glob®NGRANNodeID
+,
+
+88 \18cڡ \12
+ ga¢_MAP_UEID_GNB_oms_1
+[] = { 2, 3, 4, 5, 6, 7 };
+
+89 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_GNB_\8fgs_1
+[] = {
+
+90 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+92 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_GNB_\8fg2\96_1
+[] = {
+
+93 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+94 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+95 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+96 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+97 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+98 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 },
+
+99 { (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)), 6, 0, 0 },
+
+100 { (
+ASN_TAG_CLASS_CONTEXT
+ | (7 << 2)), 7, 0, 0 }
+
+102
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_GNB_¥ecs_1
+ = {
+
+103 \17(\19
+UEID_GNB
+),
+
+104
+off£tof
+(\19
+UEID_GNB
+,
+_a¢_ùx
+),
+
+105
+a¢_MAP_UEID_GNB_\8fg2\96_1
+,
+
+107
+a¢_MAP_UEID_GNB_oms_1
+,
+
+111
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_GNB
+ = {
+
+114 &
+a¢_OP_SEQUENCE
+,
+
+115
+a¢_DEF_UEID_GNB_\8fgs_1
+,
+
+116 \17(
+a¢_DEF_UEID_GNB_\8fgs_1
+)
+
+117 /\17(
+a¢_DEF_UEID_GNB_\8fgs_1
+[0]),
+
+118
+a¢_DEF_UEID_GNB_\8fgs_1
+,
+
+119 \17(
+a¢_DEF_UEID_GNB_\8fgs_1
+)
+
+120 /\17(
+a¢_DEF_UEID_GNB_\8fgs_1
+[0]),
+
+121 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+122
+a¢_MBR_UEID_GNB_1
+,
+
+124 &
+a¢_SPC_UEID_GNB_¥ecs_1
+
+
+ @UEID-NG-ENB-DU.c
+
+8 \ 2
+ ~"UEID-NG-ENB-DU.h
+"
+
+10
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_NG_ENB_DU_1
+[] = {
+
+11 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_NG_ENB_DU
+,
+ng_eNB_CU_UE_W1AP_ID
+),
+
+12 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+14 &
+a¢_DEF_NGENB_CU_UE_W1AP_ID
+,
+
+21 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_NG_ENB_DU_\8fgs_1
+[] = {
+
+22 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+24 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_NG_ENB_DU_\8fg2\96_1
+[] = {
+
+25 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 }
+
+27
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_NG_ENB_DU_¥ecs_1
+ = {
+
+28 \17(\19
+UEID_NG_ENB_DU
+),
+
+29
+off£tof
+(\19
+UEID_NG_ENB_DU
+,
+_a¢_ùx
+),
+
+30
+a¢_MAP_UEID_NG_ENB_DU_\8fg2\96_1
+,
+
+35
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_NG_ENB_DU
+ = {
+
+38 &
+a¢_OP_SEQUENCE
+,
+
+39
+a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
+,
+
+40 \17(
+a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
+)
+
+41 /\17(
+a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
+[0]),
+
+42
+a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
+,
+
+43 \17(
+a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
+)
+
+44 /\17(
+a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
+[0]),
+
+45 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+46
+a¢_MBR_UEID_NG_ENB_DU_1
+,
+
+48 &
+a¢_SPC_UEID_NG_ENB_DU_¥ecs_1
+
+
+ @UEID-NG-ENB.c
+
+8 \ 2
+ ~"UEID-NG-ENB.h
+"
+
+10 \ 2
+ ~"Glob®NgENB-ID.h
+"
+
+11 \ 2
+ ~"Glob®NGRANNodeID.h
+"
+
+12
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_NG_ENB_1
+[] = {
+
+13 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_NG_ENB
+,
+amf_UE_NGAP_ID
+),
+
+14 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+16 &
+a¢_DEF_AMF_UE_NGAP_ID
+,
+
+22 {
+ATF_NOFLAGS
+, 0,
+off£tof
+(\19
+UEID_NG_ENB
+,
+guami
+),
+
+23 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+25 &
+a¢_DEF_GUAMI
+,
+
+31 {
+ATF_POINTER
+, 4,
+off£tof
+(\19
+UEID_NG_ENB
+,
+ng_eNB_CU_UE_W1AP_ID
+),
+
+32 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+34 &
+a¢_DEF_NGENB_CU_UE_W1AP_ID
+,
+
+40 {
+ATF_POINTER
+, 3,
+off£tof
+(\19
+UEID_NG_ENB
+,
+m_NG_RAN_UE_XnAP_ID
+),
+
+41 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+43 &
+a¢_DEF_NG_RANnodeUEXnAPID
+,
+
+49 {
+ATF_POINTER
+, 2,
+off£tof
+(\19
+UEID_NG_ENB
+,
+glob®NgENB_ID
+),
+
+50 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+52 &
+a¢_DEF_Glob®NgENB_ID
+,
+
+58 {
+ATF_POINTER
+, 1,
+off£tof
+(\19
+UEID_NG_ENB
+,
+glob®NG_RANNode_ID
+),
+
+59 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+61 &
+a¢_DEF_Glob®NGRANNodeID
+,
+
+68 \18cڡ \12
+ ga¢_MAP_UEID_NG_ENB_oms_1
+[] = { 2, 3, 4, 5 };
+
+69 \18cڡ
+b\94_\8ev_\8fg_t
+
+ ga¢_DEF_UEID_NG_ENB_\8fgs_1
+[] = {
+
+70 (
+ASN_TAG_CLASS_UNIVERSAL
+ | (16 << 2))
+
+72 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_NG_ENB_\8fg2\96_1
+[] = {
+
+73 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+74 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+75 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+76 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+77 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+78 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 }
+
+80
+a¢_SEQUENCE_¥ecifics_t
+
+ ga¢_SPC_UEID_NG_ENB_¥ecs_1
+ = {
+
+81 \17(\19
+UEID_NG_ENB
+),
+
+82
+off£tof
+(\19
+UEID_NG_ENB
+,
+_a¢_ùx
+),
+
+83
+a¢_MAP_UEID_NG_ENB_\8fg2\96_1
+,
+
+85
+a¢_MAP_UEID_NG_ENB_oms_1
+,
+
+89
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID_NG_ENB
+ = {
+
+92 &
+a¢_OP_SEQUENCE
+,
+
+93
+a¢_DEF_UEID_NG_ENB_\8fgs_1
+,
+
+94 \17(
+a¢_DEF_UEID_NG_ENB_\8fgs_1
+)
+
+95 /\17(
+a¢_DEF_UEID_NG_ENB_\8fgs_1
+[0]),
+
+96
+a¢_DEF_UEID_NG_ENB_\8fgs_1
+,
+
+97 \17(
+a¢_DEF_UEID_NG_ENB_\8fgs_1
+)
+
+98 /\17(
+a¢_DEF_UEID_NG_ENB_\8fgs_1
+[0]),
+
+99 { 0, 0,
+SEQUENCE_cÚ¡¿\9at
+ },
+
+100
+a¢_MBR_UEID_NG_ENB_1
+,
+
+102 &
+a¢_SPC_UEID_NG_ENB_¥ecs_1
+
+
+ @UEID.c
+
+8 \ 2
+ ~"UEID.h
+"
+
+10 \ 2
+ ~"UEID-GNB.h
+"
+
+11 \ 2
+ ~"UEID-GNB-DU.h
+"
+
+12 \ 2
+ ~"UEID-GNB-CU-UP.h
+"
+
+13 \ 2
+ ~"UEID-NG-ENB.h
+"
+
+14 \ 2
+ ~"UEID-NG-ENB-DU.h
+"
+
+15 \ 2
+ ~"UEID-EN-GNB.h
+"
+
+16 \ 2
+ ~"UEID-ENB.h
+"
+
+17
+a¢_³r_cÚ¡¿\9ats_t
+
+a¢_PER_ty³_UEID_cÚ¡r_1
+
+ gCC_NOTUSED
+ = {
+
+18 {
+APC_CONSTRAINED
+ |
+APC_EXTENSIBLE
+, 3, 3, 0, 6 } ,
+
+19 {
+APC_UNCONSTRAINED
+, -1, -1, 0, 0 },
+
+22
+a¢_TYPE_memb\94_t
+
+ ga¢_MBR_UEID_1
+[] = {
+
+23 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+UEID
+,
+choiû
+.
+gNB_UEID
+),
+
+24 (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)),
+
+26 &
+a¢_DEF_UEID_GNB
+,
+
+32 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+UEID
+,
+choiû
+.
+gNB_DU_UEID
+),
+
+33 (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)),
+
+35 &
+a¢_DEF_UEID_GNB_DU
+,
+
+41 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+UEID
+,
+choiû
+.
+gNB_CU_UP_UEID
+),
+
+42 (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)),
+
+44 &
+a¢_DEF_UEID_GNB_CU_UP
+,
+
+50 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+UEID
+,
+choiû
+.
+ng_eNB_UEID
+),
+
+51 (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)),
+
+53 &
+a¢_DEF_UEID_NG_ENB
+,
+
+59 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+UEID
+,
+choiû
+.
+ng_eNB_DU_UEID
+),
+
+60 (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)),
+
+62 &
+a¢_DEF_UEID_NG_ENB_DU
+,
+
+68 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+UEID
+,
+choiû
+.
+\92_gNB_UEID
+),
+
+69 (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)),
+
+71 &
+a¢_DEF_UEID_EN_GNB
+,
+
+77 {
+ATF_POINTER
+, 0,
+off£tof
+(\19
+UEID
+,
+choiû
+.
+eNB_UEID
+),
+
+78 (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)),
+
+80 &
+a¢_DEF_UEID_ENB
+,
+
+87 \18cڡ
+a¢_TYPE_\8fg2memb\94_t
+
+ ga¢_MAP_UEID_\8fg2\96_1
+[] = {
+
+88 { (
+ASN_TAG_CLASS_CONTEXT
+ | (0 << 2)), 0, 0, 0 },
+
+89 { (
+ASN_TAG_CLASS_CONTEXT
+ | (1 << 2)), 1, 0, 0 },
+
+90 { (
+ASN_TAG_CLASS_CONTEXT
+ | (2 << 2)), 2, 0, 0 },
+
+91 { (
+ASN_TAG_CLASS_CONTEXT
+ | (3 << 2)), 3, 0, 0 },
+
+92 { (
+ASN_TAG_CLASS_CONTEXT
+ | (4 << 2)), 4, 0, 0 },
+
+93 { (
+ASN_TAG_CLASS_CONTEXT
+ | (5 << 2)), 5, 0, 0 },
+
+94 { (
+ASN_TAG_CLASS_CONTEXT
+ | (6 << 2)), 6, 0, 0 }
+
+96
+a¢_CHOICE_¥ecifics_t
+
+ ga¢_SPC_UEID_¥ecs_1
+ = {
+
+97 \17(\19
+UEID
+),
+
+98
+off£tof
+(\19
+UEID
+,
+_a¢_ùx
+),
+
+99
+off£tof
+(\19
+UEID
+,
+´e£Á
+),
+
+100 \17(((\19
+UEID
+ *)0)->
+´e£Á
+),
+
+101
+a¢_MAP_UEID_\8fg2\96_1
+,
+
+106
+a¢_TYPE_desü\9dtÜ_t
+
+ ga¢_DEF_UEID
+ = {
+
+109 &
+a¢_OP_CHOICE
+,
+
+114 { 0, &
+a¢_PER_ty³_UEID_cÚ¡r_1
+,
+CHOICE_cÚ¡¿\9at
+ },
+
+115
+a¢_MBR_UEID_1
+,
+
+117 &
+a¢_SPC_UEID_¥ecs_1
+
+
+ @asn_SEQUENCE_OF.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_SEQUENCE_OF.h
+>
+
+8 \e
+ $A_SEQUENCE_OF
+(\1eè
+ ta¢_£qu\92û
+;
+
+11
+ $a¢_£qu\92û_d\96
+(\1e*
+a¢_£qu\92û_of_x
+, \12
+numb\94
+, \12
+_do_ä\93
+) {
+
+12
+a¢_£qu\92û
+ *
+as
+ = (a¢_£qu\92û *)
+a¢_£qu\92û_of_x
+;
+
+14 if(
+as
+) {
+
+15 \1e*
+±r
+;
+
+16 \12
+n
+;
+
+18 if(
+numb\94
+ < 0 ||\82umb\94 >ð
+as
+->
+couÁ
+)
+
+21 if(
+_do_ä\93
+ &&
+as
+->
+ä\93
+) {
+
+22
+±r
+ =
+as
+->
+¬¿y
+[
+numb\94
+];
+
+24
+±r
+ = 0;
+
+30 --
+as
+->
+couÁ
+;
+
+31 \ f
+n
+ =
+numb\94
+;\82 <
+as
+->
+couÁ
+;\82++)
+
+32
+as
+->
+¬¿y
+[
+n
+] =\87s->array[n+1];
+
+38 if(
+±r
+è
+as
+->
+ `ä\93
+(ptr);
+
+40
+ }
+}
+
+ @asn_SET_OF.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_SET_OF.h
+>
+
+7 \ 2
+ ~<\94ºo.h
+>
+
+13
+ $a¢_£t_add
+(\1e*
+a¢_£t_of_x
+, \1e*
+±r
+) {
+
+14
+a¢_ªÚymous_£t_
+ *
+as
+ =
+ `_A_SET_FROM_VOID
+(
+a¢_£t_of_x
+);
+
+16 if(
+as
+ =ð0 ||
+±r
+ == 0) {
+
+17
+\94ºo
+ =
+EINVAL
+;
+
+24 if(
+as
+->
+couÁ
+ =ðas->
+size
+) {
+
+25 \12
+_Ãwsize
+ =
+as
+->
+size
+ ? (as->size << 1) : 4;
+
+26 \1e*
+_Ãw_¬r
+;
+
+27
+_Ãw_¬r
+ =
+ `REALLOC
+(
+as
+->
+¬¿y
+,
+_Ãwsize
+ * \17(as->array[0]));
+
+28 if(
+_Ãw_¬r
+) {
+
+29
+as
+->
+¬¿y
+ = (\1e**)
+_Ãw_¬r
+;
+
+30
+as
+->
+size
+ =
+_Ãwsize
+;
+
+37
+as
+->
+¬¿y
+[as->
+couÁ
+++] =
+±r
+;
+
+40
+ }
+}
+
+43
+ $a¢_£t_d\96
+(\1e*
+a¢_£t_of_x
+, \12
+numb\94
+, \12
+_do_ä\93
+) {
+
+44
+a¢_ªÚymous_£t_
+ *
+as
+ =
+ `_A_SET_FROM_VOID
+(
+a¢_£t_of_x
+);
+
+46 if(
+as
+) {
+
+47 \1e*
+±r
+;
+
+48 if(
+numb\94
+ < 0 ||\82umb\94 >ð
+as
+->
+couÁ
+)
+
+51 if(
+_do_ä\93
+ &&
+as
+->
+ä\93
+) {
+
+52
+±r
+ =
+as
+->
+¬¿y
+[
+numb\94
+];
+
+54
+±r
+ = 0;
+
+57
+as
+->
+¬¿y
+[
+numb\94
+] =\87s->¬¿y[--as->
+couÁ
+];
+
+63 if(
+±r
+è
+as
+->
+ `ä\93
+(ptr);
+
+65
+ }
+}
+
+71
+ $a¢_£t_em±y
+(\1e*
+a¢_£t_of_x
+) {
+
+72
+a¢_ªÚymous_£t_
+ *
+as
+ =
+ `_A_SET_FROM_VOID
+(
+a¢_£t_of_x
+);
+
+74 if(
+as
+) {
+
+75 if(
+as
+->
+¬¿y
+) {
+
+76 if(
+as
+->
+ä\93
+) {
+
+77 \1f
+as
+->
+couÁ
+--)
+
+78
+as
+->
+ `ä\93
+×s->
+¬¿y
+[as->
+couÁ
+]);
+
+80
+ `FREEMEM
+(
+as
+->
+¬¿y
+);
+
+81
+as
+->
+¬¿y
+ = 0;
+
+83
+as
+->
+couÁ
+ = 0;
+
+84
+as
+->
+size
+ = 0;
+
+87
+ }
+}
+
+ @asn_application.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_¶iÿtiÚ.h
+>
+
+7 \ 2
+ ~<\94ºo.h
+>
+
+9 \18
+a¢_\92c_rv®_t
+
+a¢_\92code_\9a\8bº®
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+10 \f
+a¢_\8cªsãr_syÁax
+
+syÁax
+,
+
+11 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+12 cڡ \1e*
+¥\8c
+,
+
+13
+a¢_p_cÚsume_by\8bs_f
+ *
+ÿÎback
+,
+
+14 \1e*
+ÿÎback_key
+);
+
+17 \19
+ sÿÎback_couÁ_by\8bs_key
+ {
+
+18
+a¢_p_cÚsume_by\8bs_f
+ *
+ mÿÎback
+;
+
+19 \1e*
+ mÿÎback_key
+;
+
+20
+size_t
+
+ mcompu\8bd_size
+;
+
+27
+ $ÿÎback_couÁ_by\8bs_cb
+(cڡ \1e*
+d©a
+,
+size_t
+
+size
+, \1e*
+keyp
+) {
+
+28 \19
+ÿÎback_couÁ_by\8bs_key
+ *
+key
+ =
+keyp
+;
+
+29 \12
+»t
+;
+
+31
+»t
+ =
+key
+->
+ `ÿÎback
+(
+d©a
+,
+size
+, key->
+ÿÎback_key
+);
+
+32 if(
+»t
+ >= 0) {
+
+33
+key
+->
+compu\8bd_size
+ +ð
+size
+;
+
+36 \15
+»t
+;
+
+37
+ }
+}
+
+39 \19
+ sov\94run_\92cod\94_key
+ {
+
+40 \1e*
+ mbufãr
+;
+
+41
+size_t
+
+ mbufãr_size
+;
+
+42
+size_t
+
+ mcompu\8bd_size
+;
+
+45 \19
+ sdyÇmic_\92cod\94_key
+ {
+
+46 \1e*
+ mbufãr
+;
+
+47
+size_t
+
+ mbufãr_size
+;
+
+48
+size_t
+
+ mcompu\8bd_size
+;
+
+51 \19
+ sÿÎback_ç\9eu»_ÿtch_key
+ {
+
+52
+a¢_p_cÚsume_by\8bs_f
+ *
+ mÿÎback
+;
+
+53 \1e*
+ mÿÎback_key
+;
+
+54 \12
+ mÿÎback_ç\9eed
+;
+
+62
+ $ov\94run_\92cod\94_cb
+(cڡ \1e*
+d©a
+,
+size_t
+
+size
+, \1e*
+keyp
+) {
+
+63 \19
+ov\94run_\92cod\94_key
+ *
+key
+ =
+keyp
+;
+
+65 if(
+key
+->
+compu\8bd_size
+ +
+size
+ > key->
+bufãr_size
+) {
+
+70
+key
+->
+bufãr_size
+ = 0;
+
+72
+ `memýy
+((\ 5*)
+key
+->
+bufãr
+ + key->
+compu\8bd_size
+,
+d©a
+,
+size
+);
+
+74
+key
+->
+compu\8bd_size
+ +ð
+size
+;
+
+77
+ }
+}
+
+84
+ $dyÇmic_\92cod\94_cb
+(cڡ \1e*
+d©a
+,
+size_t
+
+size
+, \1e*
+keyp
+) {
+
+85 \19
+dyÇmic_\92cod\94_key
+ *
+key
+ =
+keyp
+;
+
+87 if(
+key
+->
+bufãr
+) {
+
+88 if(
+key
+->
+compu\8bd_size
+ +
+size
+ >ðkey->
+bufãr_size
+) {
+
+89 \1e*
+p
+;
+
+90
+size_t
+
+Ãw_size
+ =
+key
+->
+bufãr_size
+;
+
+93
+Ãw_size
+ *= 2;
+
+94 } \1f
+Ãw_size
+ <ð
+key
+->
+compu\8bd_size
+ +
+size
+);
+
+96
+p
+ =
+ `REALLOC
+(
+key
+->
+bufãr
+,
+Ãw_size
+);
+
+97 if(
+p
+) {
+
+98
+key
+->
+bufãr
+ =
+p
+;
+
+99
+key
+->
+bufãr_size
+ =
+Ãw_size
+;
+
+101
+ `FREEMEM
+(
+key
+->
+bufãr
+);
+
+102
+key
+->
+bufãr
+ = 0;
+
+103
+key
+->
+bufãr_size
+ = 0;
+
+104
+key
+->
+compu\8bd_size
+ +ð
+size
+;
+
+108
+ `memýy
+((\ 5*)
+key
+->
+bufãr
+ + key->
+compu\8bd_size
+,
+d©a
+,
+size
+);
+
+111
+key
+->
+compu\8bd_size
+ +ð
+size
+;
+
+114
+ }
+}
+
+120
+ $ÿÎback_ç\9eu»_ÿtch_cb
+(cڡ \1e*
+d©a
+,
+size_t
+
+size
+, \1e*
+keyp
+) {
+
+121 \19
+ÿÎback_ç\9eu»_ÿtch_key
+ *
+key
+ =
+keyp
+;
+
+122 \12
+»t
+;
+
+124
+»t
+ =
+key
+->
+ `ÿÎback
+(
+d©a
+,
+size
+, key->
+ÿÎback_key
+);
+
+125 if(
+»t
+ < 0) {
+
+126
+key
+->
+ÿÎback_ç\9eed
+ = 1;
+
+129 \15
+»t
+;
+
+130
+ }
+}
+
+132
+a¢_\92c_rv®_t
+
+
+133
+ $a¢_\92code
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+134 \f
+a¢_\8cªsãr_syÁax
+
+syÁax
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+135 cڡ \1e*
+¥\8c
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+ÿÎback
+, \1e*
+ÿÎback_key
+) {
+
+136 \19
+ÿÎback_ç\9eu»_ÿtch_key
+
+cb_key
+;
+
+137
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+139 if(!
+ÿÎback
+) {
+
+140
+\94ºo
+ =
+EINVAL
+;
+
+141
+ASN__ENCODE_FAILED
+;
+
+144
+cb_key
+.
+ÿÎback
+ = callback;
+
+145
+cb_key
+.
+ÿÎback_key
+ = callback_key;
+
+146
+cb_key
+.
+ÿÎback_ç\9eed
+ = 0;
+
+148
+\94
+ =
+ `a¢_\92code_\9a\8bº®
+(
+Ýt_codec_ùx
+,
+syÁax
+,
+td
+,
+¥\8c
+,
+
+149
+ÿÎback_ç\9eu»_ÿtch_cb
+, &
+cb_key
+);
+
+150 if(
+cb_key
+.
+ÿÎback_ç\9eed
+) {
+
+151
+ `as£¹
+(
+\94
+.
+\92coded
+ == -1);
+
+152
+ `as£¹
+(
+\94ºo
+ =ð
+EBADF
+);
+
+153
+\94ºo
+ =
+EIO
+;
+
+156 \15
+\94
+;
+
+157
+ }
+}
+
+159
+a¢_\92c_rv®_t
+
+
+160
+ $a¢_\92code_to_bufãr
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+161 \f
+a¢_\8cªsãr_syÁax
+
+syÁax
+,
+
+162 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+163 \1e*
+bufãr
+,
+size_t
+
+bufãr_size
+) {
+
+164 \19
+ov\94run_\92cod\94_key
+
+buf_key
+;
+
+165
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+167 if(
+bufãr_size
+ > 0 && !
+bufãr
+) {
+
+168
+\94ºo
+ =
+EINVAL
+;
+
+169
+ASN__ENCODE_FAILED
+;
+
+172
+buf_key
+.
+bufãr
+ = buffer;
+
+173
+buf_key
+.
+bufãr_size
+ = buffer_size;
+
+174
+buf_key
+.
+compu\8bd_size
+ = 0;
+
+176
+\94
+ =
+ `a¢_\92code_\9a\8bº®
+(
+Ýt_codec_ùx
+,
+syÁax
+,
+td
+,
+¥\8c
+,
+
+177
+ov\94run_\92cod\94_cb
+, &
+buf_key
+);
+
+179 if(
+\94
+.
+\92coded
+ >ð0 && (
+size_t
+ër.\92coded !ð
+buf_key
+.
+compu\8bd_size
+) {
+
+180
+ `ASN_DEBUG
+("a¢_\92code(è»tuºed %"
+ASN_PRI_SSIZE
+
+
+181 " y\91\85roduûd %"
+ASN_PRI_SIZE
+ " bytes",
+
+182
+\94
+.
+\92coded
+,
+buf_key
+.
+compu\8bd_size
+);
+
+183
+ `as£¹
+(
+\94
+.
+\92coded
+ < 0 || (
+size_t
+ër.\92coded =ð
+buf_key
+.
+compu\8bd_size
+);
+
+186 \15
+\94
+;
+
+187
+ }
+}
+
+189
+a¢_\92code_to_Ãw_bufãr_»suÉ_t
+
+
+190
+ $a¢_\92code_to_Ãw_bufãr
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+191 \f
+a¢_\8cªsãr_syÁax
+
+syÁax
+,
+
+192 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+) {
+
+193 \19
+dyÇmic_\92cod\94_key
+
+buf_key
+;
+
+194
+a¢_\92code_to_Ãw_bufãr_»suÉ_t
+
+»s
+;
+
+196
+buf_key
+.
+bufãr_size
+ = 16;
+
+197
+buf_key
+.
+bufãr
+ =
+ `MALLOC
+(buf_key.
+bufãr_size
+);
+
+198
+buf_key
+.
+compu\8bd_size
+ = 0;
+
+200
+»s
+.
+»suÉ
+ =
+ `a¢_\92code_\9a\8bº®
+(
+Ýt_codec_ùx
+,
+syÁax
+,
+td
+,
+¥\8c
+,
+
+201
+dyÇmic_\92cod\94_cb
+, &
+buf_key
+);
+
+203 if(
+»s
+.
+»suÉ
+.
+\92coded
+ >= 0
+
+204 && (
+size_t
+)
+»s
+.
+»suÉ
+.
+\92coded
+ !ð
+buf_key
+.
+compu\8bd_size
+) {
+
+205
+ `ASN_DEBUG
+("a¢_\92code(è»tuºed %"
+ASN_PRI_SSIZE
+
+
+206 " y\91\85roduûd %"
+ASN_PRI_SIZE
+ " bytes",
+
+207
+»s
+.
+»suÉ
+.
+\92coded
+,
+buf_key
+.
+compu\8bd_size
+);
+
+208
+ `as£¹
+(
+»s
+.
+»suÉ
+.
+\92coded
+ < 0
+
+209 || (
+size_t
+)
+»s
+.
+»suÉ
+.
+\92coded
+ =ð
+buf_key
+.
+compu\8bd_size
+);
+
+212
+»s
+.
+bufãr
+ =
+buf_key
+.buffer;
+
+215 if(
+»s
+.
+bufãr
+) {
+
+216
+ `as£¹
+(
+buf_key
+.
+compu\8bd_size
+ < buf_key.
+bufãr_size
+);
+
+217 ((\ 5*)
+»s
+.
+bufãr
+)[
+buf_key
+.
+compu\8bd_size
+] = '\0';
+
+220 \15
+»s
+;
+
+221
+ }
+}
+
+223 \18
+a¢_\92c_rv®_t
+
+
+224
+ $a¢_\92code_\9a\8bº®
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+225 \f
+a¢_\8cªsãr_syÁax
+
+syÁax
+,
+
+226 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+227
+a¢_p_cÚsume_by\8bs_f
+ *
+ÿÎback
+, \1e*
+ÿÎback_key
+) {
+
+228
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+229 \f
+x\94_\92cod\94_æags_e
+
+x\94_æags
+ =
+XER_F_CANONICAL
+;
+
+231 (\1e)
+Ýt_codec_ùx
+;
+
+233 if(!
+td
+ || !
+¥\8c
+) {
+
+234
+\94ºo
+ =
+EINVAL
+;
+
+235
+ASN__ENCODE_FAILED
+;
+
+238 \1a
+syÁax
+) {
+
+239 \ 4
+ATS_NONSTANDARD_PLAINTEXT
+:
+
+240 if(
+td
+->
+Ý
+->
+´\9at_¡ruù
+) {
+
+241 \19
+ÿÎback_couÁ_by\8bs_key
+
+cb_key
+;
+
+242
+cb_key
+.
+ÿÎback
+ = callback;
+
+243
+cb_key
+.
+ÿÎback_key
+ = callback_key;
+
+244
+cb_key
+.
+compu\8bd_size
+ = 0;
+
+245 if(
+td
+->
+Ý
+->
+ `´\9at_¡ruù
+Ñd,
+¥\8c
+, 1,
+ÿÎback_couÁ_by\8bs_cb
+,
+
+246 &
+cb_key
+)
+
+248 ||
+ `ÿÎback_couÁ_by\8bs_cb
+("\n", 1, &
+cb_key
+) < 0) {
+
+249
+\94ºo
+ =
+EBADF
+;
+
+250
+\94
+.
+\92coded
+ = -1;
+
+251
+\94
+.
+ç\9eed_ty³
+ =
+td
+;
+
+252
+\94
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+254
+\94
+.
+\92coded
+ =
+cb_key
+.
+compu\8bd_size
+;
+
+255
+\94
+.
+ç\9eed_ty³
+ = 0;
+
+256
+\94
+.
+¡ruùu»_±r
+ = 0;
+
+259
+\94ºo
+ =
+ENOENT
+;
+
+260
+ASN__ENCODE_FAILED
+;
+
+264 \ 4
+ATS_RANDOM
+:
+
+265
+\94ºo
+ =
+ENOENT
+;
+
+266
+ASN__ENCODE_FAILED
+;
+
+268 \ 4
+ATS_BER
+:
+
+271 \ 4
+ATS_DER
+:
+
+272 if(
+td
+->
+Ý
+->
+d\94_\92cod\94
+) {
+
+273
+\94
+ =
+ `d\94_\92code
+(
+td
+,
+¥\8c
+,
+ÿÎback
+,
+ÿÎback_key
+);
+
+274 if(
+\94
+.
+\92coded
+ == -1) {
+
+275 if(
+\94
+.
+ç\9eed_ty³
+ &&\83r.ç\9eed_ty³->
+Ý
+->
+d\94_\92cod\94
+) {
+
+276
+\94ºo
+ =
+EBADF
+;
+
+278
+\94ºo
+ =
+ENOENT
+;
+
+282
+\94ºo
+ =
+ENOENT
+;
+
+283
+ASN__ENCODE_FAILED
+;
+
+286 \ 4
+ATS_CER
+:
+
+287
+\94ºo
+ =
+ENOENT
+;
+
+288
+ASN__ENCODE_FAILED
+;
+
+290 #ifdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+291 \ 4
+ATS_BASIC_OER
+:
+
+292 \ 4
+ATS_CANONICAL_OER
+:
+
+293
+\94ºo
+ =
+ENOENT
+;
+
+294
+ASN__ENCODE_FAILED
+;
+
+297 \ 4
+ATS_BASIC_OER
+:
+
+300 \ 4
+ATS_CANONICAL_OER
+:
+
+301 if(
+td
+->
+Ý
+->
+Ûr_\92cod\94
+) {
+
+302
+\94
+ =
+ `Ûr_\92code
+(
+td
+,
+¥\8c
+,
+ÿÎback
+,
+ÿÎback_key
+);
+
+303 if(
+\94
+.
+\92coded
+ == -1) {
+
+304 if(
+\94
+.
+ç\9eed_ty³
+ &&\83r.ç\9eed_ty³->
+Ý
+->
+Ûr_\92cod\94
+) {
+
+305
+\94ºo
+ =
+EBADF
+;
+
+307
+\94ºo
+ =
+ENOENT
+;
+
+311
+\94ºo
+ =
+ENOENT
+;
+
+312
+ASN__ENCODE_FAILED
+;
+
+317 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+318 \ 4
+ATS_UNALIGNED_BASIC_PER
+:
+
+319 \ 4
+ATS_UNALIGNED_CANONICAL_PER
+:
+
+320 \ 4
+ATS_ALIGNED_BASIC_PER
+:
+
+321 \ 4
+ATS_ALIGNED_CANONICAL_PER
+:
+
+322
+\94ºo
+ =
+ENOENT
+;
+
+323
+ASN__ENCODE_FAILED
+;
+
+326 \ 4
+ATS_UNALIGNED_BASIC_PER
+:
+
+329 \ 4
+ATS_UNALIGNED_CANONICAL_PER
+:
+
+330 if(
+td
+->
+Ý
+->
+u³r_\92cod\94
+) {
+
+331
+\94
+ =
+ `u³r_\92code
+(
+td
+, 0,
+¥\8c
+,
+ÿÎback
+,
+ÿÎback_key
+);
+
+332 if(
+\94
+.
+\92coded
+ == -1) {
+
+333 if(
+\94
+.
+ç\9eed_ty³
+ &&\83r.ç\9eed_ty³->
+Ý
+->
+u³r_\92cod\94
+) {
+
+334
+\94ºo
+ =
+EBADF
+;
+
+336
+\94ºo
+ =
+ENOENT
+;
+
+339
+ `ASN_DEBUG
+("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
+\94
+.
+\92coded
+);
+
+340 if(
+\94
+.
+\92coded
+ == 0) {
+
+342 if(
+ `ÿÎback
+("\0", 1,
+ÿÎback_key
+) < 0) {
+
+343
+\94ºo
+ =
+EBADF
+;
+
+344
+ASN__ENCODE_FAILED
+;
+
+346
+\94
+.
+\92coded
+ = 8;
+
+349
+\94
+.
+\92coded
+ = (er.encoded + 7) >> 3;
+
+352
+\94ºo
+ =
+ENOENT
+;
+
+353
+ASN__ENCODE_FAILED
+;
+
+356 \ 4
+ATS_ALIGNED_BASIC_PER
+:
+
+359 \ 4
+ATS_ALIGNED_CANONICAL_PER
+:
+
+360 if(
+td
+->
+Ý
+->
+\94_\92cod\94
+) {
+
+361
+\94
+ =
+ `\94_\92code
+(
+td
+, 0,
+¥\8c
+,
+ÿÎback
+,
+ÿÎback_key
+);
+
+362 if(
+\94
+.
+\92coded
+ == -1) {
+
+363 if(
+\94
+.
+ç\9eed_ty³
+ &&\83r.ç\9eed_ty³->
+Ý
+->
+\94_\92cod\94
+) {
+
+364
+\94ºo
+ =
+EBADF
+;
+
+366
+\94ºo
+ =
+ENOENT
+;
+
+369
+ `ASN_DEBUG
+("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
+\94
+.
+\92coded
+);
+
+370 if(
+\94
+.
+\92coded
+ == 0) {
+
+372 if(
+ `ÿÎback
+("\0", 1,
+ÿÎback_key
+) < 0) {
+
+373
+\94ºo
+ =
+EBADF
+;
+
+374
+ASN__ENCODE_FAILED
+;
+
+376
+\94
+.
+\92coded
+ = 8;
+
+379
+\94
+.
+\92coded
+ = (er.encoded + 7) >> 3;
+
+382
+\94ºo
+ =
+ENOENT
+;
+
+383
+ASN__ENCODE_FAILED
+;
+
+388 \ 4
+ATS_BASIC_XER
+:
+
+390
+x\94_æags
+ &ð~
+XER_F_CANONICAL
+;
+
+391
+x\94_æags
+ |ð
+XER_F_BASIC
+;
+
+393 \ 4
+ATS_CANONICAL_XER
+:
+
+394 if(
+td
+->
+Ý
+->
+x\94_\92cod\94
+) {
+
+395
+\94
+ =
+ `x\94_\92code
+(
+td
+,
+¥\8c
+,
+x\94_æags
+,
+ÿÎback
+,
+ÿÎback_key
+);
+
+396 if(
+\94
+.
+\92coded
+ == -1) {
+
+397 if(
+\94
+.
+ç\9eed_ty³
+ &&\83r.ç\9eed_ty³->
+Ý
+->
+x\94_\92cod\94
+) {
+
+398
+\94ºo
+ =
+EBADF
+;
+
+400
+\94ºo
+ =
+ENOENT
+;
+
+404
+\94ºo
+ =
+ENOENT
+;
+
+405
+ASN__ENCODE_FAILED
+;
+
+410
+\94ºo
+ =
+ENOENT
+;
+
+411
+ASN__ENCODE_FAILED
+;
+
+414 \15
+\94
+;
+
+415
+ }
+}
+
+417
+a¢_dec_rv®_t
+
+
+418
+ $a¢_decode
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+419 \f
+a¢_\8cªsãr_syÁax
+
+syÁax
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+420 \1e**
+¥\8c
+, cڡ \1e*
+bufãr
+,
+size_t
+
+size
+) {
+
+421 if(!
+td
+ || !td->
+Ý
+ || !
+¥\8c
+ || (
+size
+ && !
+bufãr
+)) {
+
+422
+ASN__DECODE_FAILED
+;
+
+425 \1a
+syÁax
+) {
+
+426 \ 4
+ATS_CER
+:
+
+427 \ 4
+ATS_NONSTANDARD_PLAINTEXT
+:
+
+429
+\94ºo
+ =
+ENOENT
+;
+
+430
+ASN__DECODE_FAILED
+;
+
+432 \ 4
+ATS_RANDOM
+:
+
+433 if(!
+td
+->
+Ý
+->
+¿ndom_f\9el
+) {
+
+434
+ASN__DECODE_FAILED
+;
+
+436 if(
+ `a¢_¿ndom_f\9el
+(
+td
+,
+¥\8c
+, 16000) == 0) {
+
+437
+a¢_dec_rv®_t
+
+»t
+ = {
+RC_OK
+, 0};
+
+438 \15
+»t
+;
+
+440
+ASN__DECODE_FAILED
+;
+
+445 \ 4
+ATS_DER
+:
+
+446 \ 4
+ATS_BER
+:
+
+447 \15
+ `b\94_decode
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+bufãr
+,
+size
+);
+
+449 \ 4
+ATS_BASIC_OER
+:
+
+450 \ 4
+ATS_CANONICAL_OER
+:
+
+451 #ifdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+452
+\94ºo
+ =
+ENOENT
+;
+
+453
+ASN__DECODE_FAILED
+;
+
+455 \15
+ `Ûr_decode
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+bufãr
+,
+size
+);
+
+458 \ 4
+ATS_UNALIGNED_BASIC_PER
+:
+
+459 \ 4
+ATS_UNALIGNED_CANONICAL_PER
+:
+
+460 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+461
+\94ºo
+ =
+ENOENT
+;
+
+462
+ASN__DECODE_FAILED
+;
+
+464 \15
+ `u³r_decode_com¶\91e
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+bufãr
+,
+size
+);
+
+467 \ 4
+ATS_ALIGNED_BASIC_PER
+:
+
+468 \ 4
+ATS_ALIGNED_CANONICAL_PER
+:
+
+469 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+470
+\94ºo
+ =
+ENOENT
+;
+
+471
+ASN__DECODE_FAILED
+;
+
+473 \15
+ `\94_decode_com¶\91e
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+bufãr
+,
+size
+);
+
+476 \ 4
+ATS_BASIC_XER
+:
+
+477 \ 4
+ATS_CANONICAL_XER
+:
+
+478 \15
+ `x\94_decode
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+bufãr
+,
+size
+);
+
+480
+ }
+}
+
+ @asn_bit_data.c
+
+6 \ 2
+ ~<a¢_sy¡em.h
+>
+
+7 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+8 \ 2
+ ~<a¢_b\99_d©a.h
+>
+
+14
+a¢_b\99_d©a_t
+ *
+
+15
+ $a¢_b\99_d©a_Ãw_cÚtiguous
+(cڡ \1e*
+d©a
+,
+size_t
+
+size_b\99s
+) {
+
+16
+size_t
+
+size_by\8bs
+ = (
+size_b\99s
+ + 7) / 8;
+
+17
+a¢_b\99_d©a_t
+ *
+pd
+;
+
+18
+u\9at8_t
+ *
+by\8bs
+;
+
+21
+pd
+ =
+ `CALLOC
+(1, \17(*pdè+
+size_by\8bs
+ + 1);
+
+22 if(!
+pd
+) {
+
+23 \15
+NULL
+;
+
+25
+by\8bs
+ = (\1e*)(((\ 5*)
+pd
+) + \17(*pd));
+
+26
+ `memýy
+(
+by\8bs
+,
+d©a
+,
+size_by\8bs
+);
+
+27
+by\8bs
+[
+size_by\8bs
+] = 0;
+
+28
+pd
+->
+bufãr
+ =
+by\8bs
+;
+
+29
+pd
+->
+nboff
+ = 0;
+
+30
+pd
+->
+nb\99s
+ =
+size_b\99s
+;
+
+32 \15
+pd
+;
+
+33
+ }
+}
+
+37
+ $a¢_b\99_d©a_¡r\9ag
+(
+a¢_b\99_d©a_t
+ *
+pd
+) {
+
+38 \18\ 5
+buf
+[2][32];
+
+39 \18\12
+n
+;
+
+40
+n
+ = (n+1) % 2;
+
+41
+ `¢´\9atf
+(
+buf
+[
+n
+], \17(buf[n]),
+
+42 "{m=%"
+ASN_PRI_SIZE
+ " span %" ASN_PRI_SIZE "[%" ASN_PRI_SIZE
+
+43 "..%"
+ASN_PRI_SIZE
+ "] (%" ASN_PRI_SIZE ")}",
+
+44
+pd
+->
+moved
+, ((
+u\9a\8d\8c_t
+)Õd->
+bufãr
+è& 0xf),\85d->
+nboff
+,\85d->
+nb\99s
+,
+
+45
+pd
+->
+nb\99s
+ -\85d->
+nboff
+);
+
+46 \15
+buf
+[
+n
+];
+
+47
+ }
+}
+
+50
+ $a¢_g\91_undo
+(
+a¢_b\99_d©a_t
+ *
+pd
+, \12
+nb\99s
+) {
+
+51 if((
+ssize_t
+)
+pd
+->
+nboff
+ <
+nb\99s
+) {
+
+52
+ `as£¹
+((
+ssize_t
+)
+pd
+->
+nboff
+ <
+nb\99s
+);
+
+54
+pd
+->
+nboff
+ -ð
+nb\99s
+;
+
+55
+pd
+->
+moved
+ -ð
+nb\99s
+;
+
+57
+ }
+}
+
+62
+\9at32_t
+
+
+63
+ $a¢_g\91_ãw_b\99s
+(
+a¢_b\99_d©a_t
+ *
+pd
+, \12
+nb\99s
+) {
+
+64
+size_t
+
+off
+;
+
+65
+ssize_t
+
+Æeá
+;
+
+66
+u\9at32_t
+
+accum
+;
+
+67 cڡ
+u\9at8_t
+ *
+buf
+;
+
+69 if(
+nb\99s
+ < 0)
+
+72
+Æeá
+ =
+pd
+->
+nb\99s
+ -\85d->
+nboff
+;
+
+73 if(
+nb\99s
+ >
+Æeá
+) {
+
+74
+\9at32_t
+
+\8f\9ev
+,
+vh\97d
+;
+
+75 if(!
+pd
+->
+»f\9el
+ ||
+nb\99s
+ > 31) \15 -1;
+
+77
+ `ASN_DEBUG
+("Obtain\81he\84est %d bits (want %d)",
+
+78 (\12)
+Æeá
+, (\12)
+nb\99s
+);
+
+79
+\8f\9ev
+ =
+ `a¢_g\91_ãw_b\99s
+(
+pd
+,
+Æeá
+);
+
+80 if(
+\8f\9ev
+ < 0) \15 -1;
+
+82 if(
+pd
+->
+ `»f\9el
+(pd))
+
+84
+nb\99s
+ -ð
+Æeá
+;
+
+85
+vh\97d
+ =
+ `a¢_g\91_ãw_b\99s
+(
+pd
+,
+nb\99s
+);
+
+87
+\8f\9ev
+ = (\8f\9ev <<
+nb\99s
+è|
+vh\97d
+;
+
+88 \15
+\8f\9ev
+;
+
+94 if(
+pd
+->
+nboff
+ >= 8) {
+
+95
+pd
+->
+bufãr
+ +ðÕd->
+nboff
+ >> 3);
+
+96
+pd
+->
+nb\99s
+ -ðÕd->
+nboff
+ & ~0x07);
+
+97
+pd
+->
+nboff
+ &= 0x07;
+
+99
+pd
+->
+moved
+ +ð
+nb\99s
+;
+
+100
+pd
+->
+nboff
+ +ð
+nb\99s
+;
+
+101
+off
+ =
+pd
+->
+nboff
+;
+
+102
+buf
+ =
+pd
+->
+bufãr
+;
+
+107 if(
+off
+ <= 8)
+
+108
+accum
+ =
+nb\99s
+ ? (
+buf
+[0]è>> (8 -
+off
+) : 0;
+
+109 \vif(
+off
+ <= 16)
+
+110
+accum
+ = ((
+buf
+[0] << 8è+ buf[1]è>> (16 -
+off
+);
+
+111 \vif(
+off
+ <= 24)
+
+112
+accum
+ = ((
+buf
+[0] << 16è+ (buf[1] << 8è+ buf[2]è>> (24 -
+off
+);
+
+113 \vif(
+off
+ <= 31)
+
+114
+accum
+ = (((
+u\9at32_t
+)
+buf
+[0] << 24) + (buf[1] << 16)
+
+115 + (
+buf
+[2] << 8è+ (buf[3])è>> (32 -
+off
+);
+
+116 \vif(
+nb\99s
+ <= 31) {
+
+117
+a¢_b\99_d©a_t
+
+\8dd
+ = *
+pd
+;
+
+119
+ `a¢_g\91_undo
+(&
+\8dd
+,
+nb\99s
+);
+
+123
+accum
+ =
+ `a¢_g\91_ãw_b\99s
+(&
+\8dd
+,
+nb\99s
+ - 24) << 24;
+
+124
+accum
+ |ð
+ `a¢_g\91_ãw_b\99s
+(&
+\8dd
+, 24);
+
+126
+ `a¢_g\91_undo
+(
+pd
+,
+nb\99s
+);
+
+130
+accum
+ &ð(((
+u\9at32_t
+)1 <<
+nb\99s
+) - 1);
+
+132
+ `ASN_DEBUG
+(" [PER got %2d<=%2d bits => span %d %+ld[%d..%d]:%02x (%d) => 0x%x]",
+
+133 (\12)
+nb\99s
+, (\12)
+Æeá
+,
+
+134 (\12)
+pd
+->
+moved
+,
+
+135 (((\13)
+pd
+->
+bufãr
+) & 0xf),
+
+136 (\12)
+pd
+->
+nboff
+, (\12íd->
+nb\99s
+,
+
+137 ((
+pd
+->
+bufãr
+ !ð
+NULL
+)?pd->buffer[0]:0),
+
+138 (\12)(
+pd
+->
+nb\99s
+ -\85d->
+nboff
+),
+
+139 (\12)
+accum
+);
+
+141 \15
+accum
+;
+
+142
+ }
+}
+
+148
+ $a¢_g\91_mªy_b\99s
+(
+a¢_b\99_d©a_t
+ *
+pd
+,
+u\9at8_t
+ *
+d¡
+, \12
+®right
+, \12
+nb\99s
+) {
+
+149
+\9at32_t
+
+v®ue
+;
+
+151 if(
+®right
+ && (
+nb\99s
+ & 7)) {
+
+153
+v®ue
+ =
+ `a¢_g\91_ãw_b\99s
+(
+pd
+,
+nb\99s
+ & 0x07);
+
+154 if(
+v®ue
+ < 0) \15 -1;
+
+155 *
+d¡
+++ =
+v®ue
+;
+
+156
+nb\99s
+ &= ~7;
+
+159 \1f
+nb\99s
+) {
+
+160 if(
+nb\99s
+ >= 24) {
+
+161
+v®ue
+ =
+ `a¢_g\91_ãw_b\99s
+(
+pd
+, 24);
+
+162 if(
+v®ue
+ < 0) \15 -1;
+
+163 *(
+d¡
+++èð
+v®ue
+ >> 16;
+
+164 *(
+d¡
+++èð
+v®ue
+ >> 8;
+
+165 *(
+d¡
+++èð
+v®ue
+;
+
+166
+nb\99s
+ -= 24;
+
+168
+v®ue
+ =
+ `a¢_g\91_ãw_b\99s
+(
+pd
+,
+nb\99s
+);
+
+169 if(
+v®ue
+ < 0) \15 -1;
+
+170 if(
+nb\99s
+ & 7) {
+
+171
+v®ue
+ <<ð8 - (
+nb\99s
+ & 7),
+
+172
+nb\99s
+ += 8 - (nbits & 7);
+
+173 if(
+nb\99s
+ > 24)
+
+174 *
+d¡
+++ =
+v®ue
+ >> 24;
+
+176 if(
+nb\99s
+ > 16)
+
+177 *
+d¡
+++ =
+v®ue
+ >> 16;
+
+178 if(
+nb\99s
+ > 8)
+
+179 *
+d¡
+++ =
+v®ue
+ >> 8;
+
+180 *
+d¡
+++ =
+v®ue
+;
+
+186
+ }
+}
+
+192
+ $a¢_put_ãw_b\99s
+(
+a¢_b\99_ou\8d_t
+ *
+po
+,
+u\9at32_t
+
+b\99s
+, \12
+ob\99s
+) {
+
+193
+size_t
+
+off
+;
+
+194
+size_t
+
+omsk
+;
+
+195
+u\9at8_t
+ *
+buf
+;
+
+197 if(
+ob\99s
+ <= 0 || obits >= 32) \15 obits ? -1 : 0;
+
+199
+ `ASN_DEBUG
+("[PER\85ut %d bits %x\81o %p+%d bits]",
+
+200
+ob\99s
+, (\12)
+b\99s
+, (\1e*)
+po
+->
+bufãr
+, (\12ío->
+nboff
+);
+
+205 if(
+po
+->
+nboff
+ >= 8) {
+
+206
+po
+->
+bufãr
+ +ðÕo->
+nboff
+ >> 3);
+
+207
+po
+->
+nb\99s
+ -ðÕo->
+nboff
+ & ~0x07);
+
+208
+po
+->
+nboff
+ &= 0x07;
+
+214 if(
+po
+->
+nboff
+ +
+ob\99s
+ >\85o->
+nb\99s
+) {
+
+215
+size_t
+
+com¶\91e_by\8bs
+;
+
+216 if(!
+po
+->
+bufãr
+èpo->bufã¸ðpo->
+tmp¥aû
+;
+
+217
+com¶\91e_by\8bs
+ = (
+po
+->
+bufãr
+ -\85o->
+tmp¥aû
+);
+
+218
+ `ASN_DEBUG
+("[PER output %ld complete + %ld]",
+
+219 (\13)
+com¶\91e_by\8bs
+, (\13)
+po
+->
+æushed_by\8bs
+);
+
+220 if(
+po
+->
+ `ou\8dut
+Õo->
+tmp¥aû
+,
+com¶\91e_by\8bs
+,\85o->
+Ý_key
+) < 0)
+
+222 if(
+po
+->
+nboff
+)
+
+223
+po
+->
+tmp¥aû
+[0] =\85o->
+bufãr
+[0];
+
+224
+po
+->
+bufãr
+ =\85o->
+tmp¥aû
+;
+
+225
+po
+->
+nb\99s
+ = 8 * \17Õo->
+tmp¥aû
+);
+
+226
+po
+->
+æushed_by\8bs
+ +ð
+com¶\91e_by\8bs
+;
+
+232
+buf
+ =
+po
+->
+bufãr
+;
+
+233
+omsk
+ = ~((1 << (8 -
+po
+->
+nboff
+)) - 1);
+
+234
+off
+ = (
+po
+->
+nboff
+ +
+ob\99s
+);
+
+237
+b\99s
+ &ð(((
+u\9at32_t
+)1 <<
+ob\99s
+) - 1);
+
+239
+ `ASN_DEBUG
+("[PER ou\88%d %u/%x (t=%d,o=%dè%x&%x=%x]",
+ob\99s
+,
+
+240 (\12)
+b\99s
+, (\12)bits,
+
+241 (\12)
+po
+->
+nboff
+, (\12)
+off
+,
+
+242
+buf
+[0], (\12)(
+omsk
+&0xff),
+
+243 (\12)(
+buf
+[0] &
+omsk
+));
+
+245 if(
+off
+ <= 8)
+
+246
+po
+->
+nboff
+ =
+off
+,
+
+247
+b\99s
+ <<ð(8 -
+off
+),
+
+248
+buf
+[0] = (buf[0] &
+omsk
+è|
+b\99s
+;
+
+249 \vif(
+off
+ <= 16)
+
+250
+po
+->
+nboff
+ =
+off
+,
+
+251
+b\99s
+ <<ð(16 -
+off
+),
+
+252
+buf
+[0] = (buf[0] &
+omsk
+è| (
+b\99s
+ >> 8),
+
+253
+buf
+[1] =
+b\99s
+;
+
+254 \vif(
+off
+ <= 24)
+
+255
+po
+->
+nboff
+ =
+off
+,
+
+256
+b\99s
+ <<ð(24 -
+off
+),
+
+257
+buf
+[0] = (buf[0] &
+omsk
+è| (
+b\99s
+ >> 16),
+
+258
+buf
+[1] =
+b\99s
+ >> 8,
+
+259
+buf
+[2] =
+b\99s
+;
+
+260 \vif(
+off
+ <= 31)
+
+261
+po
+->
+nboff
+ =
+off
+,
+
+262
+b\99s
+ <<ð(32 -
+off
+),
+
+263
+buf
+[0] = (buf[0] &
+omsk
+è| (
+b\99s
+ >> 24),
+
+264
+buf
+[1] =
+b\99s
+ >> 16,
+
+265
+buf
+[2] =
+b\99s
+ >> 8,
+
+266
+buf
+[3] =
+b\99s
+;
+
+268 if(
+ `a¢_put_ãw_b\99s
+(
+po
+,
+b\99s
+ >> (
+ob\99s
+ - 24), 24)) \15 -1;
+
+269 if(
+ `a¢_put_ãw_b\99s
+(
+po
+,
+b\99s
+,
+ob\99s
+ - 24)) \15 -1;
+
+272
+ `ASN_DEBUG
+("[PER out %u/%x => %02x buf+%ld]",
+
+273 (\12)
+b\99s
+, (\12)b\99s,
+buf
+[0],
+
+274 (\13)(
+po
+->
+bufãr
+ -\85o->
+tmp¥aû
+));
+
+277
+ }
+}
+
+284
+ $a¢_put_mªy_b\99s
+(
+a¢_b\99_ou\8d_t
+ *
+po
+, cڡ
+u\9at8_t
+ *
+¤c
+, \12
+nb\99s
+) {
+
+286 \1f
+nb\99s
+) {
+
+287
+u\9at32_t
+
+v®ue
+;
+
+289 if(
+nb\99s
+ >= 24) {
+
+290
+v®ue
+ = (
+¤c
+[0] << 16) | (src[1] << 8) | src[2];
+
+291
+¤c
+ += 3;
+
+292
+nb\99s
+ -= 24;
+
+293 if(
+ `a¢_put_ãw_b\99s
+(
+po
+,
+v®ue
+, 24))
+
+296
+v®ue
+ =
+¤c
+[0];
+
+297 if(
+nb\99s
+ > 8)
+
+298
+v®ue
+ = (v®u\90<< 8è|
+¤c
+[1];
+
+299 if(
+nb\99s
+ > 16)
+
+300
+v®ue
+ = (v®u\90<< 8è|
+¤c
+[2];
+
+301 if(
+nb\99s
+ & 0x07)
+
+302
+v®ue
+ >>ð(8 - (
+nb\99s
+ & 0x07));
+
+303 if(
+ `a¢_put_ãw_b\99s
+(
+po
+,
+v®ue
+,
+nb\99s
+))
+
+310
+ }
+}
+
+314
+ $a¢_put_®igÃd_æush
+(
+a¢_b\99_ou\8d_t
+ *
+po
+) {
+
+315
+u\9at32_t
+
+unu£d_b\99s
+ = (0x7 & (8 - (
+po
+->
+nboff
+ & 0x07)));
+
+316
+size_t
+
+com¶\91e_by\8bs
+ =
+
+317 (
+po
+->
+bufãr
+ ?\85o->bufã¸-\85o->
+tmp¥aû
+ : 0è+ (Õo->
+nboff
+ + 7) >> 3);
+
+319 if(
+unu£d_b\99s
+) {
+
+320
+po
+->
+bufãr
+[po->
+nboff
+ >> 3] &ð~0u <<
+unu£d_b\99s
+;
+
+323 if(
+po
+->
+ `ou\8dut
+Õo->
+tmp¥aû
+,
+com¶\91e_by\8bs
+,\85o->
+Ý_key
+) < 0) {
+
+326
+po
+->
+bufãr
+ =\85o->
+tmp¥aû
+;
+
+327
+po
+->
+nboff
+ = 0;
+
+328
+po
+->
+nb\99s
+ = 8 * \17Õo->
+tmp¥aû
+);
+
+329
+po
+->
+æushed_by\8bs
+ +ð
+com¶\91e_by\8bs
+;
+
+332
+ }
+}
+
+ @asn_codecs_prim.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_codecs_´im.h
+>
+
+7 \ 2
+ ~<\94ºo.h
+>
+
+12
+a¢_dec_rv®_t
+
+
+13
+ $b\94_decode_´im\99ive
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+14 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+15 cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+16
+ASN__PRIMITIVE_TYPE_t
+ *
+¡
+ = (ASN__PRIMITIVE_TYPE_\88*)*
+¥\8c
+;
+
+17
+a¢_dec_rv®_t
+
+rv®
+;
+
+18
+b\94_\8ev_Ën_t
+
+Ëngth
+ = 0;
+
+23 if(
+¡
+ =ð
+NULL
+) {
+
+24
+¡
+ = (
+ASN__PRIMITIVE_TYPE_t
+ *)
+ `CALLOC
+(1, \17(*st));
+
+25 if(
+¡
+ =ð
+NULL
+è
+ASN__DECODE_FAILED
+;
+
+26 *
+¥\8c
+ = (\1e*)
+¡
+;
+
+29
+ `ASN_DEBUG
+("Decoding %s\87s\85lain\85rimitive (tm=%d)",
+
+30
+td
+->
+Çme
+,
+\8fg_mode
+);
+
+35
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+, 0,
+buf_±r
+,
+size
+,
+
+36
+\8fg_mode
+, 0, &
+Ëngth
+, 0);
+
+37 if(
+rv®
+.
+code
+ !ð
+RC_OK
+)
+
+38 \15
+rv®
+;
+
+40
+ `ASN_DEBUG
+("% Ëngth i %d by\8bs",
+td
+->
+Çme
+, (\12)
+Ëngth
+);
+
+45
+buf_±r
+ = ((cÚ¡ \ 5*)buf_±rè+
+rv®
+.
+cÚsumed
+;
+
+46
+size
+ -ð
+rv®
+.
+cÚsumed
+;
+
+47 if(
+Ëngth
+ > (
+b\94_\8ev_Ën_t
+)
+size
+) {
+
+48
+rv®
+.
+code
+ =
+RC_WMORE
+;
+
+49
+rv®
+.
+cÚsumed
+ = 0;
+
+50 \15
+rv®
+;
+
+53
+¡
+->
+size
+ = (\12)
+Ëngth
+;
+
+55 if(\17(
+¡
+->
+size
+è!ð\17(
+Ëngth
+)
+
+56 && (
+b\94_\8ev_Ën_t
+)
+¡
+->
+size
+ !ð
+Ëngth
+) {
+
+57
+¡
+->
+size
+ = 0;
+
+58
+ASN__DECODE_FAILED
+;
+
+61
+¡
+->
+buf
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(
+Ëngth
+ + 1);
+
+62 if(!
+¡
+->
+buf
+) {
+
+63
+¡
+->
+size
+ = 0;
+
+64
+ASN__DECODE_FAILED
+;
+
+67
+ `memýy
+(
+¡
+->
+buf
+,
+buf_±r
+,
+Ëngth
+);
+
+68
+¡
+->
+buf
+[
+Ëngth
+] = '\0';
+
+70
+rv®
+.
+code
+ =
+RC_OK
+;
+
+71
+rv®
+.
+cÚsumed
+ +ð
+Ëngth
+;
+
+73
+ `ASN_DEBUG
+("Took %ld/%ld bytes\81o\83ncode %s",
+
+74 (\13)
+rv®
+.
+cÚsumed
+,
+
+75 (\13)
+Ëngth
+,
+td
+->
+Çme
+);
+
+77 \15
+rv®
+;
+
+78
+ }
+}
+
+83
+a¢_\92c_rv®_t
+
+
+84
+ $d\94_\92code_´im\99ive
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+85 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+
+86
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+87
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+88 cڡ
+ASN__PRIMITIVE_TYPE_t
+ *
+¡
+ = (cÚ¡ ASN__PRIMITIVE_TYPE_\88*)
+¥\8c
+;
+
+90
+ `ASN_DEBUG
+("%s %s\87s\87\85rimitive\81ype (tm=%d)",
+
+91
+cb
+?"Encod\9ag":"E¡im©\9ag",
+td
+->
+Çme
+,
+\8fg_mode
+);
+
+93
+\94v®
+.
+\92coded
+ =
+ `d\94_wr\99e_\8fgs
+(
+td
+,
+¡
+->
+size
+,
+\8fg_mode
+, 0,
+\8fg
+,
+
+94
+cb
+,
+p_key
+);
+
+95
+ `ASN_DEBUG
+("% wrÙ\90\8fg %d",
+td
+->
+Çme
+, (\12)
+\94v®
+.
+\92coded
+);
+
+96 if(
+\94v®
+.
+\92coded
+ == -1) {
+
+97
+\94v®
+.
+ç\9eed_ty³
+ =
+td
+;
+
+98
+\94v®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+99 \15
+\94v®
+;
+
+102 if(
+cb
+ &&
+¡
+->
+buf
+) {
+
+103 if(
+ `cb
+(
+¡
+->
+buf
+, st->
+size
+,
+p_key
+) < 0) {
+
+104
+\94v®
+.
+\92coded
+ = -1;
+
+105
+\94v®
+.
+ç\9eed_ty³
+ =
+td
+;
+
+106
+\94v®
+.
+¡ruùu»_±r
+ =
+¥\8c
+;
+
+107 \15
+\94v®
+;
+
+110
+ `as£¹
+(
+¡
+->
+buf
+ || st->
+size
+ == 0);
+
+113
+\94v®
+.
+\92coded
+ +ð
+¡
+->
+size
+;
+
+114
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+115
+ }
+}
+
+118
+ $ASN__PRIMITIVE_TYPE_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+119 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+120
+ASN__PRIMITIVE_TYPE_t
+ *
+¡
+ = (ASN__PRIMITIVE_TYPE_\88*)
+¥\8c
+;
+
+122 if(!
+td
+ || !
+¥\8c
+)
+
+125
+ `ASN_DEBUG
+("F»e\9ag % a ¨´im\99iv\90ty³",
+td
+->
+Çme
+);
+
+127 if(
+¡
+->
+buf
+)
+
+128
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+130 \1a
+m\91hod
+) {
+
+131 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+132
+ `FREEMEM
+(
+¥\8c
+);
+
+134 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+136 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+:
+
+137
+ `mem£t
+(
+¥\8c
+, 0, \17(
+ASN__PRIMITIVE_TYPE_t
+));
+
+140
+ }
+}
+
+146 \19
+ sxdp_¬g_s
+ {
+
+147 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ mty³_desü\9dtÜ
+;
+
+148 \1e*
+ m¡ruù_key
+;
+
+149
+x\94_´im\99ive_body_decod\94_f
+ *
+ m´im_body_decod\94
+;
+
+150 \12
+ mdecoded_som\91h\9ag
+;
+
+151 \12
+ mwªt_mÜe
+;
+
+160
+ $x\94_decode__uÃx³ùed_\8fg
+(\1e*
+key
+, cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+) {
+
+161 \19
+xdp_¬g_s
+ *
+¬g
+ = (\19xdp_¬g_ *)
+key
+;
+
+162 \f
+x\94_pbd_rv®
+
+b»t
+;
+
+167
+ `as£¹
+(
+chunk_size
+ && ((cڡ \ 5*)
+chunk_buf
+)[0] == 0x3c);
+
+172 if(
+¬g
+->
+decoded_som\91h\9ag
+)
+
+175
+b»t
+ =
+¬g
+->
+ `´im_body_decod\94
+×rg->
+ty³_desü\9dtÜ
+,
+
+176
+¬g
+->
+¡ruù_key
+,
+chunk_buf
+,
+chunk_size
+);
+
+177 \1a
+b»t
+) {
+
+178 \ 4
+XPBD_SYSTEM_FAILURE
+:
+
+179 \ 4
+XPBD_DECODER_LIMIT
+:
+
+180 \ 4
+XPBD_BROKEN_ENCODING
+:
+
+182 \ 4
+XPBD_BODY_CONSUMED
+:
+
+184
+¬g
+->
+decoded_som\91h\9ag
+ = 1;
+
+186 \ 4
+XPBD_NOT_BODY_IGNORE
+:
+
+191
+ }
+}
+
+193 \18
+ssize_t
+
+
+194
+ $x\94_decode__´im\99ive_body
+(\1e*
+key
+, cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+, \12
+have_mÜe
+) {
+
+195 \19
+xdp_¬g_s
+ *
+¬g
+ = (\19xdp_¬g_ *)
+key
+;
+
+196 \f
+x\94_pbd_rv®
+
+b»t
+;
+
+197
+size_t
+
+Ëad_w¥_size
+;
+
+199 if(
+¬g
+->
+decoded_som\91h\9ag
+) {
+
+200 if(
+ `x\94_wh\99e¥aû_¥ª
+(
+chunk_buf
+,
+chunk_size
+) == chunk_size) {
+
+206 \15
+chunk_size
+;
+
+214 if(!
+have_mÜe
+) {
+
+223
+¬g
+->
+wªt_mÜe
+ = 1;
+
+227
+Ëad_w¥_size
+ =
+ `x\94_wh\99e¥aû_¥ª
+(
+chunk_buf
+,
+chunk_size
+);
+
+228
+chunk_buf
+ = (cÚ¡ \ 5*)chunk_buà+
+Ëad_w¥_size
+;
+
+229
+chunk_size
+ -ð
+Ëad_w¥_size
+;
+
+231
+b»t
+ =
+¬g
+->
+ `´im_body_decod\94
+×rg->
+ty³_desü\9dtÜ
+,
+
+232
+¬g
+->
+¡ruù_key
+,
+chunk_buf
+,
+chunk_size
+);
+
+233 \1a
+b»t
+) {
+
+234 \ 4
+XPBD_SYSTEM_FAILURE
+:
+
+235 \ 4
+XPBD_DECODER_LIMIT
+:
+
+236 \ 4
+XPBD_BROKEN_ENCODING
+:
+
+238 \ 4
+XPBD_BODY_CONSUMED
+:
+
+240
+¬g
+->
+decoded_som\91h\9ag
+ = 1;
+
+242 \ 4
+XPBD_NOT_BODY_IGNORE
+:
+
+243 \15
+Ëad_w¥_size
+ +
+chunk_size
+;
+
+247
+ }
+}
+
+250
+a¢_dec_rv®_t
+
+
+251
+ $x\94_decode_´im\99ive
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+252 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+253
+size_t
+
+¡ruù_size
+, cڡ \ 5*
+Ýt_mÇme
+,
+
+254 cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+,
+
+255
+x\94_´im\99ive_body_decod\94_f
+ *
+´im_body_decod\94
+) {
+
+256 cڡ \ 5*
+xml_\8fg
+ =
+Ýt_mÇme
+ ? o±_mÇm\90:
+td
+->xml_tag;
+
+257
+a¢_¡ruù_ùx_t
+
+s_ùx
+;
+
+258 \19
+xdp_¬g_s
+
+s_¬g
+;
+
+259
+a¢_dec_rv®_t
+
+rc
+;
+
+264 if(!*
+¥\8c
+) {
+
+265 *
+¥\8c
+ =
+ `CALLOC
+(1,
+¡ruù_size
+);
+
+266 if(!*
+¥\8c
+è
+ASN__DECODE_FAILED
+;
+
+269
+ `mem£t
+(&
+s_ùx
+, 0, \17(s_ctx));
+
+270
+s_¬g
+.
+ty³_desü\9dtÜ
+ =
+td
+;
+
+271
+s_¬g
+.
+¡ruù_key
+ = *
+¥\8c
+;
+
+272
+s_¬g
+.
+´im_body_decod\94
+ =\85rim_body_decoder;
+
+273
+s_¬g
+.
+decoded_som\91h\9ag
+ = 0;
+
+274
+s_¬g
+.
+wªt_mÜe
+ = 0;
+
+276
+rc
+ =
+ `x\94_decode_g\92\94®
+(
+Ýt_codec_ùx
+, &
+s_ùx
+, &
+s_¬g
+,
+
+277
+xml_\8fg
+,
+buf_±r
+,
+size
+,
+
+278
+x\94_decode__uÃx³ùed_\8fg
+,
+x\94_decode__´im\99ive_body
+);
+
+279 \1a
+rc
+.
+code
+) {
+
+280 \ 4
+RC_OK
+:
+
+281 if(!
+s_¬g
+.
+decoded_som\91h\9ag
+) {
+
+282 \ 5
+ch
+;
+
+283
+ `ASN_DEBUG
+("Primitive body is\82ot\84ecognized, "
+
+290 if(
+ `´im_body_decod\94
+(
+s_¬g
+.
+ty³_desü\9dtÜ
+,
+
+291
+s_¬g
+.
+¡ruù_key
+, &
+ch
+, 0)
+
+292 !ð
+XPBD_BODY_CONSUMED
+) {
+
+296
+ASN__DECODE_FAILED
+;
+
+300 \ 4
+RC_WMORE
+:
+
+305
+rc
+.
+cÚsumed
+ = 0;
+
+307 \ 4
+RC_FAIL
+:
+
+308
+rc
+.
+cÚsumed
+ = 0;
+
+309 if(
+s_¬g
+.
+wªt_mÜe
+)
+
+310
+rc
+.
+code
+ =
+RC_WMORE
+;
+
+312
+ASN__DECODE_FAILED
+;
+
+315 \15
+rc
+;
+
+316
+ }
+}
+
+ @asn_internal.c
+
+1 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+3
+ssize_t
+
+
+4
+ $a¢__fÜm©_to_ÿÎback
+(\12(*
+cb
+)(cڡ \1e*,
+size_t
+, \1e*
+key
+), \1e*key,
+
+5 cڡ \ 5*
+fmt
+, ...) {
+
+6 \ 5
+sü©ch
+[64];
+
+7 \ 5*
+buf
+ =
+sü©ch
+;
+
+8
+size_t
+
+buf_size
+ = \17(
+sü©ch
+);
+
+9 \12
+wrÙe
+;
+
+10 \12
+cb_»t
+;
+
+13
+va_li¡
+
+¬gs
+;
+
+14
+ `va_¡¬t
+(
+¬gs
+,
+fmt
+);
+
+16
+wrÙe
+ =
+ `v¢´\9atf
+(
+buf
+,
+buf_size
+,
+fmt
+,
+¬gs
+);
+
+17 if(
+wrÙe
+ < (
+ssize_t
+)
+buf_size
+) {
+
+18 if(
+wrÙe
+ < 0) {
+
+19 if(
+buf
+ !ð
+sü©ch
+è
+ `FREEMEM
+(buf);
+
+20
+ `va_\92d
+(
+¬gs
+);
+
+26
+buf_size
+ <<= 1;
+
+27 if(
+buf
+ =ð
+sü©ch
+) {
+
+28
+buf
+ =
+ `MALLOC
+(
+buf_size
+);
+
+29 if(!
+buf
+è{
+ `va_\92d
+(
+¬gs
+); \15 -1; }
+
+31 \1e*
+p
+ =
+ `REALLOC
+(
+buf
+,
+buf_size
+);
+
+32 if(!
+p
+) {
+
+33
+ `FREEMEM
+(
+buf
+);
+
+34
+ `va_\92d
+(
+¬gs
+);
+
+37
+buf
+ =
+p
+;
+
+41
+cb_»t
+ =
+ `cb
+(
+buf
+,
+wrÙe
+,
+key
+);
+
+42 if(
+buf
+ !ð
+sü©ch
+è
+ `FREEMEM
+(buf);
+
+43 if(
+cb_»t
+ < 0) {
+
+47 \15
+wrÙe
+;
+
+48
+ }
+}
+
+ @asn_random_fill.c
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<a¢_¿ndom_f\9el.h
+>
+
+8 \ 2
+ ~<cڡr_TYPE.h
+>
+
+11
+ $a¢_¿ndom_f\9el
+(cڡ \19
+a¢_TYPE_desü\9dtÜ_s
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+12
+size_t
+
+Ëngth
+) {
+
+14 if(
+td
+ &&\81d->
+Ý
+->
+¿ndom_f\9el
+) {
+
+15
+a¢_¿ndom_f\9el_»suÉ_t
+
+»s
+ =
+
+16
+td
+->
+Ý
+->
+ `¿ndom_f\9el
+Ñd,
+¡ruù_±r
+, 0,
+Ëngth
+);
+
+17 \15 (
+»s
+.
+code
+ =ð
+ARFILL_OK
+) ? 0 : -1;
+
+21
+ }
+}
+
+23 \18
+u\9atmax_t
+
+
+24
+ $a¢__\9atmax_¿nge
+(
+\9atmax_t
+
+lb
+, iÁmax_\88
+ub
+) {
+
+25
+ `as£¹
+(
+lb
+ <ð
+ub
+);
+
+26 if((
+ub
+ < 0è=ð(
+lb
+ < 0)) {
+
+27 \15
+ub
+ -
+lb
+;
+
+28 } \vif(
+lb
+ < 0) {
+
+29 \15 1 + ((
+u\9atmax_t
+)
+ub
+ + (u\9atmax_t)-(
+lb
+ + 1));
+
+31
+ `as£¹
+(!"Unreachable");
+
+34
+ }
+}
+
+36
+\9atmax_t
+
+
+37
+ $a¢_¿ndom_b\91w\93n
+(
+\9atmax_t
+
+lb
+, iÁmax_\88
+rb
+) {
+
+38 if(
+lb
+ =ð
+rb
+) {
+
+39 \15
+lb
+;
+
+41 cڡ
+u\9atmax_t
+
+\9atmax_max
+ = ((~(uintmax_t)0) >> 1);
+
+42
+u\9atmax_t
+
+¿nge
+ =
+ `a¢__\9atmax_¿nge
+(
+lb
+,
+rb
+);
+
+43
+u\9atmax_t
+
+v®ue
+ = 0;
+
+44
+u\9atmax_t
+
+gÙ_\92\8cÝy
+ = 0;
+
+46
+ `as£¹
+(
+RAND_MAX
+ > 0xffffff);
+
+47
+ `as£¹
+(
+¿nge
+ <
+\9atmax_max
+);
+
+49 \ f;
+gÙ_\92\8cÝy
+ <
+¿nge
+;) {
+
+50
+gÙ_\92\8cÝy
+ = (got_entropy << 24) | 0xffffff;
+
+51
+v®ue
+ = (v®u\90<< 24è| (
+ `¿ndom
+() % 0xffffff);
+
+54 \15
+lb
+ + (
+\9atmax_t
+)(
+v®ue
+ % (
+¿nge
+ + 1));
+
+56
+ }
+}
+
+ @ber_decoder.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 #undeà
+ADVANCE
+
+
+8 \ 1
+ #ADVANCE
+(
+num_by\8bs
+) do { \
+
+9
+size_t
+
+num
+ =
+num_by\8bs
+; \
+
+10
+±r
+ = ((cÚ¡ \ 5*í\8cè+
+num
+; \
+
+11
+size
+ -ð
+num
+; \
+
+12
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+13 } \1f0)
+
+ )
+
+14 #undeà
+RETURN
+
+
+15 \ 1
+ #RETURN
+(
+_code
+) do { \
+
+16
+a¢_dec_rv®_t
+
+rv®
+; \
+
+17
+rv®
+.
+code
+ =
+_code
+; \
+
+18 if(
+Ýt_ùx
+èÝt_ùx->
+¡\95
+ = step; \
+
+19 if(
+_code
+ =ð
+RC_OK
+ ||
+Ýt_ùx
+) \
+
+20
+rv®
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+; \
+
+22
+rv®
+.
+cÚsumed
+ = 0; \
+
+23 \15
+rv®
+; \
+
+24 } \1f0)
+
+ )
+
+29
+a¢_dec_rv®_t
+
+
+30
+ $b\94_decode
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+31 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+, \1e**
+¡ruù_±r
+,
+
+32 cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+33
+a¢_codec_ùx_t
+
+s_codec_ùx
+;
+
+39 if(
+Ýt_codec_ùx
+) {
+
+40 if(
+Ýt_codec_ùx
+->
+max_¡ack_size
+) {
+
+41
+s_codec_ùx
+ = *
+Ýt_codec_ùx
+;
+
+42
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+46
+ `mem£t
+(&
+s_codec_ùx
+, 0, \17(s_codec_ctx));
+
+47
+s_codec_ùx
+.
+max_¡ack_size
+ =
+ASN__DEFAULT_STACK_MAX
+;
+
+48
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+54 \15
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `b\94_decod\94
+(
+Ýt_codec_ùx
+,\81ype_descriptor,
+
+55
+¡ruù_±r
+,
+
+56
+±r
+,
+size
+,
+
+59
+ }
+}
+
+64
+a¢_dec_rv®_t
+
+
+65
+ $b\94_check_\8fgs
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+66 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+a¢_¡ruù_ùx_t
+ *
+Ýt_ùx
+,
+
+67 cڡ \1e*
+±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+, \12
+Ï¡_\8fg_fÜm
+,
+
+68
+b\94_\8ev_Ën_t
+ *
+Ï¡_Ëngth
+, \12*
+Ýt_\8ev_fÜm
+) {
+
+69
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+70
+ssize_t
+
+\8fg_Ën
+;
+
+71
+ssize_t
+
+Ën_Ën
+;
+
+72
+b\94_\8ev_\8fg_t
+
+\8ev_\8fg
+;
+
+73
+b\94_\8ev_Ën_t
+
+\8ev_Ën
+;
+
+74
+b\94_\8ev_Ën_t
+
+lim\99_Ën
+ = -1;
+
+75 \12
+ex³ù_00_\8brm\9a©Üs
+ = 0;
+
+76 \12
+\8ev_cÚ¡r
+ = -1;
+
+77 \12
+¡\95
+ =
+Ýt_ùx
+ ? opt_ctx->step : 0;
+
+78 \12
+\8fgno
+;
+
+83 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+84
+ `RETURN
+(
+RC_FAIL
+);
+
+108
+\8fgno
+ =
+¡\95
+
+
+109 + (
+\8fg_mode
+==1?-1:0)
+
+111
+ `ASN_DEBUG
+("ber_check_tags(%s, size=%ld,\81m=%d, step=%d,\81agno=%d)",
+
+112
+td
+->
+Çme
+, (\13)
+size
+,
+\8fg_mode
+,
+¡\95
+,
+\8fgno
+);
+
+115 if(
+\8fg_mode
+ =ð0 &&
+\8fgno
+ =ð(\12)
+td
+->
+\8fgs_couÁ
+) {
+
+121
+\8fg_Ën
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+size
+, &
+\8ev_\8fg
+);
+
+122 \1a
+\8fg_Ën
+) {
+
+123 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+124 \ 40:
+ `RETURN
+(
+RC_WMORE
+);
+
+126
+\8ev_cÚ¡r
+ =
+ `BER_TLV_CONSTRUCTED
+(
+±r
+);
+
+127
+Ën_Ën
+ =
+ `b\94_ãtch_Ëngth
+(
+\8ev_cÚ¡r
+,
+
+128 (cڡ \ 5*)
+±r
+ +
+\8fg_Ën
+,
+size
+ -\81ag_Ën, &
+\8ev_Ën
+);
+
+129 \1a
+Ën_Ën
+) {
+
+130 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+131 \ 40:
+ `RETURN
+(
+RC_WMORE
+);
+
+133
+ `ASN_DEBUG
+("Advancing %ld in ANY case",
+
+134 (\13)(
+\8fg_Ën
+ +
+Ën_Ën
+));
+
+135
+ `ADVANCE
+(
+\8fg_Ën
+ +
+Ën_Ën
+);
+
+137
+ `as£¹
+(
+\8fgno
+ < (\12)
+td
+->
+\8fgs_couÁ
+);
+
+139 \ f(\1e)
+\8fgno
+;\81agnØ< (\12)
+td
+->
+\8fgs_couÁ
+;\81agno++,
+¡\95
+++) {
+
+144
+\8fg_Ën
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+size
+, &
+\8ev_\8fg
+);
+
+145
+ `ASN_DEBUG
+("Fetching\81ag from {%p,%ld}: "
+
+147
+±r
+, (\13)
+size
+,
+
+148 (\13)
+\8fg_Ën
+,
+¡\95
+,
+\8fgno
+,
+
+149
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+));
+
+150 \1a
+\8fg_Ën
+) {
+
+151 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+152 \ 40:
+ `RETURN
+(
+RC_WMORE
+);
+
+155
+\8ev_cÚ¡r
+ =
+ `BER_TLV_CONSTRUCTED
+(
+±r
+);
+
+161 if(
+\8fg_mode
+ !ð0 &&
+¡\95
+ == 0) {
+
+168
+ `as£¹
+(
+\8fgno
+ >= 0);
+
+169 if(
+\8ev_\8fg
+ !ð
+td
+->
+\8fgs
+[
+\8fgno
+]) {
+
+173
+ `ASN_DEBUG
+("Expected: %s, "
+
+175
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+td
+->
+\8fgs
+[
+\8fgno
+]),
+
+176
+\8fgno
+,
+\8fg_mode
+
+
+178
+ `RETURN
+(
+RC_FAIL
+);
+
+189 if(
+\8fgno
+ < ((\12)
+td
+->
+\8fgs_couÁ
+ - 1)) {
+
+190 if(
+\8ev_cÚ¡r
+ == 0) {
+
+191
+ `ASN_DEBUG
+("tlv_constr = %d,\83xpfail",
+
+192
+\8ev_cÚ¡r
+);
+
+193
+ `RETURN
+(
+RC_FAIL
+);
+
+196 if(
+Ï¡_\8fg_fÜm
+ !ð
+\8ev_cÚ¡r
+
+
+197 &&
+Ï¡_\8fg_fÜm
+ != -1) {
+
+198
+ `ASN_DEBUG
+("last_tag_form %d != %d",
+
+199
+Ï¡_\8fg_fÜm
+,
+\8ev_cÚ¡r
+);
+
+200
+ `RETURN
+(
+RC_FAIL
+);
+
+207
+Ën_Ën
+ =
+ `b\94_ãtch_Ëngth
+(
+\8ev_cÚ¡r
+,
+
+208 (cڡ \ 5*)
+±r
+ +
+\8fg_Ën
+,
+size
+ -\81ag_Ën, &
+\8ev_Ën
+);
+
+209
+ `ASN_DEBUG
+("F\91ch\9ag\86\92 = %ld", (\13)
+Ën_Ën
+);
+
+210 \1a
+Ën_Ën
+) {
+
+211 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+212 \ 40:
+ `RETURN
+(
+RC_WMORE
+);
+
+222 if(
+\8ev_Ën
+ == -1) {
+
+226 if(
+lim\99_Ën
+ == -1) {
+
+227
+ex³ù_00_\8brm\9a©Üs
+++;
+
+229
+ `ASN_DEBUG
+("Unexpected indefinite\86ength "
+
+231
+ `RETURN
+(
+RC_FAIL
+);
+
+233
+ `ADVANCE
+(
+\8fg_Ën
+ +
+Ën_Ën
+);
+
+236 if(
+ex³ù_00_\8brm\9a©Üs
+) {
+
+237
+ `ASN_DEBUG
+("Unexpected definite\86ength "
+
+239
+ `RETURN
+(
+RC_FAIL
+);
+
+247 if(
+lim\99_Ën
+ == -1) {
+
+248
+lim\99_Ën
+ =
+\8ev_Ën
+ +
+\8fg_Ën
+ +
+Ën_Ën
+;
+
+249 if(
+lim\99_Ën
+ < 0) {
+
+251
+ `RETURN
+(
+RC_FAIL
+);
+
+253 } \vif(
+lim\99_Ën
+ !ð
+\8ev_Ën
+ +
+\8fg_Ën
+ +
+Ën_Ën
+) {
+
+258
+ `ASN_DEBUG
+("Outer TLV is %ld\87nd inner is %ld",
+
+259 (\13)
+lim\99_Ën
+, (\13)
+\8ev_Ën
+);
+
+260
+ `RETURN
+(
+RC_FAIL
+);
+
+263
+ `ADVANCE
+(
+\8fg_Ën
+ +
+Ën_Ën
+);
+
+265
+lim\99_Ën
+ -ð(
+\8fg_Ën
+ +
+Ën_Ën
+);
+
+266 if((
+ssize_t
+)
+size
+ >
+lim\99_Ën
+) {
+
+271
+size
+ =
+lim\99_Ën
+;
+
+275 if(
+Ýt_\8ev_fÜm
+)
+
+276 *
+Ýt_\8ev_fÜm
+ =
+\8ev_cÚ¡r
+;
+
+277 if(
+ex³ù_00_\8brm\9a©Üs
+)
+
+278 *
+Ï¡_Ëngth
+ = -
+ex³ù_00_\8brm\9a©Üs
+;
+
+280 *
+Ï¡_Ëngth
+ =
+\8ev_Ën
+;
+
+282
+ `RETURN
+(
+RC_OK
+);
+
+283
+ }
+}
+
+ @ber_tlv_length.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<b\94_\8ev_Ëngth.h
+>
+
+7 \ 2
+ ~<b\94_\8ev_\8fg.h
+>
+
+9
+ssize_t
+
+
+10
+ $b\94_ãtch_Ëngth
+(\12
+_is_cÚ¡ruùed
+, cڡ \1e*
+buå\8c
+,
+size_t
+
+size
+,
+
+11
+b\94_\8ev_Ën_t
+ *
+Ën_r
+) {
+
+12 cڡ
+u\9at8_t
+ *
+buf
+ = (cÚ¡ u\9at8_\88*)
+buå\8c
+;
+
+13 \1d
+où
+;
+
+15 if(
+size
+ == 0)
+
+18
+où
+ = *(cڡ
+u\9at8_t
+ *)
+buf
+;
+
+19 if((
+où
+ & 0x80) == 0) {
+
+23 *
+Ën_r
+ =
+où
+;
+
+26
+b\94_\8ev_Ën_t
+
+Ën
+;
+
+27
+size_t
+
+sk\9d³d
+;
+
+29 if(
+_is_cÚ¡ruùed
+ &&
+où
+ == 0x80) {
+
+30 *
+Ën_r
+ = -1;
+
+34 if(
+où
+ == 0xff) {
+
+39
+où
+ &= 0x7F;
+
+40 \ f
+Ën
+ = 0,
+buf
+++,
+sk\9d³d
+ = 1;
+
+41
+où
+ && (++
+sk\9d³d
+ <ð
+size
+);
+buf
+++, oct--) {
+
+44 if(!(
+Ën
+ >> ((8 * \17(len)) - (8+1)))) {
+
+45
+Ën
+ = (ËÀ<< 8è| *
+buf
+;
+
+52 if(
+où
+ == 0) {
+
+53 if(
+Ën
+ < 0 ||\86\92 >
+RSSIZE_MAX
+) {
+
+58 *
+Ën_r
+ =
+Ën
+;
+
+59 \15
+sk\9d³d
+;
+
+65
+ }
+}
+
+67
+ssize_t
+
+
+68
+ $b\94_sk\9d_Ëngth
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+69 \12
+_is_cÚ¡ruùed
+, cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+70
+b\94_\8ev_Ën_t
+
+vËn
+;
+
+71
+ssize_t
+
+\8e
+;
+
+72
+ssize_t
+
+Î
+;
+
+73
+size_t
+
+sk\9d
+;
+
+78 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+84
+Î
+ =
+ `b\94_ãtch_Ëngth
+(
+_is_cÚ¡ruùed
+,
+±r
+,
+size
+, &
+vËn
+);
+
+85 if(
+Î
+ <= 0) \15\86l;
+
+90 if(
+vËn
+ >= 0) {
+
+91
+sk\9d
+ =
+Î
+ +
+vËn
+;
+
+92 if(
+sk\9d
+ >
+size
+)
+
+94 \15
+sk\9d
+;
+
+100
+ `ASN_DEBUG
+("Skipping indefinite\86ength");
+
+101 \ f
+sk\9d
+ =
+Î
+,
+±r
+ = ((cÚ¡ \ 5*í\8cè+\86l,
+size
+ -=\86l;;) {
+
+102
+b\94_\8ev_\8fg_t
+
+\8fg
+;
+
+105
+\8e
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+size
+, &
+\8fg
+);
+
+106 if(
+\8e
+ <= 0) \15\81l;
+
+108
+Î
+ =
+ `b\94_sk\9d_Ëngth
+(
+Ýt_codec_ùx
+,
+
+109
+ `BER_TLV_CONSTRUCTED
+(
+±r
+),
+
+110 ((cڡ \ 5*)
+±r
+è+
+\8e
+,
+size
+ -\81l);
+
+111 if(
+Î
+ <= 0) \15\86l;
+
+113
+sk\9d
+ +ð
+\8e
+ +
+Î
+;
+
+120 if(((cڡ
+u\9at8_t
+ *)
+±r
+)[0] == 0
+
+121 && ((cڡ
+u\9at8_t
+ *)
+±r
+)[1] == 0)
+
+122 \15
+sk\9d
+;
+
+124
+±r
+ = ((cÚ¡ \ 5*í\8cè+
+\8e
+ +
+Î
+;
+
+125
+size
+ -ð
+\8e
+ +
+Î
+;
+
+129
+ }
+}
+
+131
+size_t
+
+
+132
+ $d\94_\8ev_Ëngth_£r\9flize
+(
+b\94_\8ev_Ën_t
+
+Ën
+, \1e*
+buå
+,
+size_t
+
+size
+) {
+
+133
+size_t
+
+»qu\9ced_size
+;
+
+134
+u\9at8_t
+ *
+buf
+ = (u\9at8_\88*)
+buå
+;
+
+135
+u\9at8_t
+ *
+\92d
+;
+
+136 \12
+i
+;
+
+138 if(
+Ën
+ <= 127) {
+
+140 if(
+size
+è*
+buf
+ = (
+u\9at8_t
+)
+Ën
+;
+
+147 \ f
+»qu\9ced_size
+ = 1,
+i
+ = 8; i < 8 * (\12)\17(
+Ën
+); i += 8) {
+
+148 if(
+Ën
+ >>
+i
+)
+
+149
+»qu\9ced_size
+++;
+
+154 if(
+size
+ <ð
+»qu\9ced_size
+)
+
+155 \15
+»qu\9ced_size
+ + 1;
+
+157 *
+buf
+++ = (
+u\9at8_t
+)(0x80 |
+»qu\9ced_size
+);
+
+162
+\92d
+ =
+buf
+ +
+»qu\9ced_size
+;
+
+163 \ f
+i
+ -ð8;
+buf
+ <
+\92d
+; i -= 8, buf++)
+
+164 *
+buf
+ = (
+u\9at8_t
+)(
+Ën
+ >>
+i
+);
+
+166 \15
+»qu\9ced_size
+ + 1;
+
+167
+ }
+}
+
+ @ber_tlv_tag.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<b\94_\8ev_\8fg.h
+>
+
+7 \ 2
+ ~<\94ºo.h
+>
+
+9
+ssize_t
+
+
+10
+ $b\94_ãtch_\8fg
+(cڡ \1e*
+±r
+,
+size_t
+
+size
+,
+b\94_\8ev_\8fg_t
+ *
+\8fg_r
+) {
+
+11
+b\94_\8ev_\8fg_t
+
+v®
+;
+
+12
+b\94_\8ev_\8fg_t
+
+tþass
+;
+
+13
+size_t
+
+sk\9d³d
+;
+
+15 if(
+size
+ == 0)
+
+18
+v®
+ = *(cڡ
+u\9at8_t
+ *)
+±r
+;
+
+19
+tþass
+ = (
+v®
+ >> 6);
+
+20 if((
+v®
+ &= 0x1F) != 0x1F) {
+
+25 *
+\8fg_r
+ = (
+v®
+ << 2è|
+tþass
+;
+
+33 \ f
+v®
+ = 0,
+±r
+ = ((cÚ¡ \ 5*í\8cè+ 1,
+sk\9d³d
+ = 2;
+
+34
+sk\9d³d
+ <ð
+size
+;
+
+35
+±r
+ = ((cÚ¡ \ 5*í\8cè+ 1,
+sk\9d³d
+++) {
+
+36 \1d\12
+où
+ = *(cڡ
+u\9at8_t
+ *)
+±r
+;
+
+37 if(
+où
+ & 0x80) {
+
+38
+v®
+ = (v® << 7è| (
+où
+ & 0x7F);
+
+43 if(
+v®
+ >> ((8 * \17(val)) - 9)) {
+
+51
+v®
+ = (v® << 7è|
+où
+;
+
+52 *
+\8fg_r
+ = (
+v®
+ << 2è|
+tþass
+;
+
+53 \15
+sk\9d³d
+;
+
+58
+ }
+}
+
+61
+ssize_t
+
+
+62
+ $b\94_\8ev_\8fg_fwr\99e
+(
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+FILE
+ *
+f
+) {
+
+63 \ 5
+buf
+[\17("[APPLICATION ]") + 32];
+
+64
+ssize_t
+
+»t
+;
+
+66
+»t
+ =
+ `b\94_\8ev_\8fg_¢´\9at
+(
+\8fg
+,
+buf
+, \17(buf));
+
+67 if(
+»t
+ >ð(
+ssize_t
+)\17(
+buf
+) ||\84et < 2) {
+
+68
+\94ºo
+ =
+EPERM
+;
+
+72 \15
+ `fwr\99e
+(
+buf
+, 1,
+»t
+,
+f
+);
+
+73
+ }
+}
+
+75
+ssize_t
+
+
+76
+ $b\94_\8ev_\8fg_¢´\9at
+(
+b\94_\8ev_\8fg_t
+
+\8fg
+, \ 5*
+buf
+,
+size_t
+
+size
+) {
+
+77 cڡ \ 5*
+ty³
+ = 0;
+
+78 \12
+»t
+;
+
+80 \1a
+\8fg
+ & 0x3) {
+
+81 \ 4
+ASN_TAG_CLASS_UNIVERSAL
+:
+ty³
+ = "UNIVERSAL "; \ 3;
+
+82 \ 4
+ASN_TAG_CLASS_APPLICATION
+:
+ty³
+ = "APPLICATION "; \ 3;
+
+83 \ 4
+ASN_TAG_CLASS_CONTEXT
+:
+ty³
+ = ""; \ 3;
+
+84 \ 4
+ASN_TAG_CLASS_PRIVATE
+:
+ty³
+ = "PRIVATE "; \ 3;
+
+87
+»t
+ =
+ `¢´\9atf
+(
+buf
+,
+size
+, "[%s%u]",
+ty³
+, ((\1d)
+\8fg
+) >> 2);
+
+88 if(
+»t
+ <ð0 &&
+size
+è
+buf
+[0] = '\0';
+
+90 \15
+»t
+;
+
+91
+ }
+}
+
+94
+ $b\94_\8ev_\8fg_¡r\9ag
+(
+b\94_\8ev_\8fg_t
+
+\8fg
+) {
+
+95 \18\ 5
+buf
+[\17("[APPLICATION ]") + 32];
+
+97 (\1e)
+ `b\94_\8ev_\8fg_¢´\9at
+(
+\8fg
+,
+buf
+, \17(buf));
+
+99 \15
+buf
+;
+
+100
+ }
+}
+
+103
+size_t
+
+
+104
+ $b\94_\8ev_\8fg_£r\9flize
+(
+b\94_\8ev_\8fg_t
+
+\8fg
+, \1e*
+buå
+,
+size_t
+
+size
+) {
+
+105 \12
+tþass
+ =
+ `BER_TAG_CLASS
+(
+\8fg
+);
+
+106
+b\94_\8ev_\8fg_t
+
+tv®
+ =
+ `BER_TAG_VALUE
+(
+\8fg
+);
+
+107
+u\9at8_t
+ *
+buf
+ = (u\9at8_\88*)
+buå
+;
+
+108
+u\9at8_t
+ *
+\92d
+;
+
+109
+size_t
+
+»qu\9ced_size
+;
+
+110
+size_t
+
+i
+;
+
+112 if(
+tv®
+ <= 30) {
+
+114 if(
+size
+è
+buf
+[0] = (
+tþass
+ << 6è|
+tv®
+;
+
+116 } \vif(
+size
+) {
+
+117 *
+buf
+++ = (
+tþass
+ << 6) | 0x1F;
+
+118
+size
+--;
+
+124 \ f
+»qu\9ced_size
+ = 1,
+i
+ = 7; i < 8 * \17(
+tv®
+); i += 7) {
+
+125 if(
+tv®
+ >>
+i
+)
+
+126
+»qu\9ced_size
+++;
+
+131 if(
+size
+ <
+»qu\9ced_size
+)
+
+132 \15
+»qu\9ced_size
+ + 1;
+
+137
+\92d
+ =
+buf
+ +
+»qu\9ced_size
+ - 1;
+
+138 \ f
+i
+ -ð7;
+buf
+ <
+\92d
+; i -= 7, buf++)
+
+139 *
+buf
+ = 0x80 | ((
+tv®
+ >>
+i
+) & 0x7F);
+
+140 *
+buf
+ = (
+tv®
+ & 0x7F);
+
+142 \15
+»qu\9ced_size
+ + 1;
+
+143
+ }
+}
+
+ @constr_CHOICE.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<cڡr_CHOICE.h
+>
+
+7 \ 2
+ ~<³r_Ý\92ty³.h
+>
+
+14 \ 1
+ #LEFT
+ ((
+size
+<(
+size_t
+)
+ùx
+->
+Ëá
+)?size:(size_t)ùx->Ëá)
+
+ )
+
+27 \ 1
+ #SIZE_VIOLATION
+ (
+ùx
+->
+Ëá
+ >ð0 && (
+size_t
+)ùx->Ëá <ð
+size
+)
+
+ )
+
+33 #undeà
+ADVANCE
+
+
+34 \ 1
+ #ADVANCE
+(
+num_by\8bs
+) do { \
+
+35
+size_t
+
+num
+ =
+num_by\8bs
+; \
+
+36
+±r
+ = ((cÚ¡ \ 5*í\8cè+
+num
+;\
+
+37
+size
+ -ð
+num
+; \
+
+38 if(
+ùx
+->
+Ëá
+ >= 0) \
+
+39
+ùx
+->
+Ëá
+ -ð
+num
+; \
+
+40
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+41 } \1f0)
+
+ )
+
+46 #undeà
+NEXT_PHASE
+
+
+47 \ 1
+ #NEXT_PHASE
+(
+ùx
+) do { \
+
+48
+ùx
+->
+pha£
+++; \
+
+49
+ùx
+->
+¡\95
+ = 0; \
+
+50 } \1f0)
+
+ )
+
+55 #undeà
+RETURN
+
+
+56 \ 1
+ #RETURN
+(
+_code
+) do { \
+
+57
+rv®
+.
+code
+ =
+_code
+; \
+
+58
+rv®
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+;\
+
+59 \15
+rv®
+; \
+
+60 } \1f0)
+
+ )
+
+65 \18\1d
+_ãtch_´e£Á_idx
+(cڡ \1e*
+¡ruù_±r
+, \1d
+off
+,
+
+66 \1d
+size
+);
+
+67 \18\1e
+_£t_´e£Á_idx
+(\1e*
+¥\8c
+, \1d
+off£t
+, \1d
+size
+,
+
+68 \1d
+´es
+);
+
+69 \18cڡ \1e*
+_g\91_memb\94_±r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *,
+
+70 cڡ \1e*
+¥\8c
+,
+a¢_TYPE_memb\94_t
+ **
+\96m
+,
+
+71 \1d*
+´e£Á
+);
+
+77
+ $_£¬ch4\8fg
+(cڡ \1e*
+
+, cڡ \1e*
+bp
+) {
+
+78 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+a
+ = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
+
+;
+
+79 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+b
+ = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
+bp
+;
+
+81 \12
+a_þass
+ =
+ `BER_TAG_CLASS
+(
+a
+->
+\96_\8fg
+);
+
+82 \12
+b_þass
+ =
+ `BER_TAG_CLASS
+(
+b
+->
+\96_\8fg
+);
+
+84 if(
+a_þass
+ =ð
+b_þass
+) {
+
+85
+b\94_\8ev_\8fg_t
+
+a_v®ue
+ =
+ `BER_TAG_VALUE
+(
+a
+->
+\96_\8fg
+);
+
+86
+b\94_\8ev_\8fg_t
+
+b_v®ue
+ =
+ `BER_TAG_VALUE
+(
+b
+->
+\96_\8fg
+);
+
+88 if(
+a_v®ue
+ =ð
+b_v®ue
+)
+
+90 \vif(
+a_v®ue
+ <
+b_v®ue
+)
+
+94 } \vif(
+a_þass
+ <
+b_þass
+) {
+
+99
+ }
+}
+
+104
+a¢_dec_rv®_t
+
+
+105
+ $CHOICE_decode_b\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+106 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+107 cڡ \1e*
+±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+111 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+112 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+113
+a¢_TYPE_memb\94_t
+ *
+\96em\92ts
+ =
+td
+->elements;
+
+118 \1e*
+¡
+ = *
+¡ruù_±r
+;
+
+119
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+121
+b\94_\8ev_\8fg_t
+
+\8ev_\8fg
+;
+
+122
+ssize_t
+
+\8fg_Ën
+;
+
+123
+a¢_dec_rv®_t
+
+rv®
+;
+
+125
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+127
+ `ASN_DEBUG
+("Decod\9ag % a CHOICE",
+td
+->
+Çme
+);
+
+132 if(
+¡
+ == 0) {
+
+133
+¡
+ = *
+¡ruù_±r
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+134 if(
+¡
+ == 0) {
+
+135
+ `RETURN
+(
+RC_FAIL
+);
+
+142
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+147 \1a
+ùx
+->
+pha£
+) {
+
+155 if(
+\8fg_mode
+ ||
+td
+->
+\8fgs_couÁ
+) {
+
+156
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+,
+ùx
+,
+±r
+,
+size
+,
+
+157
+\8fg_mode
+, -1, &
+ùx
+->
+Ëá
+, 0);
+
+158 if(
+rv®
+.
+code
+ !ð
+RC_OK
+) {
+
+159
+ `ASN_DEBUG
+("%s\81agging check failed: %d",
+
+160
+td
+->
+Çme
+,
+rv®
+.
+code
+);
+
+161 \15
+rv®
+;
+
+164 if(
+ùx
+->
+Ëá
+ >= 0) {
+
+166
+ùx
+->
+Ëá
+ +ð
+rv®
+.
+cÚsumed
+;
+
+168
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+170
+ùx
+->
+Ëá
+ = -1;
+
+173
+ `NEXT_PHASE
+(
+ùx
+);
+
+175
+ `ASN_DEBUG
+("Structure consumes %ld bytes, buffer %ld",
+
+176 (\13)
+ùx
+->
+Ëá
+, (\13)
+size
+);
+
+183
+\8fg_Ën
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+LEFT
+, &
+\8ev_\8fg
+);
+
+184
+ `ASN_DEBUG
+("IÀ% CHOICE\81ag\86\92gth %d",
+td
+->
+Çme
+, (\12)
+\8fg_Ën
+);
+
+185 \1a
+\8fg_Ën
+) {
+
+186 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+188 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+192 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+t2m
+;
+
+193
+a¢_TYPE_\8fg2memb\94_t
+
+key
+;
+
+195
+key
+.
+\96_\8fg
+ =
+\8ev_\8fg
+;
+
+196
+t2m
+ = (cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *)
+ `b£¬ch
+(&
+key
+,
+
+197
+¥ecs
+->
+\8fg2\96
+, s³cs->
+\8fg2\96_couÁ
+,
+
+198 \17(
+¥ecs
+->
+\8fg2\96
+[0]),
+_£¬ch4\8fg
+);
+
+199 if(
+t2m
+) {
+
+203
+ `NEXT_PHASE
+(
+ùx
+);
+
+204
+ùx
+->
+¡\95
+ =
+t2m
+->
+\96_no
+;
+
+206 } \vif(
+¥ecs
+->
+ext_¡¬t
+ == -1) {
+
+207
+ `ASN_DEBUG
+("Unexpected\81ag %s "
+
+209
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+),
+td
+->
+Çme
+);
+
+210
+ `RETURN
+(
+RC_FAIL
+);
+
+213
+ssize_t
+
+sk\9d
+;
+
+215
+ `ASN_DEBUG
+("Skipping unknown\81ag %s",
+
+216
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+));
+
+218
+sk\9d
+ =
+ `b\94_sk\9d_Ëngth
+(
+Ýt_codec_ùx
+,
+
+219
+ `BER_TLV_CONSTRUCTED
+(
+±r
+),
+
+220 (cڡ \ 5*)
+±r
+ +
+\8fg_Ën
+,
+
+221
+LEFT
+ -
+\8fg_Ën
+);
+
+223 \1a
+sk\9d
+) {
+
+224 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+226 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+229
+ `ADVANCE
+(
+sk\9d
+ +
+\8fg_Ën
+);
+
+230
+ `RETURN
+(
+RC_OK
+);
+
+240
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+241 \1e*
+memb_±r
+;
+
+242 \1e**
+memb_±r2
+;
+
+244
+\96m
+ = &
+\96em\92ts
+[
+ùx
+->
+¡\95
+];
+
+251 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+253
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+259
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+260
+memb_±r2
+ = &
+memb_±r
+;
+
+263
+ `_£t_´e£Á_idx
+(
+¡
+,
+¥ecs
+->
+´es_off£t
+,
+
+264
+¥ecs
+->
+´es_size
+,
+ùx
+->
+¡\95
+ + 1);
+
+268
+rv®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `b\94_decod\94
+(
+Ýt_codec_ùx
+,\83lm->type,
+
+269
+memb_±r2
+,
+±r
+,
+LEFT
+,
+\96m
+->
+\8fg_mode
+);
+
+270 \1a
+rv®
+.
+code
+) {
+
+271 \ 4
+RC_OK
+:
+
+273 \ 4
+RC_WMORE
+:
+
+274 if(!
+SIZE_VIOLATION
+) {
+
+275
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+276
+ `RETURN
+(
+RC_WMORE
+);
+
+278
+ `RETURN
+(
+RC_FAIL
+);
+
+279 \ 4
+RC_FAIL
+:
+
+280
+ `RETURN
+(
+rv®
+.
+code
+);
+
+283
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+286
+ `NEXT_PHASE
+(
+ùx
+);
+
+290
+ `ASN_DEBUG
+("CHOICE %s Leftover: %ld, size = %ld,\81m=%d,\81c=%d",
+
+291
+td
+->
+Çme
+, (\13)
+ùx
+->
+Ëá
+, (\13)
+size
+,
+
+292
+\8fg_mode
+,
+td
+->
+\8fgs_couÁ
+);
+
+294 if(
+ùx
+->
+Ëá
+ > 0) {
+
+299
+ `RETURN
+(
+RC_FAIL
+);
+
+302 if(
+ùx
+->
+Ëá
+ == -1
+
+303 && !(
+\8fg_mode
+ ||
+td
+->
+\8fgs_couÁ
+)) {
+
+310
+ `NEXT_PHASE
+(
+ùx
+);
+
+317 \1f
+ùx
+->
+Ëá
+ < 0) {
+
+318
+ssize_t
+
+\8e
+;
+
+320
+\8e
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+LEFT
+, &
+\8ev_\8fg
+);
+
+321 \1a
+\8e
+) {
+
+322 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+324 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+330 if(((cڡ
+u\9at8_t
+ *)
+±r
+)[0] == 0) {
+
+331 if(
+LEFT
+ < 2) {
+
+332 if(
+SIZE_VIOLATION
+)
+
+333
+ `RETURN
+(
+RC_FAIL
+);
+
+335
+ `RETURN
+(
+RC_WMORE
+);
+
+336 } \vif(((cڡ
+u\9at8_t
+ *)
+±r
+)[1] == 0) {
+
+340
+ `ADVANCE
+(2);
+
+341
+ùx
+->
+Ëá
+++;
+
+345
+ `ASN_DEBUG
+("Unexpected continuation in %s",
+
+346
+td
+->
+Çme
+);
+
+347
+ `RETURN
+(
+RC_FAIL
+);
+
+353
+ `NEXT_PHASE
+(
+ùx
+);
+
+359
+ `RETURN
+(
+RC_OK
+);
+
+360
+ }
+}
+
+362
+a¢_\92c_rv®_t
+
+
+363
+ $CHOICE_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+364 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+365 \1e*
+p_key
+) {
+
+366 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+367
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+368
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+369 cڡ \1e*
+memb_±r
+;
+
+370
+size_t
+
+compu\8bd_size
+ = 0;
+
+371 \1d
+´e£Á
+;
+
+373 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+375
+ `ASN_DEBUG
+("%s %s\87s CHOICE",
+
+376
+cb
+?"Encod\9ag":"E¡im©\9ag",
+td
+->
+Çme
+);
+
+378
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+
+379
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+385 if(
+´e£Á
+ =ð0 ||\85»£Á >
+td
+->
+\96em\92ts_couÁ
+) {
+
+386 if(
+´e£Á
+ =ð0 &&
+td
+->
+\96em\92ts_couÁ
+ == 0) {
+
+388
+\94v®
+.
+\92coded
+ = 0;
+
+389
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+391
+ASN__ENCODE_FAILED
+;
+
+397
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+-1];
+
+398 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+399
+memb_±r
+ =
+
+400 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+401 if(
+memb_±r
+ == 0) {
+
+402 if(
+\96m
+->
+ÝtiÚ®
+) {
+
+403
+\94v®
+.
+\92coded
+ = 0;
+
+404
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+407
+ASN__ENCODE_FAILED
+;
+
+410
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+418 if(
+\8fg_mode
+ =ð1 ||
+td
+->
+\8fgs_couÁ
+) {
+
+422
+ssize_t
+
+»t
+;
+
+425
+\94v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+
+426
+\96m
+->
+\8fg_mode
+,\83lm->
+\8fg
+, 0, 0);
+
+427 if(
+\94v®
+.
+\92coded
+ == -1)
+
+428 \15
+\94v®
+;
+
+431
+»t
+ =
+ `d\94_wr\99e_\8fgs
+(
+td
+,
+\94v®
+.
+\92coded
+,
+\8fg_mode
+, 1,
+\8fg
+,
+
+432
+cb
+,
+p_key
+);
+
+433 if(
+»t
+ == -1)
+
+434
+ASN__ENCODE_FAILED
+;
+
+435
+compu\8bd_size
+ +ð
+»t
+;
+
+441
+\94v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+
+442
+\96m
+->
+\8fg_mode
+,\83lm->
+\8fg
+,
+cb
+,
+p_key
+);
+
+443 if(
+\94v®
+.
+\92coded
+ == -1)
+
+444 \15
+\94v®
+;
+
+446
+ `ASN_DEBUG
+("Encoded CHOICE member in %ld bytes (+%ld)",
+
+447 (\13)
+\94v®
+.
+\92coded
+, (\13)
+compu\8bd_size
+);
+
+449
+\94v®
+.
+\92coded
+ +ð
+compu\8bd_size
+;
+
+451 \15
+\94v®
+;
+
+452
+ }
+}
+
+454
+b\94_\8ev_\8fg_t
+
+
+455
+ $CHOICE_outmo¡_\8fg
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+±r
+, \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+) {
+
+456 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+457 \1d
+´e£Á
+;
+
+459
+ `as£¹
+(
+\8fg_mode
+ == 0); (\1e)tag_mode;
+
+460
+ `as£¹
+(
+\8fg
+ == 0); (\1e)tag;
+
+465
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+±r
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+467 if(
+´e£Á
+ > 0 &&\85»£Á <ð
+td
+->
+\96em\92ts_couÁ
+) {
+
+468 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+-1];
+
+469 cڡ \1e*
+memb_±r
+;
+
+471 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+472
+memb_±r
+ = *(const \1e* const *)
+
+473 ((cڡ \ 5*)
+±r
+ +
+\96m
+->
+memb_off£t
+);
+
+475
+memb_±r
+ = (const \1e*)
+
+476 ((cڡ \ 5*)
+±r
+ +
+\96m
+->
+memb_off£t
+);
+
+479 \15
+ `a¢_TYPE_outmo¡_\8fg
+(
+\96m
+->
+ty³
+,
+memb_±r
+,
+
+480
+\96m
+->
+\8fg_mode
+,\83lm->
+\8fg
+);
+
+482 \15 (
+b\94_\8ev_\8fg_t
+)-1;
+
+484
+ }
+}
+
+487
+ $CHOICE_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+488
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+489 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+490 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+491 \1d
+´e£Á
+;
+
+493 if(!
+¥\8c
+) {
+
+494
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+496
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+503
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+,¥ecs->
+´es_size
+);
+
+504 if(
+´e£Á
+ > 0 &&\85»£Á <ð
+td
+->
+\96em\92ts_couÁ
+) {
+
+505
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+-1];
+
+506 cڡ \1e*
+memb_±r
+;
+
+508 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+509
+memb_±r
+ = *(cڡ \1e* cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+510 if(!
+memb_±r
+) {
+
+511 if(
+\96m
+->
+ÝtiÚ®
+)
+
+513
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+515
+td
+->
+Çme
+,
+\96m
+->Çme,
+__FILE__
+,
+__LINE__
+);
+
+519
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+522 if(
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+g\92\94®_cÚ¡¿\9ats
+) {
+
+523 \15
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+ `g\92\94®_cÚ¡¿\9ats
+Ólm->
+ty³
+,
+memb_±r
+,
+
+524
+ùç\9ecb
+,
+p_key
+);
+
+526 \15
+\96m
+->
+ty³
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+ `g\92\94®_cÚ¡¿\9ats
+(elm->type,
+
+527
+memb_±r
+,
+ùç\9ecb
+,
+p_key
+);
+
+530
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+532
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+535
+ }
+}
+
+537 #undeà
+XER_ADVANCE
+
+
+538 \ 1
+ #XER_ADVANCE
+(
+num_by\8bs
+) do { \
+
+539
+size_t
+
+num
+ =
+num_by\8bs
+; \
+
+540
+buf_±r
+ = (cÚ¡ \1e*)(((cÚ¡ \ 5*)buf_±rè+
+num
+); \
+
+541
+size
+ -ð
+num
+; \
+
+542
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+543 } \1f0)
+
+ )
+
+548
+a¢_dec_rv®_t
+
+
+549
+ $CHOICE_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+550 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+551 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+) {
+
+555 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+556 cڡ \ 5*
+xml_\8fg
+ =
+Ýt_mÇme
+ ? o±_mÇm\90:
+td
+->xml_tag;
+
+561 \1e*
+¡
+ = *
+¡ruù_±r
+;
+
+562
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+564
+a¢_dec_rv®_t
+
+rv®
+;
+
+565
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+566
+size_t
+
+edx
+;
+
+571 if(
+¡
+ == 0) {
+
+572
+¡
+ = *
+¡ruù_±r
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+573 if(
+¡
+ =ð0è
+ `RETURN
+(
+RC_FAIL
+);
+
+579
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+580 if(
+ùx
+->
+pha£
+ =ð0 && !*
+xml_\8fg
+)
+
+581
+ùx
+->
+pha£
+ = 1;
+
+592 \ f
+edx
+ =
+ùx
+->
+¡\95
+; ctx->
+pha£
+ <= 4;) {
+
+593
+px\94_chunk_ty³_e
+
+ch_ty³
+;
+
+594
+ssize_t
+
+ch_size
+;
+
+595
+x\94_check_\8fg_e
+
+tcv
+;
+
+596
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+601 if(
+ùx
+->
+pha£
+ == 2) {
+
+602
+a¢_dec_rv®_t
+
+tm´v®
+;
+
+603 \1e*
+memb_±r
+;
+
+604 \1e**
+memb_±r2
+;
+
+605 \1d
+Þd_´e£Á
+;
+
+607
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+609 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+611
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+
+
+612 +
+\96m
+->
+memb_off£t
+);
+
+614
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+615
+memb_±r2
+ = &
+memb_±r
+;
+
+619
+tm´v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `x\94_decod\94
+(
+Ýt_codec_ùx
+,
+
+620
+\96m
+->
+ty³
+,
+memb_±r2
+,\83lm->
+Çme
+,
+
+621
+buf_±r
+,
+size
+);
+
+622
+ `XER_ADVANCE
+(
+tm´v®
+.
+cÚsumed
+);
+
+623
+ `ASN_DEBUG
+("XER/CHOICE: itdf: [%s] code=%d",
+
+624
+\96m
+->
+ty³
+->
+Çme
+,
+tm´v®
+.
+code
+);
+
+625
+Þd_´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¡
+,
+
+626
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+627
+ `as£¹
+(
+Þd_´e£Á
+ =ð0 || old_´e£Á =ð
+edx
+ + 1);
+
+629
+ `_£t_´e£Á_idx
+(
+¡
+,
+
+630
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+,
+edx
+ + 1);
+
+631 if(
+tm´v®
+.
+code
+ !ð
+RC_OK
+)
+
+632
+ `RETURN
+(
+tm´v®
+.
+code
+);
+
+633
+ùx
+->
+pha£
+ = 3;
+
+638 if(
+ùx
+->
+pha£
+ =ð3 && !*
+xml_\8fg
+) {
+
+639
+ùx
+->
+pha£
+ = 5;
+
+640
+ `RETURN
+(
+RC_OK
+);
+
+646
+ch_size
+ =
+ `x\94_Ãxt_tok\92
+(&
+ùx
+->
+cڋxt
+,
+buf_±r
+,
+size
+, &
+ch_ty³
+);
+
+647 if(
+ch_size
+ == -1) {
+
+648
+ `RETURN
+(
+RC_FAIL
+);
+
+650 \1a
+ch_ty³
+) {
+
+651 \ 4
+PXER_WMORE
+:
+
+652
+ `RETURN
+(
+RC_WMORE
+);
+
+653 \ 4
+PXER_COMMENT
+:
+
+654 \ 4
+PXER_TEXT
+:
+
+655
+ `XER_ADVANCE
+(
+ch_size
+);
+
+657 \ 4
+PXER_TAG
+:
+
+662
+tcv
+ =
+ `x\94_check_\8fg
+(
+buf_±r
+,
+ch_size
+,
+xml_\8fg
+);
+
+663
+ `ASN_DEBUG
+("XER/CHOICE checked [%c%c%c%c] vs [%s],\81cv=%d",
+
+664
+ch_size
+>0?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[0]:'?',
+
+665
+ch_size
+>1?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[1]:'?',
+
+666
+ch_size
+>2?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[2]:'?',
+
+667
+ch_size
+>3?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[3]:'?',
+
+668
+xml_\8fg
+,
+tcv
+);
+
+671 if(
+ùx
+->
+pha£
+ == 4) {
+
+672
+ `ASN_DEBUG
+("skip_unknown(%d, %ld)",
+
+673
+tcv
+, (\13)
+ùx
+->
+Ëá
+);
+
+674 \1a
+ `x\94_sk\9d_unknown
+(
+tcv
+, &
+ùx
+->
+Ëá
+)) {
+
+676
+ùx
+->
+pha£
+ = 5;
+
+677
+ `RETURN
+(
+RC_FAIL
+);
+
+679
+ùx
+->
+pha£
+ = 3;
+
+682
+ `XER_ADVANCE
+(
+ch_size
+);
+
+685
+ùx
+->
+pha£
+ = 3;
+
+690 \1a
+tcv
+) {
+
+691 \ 4
+XCT_BOTH
+:
+
+693 \ 4
+XCT_CLOSING
+:
+
+694 if(
+ùx
+->
+pha£
+ != 3)
+
+696
+ `XER_ADVANCE
+(
+ch_size
+);
+
+697
+ùx
+->
+pha£
+ = 5;
+
+698
+ `RETURN
+(
+RC_OK
+);
+
+699 \ 4
+XCT_OPENING
+:
+
+700 if(
+ùx
+->
+pha£
+ == 0) {
+
+701
+ `XER_ADVANCE
+(
+ch_size
+);
+
+702
+ùx
+->
+pha£
+ = 1;
+
+706 \ 4
+XCT_UNKNOWN_OP
+:
+
+707 \ 4
+XCT_UNKNOWN_BO
+:
+
+709 if(
+ùx
+->
+pha£
+ != 1)
+
+715 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+716
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+717
+tcv
+ =
+ `x\94_check_\8fg
+(
+buf_±r
+,
+ch_size
+,
+\96m
+->
+Çme
+);
+
+718 \1a
+tcv
+) {
+
+719 \ 4
+XCT_BOTH
+:
+
+720 \ 4
+XCT_OPENING
+:
+
+724
+ùx
+->
+¡\95
+ =
+edx
+;
+
+725
+ùx
+->
+pha£
+ = 2;
+
+727 \ 4
+XCT_UNKNOWN_OP
+:
+
+728 \ 4
+XCT_UNKNOWN_BO
+:
+
+731
+edx
+ =
+td
+->
+\96em\92ts_couÁ
+;
+
+736 if(
+edx
+ !ð
+td
+->
+\96em\92ts_couÁ
+)
+
+740 if(
+¥ecs
+->
+ext_¡¬t
+ != -1) {
+
+741
+ `ASN_DEBUG
+("Got\87nticipated\83xtension");
+
+747 if(
+tcv
+ &
+XCT_CLOSING
+) {
+
+749
+ùx
+->
+pha£
+ = 3;
+
+751
+ùx
+->
+Ëá
+ = 1;
+
+752
+ùx
+->
+pha£
+ = 4;
+
+754
+ `XER_ADVANCE
+(
+ch_size
+);
+
+763
+ `ASN_DEBUG
+("Unexpected XML\81ag [%c%c%c%c] in CHOICE [%s]"
+
+765
+ch_size
+>0?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[0]:'?',
+
+766
+ch_size
+>1?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[1]:'?',
+
+767
+ch_size
+>2?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[2]:'?',
+
+768
+ch_size
+>3?((cڡ
+u\9at8_t
+ *)
+buf_±r
+)[3]:'?',
+
+769
+td
+->
+Çme
+,
+ùx
+->
+pha£
+,
+xml_\8fg
+);
+
+773
+ùx
+->
+pha£
+ = 5;
+
+774
+ `RETURN
+(
+RC_FAIL
+);
+
+775
+ }
+}
+
+778
+a¢_\92c_rv®_t
+
+
+779
+ $CHOICE_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+780 \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+781 \1e*
+p_key
+) {
+
+782 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+783 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+784
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+785 \1d
+´e£Á
+ = 0;
+
+787 if(!
+¥\8c
+)
+
+788
+ASN__ENCODE_FAILED
+;
+
+793
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+,¥ecs->
+´es_size
+);
+
+795 if(
+´e£Á
+ =ð0 ||\85»£Á >
+td
+->
+\96em\92ts_couÁ
+) {
+
+796
+ASN__ENCODE_FAILED
+;
+
+798
+a¢_\92c_rv®_t
+
+tm³r
+ = {0,0,0};
+
+799
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+-1];
+
+800 cڡ \1e*
+memb_±r
+ =
+NULL
+;
+
+801 cڡ \ 5*
+mÇme
+ =
+\96m
+->
+Çme
+;
+
+802 \1d\12
+mËn
+ =
+ `¡¾\92
+(
+mÇme
+);
+
+804 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+805
+memb_±r
+ =
+
+806 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+807 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+809
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+812
+\94
+.
+\92coded
+ = 0;
+
+814 if(!(
+æags
+ &
+XER_F_CANONICAL
+)è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+);
+
+815
+ `ASN__CALLBACK3
+("<", 1,
+mÇme
+,
+mËn
+, ">", 1);
+
+817
+tm³r
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `x\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+
+818
+\9eev\96
+ + 1,
+æags
+,
+cb
+,
+p_key
+);
+
+819 if(
+tm³r
+.
+\92coded
+ == -1) \15\81mper;
+
+820
+\94
+.
+\92coded
+ +ð
+tm³r
+.encoded;
+
+822
+ `ASN__CALLBACK3
+("</", 2,
+mÇme
+,
+mËn
+, ">", 1);
+
+825 if(!(
+æags
+ &
+XER_F_CANONICAL
+)è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+ - 1);
+
+827
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+828
+cb_ç\9eed
+:
+
+829
+ASN__ENCODE_FAILED
+;
+
+830
+ }
+}
+
+832
+a¢_dec_rv®_t
+
+
+833
+ $CHOICE_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+834 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+835 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+836
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+837 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+838 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+839
+a¢_dec_rv®_t
+
+rv
+;
+
+840 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+841
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+842 \1e*
+memb_±r
+;
+
+843 \1e**
+memb_±r2
+;
+
+844 \1e*
+¡
+ = *
+¥\8c
+;
+
+845 \12
+v®ue
+;
+
+847 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+848
+ASN__DECODE_FAILED
+;
+
+853 if(!
+¡
+) {
+
+854
+¡
+ = *
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+855 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+858 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+859 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+è
+ù
+ = &td->\92cod\9ag_cÚ¡¿\9ats.³r_cÚ¡¿\9ats->
+v®ue
+;
+
+860 \v
+ù
+ = 0;
+
+862 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+863
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+864 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+865 if(
+v®ue
+è
+ù
+ = 0;
+
+868 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+869
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+ù
+->
+¿nge_b\99s
+);
+
+870 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+871
+ `ASN_DEBUG
+("CHOICE %s got index %d in\84ange %d",
+
+872
+td
+->
+Çme
+,
+v®ue
+,
+ù
+->
+¿nge_b\99s
+);
+
+873 if(
+v®ue
+ >
+ù
+->
+uµ\94_bound
+)
+
+874
+ASN__DECODE_FAILED
+;
+
+876 if(
+¥ecs
+->
+ext_¡¬t
+ == -1)
+
+877
+ASN__DECODE_FAILED
+;
+
+878
+v®ue
+ =
+ `u³r_g\91_n¢nwn
+(
+pd
+);
+
+879 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+880
+v®ue
+ +ð
+¥ecs
+->
+ext_¡¬t
+;
+
+881 if((\1d)
+v®ue
+ >ð
+td
+->
+\96em\92ts_couÁ
+)
+
+882
+ASN__DECODE_FAILED
+;
+
+886 if(
+¥ecs
+->
+äom_ÿnÚiÿl_Üd\94
+) {
+
+887
+ `ASN_DEBUG
+("CHOICE\85»£nû from w\9c\90%d",
+v®ue
+);
+
+888
+v®ue
+ =
+¥ecs
+->
+äom_ÿnÚiÿl_Üd\94
+[value];
+
+889
+ `ASN_DEBUG
+("CHOICE\85»£nû index\83fãùiv\90%d",
+v®ue
+);
+
+893
+ `_£t_´e£Á_idx
+(
+¡
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+,
+v®ue
+ + 1);
+
+895
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+v®ue
+];
+
+896 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+898
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+900
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+901
+memb_±r2
+ = &
+memb_±r
+;
+
+903
+ `ASN_DEBUG
+("Discov\94ed CHOICE % \92code %s",
+td
+->
+Çme
+,
+\96m
+->name);
+
+905 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+906
+rv
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `u³r_decod\94
+(
+Ýt_codec_ùx
+,\83lm->type,
+
+907
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r2
+,
+pd
+);
+
+909
+rv
+ =
+ `u³r_Ý\92_ty³_g\91
+(
+Ýt_codec_ùx
+,
+\96m
+->
+ty³
+,
+
+910
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r2
+,
+pd
+);
+
+913 if(
+rv
+.
+code
+ !ð
+RC_OK
+)
+
+914
+ `ASN_DEBUG
+("Failed\81o decode %s in %s (CHOICE) %d",
+
+915
+\96m
+->
+Çme
+,
+td
+->Çme,
+rv
+.
+code
+);
+
+916 \15
+rv
+;
+
+917
+ }
+}
+
+919
+a¢_\92c_rv®_t
+
+
+920
+ $CHOICE_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+921 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+922
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+923 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+924
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+925 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+926 cڡ \1e*
+memb_±r
+;
+
+927 \1d
+´e£Á
+;
+
+928 \12
+´e£Á_\92c
+;
+
+930 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+932
+ `ASN_DEBUG
+("Encod\9ag % a CHOICE",
+td
+->
+Çme
+);
+
+934 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+935 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+936
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+937 \v
+ù
+ = 0;
+
+939
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+945 if(
+´e£Á
+ =ð0 ||\85»£Á >
+td
+->
+\96em\92ts_couÁ
+)
+
+946
+ASN__ENCODE_FAILED
+;
+
+948
+´e£Á
+--;
+
+950
+ `ASN_DEBUG
+("Encod\9ag % CHOICE\83Ëm\92\88%d",
+td
+->
+Çme
+,
+´e£Á
+);
+
+953 if(
+¥ecs
+->
+to_ÿnÚiÿl_Üd\94
+)
+
+954
+´e£Á_\92c
+ =
+¥ecs
+->
+to_ÿnÚiÿl_Üd\94
+[
+´e£Á
+];
+
+956
+´e£Á_\92c
+ =
+´e£Á
+;
+
+958 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+959 if(
+´e£Á_\92c
+ <
+ù
+->
+low\94_bound
+
+
+960 ||
+´e£Á_\92c
+ >
+ù
+->
+uµ\94_bound
+) {
+
+961 if(
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+962
+ `ASN_DEBUG
+(
+
+964
+´e£Á
+,
+´e£Á_\92c
+,
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+);
+
+965 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 1, 1))
+
+966
+ASN__ENCODE_FAILED
+;
+
+968
+ASN__ENCODE_FAILED
+;
+
+970
+ù
+ = 0;
+
+973 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+974
+ `ASN_DEBUG
+("CHOICE member %d (enc %d) is\82ot\87n\83xtension (%ld..%ld)",
+
+975
+´e£Á
+,
+´e£Á_\92c
+,
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+);
+
+976 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 0, 1))
+
+977
+ASN__ENCODE_FAILED
+;
+
+981
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+];
+
+982
+ `ASN_DEBUG
+("CHOICE memb\94 \"%s\" %d (a %d)",
+\96m
+->
+Çme
+,
+´e£Á
+,
+
+983
+´e£Á_\92c
+);
+
+984 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+986
+memb_±r
+ =
+
+987 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+988 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+990
+memb_±r
+ = (cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+993 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+994 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+´e£Á_\92c
+,
+ù
+->
+¿nge_b\99s
+))
+
+995
+ASN__ENCODE_FAILED
+;
+
+997 \15
+\96m
+->
+ty³
+->
+Ý
+->
+ `u³r_\92cod\94
+(
+
+998
+\96m
+->
+ty³
+,\83lm->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r
+,
+po
+);
+
+1000
+a¢_\92c_rv®_t
+
+rv®
+ = {0,0,0};
+
+1001 if(
+¥ecs
+->
+ext_¡¬t
+ =ð-1è
+ASN__ENCODE_FAILED
+;
+
+1002 if(
+ `u³r_put_n¢nwn
+(
+po
+,
+´e£Á_\92c
+ -
+¥ecs
+->
+ext_¡¬t
+))
+
+1003
+ASN__ENCODE_FAILED
+;
+
+1004 if(
+ `u³r_Ý\92_ty³_put
+(
+\96m
+->
+ty³
+,
+
+1005
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+
+1006
+memb_±r
+,
+po
+))
+
+1007
+ASN__ENCODE_FAILED
+;
+
+1008
+rv®
+.
+\92coded
+ = 0;
+
+1009
+ `ASN__ENCODED_OK
+(
+rv®
+);
+
+1011
+ }
+}
+
+1013
+a¢_dec_rv®_t
+
+
+1014
+ $CHOICE_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1015 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1016 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+1017 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+1018
+a¢_dec_rv®_t
+
+rv
+;
+
+1019 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+1020 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ext_ù
+ =
+NULL
+;
+
+1021
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+1022 \1e*
+memb_±r
+;
+
+1023 \1e**
+memb_±r2
+;
+
+1024 \1e*
+¡
+ = *
+¥\8c
+;
+
+1025 \12
+v®ue
+;
+
+1027 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+1028
+ASN__DECODE_FAILED
+;
+
+1033 if(!
+¡
+) {
+
+1034
+¡
+ = *
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+1035 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+1038 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+1039 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+1040
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+1041 \v
+ù
+ = 0;
+
+1043 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+1044
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+1045 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1046 if(
+v®ue
+) {
+
+1047
+ext_ù
+ =
+ù
+;
+
+1048
+ù
+ = 0;
+
+1053 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+1054
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+ù
+->
+¿nge_b\99s
+);
+
+1055 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1056
+ `ASN_DEBUG
+("CHOICE %s got index %d in\84ange %d",
+
+1057
+td
+->
+Çme
+,
+v®ue
+,
+ù
+->
+¿nge_b\99s
+);
+
+1058 if(
+v®ue
+ >
+ù
+->
+uµ\94_bound
+)
+
+1059
+ASN__DECODE_FAILED
+;
+
+1061 if(
+¥ecs
+->
+ext_¡¬t
+ == -1)
+
+1062
+ASN__DECODE_FAILED
+;
+
+1063
+v®ue
+ =
+ `\94_g\91_n¢nwn
+(
+pd
+,
+ext_ù
+->
+¿nge_b\99s
+);
+
+1064 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1065
+v®ue
+ +ð
+¥ecs
+->
+ext_¡¬t
+;
+
+1066 if((\1d)
+v®ue
+ >ð
+td
+->
+\96em\92ts_couÁ
+)
+
+1067
+ASN__DECODE_FAILED
+;
+
+1071 if(
+¥ecs
+->
+äom_ÿnÚiÿl_Üd\94
+)
+
+1072
+v®ue
+ =
+¥ecs
+->
+äom_ÿnÚiÿl_Üd\94
+[value];
+
+1075
+ `_£t_´e£Á_idx
+(
+¡
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+,
+v®ue
+ + 1);
+
+1077
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+v®ue
+];
+
+1078 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1080
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1082
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+1083
+memb_±r2
+ = &
+memb_±r
+;
+
+1085
+ `ASN_DEBUG
+("Discov\94ed CHOICE % \92code %s",
+td
+->
+Çme
+,
+\96m
+->name);
+
+1087 if(
+ù
+ && ct->
+¿nge_b\99s
+ >= 0) {
+
+1088
+rv
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `\94_decod\94
+(
+Ýt_codec_ùx
+,\83lm->type,
+
+1089
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r2
+,
+pd
+);
+
+1091
+rv
+ =
+ `\94_Ý\92_ty³_g\91
+(
+Ýt_codec_ùx
+,
+\96m
+->
+ty³
+,
+
+1092
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r2
+,
+pd
+);
+
+1095 if(
+rv
+.
+code
+ !ð
+RC_OK
+)
+
+1096
+ `ASN_DEBUG
+("Failed\81o decode %s in %s (CHOICE) %d",
+
+1097
+\96m
+->
+Çme
+,
+td
+->Çme,
+rv
+.
+code
+);
+
+1098 \15
+rv
+;
+
+1099
+ }
+}
+
+1101
+a¢_\92c_rv®_t
+
+
+1102
+ $CHOICE_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1103 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+1104 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+1105 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+1106 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+1107 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+ =
+NULL
+;
+
+1108 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ext_ù
+ =
+NULL
+;
+
+1109 cڡ \1e*
+memb_±r
+;
+
+1110 \1d
+´e£Á
+;
+
+1111 \12
+´e£Á_\92c
+;
+
+1113 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+1115
+ `ASN_DEBUG
+("Encod\9ag % a CHOICE us\9ag ALIGNED PER",
+td
+->
+Çme
+);
+
+1117 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+v®ue
+;
+
+1118 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+1119
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+v®ue
+;
+
+1120 \v
+ù
+ =
+NULL
+;
+
+1122
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+
+1123
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+1129 if(
+´e£Á
+ <ð0 || (\1dí»£Á >
+td
+->
+\96em\92ts_couÁ
+)
+
+1130
+ASN__ENCODE_FAILED
+;
+
+1132
+´e£Á
+--;
+
+1135 if(
+¥ecs
+->
+to_ÿnÚiÿl_Üd\94
+)
+
+1136
+´e£Á_\92c
+ =
+¥ecs
+->
+to_ÿnÚiÿl_Üd\94
+[
+´e£Á
+];
+
+1138
+´e£Á_\92c
+ =
+´e£Á
+;
+
+1140
+ `ASN_DEBUG
+("Encod\9ag % CHOICE\83Ëm\92\88%d",
+td
+->
+Çme
+,
+´e£Á
+);
+
+1142 if(
+ù
+ && (ù->
+¿nge_b\99s
+ >= 0)) {
+
+1144 if(
+´e£Á
+ <
+ù
+->
+low\94_bound
+ ||\85»£Á > ct->
+uµ\94_bound
+) {
+
+1145 if(
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+1146
+ `ASN_DEBUG
+("CHOICE member %d (enc %d) is\87n\83xtension (%ld..%ld)",
+
+1147
+´e£Á
+,
+´e£Á_\92c
+,
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+);
+
+1149 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 1, 1)) {
+
+1150
+ASN__ENCODE_FAILED
+;
+
+1153
+ASN__ENCODE_FAILED
+;
+
+1156
+ext_ù
+ =
+ù
+;
+
+1157
+ù
+ =
+NULL
+;
+
+1161 if(
+ù
+ && (ù->
+æags
+ &
+APC_EXTENSIBLE
+)) {
+
+1162
+ `ASN_DEBUG
+("CHOICE member %d (enc %d) is\82ot\87n\83xtension (%ld..%ld)",
+
+1163
+´e£Á
+,\85»£Á,
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+);
+
+1165 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 0, 1)) {
+
+1166
+ASN__ENCODE_FAILED
+;
+
+1170
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+];
+
+1171 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1173
+memb_±r
+ = *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1174 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+1176
+memb_±r
+ = (cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+;
+
+1179 if(
+ù
+ && (ù->
+¿nge_b\99s
+ >= 0)) {
+
+1182 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+´e£Á_\92c
+,
+ù
+->
+¿nge_b\99s
+))
+
+1183
+ASN__ENCODE_FAILED
+;
+
+1185 \15
+\96m
+->
+ty³
+->
+Ý
+->
+ `\94_\92cod\94
+Ólm->ty³,\83lm->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+
+1186
+memb_±r
+,
+po
+);
+
+1188
+a¢_\92c_rv®_t
+
+rv®
+ = {0,0,0};
+
+1189 if(
+¥ecs
+->
+ext_¡¬t
+ == -1)
+
+1190
+ASN__ENCODE_FAILED
+;
+
+1193 if(
+ext_ù
+ &&
+ `\94_put_n¢nwn
+(
+po
+,\83xt_ù->
+¿nge_b\99s
+,
+´e£Á_\92c
+ -
+¥ecs
+->
+ext_¡¬t
+))
+
+1194
+ASN__ENCODE_FAILED
+;
+
+1195 if(
+ `\94_Ý\92_ty³_put
+(
+\96m
+->
+ty³
+,\83lm->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+
+1196
+memb_±r
+,
+po
+))
+
+1197
+ASN__ENCODE_FAILED
+;
+
+1198
+rv®
+.
+\92coded
+ = 0;
+
+1199
+ `ASN__ENCODED_OK
+(
+rv®
+);
+
+1201
+ }
+}
+
+1204
+ $CHOICE_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+1205
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+1206 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+1207 \1d
+´e£Á
+;
+
+1209 if(!
+¥\8c
+è\15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+1214
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+,¥ecs->
+´es_size
+);
+
+1219 if(
+´e£Á
+ > 0 &&\85»£Á <ð
+td
+->
+\96em\92ts_couÁ
+) {
+
+1220
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+-1];
+
+1221 cڡ \1e*
+memb_±r
+;
+
+1223 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1224
+memb_±r
+ = *(cڡ \1e* cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1225 if(!
+memb_±r
+è\15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+1227
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1232 if(
+ `cb
+(
+\96m
+->
+Çme
+,
+ `¡¾\92
+Ólm->Çme),
+p_key
+) < 0
+
+1233 ||
+ `cb
+(": ", 2,
+p_key
+) < 0)
+
+1237 \15
+\96m
+->
+ty³
+->
+Ý
+->
+ `´\9at_¡ruù
+Ólm->ty³,
+memb_±r
+,
+\9eev\96
+,
+
+1238
+cb
+,
+p_key
+);
+
+1240 \15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+1242
+ }
+}
+
+1245
+ $CHOICE_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+±r
+,
+
+1246 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+1247 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+1248 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1249 \1d
+´e£Á
+;
+
+1251 if(!
+td
+ || !
+±r
+)
+
+1254
+ `ASN_DEBUG
+("F»e\9ag % a CHOICE",
+td
+->
+Çme
+);
+
+1259
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+±r
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+1264 if(
+´e£Á
+ > 0 &&\85»£Á <ð
+td
+->
+\96em\92ts_couÁ
+) {
+
+1265
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+-1];
+
+1266 \1e*
+memb_±r
+;
+
+1268 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1269
+memb_±r
+ = *(\1e**)((\ 5*)
+±r
+ +
+\96m
+->
+memb_off£t
+);
+
+1270 if(
+memb_±r
+)
+
+1271
+ `ASN_STRUCT_FREE
+(*
+\96m
+->
+ty³
+,
+memb_±r
+);
+
+1273
+memb_±r
+ = (\1e*)((\ 5*)
+±r
+ +
+\96m
+->
+memb_off£t
+);
+
+1274
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(*
+\96m
+->
+ty³
+,
+memb_±r
+);
+
+1278 \1a
+m\91hod
+) {
+
+1279 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+1280
+ `FREEMEM
+(
+±r
+);
+
+1282 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+1284 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+:
+
+1285
+ `mem£t
+(
+±r
+, 0,
+¥ecs
+->
+¡ruù_size
+);
+
+1288
+ }
+}
+
+1301
+ $_ãtch_´e£Á_idx
+(cڡ \1e*
+¡ruù_±r
+, \1d
+´es_off£t
+,
+
+1302 \1d
+´es_size
+) {
+
+1303 cڡ \1e*
+´e£Á_±r
+;
+
+1304 \1d
+´e£Á
+;
+
+1306
+´e£Á_±r
+ = ((cڡ \ 5*)
+¡ruù_±r
+è+
+´es_off£t
+;
+
+1308 \1a
+´es_size
+) {
+
+1309 \ 4\17(\12):
+´e£Á
+ = *(cڡ \1d\12*)
+´e£Á_±r
+; \ 3;
+
+1310 \ 4\17(\16):
+´e£Á
+ = *(cڡ \1d\16*)
+´e£Á_±r
+; \ 3;
+
+1311 \ 4\17(\ 5):
+´e£Á
+ = *(cڡ \1d\ 5*)
+´e£Á_±r
+; \ 3;
+
+1314
+ `as£¹
+(
+´es_size
+ != \17(\12));
+
+1318 \15
+´e£Á
+;
+
+1319
+ }
+}
+
+1322
+ $_£t_´e£Á_idx
+(\1e*
+¡ruù_±r
+, \1d
+´es_off£t
+, \1d
+´es_size
+,
+
+1323 \1d
+´e£Á
+) {
+
+1324 \1e*
+´e£Á_±r
+;
+
+1325
+´e£Á_±r
+ = ((\ 5*)
+¡ruù_±r
+è+
+´es_off£t
+;
+
+1327 \1a
+´es_size
+) {
+
+1328 \ 4\17(\12): *(\1d\12*)
+´e£Á_±r
+ =
+´e£Á
+; \ 3;
+
+1329 \ 4\17(\16): *(\1d\16*)
+´e£Á_±r
+ =
+´e£Á
+; \ 3;
+
+1330 \ 4\17(\ 5): *(\1d\ 5*)
+´e£Á_±r
+ =
+´e£Á
+; \ 3;
+
+1333
+ `as£¹
+(
+´es_size
+ != \17(\12));
+
+1335
+ }
+}
+
+1338
+ $_g\91_memb\94_±r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+1339
+a¢_TYPE_memb\94_t
+ **
+\96m_±r
+, \1d*
+´e£Á_out
+) {
+
+1340 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+1341 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1342 \1d
+´e£Á
+;
+
+1344 if(!
+¥\8c
+) {
+
+1345 *
+\96m_±r
+ =
+NULL
+;
+
+1346 *
+´e£Á_out
+ = 0;
+
+1347 \15
+NULL
+;
+
+1353
+´e£Á
+ =
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+1354 *
+´e£Á_out
+ =
+´e£Á
+;
+
+1360 if(
+´e£Á
+ > 0 &&\85»£Á <ð
+td
+->
+\96em\92ts_couÁ
+) {
+
+1361
+a¢_TYPE_memb\94_t
+ *cڡ
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+ - 1];
+
+1362 cڡ \1e*
+memb_±r
+;
+
+1364 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1365
+memb_±r
+ =
+
+1366 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1368
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1370 *
+\96m_±r
+ =
+\96m
+;
+
+1371 \15
+memb_±r
+;
+
+1373 *
+\96m_±r
+ =
+NULL
+;
+
+1374 \15
+NULL
+;
+
+1377
+ }
+}
+
+1380
+ $CHOICE_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+, cڡ \1e*
+b±r
+) {
+
+1381
+a¢_TYPE_memb\94_t
+ *
+«lm
+;
+
+1382
+a¢_TYPE_memb\94_t
+ *
+b\96m
+;
+
+1383 \1d
+»£Á
+ = 0;
+
+1384 \1d
+b´e£Á
+ = 0;
+
+1385 cڡ \1e*
+amemb\94
+ =
+ `_g\91_memb\94_±r
+(
+td
+,
+\8c
+, &
+«lm
+, &
+»£Á
+);
+
+1386 cڡ \1e*
+bmemb\94
+ =
+ `_g\91_memb\94_±r
+(
+td
+,
+b±r
+, &
+b\96m
+, &
+b´e£Á
+);
+
+1388 if(
+amemb\94
+ &&
+bmemb\94
+) {
+
+1389 if(
+»£Á
+ =ð
+b´e£Á
+) {
+
+1390
+ `as£¹
+(
+«lm
+ =ð
+b\96m
+);
+
+1391 \15
+«lm
+->
+ty³
+->
+Ý
+->
+ `com·»_¡ruù
+×\96m->ty³,
+amemb\94
+,
+bmemb\94
+);
+
+1392 } \vif(
+»£Á
+ <
+b´e£Á
+) {
+
+1397 } \vif(!
+amemb\94
+) {
+
+1402
+ }
+}
+
+1409
+ $CHOICE_v¬\9fÁ_g\91_´e£nû
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+) {
+
+1410 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+1411 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1412 \15
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+1413
+ }
+}
+
+1422
+ $CHOICE_v¬\9fÁ_£t_´e£nû
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+1423 \1d
+´e£Á
+) {
+
+1424 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+1425 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1426 \1d
+Þd_´e£Á
+;
+
+1428 if(!
+¥\8c
+) {
+
+1432 if(
+´e£Á
+ >
+td
+->
+\96em\92ts_couÁ
+)
+
+1435
+Þd_´e£Á
+ =
+
+1436
+ `_ãtch_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+);
+
+1437 if(
+´e£Á
+ =ð
+Þd_´e£Á
+)
+
+1440 if(
+Þd_´e£Á
+ != 0) {
+
+1441
+ `as£¹
+(
+Þd_´e£Á
+ <ð
+td
+->
+\96em\92ts_couÁ
+);
+
+1442
+ `ASN_STRUCT_RESET
+(*
+td
+,
+¥\8c
+);
+
+1445
+ `_£t_´e£Á_idx
+(
+¥\8c
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+,
+´e£Á
+);
+
+1448
+ }
+}
+
+1451
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+1452
+ $CHOICE_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+1453 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cڡr
+,
+
+1454
+size_t
+
+max_Ëngth
+) {
+
+1455 cڡ
+a¢_CHOICE_¥ecifics_t
+ *
+¥ecs
+ =
+
+1456 (cڡ
+a¢_CHOICE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1457
+a¢_¿ndom_f\9el_»suÉ_t
+
+»s
+;
+
+1458
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+1459
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+1460 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+1461 \1d
+´e£Á
+;
+
+1462 \1e*
+memb_±r
+;
+
+1463 \1e**
+memb_±r2
+;
+
+1464 \1e*
+¡
+ = *
+¥\8c
+;
+
+1466 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+1468 (\1e)
+cڡr
+;
+
+1470 if(
+¡
+ =ð
+NULL
+) {
+
+1471
+¡
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+1472 if(
+¡
+ =ð
+NULL
+) {
+
+1473 \15
+»suÉ_ç\9eed
+;
+
+1477
+´e£Á
+ =
+ `a¢_¿ndom_b\91w\93n
+(1,
+td
+->
+\96em\92ts_couÁ
+);
+
+1478
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+´e£Á
+ - 1];
+
+1480 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1482
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1484
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+1485
+memb_±r2
+ = &
+memb_±r
+;
+
+1488
+»s
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `¿ndom_f\9el
+Ólm->ty³,
+memb_±r2
+,
+
+1489 &
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+,
+max_Ëngth
+);
+
+1490
+ `_£t_´e£Á_idx
+(
+¡
+,
+¥ecs
+->
+´es_off£t
+, s³cs->
+´es_size
+,
+´e£Á
+);
+
+1491 if(
+»s
+.
+code
+ =ð
+ARFILL_OK
+) {
+
+1492 *
+¥\8c
+ =
+¡
+;
+
+1494 if(
+¡
+ =ð*
+¥\8c
+) {
+
+1495
+ `ASN_STRUCT_RESET
+(*
+td
+,
+¡
+);
+
+1497
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¡
+);
+
+1501 \15
+»s
+;
+
+1502
+ }
+}
+
+1505
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_CHOICE
+ = {
+
+1506
+CHOICE_ä\93
+,
+
+1507
+CHOICE_´\9at
+,
+
+1508
+CHOICE_com·»
+,
+
+1509
+CHOICE_decode_b\94
+,
+
+1510
+CHOICE_\92code_d\94
+,
+
+1511
+CHOICE_decode_x\94
+,
+
+1512
+CHOICE_\92code_x\94
+,
+
+1513 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+1517
+CHOICE_decode_Ûr
+,
+
+1518
+CHOICE_\92code_Ûr
+,
+
+1520 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+1526
+CHOICE_decode_u³r
+,
+
+1527
+CHOICE_\92code_u³r
+,
+
+1528
+CHOICE_decode_\94
+,
+
+1529
+CHOICE_\92code_\94
+,
+
+1531
+CHOICE_¿ndom_f\9el
+,
+
+1532
+CHOICE_outmo¡_\8fg
+
+
+ @constr_SEQUENCE.c
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<cڡr_SEQUENCE.h
+>
+
+8 \ 2
+ ~<OPEN_TYPE.h
+>
+
+9 \ 2
+ ~<³r_Ý\92ty³.h
+>
+
+16 \ 1
+ #LEFT
+ ((
+size
+<(
+size_t
+)
+ùx
+->
+Ëá
+)?size:(size_t)ùx->Ëá)
+
+ )
+
+29 \ 1
+ #SIZE_VIOLATION
+ (
+ùx
+->
+Ëá
+ >ð0 && (
+size_t
+)ùx->Ëá <ð
+size
+)
+
+ )
+
+35 #undeà
+ADVANCE
+
+
+36 \ 1
+ #ADVANCE
+(
+num_by\8bs
+) do { \
+
+37
+size_t
+
+num
+ =
+num_by\8bs
+; \
+
+38
+±r
+ = ((cÚ¡ \ 5*í\8cè+
+num
+; \
+
+39
+size
+ -ð
+num
+; \
+
+40 if(
+ùx
+->
+Ëá
+ >= 0) \
+
+41
+ùx
+->
+Ëá
+ -ð
+num
+; \
+
+42
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+43 } \1f0)
+
+ )
+
+48 #undeà
+NEXT_PHASE
+
+
+49 #undeà
+PHASE_OUT
+
+
+50 \ 1
+ #NEXT_PHASE
+(
+ùx
+) do { \
+
+51
+ùx
+->
+pha£
+++; \
+
+52
+ùx
+->
+¡\95
+ = 0; \
+
+53 } \1f0)
+
+ )
+
+54 \ 1
+ #PHASE_OUT
+(
+ùx
+èdØ{ ctx->
+pha£
+ = 10; } \1f0)
+
+ )
+
+59 #undeà
+RETURN
+
+
+60 \ 1
+ #RETURN
+(
+_code
+) do { \
+
+61
+rv®
+.
+code
+ =
+_code
+; \
+
+62
+rv®
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+;\
+
+63 \15
+rv®
+; \
+
+64 } \1f0)
+
+ )
+
+69 \ 1
+ #IN_EXTENSION_GROUP
+(
+¥ecs
+,
+memb_idx
+) \
+
+70 ((
+¥ecs
+)->
+f\9c¡_ex\8bnsiÚ
+ >= 0 \
+
+71 && (\1d)(
+¥ecs
+)->
+f\9c¡_ex\8bnsiÚ
+ <ð(
+memb_idx
+))
+
+ )
+
+77
+ $_t2e_cmp
+(cڡ \1e*
+
+, cڡ \1e*
+bp
+) {
+
+78 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+a
+ = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
+
+;
+
+79 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+b
+ = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
+bp
+;
+
+81 \12
+a_þass
+ =
+ `BER_TAG_CLASS
+(
+a
+->
+\96_\8fg
+);
+
+82 \12
+b_þass
+ =
+ `BER_TAG_CLASS
+(
+b
+->
+\96_\8fg
+);
+
+84 if(
+a_þass
+ =ð
+b_þass
+) {
+
+85
+b\94_\8ev_\8fg_t
+
+a_v®ue
+ =
+ `BER_TAG_VALUE
+(
+a
+->
+\96_\8fg
+);
+
+86
+b\94_\8ev_\8fg_t
+
+b_v®ue
+ =
+ `BER_TAG_VALUE
+(
+b
+->
+\96_\8fg
+);
+
+88 if(
+a_v®ue
+ =ð
+b_v®ue
+) {
+
+89 if(
+a
+->
+\96_no
+ >
+b
+->el_no)
+
+96 } \vif(
+a_v®ue
+ <
+b_v®ue
+)
+
+100 } \vif(
+a_þass
+ <
+b_þass
+) {
+
+105
+ }
+}
+
+111
+a¢_dec_rv®_t
+
+
+112
+ $SEQUENCE_decode_b\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+113 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+114 cڡ \1e*
+±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+118 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SEQUENCE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+119 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96em\92ts
+ =
+td
+->elements;
+
+124 \1e*
+¡
+ = *
+¡ruù_±r
+;
+
+125
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+127
+b\94_\8ev_\8fg_t
+
+\8ev_\8fg
+;
+
+128
+a¢_dec_rv®_t
+
+rv®
+;
+
+130
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+131
+size_t
+
+edx
+;
+
+133
+ `ASN_DEBUG
+("Decod\9ag % a SEQUENCE",
+td
+->
+Çme
+);
+
+138 if(
+¡
+ == 0) {
+
+139
+¡
+ = *
+¡ruù_±r
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+140 if(
+¡
+ == 0) {
+
+141
+ `RETURN
+(
+RC_FAIL
+);
+
+148
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+153 \1a
+ùx
+->
+pha£
+) {
+
+161
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+,
+ùx
+,
+±r
+,
+size
+,
+
+162
+\8fg_mode
+, 1, &
+ùx
+->
+Ëá
+, 0);
+
+163 if(
+rv®
+.
+code
+ !ð
+RC_OK
+) {
+
+164
+ `ASN_DEBUG
+("%s\81agging check failed: %d",
+
+165
+td
+->
+Çme
+,
+rv®
+.
+code
+);
+
+166 \15
+rv®
+;
+
+169 if(
+ùx
+->
+Ëá
+ >= 0)
+
+170
+ùx
+->
+Ëá
+ +ð
+rv®
+.
+cÚsumed
+;
+
+171
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+173
+ `NEXT_PHASE
+(
+ùx
+);
+
+175
+ `ASN_DEBUG
+("Structure consumes %ld bytes, buffer %ld",
+
+176 (\13)
+ùx
+->
+Ëá
+, (\13)
+size
+);
+
+190 \ f
+edx
+ = ((
+size_t
+)
+ùx
+->
+¡\95
+ >> 1);\83dx <
+td
+->
+\96em\92ts_couÁ
+;
+
+191
+edx
+++,
+ùx
+->
+¡\95
+ = (ctx->step & ~1) + 2) {
+
+192 \1e*
+memb_±r
+;
+
+193 \1e**
+memb_±r2
+;
+
+194
+ssize_t
+
+\8fg_Ën
+;
+
+195
+size_t
+
+Ýt_edx_\92d
+;
+
+196
+size_t
+
+n
+;
+
+197 \12
+u£_b£¬ch
+;
+
+199 if(
+ùx
+->
+¡\95
+ & 1)
+
+200 \10
+miüÝha£2
+;
+
+205
+ `ASN_DEBUG
+("IÀ% SEQUENCE\86eá %d,\83dx=%"
+ASN_PRI_SIZE
+ " flags=%d"
+
+207
+td
+->
+Çme
+, (\12)
+ùx
+->
+Ëá
+,
+edx
+,
+
+208
+\96em\92ts
+[
+edx
+].
+æags
+,\83Ëm\92ts[edx].
+ÝtiÚ®
+,
+
+209
+td
+->
+\96em\92ts_couÁ
+);
+
+211 if(
+ùx
+->
+Ëá
+ == 0
+
+214 (
+edx
+ +
+\96em\92ts
+[edx].
+ÝtiÚ®
+ =ð
+td
+->
+\96em\92ts_couÁ
+) ||
+
+216
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+))) {
+
+217
+ `ASN_DEBUG
+("End oàSEQUENCE %s",
+td
+->
+Çme
+);
+
+221
+ `PHASE_OUT
+(
+ùx
+);
+
+222
+ `RETURN
+(
+RC_OK
+);
+
+228
+\8fg_Ën
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+LEFT
+, &
+\8ev_\8fg
+);
+
+229
+ `ASN_DEBUG
+("Cu¼\92\88\8fg iÀ% SEQUENCE fÜ\83Ëm\92\88%"
+ASN_PRI_SIZE
+ " "
+
+231
+td
+->
+Çme
+,
+edx
+,
+\96em\92ts
+[edx].name,
+
+232
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+), (\12)
+\8fg_Ën
+, (\13)
+LEFT
+);
+
+233 \1a
+\8fg_Ën
+) {
+
+234 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+236 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+239 if(
+ùx
+->
+Ëá
+ < 0 && ((cڡ
+u\9at8_t
+ *)
+±r
+)[0] == 0) {
+
+240 if(
+LEFT
+ < 2) {
+
+241 if(
+SIZE_VIOLATION
+) {
+
+242
+ `RETURN
+(
+RC_FAIL
+);
+
+244
+ `RETURN
+(
+RC_WMORE
+);
+
+246 } \vif(((cڡ
+u\9at8_t
+ *)
+±r
+)[1] == 0) {
+
+247
+ `ASN_DEBUG
+("edx = %"
+ASN_PRI_SIZE
+ ", o± = %d,\83c=%d",
+edx
+,
+
+248
+\96em\92ts
+[
+edx
+].
+ÝtiÚ®
+,
+td
+->
+\96em\92ts_couÁ
+);
+
+249 if((
+edx
+ +
+\96em\92ts
+[edx].
+ÝtiÚ®
+ =ð
+td
+->
+\96em\92ts_couÁ
+)
+
+250 ||
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+)) {
+
+260 \10
+pha£3
+;
+
+268
+u£_b£¬ch
+ = 0;
+
+269
+Ýt_edx_\92d
+ =
+edx
+ +
+\96em\92ts
+[edx].
+ÝtiÚ®
+ + 1;
+
+270 if(
+Ýt_edx_\92d
+ >
+td
+->
+\96em\92ts_couÁ
+)
+
+271
+Ýt_edx_\92d
+ =
+td
+->
+\96em\92ts_couÁ
+;
+
+272 \vif(
+Ýt_edx_\92d
+ -
+edx
+ > 8) {
+
+274
+Ýt_edx_\92d
+ =
+edx
+ + 8;
+
+275
+u£_b£¬ch
+ = 1;
+
+278 \ f
+n
+ =
+edx
+;\82 <
+Ýt_edx_\92d
+;\82++) {
+
+279 if(
+ `BER_TAGS_EQUAL
+(
+\8ev_\8fg
+,
+\96em\92ts
+[
+n
+].
+\8fg
+)) {
+
+285
+edx
+ =
+n
+;
+
+286
+ùx
+->
+¡\95
+ = 1 + 2 *
+edx
+;
+
+287 \10
+miüÝha£2
+;
+
+288 } \vif(
+\96em\92ts
+[
+n
+].
+æags
+ &
+ATF_ANY_TYPE
+) {
+
+293
+edx
+ =
+n
+;
+
+294
+ùx
+->
+¡\95
+ = 1 + 2 *
+edx
+;
+
+295 \10
+miüÝha£2
+;
+
+296 } \vif(
+\96em\92ts
+[
+n
+].
+\8fg
+ =ð(
+b\94_\8ev_\8fg_t
+)-1) {
+
+297
+u£_b£¬ch
+ = 1;
+
+301 if(
+u£_b£¬ch
+) {
+
+306 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+t2m
+;
+
+307
+a¢_TYPE_\8fg2memb\94_t
+
+key
+ = {0, 0, 0, 0};
+
+308
+key
+.
+\96_\8fg
+ =
+\8ev_\8fg
+;
+
+309
+key
+.
+\96_no
+ =
+edx
+;
+
+310
+t2m
+ = (cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *)
+ `b£¬ch
+(&
+key
+,
+
+311
+¥ecs
+->
+\8fg2\96
+, s³cs->
+\8fg2\96_couÁ
+,
+
+312 \17(
+¥ecs
+->
+\8fg2\96
+[0]),
+_t2e_cmp
+);
+
+313 if(
+t2m
+) {
+
+314 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+be¡
+ = 0;
+
+315 cڡ
+a¢_TYPE_\8fg2memb\94_t
+ *
+t2m_f
+, *
+t2m_l
+;
+
+316
+size_t
+
+edx_max
+ =
+edx
+ +
+\96em\92ts
+[edx].
+ÝtiÚ®
+;
+
+321
+t2m_f
+ =
+t2m
+ +\812m->
+toff_f\9c¡
+;
+
+322
+t2m_l
+ =
+t2m
+ +\812m->
+toff_ϡ
+;
+
+323 \ f
+t2m
+ =
+t2m_f
+;\812m <ð
+t2m_l
+;\812m++) {
+
+324 if(
+t2m
+->
+\96_no
+ >
+edx_max
+) \ 3;
+
+325 if(
+t2m
+->
+\96_no
+ <
+edx
+) \ 6;
+
+326
+be¡
+ =
+t2m
+;
+
+328 if(
+be¡
+) {
+
+329
+edx
+ =
+be¡
+->
+\96_no
+;
+
+330
+ùx
+->
+¡\95
+ = 1 + 2 *
+edx
+;
+
+331 \10
+miüÝha£2
+;
+
+334
+n
+ =
+Ýt_edx_\92d
+;
+
+336 if(
+n
+ =ð
+Ýt_edx_\92d
+) {
+
+343 if(!
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+
+344
+edx
+ +
+\96em\92ts
+[edx].
+ÝtiÚ®
+)) {
+
+345
+ `ASN_DEBUG
+("UÃx³ùed\81ag % ×\88%"
+ASN_PRI_SIZE
+ ")",
+
+346
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+),
+edx
+);
+
+347
+ `ASN_DEBUG
+("Expected\81ag %s (%s)%s",
+
+348
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\96em\92ts
+[
+edx
+].
+\8fg
+),
+
+349
+\96em\92ts
+[
+edx
+].
+Çme
+,
+
+350
+\96em\92ts
+[
+edx
+].
+ÝtiÚ®
+
+
+352
+ `RETURN
+(
+RC_FAIL
+);
+
+355
+ssize_t
+
+sk\9d
+;
+
+356
+edx
+ +ð
+\96em\92ts
+[edx].
+ÝtiÚ®
+;
+
+358
+ `ASN_DEBUG
+("Sk\9dp\9ag uÃx³ùed % ×\88%"
+ASN_PRI_SIZE
+ ")",
+
+359
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+),
+edx
+);
+
+360
+sk\9d
+ =
+ `b\94_sk\9d_Ëngth
+(
+Ýt_codec_ùx
+,
+
+361
+ `BER_TLV_CONSTRUCTED
+(
+±r
+),
+
+362 (cڡ \ 5*)
+±r
+ +
+\8fg_Ën
+,
+
+363
+LEFT
+ -
+\8fg_Ën
+);
+
+364
+ `ASN_DEBUG
+("Skip\86ength %d in %s",
+
+365 (\12)
+sk\9d
+,
+td
+->
+Çme
+);
+
+366 \1a
+sk\9d
+) {
+
+367 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+369 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+372
+ `ADVANCE
+(
+sk\9d
+ +
+\8fg_Ën
+);
+
+373
+ùx
+->
+¡\95
+ -= 2;
+
+374
+edx
+--;
+
+382
+ùx
+->
+¡\95
+ |= 1;
+
+383
+miüÝha£2
+:
+
+384
+ `ASN_DEBUG
+("Insid\90SEQUENCE % MF2",
+td
+->
+Çme
+);
+
+391 if(
+\96em\92ts
+[
+edx
+].
+æags
+ &
+ATF_POINTER
+) {
+
+393
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96em\92ts
+[
+edx
+].
+memb_off£t
+);
+
+399
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96em\92ts
+[
+edx
+].
+memb_off£t
+;
+
+400
+memb_±r2
+ = &
+memb_±r
+;
+
+405 if(
+\96em\92ts
+[
+edx
+].
+æags
+ &
+ATF_OPEN_TYPE
+) {
+
+406
+rv®
+ =
+ `OPEN_TYPE_b\94_g\91
+(
+Ýt_codec_ùx
+,
+td
+,
+¡
+, &
+\96em\92ts
+[
+edx
+],
+±r
+,
+LEFT
+);
+
+408
+rv®
+ =
+\96em\92ts
+[
+edx
+].
+ty³
+->
+Ý
+->
+ `b\94_decod\94
+(
+Ýt_codec_ùx
+,
+
+409
+\96em\92ts
+[
+edx
+].
+ty³
+,
+
+410
+memb_±r2
+,
+±r
+,
+LEFT
+,
+
+411
+\96em\92ts
+[
+edx
+].
+\8fg_mode
+);
+
+413
+ `ASN_DEBUG
+("IÀ% SEQUENCE decoded %"
+ASN_PRI_SIZE
+ " %s of %d "
+
+415
+td
+->
+Çme
+,
+edx
+,
+\96em\92ts
+[edx].
+ty³
+->name,
+
+416 (\12)
+LEFT
+, (\12)
+rv®
+.
+cÚsumed
+,\84v®.
+code
+, (\12)
+size
+);
+
+417 \1a
+rv®
+.
+code
+) {
+
+418 \ 4
+RC_OK
+:
+
+420 \ 4
+RC_WMORE
+:
+
+421 if(!
+SIZE_VIOLATION
+) {
+
+422
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+423
+ `RETURN
+(
+RC_WMORE
+);
+
+425
+ `ASN_DEBUG
+("Size violation (c->l=%ld <= s=%ld)",
+
+426 (\13)
+ùx
+->
+Ëá
+, (\13)
+size
+);
+
+428 \ 4
+RC_FAIL
+:
+
+429
+ `RETURN
+(
+RC_FAIL
+);
+
+432
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+435
+pha£3
+:
+
+436
+ùx
+->
+pha£
+ = 3;
+
+441
+ `ASN_DEBUG
+("SEQUENCE %s Leftover: %ld, size = %ld",
+
+442
+td
+->
+Çme
+, (\13)
+ùx
+->
+Ëá
+, (\13)
+size
+);
+
+447 \1f
+ùx
+->
+Ëá
+) {
+
+448
+ssize_t
+
+\8e
+,
+Î
+;
+
+450
+\8e
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+LEFT
+, &
+\8ev_\8fg
+);
+
+451 \1a
+\8e
+) {
+
+452 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+454 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+460 if(
+ùx
+->
+Ëá
+ < 0
+
+461 && ((cڡ
+u\9at8_t
+ *)
+±r
+)[0] == 0) {
+
+462 if(
+LEFT
+ < 2) {
+
+463 if(
+SIZE_VIOLATION
+)
+
+464
+ `RETURN
+(
+RC_FAIL
+);
+
+466
+ `RETURN
+(
+RC_WMORE
+);
+
+467 } \vif(((cڡ
+u\9at8_t
+ *)
+±r
+)[1] == 0) {
+
+471
+ `ADVANCE
+(2);
+
+472
+ùx
+->
+Ëá
+++;
+
+473
+ùx
+->
+pha£
+ = 4;
+
+478 if(!
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+td
+->
+\96em\92ts_couÁ
+)
+
+479 ||
+ùx
+->
+pha£
+ == 4) {
+
+480
+ `ASN_DEBUG
+("Unexpected continuation "
+
+483
+td
+->
+Çme
+,
+
+484
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+));
+
+485
+ `RETURN
+(
+RC_FAIL
+);
+
+488
+Î
+ =
+ `b\94_sk\9d_Ëngth
+(
+Ýt_codec_ùx
+,
+
+489
+ `BER_TLV_CONSTRUCTED
+(
+±r
+),
+
+490 (cڡ \ 5*)
+±r
+ +
+\8e
+,
+LEFT
+ -\81l);
+
+491 \1a
+Î
+) {
+
+492 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+494 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+497
+ `ADVANCE
+(
+\8e
+ +
+Î
+);
+
+500
+ `PHASE_OUT
+(
+ùx
+);
+
+503
+ `RETURN
+(
+RC_OK
+);
+
+504
+ }
+}
+
+510
+a¢_\92c_rv®_t
+
+
+511
+ $SEQUENCE_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+512 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+
+513
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+514
+size_t
+
+compu\8bd_size
+ = 0;
+
+515
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+516
+ssize_t
+
+»t
+;
+
+517
+size_t
+
+edx
+;
+
+519
+ `ASN_DEBUG
+("%s %s\87s SEQUENCE",
+
+520
+cb
+?"Encod\9ag":"E¡im©\9ag",
+td
+->
+Çme
+);
+
+525 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+526
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+528 cڡ \1e*
+memb_±r
+;
+
+529 cڡ \1e*cڡ *
+memb_±r2
+;
+
+531 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+532
+memb_±r2
+ =
+
+533 (cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+534 if(!*
+memb_±r2
+) {
+
+535
+ `ASN_DEBUG
+("EËm\92\88% %"
+ASN_PRI_SIZE
+ "\82ot\85resent",
+
+536
+\96m
+->
+Çme
+,
+edx
+);
+
+537 if(
+\96m
+->
+ÝtiÚ®
+)
+
+540
+ASN__ENCODE_FAILED
+;
+
+543
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+544
+memb_±r2
+ = &
+memb_±r
+;
+
+548 if(
+\96m
+->
+deçuÉ_v®ue_cmp
+ &&\83lm->
+ `deçuÉ_v®ue_cmp
+(*
+memb_±r2
+) == 0)
+
+551
+\94v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³, *
+memb_±r2
+,
+
+552
+\96m
+->
+\8fg_mode
+,\83lm->
+\8fg
+,
+
+554 if(
+\94v®
+.
+\92coded
+ == -1)
+
+555 \15
+\94v®
+;
+
+556
+compu\8bd_size
+ +ð
+\94v®
+.
+\92coded
+;
+
+557
+ `ASN_DEBUG
+("Memb\94 %"
+ASN_PRI_SIZE
+ " %s\83stimated %ld bytes",
+
+558
+edx
+,
+\96m
+->
+Çme
+, (\13)
+\94v®
+.
+\92coded
+);
+
+564
+»t
+ =
+ `d\94_wr\99e_\8fgs
+(
+td
+,
+compu\8bd_size
+,
+\8fg_mode
+, 1,
+\8fg
+,
+cb
+,
+p_key
+);
+
+565
+ `ASN_DEBUG
+("WrÙ\90\8fgs: %ld (+%ld)", (\13)
+»t
+, (\13)
+compu\8bd_size
+);
+
+566 if(
+»t
+ == -1)
+
+567
+ASN__ENCODE_FAILED
+;
+
+568
+\94v®
+.
+\92coded
+ =
+compu\8bd_size
+ +
+»t
+;
+
+570 if(!
+cb
+è
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+575 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+576
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+577
+a¢_\92c_rv®_t
+
+tm³rv®
+ = {0,0,0};
+
+578 cڡ \1e*
+memb_±r
+;
+
+579 cڡ \1e*cڡ *
+memb_±r2
+;
+
+581 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+582
+memb_±r2
+ =
+
+583 (cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+584 if(!*
+memb_±r2
+) \ 6;
+
+586
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+587
+memb_±r2
+ = &
+memb_±r
+;
+
+591 if(
+\96m
+->
+deçuÉ_v®ue_cmp
+ &&\83lm->
+ `deçuÉ_v®ue_cmp
+(*
+memb_±r2
+) == 0)
+
+594
+tm³rv®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³, *
+memb_±r2
+,
+
+595
+\96m
+->
+\8fg_mode
+,\83lm->
+\8fg
+,
+cb
+,
+p_key
+);
+
+596 if(
+tm³rv®
+.
+\92coded
+ == -1)
+
+597 \15
+tm³rv®
+;
+
+598
+compu\8bd_size
+ -ð
+tm³rv®
+.
+\92coded
+;
+
+599
+ `ASN_DEBUG
+("Memb\94 %"
+ASN_PRI_SIZE
+ " %s of SEQUENCE %s\83ncoded in %ld bytes",
+
+600
+edx
+,
+\96m
+->
+Çme
+,
+td
+->Çme, (\13)
+tm³rv®
+.
+\92coded
+);
+
+603 if(
+compu\8bd_size
+ != 0)
+
+607
+ASN__ENCODE_FAILED
+;
+
+609
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+610
+ }
+}
+
+613 #undeà
+XER_ADVANCE
+
+
+614 \ 1
+ #XER_ADVANCE
+(
+num_by\8bs
+) \
+
+616
+size_t
+
+num
+ = (
+num_by\8bs
+); \
+
+617
+±r
+ = ((cÚ¡ \ 5*í\8cè+
+num
+; \
+
+618
+size
+ -ð
+num
+; \
+
+619
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+620 } \1f0)
+
+ )
+
+625
+a¢_dec_rv®_t
+
+
+626
+ $SEQUENCE_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+627 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+628 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+632 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+
+
+633 ð(cÚ¡
+a¢_SEQUENCE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+634
+a¢_TYPE_memb\94_t
+ *
+\96em\92ts
+ =
+td
+->elements;
+
+635 cڡ \ 5*
+xml_\8fg
+ =
+Ýt_mÇme
+ ? o±_mÇm\90:
+td
+->xml_tag;
+
+640 \1e*
+¡
+ = *
+¡ruù_±r
+;
+
+641
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+643
+a¢_dec_rv®_t
+
+rv®
+;
+
+644
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+645
+size_t
+
+edx
+;
+
+650 if(
+¡
+ == 0) {
+
+651
+¡
+ = *
+¡ruù_±r
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+652 if(
+¡
+ =ð0è
+ `RETURN
+(
+RC_FAIL
+);
+
+658
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+669 \ f
+edx
+ =
+ùx
+->
+¡\95
+; ctx->
+pha£
+ <= 3;) {
+
+670
+px\94_chunk_ty³_e
+
+ch_ty³
+;
+
+671
+ssize_t
+
+ch_size
+;
+
+672
+x\94_check_\8fg_e
+
+tcv
+;
+
+673
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+678 if(
+ùx
+->
+pha£
+ == 2) {
+
+679
+a¢_dec_rv®_t
+
+tm´v®
+;
+
+680 \1e*
+memb_±r_dÚtu£
+;
+
+681 \1e**
+memb_±r2
+;
+
+683
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+685 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+687
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+689
+memb_±r_dÚtu£
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+690
+memb_±r2
+ = &
+memb_±r_dÚtu£
+;
+
+693 if(
+\96m
+->
+æags
+ &
+ATF_OPEN_TYPE
+) {
+
+694
+tm´v®
+ =
+ `OPEN_TYPE_x\94_g\91
+(
+Ýt_codec_ùx
+,
+td
+,
+¡
+,
+\96m
+,
+±r
+,
+size
+);
+
+697
+tm´v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `x\94_decod\94
+(
+Ýt_codec_ùx
+,
+
+698
+\96m
+->
+ty³
+,
+memb_±r2
+,\83lm->
+Çme
+,
+
+699
+±r
+,
+size
+);
+
+701
+ `XER_ADVANCE
+(
+tm´v®
+.
+cÚsumed
+);
+
+702 if(
+tm´v®
+.
+code
+ !ð
+RC_OK
+)
+
+703
+ `RETURN
+(
+tm´v®
+.
+code
+);
+
+704
+ùx
+->
+pha£
+ = 1;
+
+705
+ùx
+->
+¡\95
+ = ++
+edx
+;
+
+706
+ `ASN_DEBUG
+("XER/SEQUENCE\85hase => %d, step => %d",
+
+707
+ùx
+->
+pha£
+, ctx->
+¡\95
+);
+
+714
+ch_size
+ =
+ `x\94_Ãxt_tok\92
+(&
+ùx
+->
+cڋxt
+,
+±r
+,
+size
+,
+
+715 &
+ch_ty³
+);
+
+716 if(
+ch_size
+ == -1) {
+
+717
+ `RETURN
+(
+RC_FAIL
+);
+
+719 \1a
+ch_ty³
+) {
+
+720 \ 4
+PXER_WMORE
+:
+
+721
+ `RETURN
+(
+RC_WMORE
+);
+
+722 \ 4
+PXER_COMMENT
+:
+
+723 \ 4
+PXER_TEXT
+:
+
+724
+ `XER_ADVANCE
+(
+ch_size
+);
+
+726 \ 4
+PXER_TAG
+:
+
+731
+tcv
+ =
+ `x\94_check_\8fg
+(
+±r
+,
+ch_size
+,
+xml_\8fg
+);
+
+732
+ `ASN_DEBUG
+("XER/SEQUENCE:\81cv = %d,\85h=%d [%s]",
+
+733
+tcv
+,
+ùx
+->
+pha£
+,
+xml_\8fg
+);
+
+736 if(
+ùx
+->
+pha£
+ == 3) {
+
+737 \1a
+ `x\94_sk\9d_unknown
+(
+tcv
+, &
+ùx
+->
+Ëá
+)) {
+
+739
+ùx
+->
+pha£
+ = 4;
+
+740
+ `RETURN
+(
+RC_FAIL
+);
+
+742
+ `XER_ADVANCE
+(
+ch_size
+);
+
+745
+ `XER_ADVANCE
+(
+ch_size
+);
+
+746
+ùx
+->
+pha£
+ = 1;
+
+749
+ùx
+->
+pha£
+ = 1;
+
+754 \1a
+tcv
+) {
+
+755 \ 4
+XCT_CLOSING
+:
+
+756 if(
+ùx
+->
+pha£
+ == 0) \ 3;
+
+757
+ùx
+->
+pha£
+ = 0;
+
+759 \ 4
+XCT_BOTH
+:
+
+760 if(
+ùx
+->
+pha£
+ == 0) {
+
+761 if(
+edx
+ >ð
+td
+->
+\96em\92ts_couÁ
+ ||
+
+763 (
+edx
+ +
+\96em\92ts
+[edx].
+ÝtiÚ®
+ =ð
+td
+->
+\96em\92ts_couÁ
+) ||
+
+765
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+)) {
+
+766
+ `XER_ADVANCE
+(
+ch_size
+);
+
+767
+ùx
+->
+pha£
+ = 4;
+
+768
+ `RETURN
+(
+RC_OK
+);
+
+770
+ `ASN_DEBUG
+("Premature\83nd of XER SEQUENCE");
+
+771
+ `RETURN
+(
+RC_FAIL
+);
+
+775 \ 4
+XCT_OPENING
+:
+
+776 if(
+ùx
+->
+pha£
+ == 0) {
+
+777
+ `XER_ADVANCE
+(
+ch_size
+);
+
+778
+ùx
+->
+pha£
+ = 1;
+
+782 \ 4
+XCT_UNKNOWN_OP
+:
+
+783 \ 4
+XCT_UNKNOWN_BO
+:
+
+785
+ `ASN_DEBUG
+("XER/SEQUENCE:\81cv=%d,\85h=%d,\83dx=%"
+ASN_PRI_SIZE
+ "",
+
+786
+tcv
+,
+ùx
+->
+pha£
+,
+edx
+);
+
+787 if(
+ùx
+->
+pha£
+ != 1) {
+
+791 if(
+edx
+ <
+td
+->
+\96em\92ts_couÁ
+) {
+
+795
+size_t
+
+n
+;
+
+796
+size_t
+
+edx_\92d
+ =
+edx
+ +
+\96em\92ts
+[edx].
+ÝtiÚ®
+ + 1;
+
+797 if(
+edx_\92d
+ >
+td
+->
+\96em\92ts_couÁ
+)
+
+798
+edx_\92d
+ =
+td
+->
+\96em\92ts_couÁ
+;
+
+799 \ f
+n
+ =
+edx
+;\82 <
+edx_\92d
+;\82++) {
+
+800
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+n
+];
+
+801
+tcv
+ =
+ `x\94_check_\8fg
+(
+±r
+,
+ch_size
+,
+\96m
+->
+Çme
+);
+
+802 \1a
+tcv
+) {
+
+803 \ 4
+XCT_BOTH
+:
+
+804 \ 4
+XCT_OPENING
+:
+
+808
+ùx
+->
+¡\95
+ =
+edx
+ =
+n
+;
+
+809
+ùx
+->
+pha£
+ = 2;
+
+811 \ 4
+XCT_UNKNOWN_OP
+:
+
+812 \ 4
+XCT_UNKNOWN_BO
+:
+
+815
+n
+ =
+edx_\92d
+;
+
+820 if(
+n
+ !ð
+edx_\92d
+)
+
+823
+ `ASN_DEBUG
+("Ou\88oàdef\9aed memb\94s: %"
+ASN_PRI_SIZE
+ "/%u",
+
+824
+edx
+,
+td
+->
+\96em\92ts_couÁ
+);
+
+828 if(
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+
+829
+edx
+ + (edx <
+td
+->
+\96em\92ts_couÁ
+
+
+830 ?
+\96em\92ts
+[
+edx
+].
+ÝtiÚ®
+ : 0))) {
+
+831
+ `ASN_DEBUG
+("GÙ\87Áic\9d©ed\83x\8bnsiÚ\87\88%"
+ASN_PRI_SIZE
+ "",
+
+832
+edx
+);
+
+838 if(
+tcv
+ &
+XCT_CLOSING
+) {
+
+841
+ùx
+->
+Ëá
+ = 1;
+
+842
+ùx
+->
+pha£
+ = 3;
+
+844
+ `XER_ADVANCE
+(
+ch_size
+);
+
+853
+ `ASN_DEBUG
+("Unexpected XML\81ag in SEQUENCE [%c%c%c%c%c%c]",
+
+854
+size
+>0?((cڡ \ 5*)
+±r
+)[0]:'.',
+
+855
+size
+>1?((cڡ \ 5*)
+±r
+)[1]:'.',
+
+856
+size
+>2?((cڡ \ 5*)
+±r
+)[2]:'.',
+
+857
+size
+>3?((cڡ \ 5*)
+±r
+)[3]:'.',
+
+858
+size
+>4?((cڡ \ 5*)
+±r
+)[4]:'.',
+
+859
+size
+>5?((cڡ \ 5*)
+±r
+)[5]:'.');
+
+863
+ùx
+->
+pha£
+ = 4;
+
+864
+ `RETURN
+(
+RC_FAIL
+);
+
+865
+ }
+}
+
+867
+a¢_\92c_rv®_t
+
+
+868
+ $SEQUENCE_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+869 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+870
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+871
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+872 \12
+xÿn
+ = (
+æags
+ &
+XER_F_CANONICAL
+);
+
+873
+a¢_TYPE_desü\9dtÜ_t
+ *
+tmp_def_v®_td
+ = 0;
+
+874 \1e*
+tmp_def_v®
+ = 0;
+
+875
+size_t
+
+edx
+;
+
+877 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+879
+\94
+.
+\92coded
+ = 0;
+
+881 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+882
+a¢_\92c_rv®_t
+
+tm³r
+ = {0,0,0};
+
+883
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+884 cڡ \1e*
+memb_±r
+;
+
+885 cڡ \ 5*
+mÇme
+ =
+\96m
+->
+Çme
+;
+
+886 \1d\12
+mËn
+ =
+ `¡¾\92
+(
+mÇme
+);
+
+888 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+889
+memb_±r
+ =
+
+890 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+891 if(!
+memb_±r
+) {
+
+892
+ `as£¹
+(
+tmp_def_v®
+ == 0);
+
+893 if(
+\96m
+->
+deçuÉ_v®ue_£t
+) {
+
+894 if(
+\96m
+->
+ `deçuÉ_v®ue_£t
+(&
+tmp_def_v®
+)) {
+
+895
+ASN__ENCODE_FAILED
+;
+
+897
+memb_±r
+ =
+tmp_def_v®
+;
+
+898
+tmp_def_v®_td
+ =
+\96m
+->
+ty³
+;
+
+900 } \vif(
+\96m
+->
+ÝtiÚ®
+) {
+
+904
+ASN__ENCODE_FAILED
+;
+
+908
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+911 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+);
+
+912
+ `ASN__CALLBACK3
+("<", 1,
+mÇme
+,
+mËn
+, ">", 1);
+
+915
+tm³r
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `x\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+\9eev\96
+ + 1,
+
+916
+æags
+,
+cb
+,
+p_key
+);
+
+917 if(
+tmp_def_v®
+) {
+
+918
+ `ASN_STRUCT_FREE
+(*
+tmp_def_v®_td
+,
+tmp_def_v®
+);
+
+919
+tmp_def_v®
+ = 0;
+
+921 if(
+tm³r
+.
+\92coded
+ == -1) \15\81mper;
+
+922
+\94
+.
+\92coded
+ +ð
+tm³r
+.encoded;
+
+924
+ `ASN__CALLBACK3
+("</", 2,
+mÇme
+,
+mËn
+, ">", 1);
+
+927 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+ - 1);
+
+929
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+930
+cb_ç\9eed
+:
+
+931 if(
+tmp_def_v®
+è
+ `ASN_STRUCT_FREE
+(*
+tmp_def_v®_td
+,\81mp_def_val);
+
+932
+ASN__ENCODE_FAILED
+;
+
+933
+ }
+}
+
+936
+ $SEQUENCE_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+937
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+938
+size_t
+
+edx
+;
+
+939 \12
+»t
+;
+
+941 if(!
+¥\8c
+è\15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+944 if(
+ `cb
+(
+td
+->
+Çme
+,
+ `¡¾\92
+Ñd->Çme),
+p_key
+) < 0
+
+945 ||
+ `cb
+(" ::ð{", 6,
+p_key
+) < 0)
+
+948 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+949
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+950 cڡ \1e*
+memb_±r
+;
+
+952 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+953
+memb_±r
+ = *(cڡ \1e* cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+954 if(!
+memb_±r
+) {
+
+955 if(
+\96m
+->
+ÝtiÚ®
+) \ 6;
+
+960
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+964
+ `_i_INDENT
+(1);
+
+967 if(
+ `cb
+(
+\96m
+->
+Çme
+,
+ `¡¾\92
+Ólm->Çme),
+p_key
+) < 0
+
+968 ||
+ `cb
+(": ", 2,
+p_key
+) < 0)
+
+972
+»t
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `´\9at_¡ruù
+Ólm->ty³,
+memb_±r
+,
+\9eev\96
+ + 1,
+
+973
+cb
+,
+p_key
+);
+
+974 if(
+»t
+) \15\84et;
+
+977
+\9eev\96
+--;
+
+978
+ `_i_INDENT
+(1);
+
+980 \15 (
+ `cb
+("}", 1,
+p_key
+) < 0) ? -1 : 0;
+
+981
+ }
+}
+
+984
+ $SEQUENCE_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+¥\8c
+,
+
+985 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+986
+size_t
+
+edx
+;
+
+987 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+ =
+
+988 (cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+989
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+991 if(!
+td
+ || !
+¥\8c
+)
+
+994
+ `ASN_DEBUG
+("F»e\9ag % a SEQUENCE",
+td
+->
+Çme
+);
+
+996 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+997
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+998 \1e*
+memb_±r
+;
+
+999 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1000
+memb_±r
+ = *(\1e**)((\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1001 if(
+memb_±r
+)
+
+1002
+ `ASN_STRUCT_FREE
+(*
+\96m
+->
+ty³
+,
+memb_±r
+);
+
+1004
+memb_±r
+ = (\1e*)((\ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1005
+ `ASN_STRUCT_FREE_CONTENTS_ONLY
+(*
+\96m
+->
+ty³
+,
+memb_±r
+);
+
+1010
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¥\8c
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+1011
+ `FREEMEM
+(
+ùx
+->
+±r
+);
+
+1013 \1a
+m\91hod
+) {
+
+1014 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+1015
+ `FREEMEM
+(
+¥\8c
+);
+
+1017 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+1019 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+:
+
+1020
+ `mem£t
+(
+
+1021
+¥\8c
+, 0,
+
+1022 ((cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *)(
+td
+->
+¥ecifics
+))->
+¡ruù_size
+);
+
+1025
+ }
+}
+
+1028
+ $SEQUENCE_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+1029
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+1030
+size_t
+
+edx
+;
+
+1032 if(!
+¥\8c
+) {
+
+1033
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+1035
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+1042 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+1043
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1044 cڡ \1e*
+memb_±r
+;
+
+1046 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1047
+memb_±r
+ = *(cڡ \1e* cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1048 if(!
+memb_±r
+) {
+
+1049 if(
+\96m
+->
+ÝtiÚ®
+)
+
+1051
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+1053
+td
+->
+Çme
+,
+\96m
+->Çme,
+__FILE__
+,
+__LINE__
+);
+
+1057
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1060 if(
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+g\92\94®_cÚ¡¿\9ats
+) {
+
+1061 \12
+»t
+ =
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+ `g\92\94®_cÚ¡¿\9ats
+Ólm->
+ty³
+,
+memb_±r
+,
+
+1062
+ùç\9ecb
+,
+p_key
+);
+
+1063 if(
+»t
+) \15\84et;
+
+1065 \15
+\96m
+->
+ty³
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+ `g\92\94®_cÚ¡¿\9ats
+(elm->type,
+
+1066
+memb_±r
+,
+ùç\9ecb
+,
+p_key
+);
+
+1071
+ }
+}
+
+1073 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+1075
+a¢_dec_rv®_t
+
+
+1076
+ $SEQUENCE_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1077 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1078 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+1079
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+1080 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SEQUENCE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+1081 \1e*
+¡
+ = *
+¥\8c
+;
+
+1082 \12
+ex\8d»£Á
+;
+
+1083
+u\9at8_t
+ *
+ݻs
+;
+
+1084
+a¢_³r_d©a_t
+
+Ýmd
+;
+
+1085
+a¢_dec_rv®_t
+
+rv
+;
+
+1086
+size_t
+
+edx
+;
+
+1088 (\1e)
+cÚ¡¿\9ats
+;
+
+1090 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+1091
+ASN__DECODE_FAILED
+;
+
+1093 if(!
+¡
+) {
+
+1094
+¡
+ = *
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+1095 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+1098
+ `ASN_DEBUG
+("Decod\9ag % a SEQUENCE (UPER)",
+td
+->
+Çme
+);
+
+1101 if(
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0) {
+
+1102
+ex\8d»£Á
+ = 0;
+
+1104
+ex\8d»£Á
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+1105 if(
+ex\8d»£Á
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1109
+ `mem£t
+(&
+Ýmd
+, 0, \17(opmd));
+
+1110 if(
+¥ecs
+->
+roms_couÁ
+) {
+
+1111
+ݻs
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(((
+¥ecs
+->
+roms_couÁ
+ + 7) >> 3) + 1);
+
+1112 if(!
+ݻs
+è
+ASN__DECODE_FAILED
+;
+
+1114 if(
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+ݻs
+, 0,
+¥ecs
+->
+roms_couÁ
+)) {
+
+1115
+ `FREEMEM
+(
+ݻs
+);
+
+1116
+ASN__DECODE_STARVED
+;
+
+1118
+Ýmd
+.
+bufãr
+ =
+ݻs
+;
+
+1119
+Ýmd
+.
+nb\99s
+ =
+¥ecs
+->
+roms_couÁ
+;
+
+1120
+ `ASN_DEBUG
+("Read in\85resence bitmap for %s of %d bits (%x..)",
+
+1121
+td
+->
+Çme
+,
+¥ecs
+->
+roms_couÁ
+, *
+ݻs
+);
+
+1123
+ݻs
+ = 0;
+
+1129 \ f
+edx
+ = 0;
+
+1130
+edx
+ < (
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0 ?
+td
+->
+\96em\92ts_couÁ
+
+
+1131 : (
+size_t
+)
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+);
+
+1132
+edx
+++) {
+
+1133
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1134 \1e*
+memb_±r
+;
+
+1135 \1e**
+memb_±r2
+;
+
+1137
+ `as£¹
+(!
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+));
+
+1140 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1141
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1143
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+1144
+memb_±r2
+ = &
+memb_±r
+;
+
+1148 if(
+\96m
+->
+ÝtiÚ®
+) {
+
+1149 \12
+´e£Á
+ =
+ `³r_g\91_ãw_b\99s
+(&
+Ýmd
+, 1);
+
+1150
+ `ASN_DEBUG
+("Member %s->%s is optional,\85=%d (%d->%d)",
+
+1151
+td
+->
+Çme
+,
+\96m
+->Çme,
+´e£Á
+,
+
+1152 (\12)
+Ýmd
+.
+nboff
+, (\12)Ýmd.
+nb\99s
+);
+
+1153 if(
+´e£Á
+ == 0) {
+
+1155 if(
+\96m
+->
+deçuÉ_v®ue_£t
+) {
+
+1157 if(
+\96m
+->
+ `deçuÉ_v®ue_£t
+(
+memb_±r2
+)) {
+
+1158
+ `FREEMEM
+(
+ݻs
+);
+
+1159
+ASN__DECODE_FAILED
+;
+
+1161
+ `ASN_DEBUG
+("Filled-in default");
+
+1170
+ `ASN_DEBUG
+("Decod\9ag memb\94 \"%s\" iÀ%s",
+\96m
+->
+Çme
+,
+td
+->name);
+
+1172 if(
+\96m
+->
+æags
+ &
+ATF_OPEN_TYPE
+) {
+
+1173
+rv
+ =
+ `OPEN_TYPE_u³r_g\91
+(
+Ýt_codec_ùx
+,
+td
+,
+¡
+,
+\96m
+,
+pd
+);
+
+1175
+rv
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `u³r_decod\94
+(
+Ýt_codec_ùx
+,\83lm->type,
+
+1176
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r2
+,
+pd
+);
+
+1178 if(
+rv
+.
+code
+ !ð
+RC_OK
+) {
+
+1179
+ `ASN_DEBUG
+("Failed decode %s in %s",
+
+1180
+\96m
+->
+Çme
+,
+td
+->name);
+
+1181
+ `FREEMEM
+(
+ݻs
+);
+
+1182 \15
+rv
+;
+
+1187
+ `FREEMEM
+(
+ݻs
+);
+
+1192 if(
+ex\8d»£Á
+) {
+
+1193
+ssize_t
+
+bmËngth
+;
+
+1194
+u\9at8_t
+ *
+\95»s
+;
+
+1195
+a¢_³r_d©a_t
+
+\95md
+;
+
+1197
+bmËngth
+ =
+ `u³r_g\91_n¦\92gth
+(
+pd
+);
+
+1198 if(
+bmËngth
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1200
+ `ASN_DEBUG
+("Ex\8bnsiÚ %"
+ASN_PRI_SSIZE
+ "\85»£Á iÀ%s",
+bmËngth
+,
+td
+->
+Çme
+);
+
+1202
+\95»s
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+((
+bmËngth
+ + 15) >> 3);
+
+1203 if(!
+\95»s
+è
+ASN__DECODE_STARVED
+;
+
+1206 if(
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+\95»s
+, 0,
+bmËngth
+)) {
+
+1207
+ `FREEMEM
+(
+\95»s
+);
+
+1208
+ASN__DECODE_STARVED
+;
+
+1211
+ `mem£t
+(&
+\95md
+, 0, \17(epmd));
+
+1212
+\95md
+.
+bufãr
+ =
+\95»s
+;
+
+1213
+\95md
+.
+nb\99s
+ =
+bmËngth
+;
+
+1214
+ `ASN_DEBUG
+("Read in\83xtensions bitmap for %s of %ld bits (%x..)",
+
+1215
+td
+->
+Çme
+, (\13)
+bmËngth
+, *
+\95»s
+);
+
+1218 \ f
+edx
+ =
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+1219
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1220 \1e*
+memb_±r
+;
+
+1221 \1e**
+memb_±r2
+;
+
+1222 \12
+´e£Á
+;
+
+1225 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1226
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1228
+memb_±r
+ = (\1e*)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1229
+memb_±r2
+ = &
+memb_±r
+;
+
+1232
+´e£Á
+ =
+ `³r_g\91_ãw_b\99s
+(&
+\95md
+, 1);
+
+1233 if(
+´e£Á
+ <= 0) {
+
+1234 if(
+´e£Á
+ < 0) \ 3;
+
+1238
+ `ASN_DEBUG
+("Decod\9ag memb\94 % \9a % %p",
+\96m
+->
+Çme
+,
+td
+->name,
+
+1239 *
+memb_±r2
+);
+
+1240
+rv
+ =
+ `u³r_Ý\92_ty³_g\91
+(
+Ýt_codec_ùx
+,
+\96m
+->
+ty³
+,
+
+1241
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+
+1242
+memb_±r2
+,
+pd
+);
+
+1243 if(
+rv
+.
+code
+ !ð
+RC_OK
+) {
+
+1244
+ `FREEMEM
+(
+\95»s
+);
+
+1245 \15
+rv
+;
+
+1252
+ `ASN_DEBUG
+("Getting overflow\83xtensions");
+
+1253 \1a
+ `³r_g\91_ãw_b\99s
+(&
+\95md
+, 1)) {
+
+1257 if(
+ `u³r_Ý\92_ty³_sk\9d
+(
+Ýt_codec_ùx
+,
+pd
+)) {
+
+1258
+ `FREEMEM
+(
+\95»s
+);
+
+1259
+ASN__DECODE_STARVED
+;
+
+1261
+ `ASN_DEBUG
+("Skipped overflow\83xtension");
+
+1267
+ `FREEMEM
+(
+\95»s
+);
+
+1270 if(
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ >= 0) {
+
+1271 \1d
+i
+;
+
+1273 \ f
+i
+ =
+¥ecs
+->
+roms_couÁ
+; i < s³cs->roms_couÁ + s³cs->
+aoms_couÁ
+;
+
+1274
+i
+++) {
+
+1275
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+1276 \1e**
+memb_±r2
+;
+
+1278
+edx
+ =
+¥ecs
+->
+oms
+[
+i
+];
+
+1279
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1281 if(!
+\96m
+->
+deçuÉ_v®ue_£t
+) \ 6;
+
+1284 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1285
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1286 if(*
+memb_±r2
+) \ 6;
+
+1292 if(
+\96m
+->
+ `deçuÉ_v®ue_£t
+(
+memb_±r2
+)) {
+
+1293
+ASN__DECODE_FAILED
+;
+
+1298
+rv
+.
+cÚsumed
+ = 0;
+
+1299
+rv
+.
+code
+ =
+RC_OK
+;
+
+1300 \15
+rv
+;
+
+1301
+ }
+}
+
+1304
+ $SEQUENCE__hªdË_ex\8bnsiÚs
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+1305
+a¢_³r_ou\8d_t
+ *
+po1
+,\87¢_³r_ou\8d_\88*
+po2
+) {
+
+1306 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+ =
+
+1307 (cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1308 \12
+exts_´e£Á
+ = 0;
+
+1309 \12
+exts_couÁ
+ = 0;
+
+1310
+size_t
+
+edx
+;
+
+1312 if(
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0) {
+
+1317 \ f
+edx
+ =
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+1318
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1319 cڡ \1e*
+memb_±r
+;
+
+1320 cڡ \1e*cڡ *
+memb_±r2
+;
+
+1321 \12
+´e£Á
+;
+
+1324 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1325
+memb_±r2
+ =
+
+1326 (cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1327
+´e£Á
+ = (*
+memb_±r2
+ != 0);
+
+1329
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1330
+memb_±r2
+ = &
+memb_±r
+;
+
+1331
+´e£Á
+ = 1;
+
+1334
+ `ASN_DEBUG
+("check\9ag %s:% (@%"
+ASN_PRI_SIZE
+ "è´e£Á => %d",
+\96m
+->
+Çme
+,
+
+1335
+\96m
+->
+ty³
+->
+Çme
+,
+edx
+,
+´e£Á
+);
+
+1336
+exts_couÁ
+++;
+
+1337
+exts_´e£Á
+ +ð
+´e£Á
+;
+
+1340 if(
+po1
+ &&
+ `³r_put_ãw_b\99s
+Õo1,
+´e£Á
+, 1)) {
+
+1344 if(
+po2
+ &&
+´e£Á
+
+
+1345 &&
+ `u³r_Ý\92_ty³_put
+(
+\96m
+->
+ty³
+,
+
+1346
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+
+1347 *
+memb_±r2
+,
+po2
+))
+
+1351 \15
+exts_´e£Á
+ ?
+exts_couÁ
+ : 0;
+
+1352
+ }
+}
+
+1354
+a¢_\92c_rv®_t
+
+
+1355
+ $SEQUENCE_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1356 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+1357
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+1358 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+
+
+1359 ð(cÚ¡
+a¢_SEQUENCE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1360
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+1361 \12
+n_ex\8bnsiÚs
+;
+
+1362
+size_t
+
+edx
+;
+
+1363
+size_t
+
+i
+;
+
+1365 (\1e)
+cÚ¡¿\9ats
+;
+
+1367 if(!
+¥\8c
+)
+
+1368
+ASN__ENCODE_FAILED
+;
+
+1370
+\94
+.
+\92coded
+ = 0;
+
+1372
+ `ASN_DEBUG
+("Encod\9ag % a SEQUENCE (UPER)",
+td
+->
+Çme
+);
+
+1378 if(
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0) {
+
+1379
+n_ex\8bnsiÚs
+ = 0;
+
+1381
+n_ex\8bnsiÚs
+ =
+ `SEQUENCE__hªdË_ex\8bnsiÚs
+(
+td
+,
+¥\8c
+, 0, 0);
+
+1382 if(
+n_ex\8bnsiÚs
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+1383 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+n_ex\8bnsiÚs
+ ? 1 : 0, 1)) {
+
+1384
+ASN__ENCODE_FAILED
+;
+
+1389 \ f
+i
+ = 0; i <
+¥ecs
+->
+roms_couÁ
+; i++) {
+
+1390
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+1391 cڡ \1e*
+memb_±r
+;
+
+1392 cڡ \1e*cڡ *
+memb_±r2
+;
+
+1393 \12
+´e£Á
+;
+
+1395
+edx
+ =
+¥ecs
+->
+oms
+[
+i
+];
+
+1396
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1399 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1400
+memb_±r2
+ =
+
+1401 (cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1402
+´e£Á
+ = (*
+memb_±r2
+ != 0);
+
+1404
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1405
+memb_±r2
+ = &
+memb_±r
+;
+
+1406
+´e£Á
+ = 1;
+
+1410 if(
+´e£Á
+ &&
+\96m
+->
+deçuÉ_v®ue_cmp
+
+
+1411 &&
+\96m
+->
+ `deçuÉ_v®ue_cmp
+(*
+memb_±r2
+) == 0)
+
+1412
+´e£Á
+ = 0;
+
+1414
+ `ASN_DEBUG
+("Element %s %s %s->%s is %s",
+
+1415
+\96m
+->
+æags
+ &
+ATF_POINTER
+ ? "ptr" : "inline",
+
+1416
+\96m
+->
+deçuÉ_v®ue_cmp
+ ? "def" : "wtv",
+
+1417
+td
+->
+Çme
+,
+\96m
+->Çme,
+´e£Á
+ ? "present" : "absent");
+
+1418 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+´e£Á
+, 1))
+
+1419
+ASN__ENCODE_FAILED
+;
+
+1425
+ `ASN_DEBUG
+("f\9c¡_ex\8bnsiÚ = %d,\83Ëm\92t ð%d",
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+,
+
+1426
+td
+->
+\96em\92ts_couÁ
+);
+
+1427 \ f
+edx
+ = 0;
+
+1428
+edx
+ < ((
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0è?
+td
+->
+\96em\92ts_couÁ
+
+
+1429 : (
+size_t
+)
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+);
+
+1430
+edx
+++) {
+
+1431
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1432 cڡ \1e*
+memb_±r
+;
+
+1433 cڡ \1e*cڡ *
+memb_±r2
+;
+
+1435
+ `ASN_DEBUG
+("Abou\88tØ\92cod\90%s",
+\96m
+->
+ty³
+->
+Çme
+);
+
+1438 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1439
+memb_±r2
+ =
+
+1440 (cڡ \1e*cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1441 if(!*
+memb_±r2
+) {
+
+1442
+ `ASN_DEBUG
+("EËm\92\88% %"
+ASN_PRI_SIZE
+ "\82ot\85resent",
+
+1443
+\96m
+->
+Çme
+,
+edx
+);
+
+1444 if(
+\96m
+->
+ÝtiÚ®
+)
+
+1447
+ASN__ENCODE_FAILED
+;
+
+1450
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1451
+memb_±r2
+ = &
+memb_±r
+;
+
+1455 if(
+\96m
+->
+deçuÉ_v®ue_cmp
+ &&\83lm->
+ `deçuÉ_v®ue_cmp
+(*
+memb_±r2
+) == 0)
+
+1458
+ `ASN_DEBUG
+("Encod\9ag %s->%s:%s",
+td
+->
+Çme
+,
+\96m
+->Çme,\83lm->
+ty³
+->name);
+
+1459
+\94
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `u³r_\92cod\94
+(
+
+1460
+\96m
+->
+ty³
+,\83lm->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+, *
+memb_±r2
+,
+
+1461
+po
+);
+
+1462 if(
+\94
+.
+\92coded
+ == -1) \15\83r;
+
+1466 if(!
+n_ex\8bnsiÚs
+è
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1468
+ `ASN_DEBUG
+("L\92gth oàex\8bnsiÚ %d b\99-m",
+n_ex\8bnsiÚs
+);
+
+1470 if(
+ `u³r_put_n¦\92gth
+(
+po
+,
+n_ex\8bnsiÚs
+))
+
+1471
+ASN__ENCODE_FAILED
+;
+
+1473
+ `ASN_DEBUG
+("B\99-m oà%d\83Ëm\92ts",
+n_ex\8bnsiÚs
+);
+
+1476 if(
+ `SEQUENCE__hªdË_ex\8bnsiÚs
+(
+td
+,
+¥\8c
+,
+po
+, 0è!ð
+n_ex\8bnsiÚs
+)
+
+1477
+ASN__ENCODE_FAILED
+;
+
+1479
+ `ASN_DEBUG
+("Wr\99\9ag %d\83x\8bnsiÚs",
+n_ex\8bnsiÚs
+);
+
+1481 if(
+ `SEQUENCE__hªdË_ex\8bnsiÚs
+(
+td
+,
+¥\8c
+, 0,
+po
+è!ð
+n_ex\8bnsiÚs
+)
+
+1482
+ASN__ENCODE_FAILED
+;
+
+1484
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1485
+ }
+}
+
+1487
+a¢_dec_rv®_t
+
+
+1488
+ $SEQUENCE_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1489 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1490 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+1491 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SEQUENCE_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+1492 \1e*
+¡
+ = *
+¥\8c
+;
+
+1493 \12
+ex\8d»£Á
+;
+
+1494
+u\9at8_t
+ *
+ݻs
+;
+
+1495
+a¢_³r_d©a_t
+
+Ýmd
+;
+
+1496
+a¢_dec_rv®_t
+
+rv
+;
+
+1497
+size_t
+
+edx
+;
+
+1499 (\1e)
+cÚ¡¿\9ats
+;
+
+1501 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+1502
+ASN__DECODE_FAILED
+;
+
+1504 if(!
+¡
+) {
+
+1505
+¡
+ = *
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+1506 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+1509
+ `ASN_DEBUG
+("Decod\9ag % a SEQUENCE (APER)",
+td
+->
+Çme
+);
+
+1512 if(
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0) {
+
+1513
+ex\8d»£Á
+ = 0;
+
+1515
+ex\8d»£Á
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+1516 if(
+ex\8d»£Á
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1520
+ `mem£t
+(&
+Ýmd
+, 0, \17(opmd));
+
+1521 if(
+¥ecs
+->
+roms_couÁ
+) {
+
+1522
+ݻs
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+(((
+¥ecs
+->
+roms_couÁ
+ + 7) >> 3) + 1);
+
+1523 if(!
+ݻs
+è
+ASN__DECODE_FAILED
+;
+
+1525 if(
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+ݻs
+, 0,
+¥ecs
+->
+roms_couÁ
+)) {
+
+1526
+ `FREEMEM
+(
+ݻs
+);
+
+1527
+ASN__DECODE_STARVED
+;
+
+1529
+Ýmd
+.
+bufãr
+ =
+ݻs
+;
+
+1530
+Ýmd
+.
+nb\99s
+ =
+¥ecs
+->
+roms_couÁ
+;
+
+1531
+ `ASN_DEBUG
+("Read in\85resence bitmap for %s of %d bits (%x..)",
+
+1532
+td
+->
+Çme
+,
+¥ecs
+->
+roms_couÁ
+, *
+ݻs
+);
+
+1534
+ݻs
+ = 0;
+
+1540 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+1541
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1542 \1e*
+memb_±r
+;
+
+1543 \1e**
+memb_±r2
+;
+
+1545 \12
+·dd\9ag
+;
+
+1548 if(
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+))
+
+1552 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1553
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1555
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+1556
+memb_±r2
+ = &
+memb_±r
+;
+
+1560
+·dd\9ag
+ = (8 - (
+pd
+->
+moved
+ % 8)) % 8;
+
+1561 if(
+·dd\9ag
+ > 0)
+
+1562
+ `ASN_DEBUG
+("FÜ\83Ëm\92\88%s,off£tð%ld Padd\9ag b\99 ð%d",
+td
+->
+Çme
+,
+pd
+->
+moved
+,
+·dd\9ag
+);
+
+1564
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+·dd\9ag
+);
+
+1566 if(
+edx
+ !ð(
+td
+->
+\96em\92ts_couÁ
+-1))
+
+1567
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+·dd\9ag
+);
+
+1569 if(
+¥ecs
+->
+roms_couÁ
+ && (
+·dd\9ag
+ > 0))
+
+1570
+ `ASN_DEBUG
+(">>>>>\82Ù sk\9dp\9ag\85add\9ag oà%d b\99 fÜ\83Ëm\92t:%ld ou\88oà%d",
+·dd\9ag
+,
+edx
+,
+td
+->
+\96em\92ts_couÁ
+);
+
+1572
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+·dd\9ag
+);
+
+1577 if(
+\96m
+->
+ÝtiÚ®
+) {
+
+1578 \12
+´e£Á
+ =
+ `³r_g\91_ãw_b\99s
+(&
+Ýmd
+, 1);
+
+1579
+ `ASN_DEBUG
+("Member %s->%s is optional,\85=%d (%d->%d)",
+
+1580
+td
+->
+Çme
+,
+\96m
+->Çme,
+´e£Á
+,
+
+1581 (\12)
+Ýmd
+.
+nboff
+, (\12)Ýmd.
+nb\99s
+);
+
+1582 if(
+´e£Á
+ == 0) {
+
+1584 if(
+\96m
+->
+deçuÉ_v®ue_£t
+) {
+
+1586 if(
+\96m
+->
+ `deçuÉ_v®ue_£t
+(
+memb_±r2
+)) {
+
+1587
+ `FREEMEM
+(
+ݻs
+);
+
+1588
+ASN__DECODE_FAILED
+;
+
+1590
+ `ASN_DEBUG
+("Filled-in default");
+
+1599
+ `ASN_DEBUG
+("Decod\9ag memb\94 \"%s\" iÀ%s",
+\96m
+->
+Çme
+,
+td
+->name);
+
+1601 if(
+\96m
+->
+æags
+ &
+ATF_OPEN_TYPE
+) {
+
+1602
+rv
+ =
+ `OPEN_TYPE_\94_g\91
+(
+Ýt_codec_ùx
+,
+td
+,
+¡
+,
+\96m
+,
+pd
+);
+
+1604
+rv
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `\94_decod\94
+(
+Ýt_codec_ùx
+,\83lm->type,
+
+1605
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r2
+,
+pd
+);
+
+1607 if(
+rv
+.
+code
+ !ð
+RC_OK
+) {
+
+1608
+ `ASN_DEBUG
+("Failed decode %s in %s",
+
+1609
+\96m
+->
+Çme
+,
+td
+->name);
+
+1610
+ `FREEMEM
+(
+ݻs
+);
+
+1611 \15
+rv
+;
+
+1616
+ `FREEMEM
+(
+ݻs
+);
+
+1621 if(
+ex\8d»£Á
+) {
+
+1622
+ssize_t
+
+bmËngth
+;
+
+1623
+u\9at8_t
+ *
+\95»s
+;
+
+1624
+a¢_³r_d©a_t
+
+\95md
+;
+
+1626
+bmËngth
+ =
+ `\94_g\91_n¦\92gth
+(
+pd
+);
+
+1627 if(
+bmËngth
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1629
+ `ASN_DEBUG
+("Ex\8bnsiÚ %"
+ASN_PRI_SSIZE
+ "\85»£Á iÀ%s",
+bmËngth
+,
+td
+->
+Çme
+);
+
+1631
+\95»s
+ = (
+u\9at8_t
+ *)
+ `MALLOC
+((
+bmËngth
+ + 15) >> 3);
+
+1632 if(!
+\95»s
+è
+ASN__DECODE_STARVED
+;
+
+1635 if(
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+\95»s
+, 0,
+bmËngth
+))
+
+1636
+ASN__DECODE_STARVED
+;
+
+1638
+ `mem£t
+(&
+\95md
+, 0, \17(epmd));
+
+1639
+\95md
+.
+bufãr
+ =
+\95»s
+;
+
+1640
+\95md
+.
+nb\99s
+ =
+bmËngth
+;
+
+1641
+ `ASN_DEBUG
+("Read in\83xtensions bitmap for %s of %ld bits (%x..)",
+
+1642
+td
+->
+Çme
+,
+bmËngth
+, *
+\95»s
+);
+
+1645 \ f
+edx
+ =
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+1646
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1647 \1e*
+memb_±r
+;
+
+1648 \1e**
+memb_±r2
+;
+
+1649 \12
+´e£Á
+;
+
+1651 if(!
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+)) {
+
+1652
+ `ASN_DEBUG
+("%ld i nÙ\83x\8bnsiÚ",
+edx
+);
+
+1657 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1658
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1660
+memb_±r
+ = (\1e*)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+1661
+memb_±r2
+ = &
+memb_±r
+;
+
+1664
+´e£Á
+ =
+ `³r_g\91_ãw_b\99s
+(&
+\95md
+, 1);
+
+1665 if(
+´e£Á
+ <= 0) {
+
+1666 if(
+´e£Á
+ < 0) \ 3;
+
+1670
+ `ASN_DEBUG
+("Decod\9ag memb\94 % \9a % %p",
+\96m
+->
+Çme
+,
+td
+->Çme, *
+memb_±r2
+);
+
+1671
+rv
+ =
+ `\94_Ý\92_ty³_g\91
+(
+Ýt_codec_ùx
+,
+\96m
+->
+ty³
+,
+
+1672
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r2
+,
+pd
+);
+
+1673 if(
+rv
+.
+code
+ !ð
+RC_OK
+) {
+
+1674
+ `FREEMEM
+(
+\95»s
+);
+
+1675 \15
+rv
+;
+
+1682
+ `ASN_DEBUG
+("Getting overflow\83xtensions");
+
+1683 \1a
+ `³r_g\91_ãw_b\99s
+(&
+\95md
+, 1)) {
+
+1689 if(
+ `\94_Ý\92_ty³_sk\9d
+(
+Ýt_codec_ùx
+,
+pd
+)) {
+
+1690
+ `FREEMEM
+(
+\95»s
+);
+
+1691
+ASN__DECODE_STARVED
+;
+
+1697
+ `FREEMEM
+(
+\95»s
+);
+
+1701 \ f
+edx
+ =
+¥ecs
+->
+roms_couÁ
+;\83dx < specs->roms_count
+
+1702 +
+¥ecs
+->
+aoms_couÁ
+;
+edx
+++) {
+
+1703
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1704 \1e**
+memb_±r2
+;
+
+1706 if(!
+\96m
+->
+deçuÉ_v®ue_£t
+) \ 6;
+
+1709 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1710
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+
+
+1711 +
+\96m
+->
+memb_off£t
+);
+
+1712 if(*
+memb_±r2
+) \ 6;
+
+1718 if(
+\96m
+->
+ `deçuÉ_v®ue_£t
+(
+memb_±r2
+)) {
+
+1719
+ASN__DECODE_FAILED
+;
+
+1723
+rv
+.
+cÚsumed
+ = 0;
+
+1724
+rv
+.
+code
+ =
+RC_OK
+;
+
+1725 \15
+rv
+;
+
+1726
+ }
+}
+
+1729
+ $SEQUENCE_hªdË_ex\8bnsiÚs_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1730 cڡ \1e*
+¥\8c
+,
+
+1731
+a¢_³r_ou\8d_t
+ *
+po1
+,\87¢_³r_ou\8d_\88*
+po2
+) {
+
+1732 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+
+
+1733 ð(cÚ¡
+a¢_SEQUENCE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1734 \12
+exts_´e£Á
+ = 0;
+
+1735 \12
+exts_couÁ
+ = 0;
+
+1736
+size_t
+
+edx
+;
+
+1738 if(
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0) {
+
+1743 \ f
+edx
+ =
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+1744
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1745 cڡ \1e*
+memb_±r
+;
+
+1746 cڡ \1e* cڡ *
+memb_±r2
+;
+
+1747 \12
+´e£Á
+;
+
+1749 if(!
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+)) {
+
+1750
+ `ASN_DEBUG
+("% (@%ldèi nÙ\83x\8bnsiÚ",
+\96m
+->
+ty³
+->
+Çme
+,
+edx
+);
+
+1755 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1756
+memb_±r2
+ = (cڡ \1e* cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1757
+´e£Á
+ = (*
+memb_±r2
+ != 0);
+
+1759
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1760
+memb_±r2
+ = &
+memb_±r
+;
+
+1761
+´e£Á
+ = 1;
+
+1764
+ `ASN_DEBUG
+("checking %s (@%ld)\85resent => %d",
+
+1765
+\96m
+->
+ty³
+->
+Çme
+,
+edx
+,
+´e£Á
+);
+
+1766
+exts_couÁ
+++;
+
+1767
+exts_´e£Á
+ +ð
+´e£Á
+;
+
+1770 if(
+po1
+ &&
+ `³r_put_ãw_b\99s
+Õo1,
+´e£Á
+, 1))
+
+1773 if(
+po2
+ &&
+´e£Á
+ &&
+ `\94_Ý\92_ty³_put
+(
+\96m
+->
+ty³
+,
+
+1774
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+, *
+memb_±r2
+,
+po2
+))
+
+1779 \15
+exts_´e£Á
+ ?
+exts_couÁ
+ : 0;
+
+1780
+ }
+}
+
+1782
+a¢_\92c_rv®_t
+
+
+1783
+ $SEQUENCE_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1784 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+1785 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+1786 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+
+
+1787 ð(cÚ¡
+a¢_SEQUENCE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1788
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+1789 \12
+n_ex\8bnsiÚs
+;
+
+1790
+size_t
+
+edx
+;
+
+1791
+size_t
+
+i
+;
+
+1793 (\1e)
+cÚ¡¿\9ats
+;
+
+1795 if(!
+¥\8c
+)
+
+1796
+ASN__ENCODE_FAILED
+;
+
+1798
+\94
+.
+\92coded
+ = 0;
+
+1800
+ `ASN_DEBUG
+("Encod\9ag % a SEQUENCE (APER)",
+td
+->
+Çme
+);
+
+1806 if(
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0) {
+
+1807
+n_ex\8bnsiÚs
+ = 0;
+
+1809
+n_ex\8bnsiÚs
+ =
+ `SEQUENCE_hªdË_ex\8bnsiÚs_\94
+(
+td
+,
+¥\8c
+, 0, 0);
+
+1810 if(
+n_ex\8bnsiÚs
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+1811 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+n_ex\8bnsiÚs
+ ? 1 : 0, 1)) {
+
+1812
+ASN__ENCODE_FAILED
+;
+
+1817 \ f
+i
+ = 0; i <
+¥ecs
+->
+roms_couÁ
+; i++) {
+
+1818
+a¢_TYPE_memb\94_t
+ *
+\96m
+;
+
+1819 cڡ \1e*
+memb_±r
+;
+
+1820 cڡ \1e* cڡ *
+memb_±r2
+;
+
+1821 \12
+´e£Á
+;
+
+1823
+edx
+ =
+¥ecs
+->
+oms
+[
+i
+];
+
+1824
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1827 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1828
+memb_±r2
+ = (cڡ \1e* cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1829
+´e£Á
+ = (*
+memb_±r2
+ != 0);
+
+1831
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1832
+memb_±r2
+ = &
+memb_±r
+;
+
+1833
+´e£Á
+ = 1;
+
+1837 if(
+´e£Á
+ &&
+\96m
+->
+deçuÉ_v®ue_cmp
+
+
+1838 &&
+\96m
+->
+ `deçuÉ_v®ue_cmp
+(
+memb_±r2
+) == 1)
+
+1839
+´e£Á
+ = 0;
+
+1841
+ `ASN_DEBUG
+("Element %s %s %s->%s is %s",
+
+1842
+\96m
+->
+æags
+ &
+ATF_POINTER
+ ? "ptr" : "inline",
+
+1843
+\96m
+->
+deçuÉ_v®ue_cmp
+ ? "def" : "wtv",
+
+1844
+td
+->
+Çme
+,
+\96m
+->Çme,
+´e£Á
+ ? "present" : "absent");
+
+1845 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+´e£Á
+, 1))
+
+1846
+ASN__ENCODE_FAILED
+;
+
+1852
+ `ASN_DEBUG
+("f\9c¡_ex\8bnsiÚ = %d,\83Ëm\92t ð%d",
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+,
+
+1853
+td
+->
+\96em\92ts_couÁ
+);
+
+1854 \ f
+edx
+ = 0;
+
+1855
+edx
+ < ((
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+ < 0è?
+td
+->
+\96em\92ts_couÁ
+
+
+1856 : (
+size_t
+)
+¥ecs
+->
+f\9c¡_ex\8bnsiÚ
+);
+
+1857
+edx
+++) {
+
+1858
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1859 cڡ \1e*
+memb_±r
+;
+
+1860 cڡ \1e* cڡ *
+memb_±r2
+;
+
+1862 if(
+ `IN_EXTENSION_GROUP
+(
+¥ecs
+,
+edx
+))
+
+1865
+ `ASN_DEBUG
+("Abou\88tØ\92cod\90%s",
+\96m
+->
+ty³
+->
+Çme
+);
+
+1868 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1869
+memb_±r2
+ = (cڡ \1e* cڡ *)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1870 if(!*
+memb_±r2
+) {
+
+1871
+ `ASN_DEBUG
+("Element %s %ld\82ot\85resent",
+
+1872
+\96m
+->
+Çme
+,
+edx
+);
+
+1873 if(
+\96m
+->
+ÝtiÚ®
+)
+
+1876
+ASN__ENCODE_FAILED
+;
+
+1879
+memb_±r
+ = (cڡ \1e*)((cڡ \ 5*)
+¥\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1880
+memb_±r2
+ = &
+memb_±r
+;
+
+1884 if(
+\96m
+->
+deçuÉ_v®ue_cmp
+ &&\83lm->
+ `deçuÉ_v®ue_cmp
+(
+memb_±r2
+) == 1)
+
+1887
+ `ASN_DEBUG
+("Encod\9ag %s->%s",
+td
+->
+Çme
+,
+\96m
+->name);
+
+1888
+\94
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `\94_\92cod\94
+Ólm->ty³,\83lm->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+
+1889 *
+memb_±r2
+,
+po
+);
+
+1890 if(
+\94
+.
+\92coded
+ == -1)
+
+1891 \15
+\94
+;
+
+1895 if(!
+n_ex\8bnsiÚs
+è
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1897
+ `ASN_DEBUG
+("L\92gth oà%d b\99-m",
+n_ex\8bnsiÚs
+);
+
+1899 if(
+ `\94_put_n¦\92gth
+(
+po
+,
+n_ex\8bnsiÚs
+))
+
+1900
+ASN__ENCODE_FAILED
+;
+
+1902
+ `ASN_DEBUG
+("B\99-m oà%d\83Ëm\92ts",
+n_ex\8bnsiÚs
+);
+
+1905 if(
+ `SEQUENCE_hªdË_ex\8bnsiÚs_\94
+(
+td
+,
+¥\8c
+,
+po
+, 0è!ð
+n_ex\8bnsiÚs
+)
+
+1906
+ASN__ENCODE_FAILED
+;
+
+1908
+ `ASN_DEBUG
+("Wr\99\9ag %d\83x\8bnsiÚs",
+n_ex\8bnsiÚs
+);
+
+1910 if(
+ `SEQUENCE_hªdË_ex\8bnsiÚs_\94
+(
+td
+,
+¥\8c
+, 0,
+po
+è!ð
+n_ex\8bnsiÚs
+)
+
+1911
+ASN__ENCODE_FAILED
+;
+
+1913
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1914
+ }
+}
+
+1919
+ $SEQUENCE_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+1920 cڡ \1e*
+b±r
+) {
+
+1921
+size_t
+
+edx
+;
+
+1923 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+1924
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+1925 cڡ \1e*
+amemb
+;
+
+1926 cڡ \1e*
+bmemb
+;
+
+1927 \12
+»t
+;
+
+1929 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+1930
+amemb
+ =
+
+1931 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1932
+bmemb
+ =
+
+1933 *(cڡ \1e*cڡ *)((cڡ \ 5*)
+b±r
+ +
+\96m
+->
+memb_off£t
+);
+
+1934 if(!
+amemb
+) {
+
+1935 if(!
+bmemb
+) \ 6;
+
+1936 if(
+\96m
+->
+deçuÉ_v®ue_cmp
+
+
+1937 &&
+\96m
+->
+ `deçuÉ_v®ue_cmp
+(
+bmemb
+) == 0) {
+
+1942 } \vif(!
+bmemb
+) {
+
+1943 if(
+\96m
+->
+deçuÉ_v®ue_cmp
+
+
+1944 &&
+\96m
+->
+ `deçuÉ_v®ue_cmp
+(
+amemb
+) == 0) {
+
+1951
+amemb
+ = (cڡ \1e*)((cڡ \ 5*)
+\8c
+ +
+\96m
+->
+memb_off£t
+);
+
+1952
+bmemb
+ = (cڡ \1e*)((cڡ \ 5*)
+b±r
+ +
+\96m
+->
+memb_off£t
+);
+
+1955
+»t
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `com·»_¡ruù
+Ólm->ty³,
+amemb
+,
+bmemb
+);
+
+1956 if(
+»t
+ != 0) \15\84et;
+
+1960
+ }
+}
+
+1962
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_SEQUENCE
+ = {
+
+1963
+SEQUENCE_ä\93
+,
+
+1964
+SEQUENCE_´\9at
+,
+
+1965
+SEQUENCE_com·»
+,
+
+1966
+SEQUENCE_decode_b\94
+,
+
+1967
+SEQUENCE_\92code_d\94
+,
+
+1968
+SEQUENCE_decode_x\94
+,
+
+1969
+SEQUENCE_\92code_x\94
+,
+
+1970 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+1974
+SEQUENCE_decode_Ûr
+,
+
+1975
+SEQUENCE_\92code_Ûr
+,
+
+1977 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+1983
+SEQUENCE_decode_u³r
+,
+
+1984
+SEQUENCE_\92code_u³r
+,
+
+1985
+SEQUENCE_decode_\94
+,
+
+1986
+SEQUENCE_\92code_\94
+,
+
+1988
+SEQUENCE_¿ndom_f\9el
+,
+
+1993
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+1994
+ $SEQUENCE_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+1995 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cڡr
+,
+
+1996
+size_t
+
+max_Ëngth
+) {
+
+1997 cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *
+¥ecs
+ =
+
+1998 (cڡ
+a¢_SEQUENCE_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1999
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ok
+ = {
+ARFILL_OK
+, 0};
+
+2000
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+2001
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+2002 \1e*
+¡
+ = *
+¥\8c
+;
+
+2003
+size_t
+
+edx
+;
+
+2005 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+2007 (\1e)
+cڡr
+;
+
+2009 if(
+¡
+ =ð
+NULL
+) {
+
+2010
+¡
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+2011 if(
+¡
+ =ð
+NULL
+) {
+
+2012 \15
+»suÉ_ç\9eed
+;
+
+2016 \ f
+edx
+ = 0;\83dx <
+td
+->
+\96em\92ts_couÁ
+;\83dx++) {
+
+2017 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ = &
+td
+->
+\96em\92ts
+[
+edx
+];
+
+2018 \1e*
+memb_±r
+;
+
+2019 \1e**
+memb_±r2
+;
+
+2020
+a¢_¿ndom_f\9el_»suÉ_t
+
+tm´es
+;
+
+2022 if(
+\96m
+->
+ÝtiÚ®
+ &&
+ `a¢_¿ndom_b\91w\93n
+(0, 4) == 2) {
+
+2027 if(
+\96m
+->
+æags
+ &
+ATF_POINTER
+) {
+
+2029
+memb_±r2
+ = (\1e**)((\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+);
+
+2031
+memb_±r
+ = (\ 5*)
+¡
+ +
+\96m
+->
+memb_off£t
+;
+
+2032
+memb_±r2
+ = &
+memb_±r
+;
+
+2035
+tm´es
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `¿ndom_f\9el
+(
+
+2036
+\96m
+->
+ty³
+,
+memb_±r2
+, &\96m->
+\92cod\9ag_cÚ¡¿\9ats
+,
+
+2037
+max_Ëngth
+ >
+»suÉ_ok
+.
+Ëngth
+ ? max_length -\84esult_ok.length : 0);
+
+2038 \1a
+tm´es
+.
+code
+) {
+
+2039 \ 4
+ARFILL_OK
+:
+
+2040
+»suÉ_ok
+.
+Ëngth
+ +ð
+tm´es
+.length;
+
+2042 \ 4
+ARFILL_SKIPPED
+:
+
+2043
+ `as£¹
+(!(
+\96m
+->
+æags
+ &
+ATF_POINTER
+è|| *
+memb_±r2
+ =ð
+NULL
+);
+
+2045 \ 4
+ARFILL_FAILED
+:
+
+2046 if(
+¡
+ =ð*
+¥\8c
+) {
+
+2047
+ `ASN_STRUCT_RESET
+(*
+td
+,
+¡
+);
+
+2049
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¡
+);
+
+2051 \15
+tm´es
+;
+
+2055 *
+¥\8c
+ =
+¡
+;
+
+2057 \15
+»suÉ_ok
+;
+
+2058
+ }
+}
+
+ @constr_SEQUENCE_OF.c
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<cڡr_SEQUENCE_OF.h
+>
+
+8 \ 2
+ ~<a¢_SEQUENCE_OF.h
+>
+
+13
+a¢_\92c_rv®_t
+
+
+14
+ $SEQUENCE_OF_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+±r
+,
+
+15 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+
+16
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+17
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+18 cڡ
+a¢_ªÚymous_£qu\92û_
+ *
+li¡
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+±r
+);
+
+19
+size_t
+
+compu\8bd_size
+ = 0;
+
+20
+ssize_t
+
+\92cod\9ag_size
+ = 0;
+
+21
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+22 \12
+edx
+;
+
+24
+ `ASN_DEBUG
+("E¡im©\9ag siz\90oàSEQUENCE OF %s",
+td
+->
+Çme
+);
+
+29 \ f
+edx
+ = 0;\83dx <
+li¡
+->
+couÁ
+;\83dx++) {
+
+30 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+edx
+];
+
+31 if(!
+memb_±r
+) \ 6;
+
+32
+\94v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+
+33 0,
+\96m
+->
+\8fg
+,
+
+35 if(
+\94v®
+.
+\92coded
+ == -1)
+
+36 \15
+\94v®
+;
+
+37
+compu\8bd_size
+ +ð
+\94v®
+.
+\92coded
+;
+
+43
+\92cod\9ag_size
+ =
+ `d\94_wr\99e_\8fgs
+(
+td
+,
+compu\8bd_size
+,
+\8fg_mode
+, 1,
+\8fg
+,
+
+44
+cb
+,
+p_key
+);
+
+45 if(
+\92cod\9ag_size
+ == -1) {
+
+46
+\94v®
+.
+\92coded
+ = -1;
+
+47
+\94v®
+.
+ç\9eed_ty³
+ =
+td
+;
+
+48
+\94v®
+.
+¡ruùu»_±r
+ =
+±r
+;
+
+49 \15
+\94v®
+;
+
+52
+compu\8bd_size
+ +ð
+\92cod\9ag_size
+;
+
+53 if(!
+cb
+) {
+
+54
+\94v®
+.
+\92coded
+ =
+compu\8bd_size
+;
+
+55
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+58
+ `ASN_DEBUG
+("Encod\9ag memb\94 oàSEQUENCE OF %s",
+td
+->
+Çme
+);
+
+63 \ f
+edx
+ = 0;\83dx <
+li¡
+->
+couÁ
+;\83dx++) {
+
+64 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+edx
+];
+
+65 if(!
+memb_±r
+) \ 6;
+
+66
+\94v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+
+67 0,
+\96m
+->
+\8fg
+,
+
+68
+cb
+,
+p_key
+);
+
+69 if(
+\94v®
+.
+\92coded
+ == -1)
+
+70 \15
+\94v®
+;
+
+71
+\92cod\9ag_size
+ +ð
+\94v®
+.
+\92coded
+;
+
+74 if(
+compu\8bd_size
+ !ð(
+size_t
+)
+\92cod\9ag_size
+) {
+
+78
+\94v®
+.
+\92coded
+ = -1;
+
+79
+\94v®
+.
+ç\9eed_ty³
+ =
+td
+;
+
+80
+\94v®
+.
+¡ruùu»_±r
+ =
+±r
+;
+
+82
+\94v®
+.
+\92coded
+ =
+compu\8bd_size
+;
+
+83
+\94v®
+.
+¡ruùu»_±r
+ = 0;
+
+84
+\94v®
+.
+ç\9eed_ty³
+ = 0;
+
+87 \15
+\94v®
+;
+
+88
+ }
+}
+
+90
+a¢_\92c_rv®_t
+
+
+91
+ $SEQUENCE_OF_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+92 \12
+\9eev\96
+, \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+
+93
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+94
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+95 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+96 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+97 cڡ
+a¢_ªÚymous_£qu\92û_
+ *
+li¡
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+¥\8c
+);
+
+98 cڡ \ 5*
+mÇme
+ =
+¥ecs
+->
+as_XMLV®ueLi¡
+
+
+100 : ((*
+\96m
+->
+Çme
+è?\83lm->Çm\90:\83lm->
+ty³
+->
+xml_\8fg
+);
+
+101
+size_t
+
+mËn
+ =
+mÇme
+ ?
+ `¡¾\92
+(mname) : 0;
+
+102 \12
+xÿn
+ = (
+æags
+ &
+XER_F_CANONICAL
+);
+
+103 \12
+i
+;
+
+105 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+107
+\94
+.
+\92coded
+ = 0;
+
+109 \ f
+i
+ = 0; i <
+li¡
+->
+couÁ
+; i++) {
+
+110
+a¢_\92c_rv®_t
+
+tm³r
+ = {0,0,0};
+
+111 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+i
+];
+
+112 if(!
+memb_±r
+) \ 6;
+
+114 if(
+mÇme
+) {
+
+115 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+);
+
+116
+ `ASN__CALLBACK3
+("<", 1,
+mÇme
+,
+mËn
+, ">", 1);
+
+119
+tm³r
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `x\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+\9eev\96
+ + 1,
+
+120
+æags
+,
+cb
+,
+p_key
+);
+
+121 if(
+tm³r
+.
+\92coded
+ == -1) \15\81mper;
+
+122
+\94
+.
+\92coded
+ +ð
+tm³r
+.encoded;
+
+123 if(
+tm³r
+.
+\92coded
+ =ð0 &&
+¥ecs
+->
+as_XMLV®ueLi¡
+) {
+
+124 cڡ \ 5*
+Çme
+ =
+\96m
+->
+ty³
+->
+xml_\8fg
+;
+
+125
+size_t
+
+Ën
+ =
+ `¡¾\92
+(
+Çme
+);
+
+126 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+ + 1);
+
+127
+ `ASN__CALLBACK3
+("<", 1,
+Çme
+,
+Ën
+, "/>", 2);
+
+130 if(
+mÇme
+) {
+
+131
+ `ASN__CALLBACK3
+("</", 2,
+mÇme
+,
+mËn
+, ">", 1);
+
+135 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+ - 1);
+
+137
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+138
+cb_ç\9eed
+:
+
+139
+ASN__ENCODE_FAILED
+;
+
+140
+ }
+}
+
+142 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+144
+a¢_\92c_rv®_t
+
+
+145
+ $SEQUENCE_OF_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+146 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+147 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+148 cڡ
+a¢_ªÚymous_£qu\92û_
+ *
+li¡
+;
+
+149 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+150
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+151 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+152
+size_t
+
+\92coded_edx
+;
+
+154 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+155
+li¡
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+¥\8c
+);
+
+157
+\94
+.
+\92coded
+ = 0;
+
+159
+ `ASN_DEBUG
+("Encod\9ag % a SEQUENCE OF (%d)",
+td
+->
+Çme
+,
+li¡
+->
+couÁ
+);
+
+161 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+size
+;
+
+162 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+163
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+164 \v
+ù
+ = 0;
+
+167 if(
+ù
+) {
+
+168 \12
+nÙ_\9a_roÙ
+ =
+
+169 (
+li¡
+->
+couÁ
+ <
+ù
+->
+low\94_bound
+ ||\86i¡->couÁ > ct->
+uµ\94_bound
+);
+
+170
+ `ASN_DEBUG
+("lb %ld ub %ld %s",
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+,
+
+171
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+ ? "ext" : "fix");
+
+172 if(
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+174 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+nÙ_\9a_roÙ
+, 1)è
+ASN__ENCODE_FAILED
+;
+
+175 if(
+nÙ_\9a_roÙ
+è
+ù
+ = 0;
+
+176 } \vif(
+nÙ_\9a_roÙ
+ &&
+ù
+->
+efãùive_b\99s
+ >= 0) {
+
+177
+ASN__ENCODE_FAILED
+;
+
+182 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+184 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+li¡
+->
+couÁ
+ -
+ù
+->
+low\94_bound
+,
+
+185
+ù
+->
+efãùive_b\99s
+))
+
+186
+ASN__ENCODE_FAILED
+;
+
+187 } \vif(
+li¡
+->
+couÁ
+ == 0) {
+
+191 ià(
+ `u³r_put_Ëngth
+(
+po
+, 0, 0)) {
+
+192
+ASN__ENCODE_FAILED
+;
+
+194
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+197 \ f
+\92coded_edx
+ = 0; (
+ssize_t
+ëncoded_edx <
+li¡
+->
+couÁ
+;) {
+
+198
+ssize_t
+
+may_\92code
+;
+
+199
+size_t
+
+edx
+;
+
+200 \12
+Ãed_eom
+ = 0;
+
+202 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+203
+may_\92code
+ =
+li¡
+->
+couÁ
+;
+
+205
+may_\92code
+ =
+
+206
+ `u³r_put_Ëngth
+(
+po
+,
+li¡
+->
+couÁ
+ -
+\92coded_edx
+, &
+Ãed_eom
+);
+
+207 if(
+may_\92code
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+210 \ f
+edx
+ =
+\92coded_edx
+;\83dx <\83ncoded_edx +
+may_\92code
+;\83dx++) {
+
+211 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+edx
+];
+
+212 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+213
+\94
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `u³r_\92cod\94
+(
+
+214
+\96m
+->
+ty³
+,\83lm->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r
+,
+
+215
+po
+);
+
+216 if(
+\94
+.
+\92coded
+ =ð-1è
+ASN__ENCODE_FAILED
+;
+
+219 if(
+Ãed_eom
+ &&
+ `u³r_put_Ëngth
+(
+po
+, 0, 0))
+
+220
+ASN__ENCODE_FAILED
+;
+
+222
+\92coded_edx
+ +ð
+may_\92code
+;
+
+225
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+226
+ }
+}
+
+228
+a¢_\92c_rv®_t
+
+
+229
+ $SEQUENCE_OF_\92code_\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+230 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+231 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+232 cڡ
+a¢_ªÚymous_£qu\92û_
+ *
+li¡
+;
+
+233 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+234
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+235
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+236 \12
+£q
+;
+
+238 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+239
+li¡
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+¥\8c
+);
+
+241
+\94
+.
+\92coded
+ = 0;
+
+243
+ `ASN_DEBUG
+("Encod\9ag % a SEQUENCE OF siz\90(%dèus\9ag ALIGNED PER",
+td
+->
+Çme
+,
+li¡
+->
+couÁ
+);
+
+245 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+size
+;
+
+246 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+247
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+248 \v
+ù
+ = 0;
+
+251 if(
+ù
+) {
+
+252 \12
+nÙ_\9a_roÙ
+ = (
+li¡
+->
+couÁ
+ <
+ù
+->
+low\94_bound
+
+
+253 ||
+li¡
+->
+couÁ
+ >
+ù
+->
+uµ\94_bound
+);
+
+254
+ `ASN_DEBUG
+("lb %ld ub %ld %s",
+
+255
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+,
+
+256
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+ ? "ext" : "fix");
+
+257 if(
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+259 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+nÙ_\9a_roÙ
+, 1))
+
+260
+ASN__ENCODE_FAILED
+;
+
+261 if(
+nÙ_\9a_roÙ
+è
+ù
+ = 0;
+
+262 } \vif(
+nÙ_\9a_roÙ
+ &&
+ù
+->
+efãùive_b\99s
+ >= 0)
+
+263
+ASN__ENCODE_FAILED
+;
+
+266 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+272 ià(
+ `\94_put_Ëngth
+(
+po
+,
+ù
+->
+uµ\94_bound
+ - ct->
+low\94_bound
+ + 1,
+li¡
+->
+couÁ
+ - ct->lower_bound) < 0)
+
+273
+ASN__ENCODE_FAILED
+;
+
+276 \ f
+£q
+ = -1; seq <
+li¡
+->
+couÁ
+;) {
+
+277
+ssize_t
+
+mayEncode
+;
+
+278 if(
+£q
+ < 0) seq = 0;
+
+279 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+280
+mayEncode
+ =
+li¡
+->
+couÁ
+;
+
+282
+mayEncode
+ =
+ `\94_put_Ëngth
+(
+po
+, -1,
+li¡
+->
+couÁ
+ -
+£q
+);
+
+283 if(
+mayEncode
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+286 \1f
+mayEncode
+--) {
+
+287 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+£q
+++];
+
+288 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+289
+\94
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `\94_\92cod\94
+(elm->type,
+
+290
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+memb_±r
+,
+po
+);
+
+291 if(
+\94
+.
+\92coded
+ == -1)
+
+292
+ASN__ENCODE_FAILED
+;
+
+296
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+297
+ }
+}
+
+301
+ $SEQUENCE_OF_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+302 cڡ \1e*
+b±r
+) {
+
+303 cڡ
+a¢_ªÚymous_£qu\92û_
+ *
+a
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+\8c
+);
+
+304 cڡ
+a¢_ªÚymous_£qu\92û_
+ *
+b
+ =
+ `_A_CSEQUENCE_FROM_VOID
+(
+b±r
+);
+
+305
+ssize_t
+
+idx
+;
+
+307 if(
+a
+ &&
+b
+) {
+
+308
+ssize_t
+
+commÚ_Ëngth
+ = (
+a
+->
+couÁ
+ <
+b
+->count ?\87->count : b->count);
+
+309 \ f
+idx
+ = 0; idx <
+commÚ_Ëngth
+; idx++) {
+
+310 \12
+»t
+ =
+td
+->
+\96em\92ts
+->
+ty³
+->
+Ý
+->
+ `com·»_¡ruù
+(
+
+311
+td
+->
+\96em\92ts
+->
+ty³
+,
+a
+->
+¬¿y
+[
+idx
+],
+b
+->array[idx]);
+
+312 if(
+»t
+) \15\84et;
+
+315 if(
+idx
+ <
+b
+->
+couÁ
+)
+
+317 if(
+idx
+ <
+a
+->
+couÁ
+) \15 1;
+
+319 } \vif(!
+a
+) {
+
+321 } \vif(!
+b
+) {
+
+326
+ }
+}
+
+329
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_SEQUENCE_OF
+ = {
+
+330
+SEQUENCE_OF_ä\93
+,
+
+331
+SEQUENCE_OF_´\9at
+,
+
+332
+SEQUENCE_OF_com·»
+,
+
+333
+SEQUENCE_OF_decode_b\94
+,
+
+334
+SEQUENCE_OF_\92code_d\94
+,
+
+335
+SEQUENCE_OF_decode_x\94
+,
+
+336
+SEQUENCE_OF_\92code_x\94
+,
+
+337 #ifdef
+ASN_DISABLE_OER_SUPPORT
+
+
+341
+SEQUENCE_OF_decode_Ûr
+,
+
+342
+SEQUENCE_OF_\92code_Ûr
+,
+
+344 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+350
+SEQUENCE_OF_decode_u³r
+,
+
+351
+SEQUENCE_OF_\92code_u³r
+,
+
+352
+SEQUENCE_OF_decode_\94
+,
+
+353
+SEQUENCE_OF_\92code_\94
+,
+
+355
+SEQUENCE_OF_¿ndom_f\9el
+,
+
+ @constr_SET_OF.c
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<cڡr_SET_OF.h
+>
+
+8 \ 2
+ ~<a¢_SET_OF.h
+>
+
+15 \ 1
+ #LEFT
+ ((
+size
+<(
+size_t
+)
+ùx
+->
+Ëá
+)?size:(size_t)ùx->Ëá)
+
+ )
+
+28 \ 1
+ #SIZE_VIOLATION
+ (
+ùx
+->
+Ëá
+ >ð0 && (
+size_t
+)ùx->Ëá <ð
+size
+)
+
+ )
+
+34 #undeà
+ADVANCE
+
+
+35 \ 1
+ #ADVANCE
+(
+num_by\8bs
+) do { \
+
+36
+size_t
+
+num
+ =
+num_by\8bs
+; \
+
+37
+±r
+ = ((cÚ¡ \ 5*í\8cè+
+num
+;\
+
+38
+size
+ -ð
+num
+; \
+
+39 if(
+ùx
+->
+Ëá
+ >= 0) \
+
+40
+ùx
+->
+Ëá
+ -ð
+num
+; \
+
+41
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+42 } \1f0)
+
+ )
+
+47 #undeà
+NEXT_PHASE
+
+
+48 #undeà
+PHASE_OUT
+
+
+49 \ 1
+ #NEXT_PHASE
+(
+ùx
+) do { \
+
+50
+ùx
+->
+pha£
+++; \
+
+51
+ùx
+->
+¡\95
+ = 0; \
+
+52 } \1f0)
+
+ )
+
+53 \ 1
+ #PHASE_OUT
+(
+ùx
+èdØ{ ctx->
+pha£
+ = 10; } \1f0)
+
+ )
+
+58 #undeà
+RETURN
+
+
+59 \ 1
+ #RETURN
+(
+_code
+) do { \
+
+60
+rv®
+.
+code
+ =
+_code
+; \
+
+61
+rv®
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+;\
+
+62 \15
+rv®
+; \
+
+63 } \1f0)
+
+ )
+
+68
+a¢_dec_rv®_t
+
+
+69
+ $SET_OF_decode_b\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+70 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+71 cڡ \1e*
+±r
+,
+size_t
+
+size
+, \12
+\8fg_mode
+) {
+
+75 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+76 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+81 \1e*
+¡
+ = *
+¡ruù_±r
+;
+
+82
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+84
+b\94_\8ev_\8fg_t
+
+\8ev_\8fg
+;
+
+85
+a¢_dec_rv®_t
+
+rv®
+;
+
+87
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+89
+ `ASN_DEBUG
+("Decod\9ag % a SET OF",
+td
+->
+Çme
+);
+
+94 if(
+¡
+ == 0) {
+
+95
+¡
+ = *
+¡ruù_±r
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+96 if(
+¡
+ == 0) {
+
+97
+ `RETURN
+(
+RC_FAIL
+);
+
+104
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+109 \1a
+ùx
+->
+pha£
+) {
+
+117
+rv®
+ =
+ `b\94_check_\8fgs
+(
+Ýt_codec_ùx
+,
+td
+,
+ùx
+,
+±r
+,
+size
+,
+
+118
+\8fg_mode
+, 1, &
+ùx
+->
+Ëá
+, 0);
+
+119 if(
+rv®
+.
+code
+ !ð
+RC_OK
+) {
+
+120
+ `ASN_DEBUG
+("%s\81agging check failed: %d",
+
+121
+td
+->
+Çme
+,
+rv®
+.
+code
+);
+
+122 \15
+rv®
+;
+
+125 if(
+ùx
+->
+Ëá
+ >= 0)
+
+126
+ùx
+->
+Ëá
+ +ð
+rv®
+.
+cÚsumed
+;
+
+127
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+129
+ `ASN_DEBUG
+("Structure consumes %ld bytes, "
+
+130 "bufã¸%ld", (\13)
+ùx
+->
+Ëá
+, (\13)
+size
+);
+
+132
+ `NEXT_PHASE
+(
+ùx
+);
+
+140 \ f;;
+ùx
+->
+¡\95
+ = 0) {
+
+141
+ssize_t
+
+\8fg_Ën
+;
+
+143 if(
+ùx
+->
+¡\95
+ & 1)
+
+144 \10
+miüÝha£2
+;
+
+150 if(
+ùx
+->
+Ëá
+ == 0) {
+
+151
+ `ASN_DEBUG
+("End oàSET OF %s",
+td
+->
+Çme
+);
+
+156
+ `PHASE_OUT
+(
+ùx
+);
+
+157
+ `RETURN
+(
+RC_OK
+);
+
+163
+\8fg_Ën
+ =
+ `b\94_ãtch_\8fg
+(
+±r
+,
+LEFT
+, &
+\8ev_\8fg
+);
+
+164 \1a
+\8fg_Ën
+) {
+
+165 \ 40: if(!
+SIZE_VIOLATION
+è
+ `RETURN
+(
+RC_WMORE
+);
+
+167 \ 4-1:
+ `RETURN
+(
+RC_FAIL
+);
+
+170 if(
+ùx
+->
+Ëá
+ < 0 && ((cڡ
+u\9at8_t
+ *)
+±r
+)[0] == 0) {
+
+171 if(
+LEFT
+ < 2) {
+
+172 if(
+SIZE_VIOLATION
+)
+
+173
+ `RETURN
+(
+RC_FAIL
+);
+
+175
+ `RETURN
+(
+RC_WMORE
+);
+
+176 } \vif(((cڡ
+u\9at8_t
+ *)
+±r
+)[1] == 0) {
+
+186 if(
+\96m
+->
+\8fg
+ !ð(
+b\94_\8ev_\8fg_t
+)-1) {
+
+187 if(
+ `BER_TAGS_EQUAL
+(
+\8ev_\8fg
+,
+\96m
+->
+\8fg
+)) {
+
+192
+ `ASN_DEBUG
+("Unexpected\81ag %s fixed SET OF %s",
+
+193
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8ev_\8fg
+),
+td
+->
+Çme
+);
+
+194
+ `ASN_DEBUG
+("%s SET OF has\81ag %s",
+
+195
+td
+->
+Çme
+,
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\96m
+->
+\8fg
+));
+
+196
+ `RETURN
+(
+RC_FAIL
+);
+
+203
+ùx
+->
+¡\95
+ |= 1;
+
+204
+miüÝha£2
+:
+
+209
+rv®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `b\94_decod\94
+(
+Ýt_codec_ùx
+,
+
+210
+\96m
+->
+ty³
+, &
+ùx
+->
+±r
+,\85\8c,
+LEFT
+, 0);
+
+211
+ `ASN_DEBUG
+("In %s SET OF %s code %d consumed %d",
+
+212
+td
+->
+Çme
+,
+\96m
+->
+ty³
+->name,
+
+213
+rv®
+.
+code
+, (\12ìv®.
+cÚsumed
+);
+
+214 \1a
+rv®
+.
+code
+) {
+
+215 \ 4
+RC_OK
+:
+
+217
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_SET_FROM_VOID
+(
+¡
+);
+
+218 if(
+ `ASN_SET_ADD
+(
+li¡
+,
+ùx
+->
+±r
+) != 0)
+
+219
+ `RETURN
+(
+RC_FAIL
+);
+
+221
+ùx
+->
+±r
+ = 0;
+
+224 \ 4
+RC_WMORE
+:
+
+225 if(!
+SIZE_VIOLATION
+) {
+
+226
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+227
+ `RETURN
+(
+RC_WMORE
+);
+
+230 \ 4
+RC_FAIL
+:
+
+231
+ `ASN_STRUCT_FREE
+(*
+\96m
+->
+ty³
+,
+ùx
+->
+±r
+);
+
+232
+ùx
+->
+±r
+ = 0;
+
+233
+ `RETURN
+(
+RC_FAIL
+);
+
+236
+ `ADVANCE
+(
+rv®
+.
+cÚsumed
+);
+
+239
+ `NEXT_PHASE
+(
+ùx
+);
+
+244 \1f
+ùx
+->
+Ëá
+ < 0) {
+
+245 if(
+LEFT
+ < 2) {
+
+246 if(
+LEFT
+ > 0 && ((cڡ \ 5*)
+±r
+)[0] != 0) {
+
+248
+ `RETURN
+(
+RC_FAIL
+);
+
+250
+ `RETURN
+(
+RC_WMORE
+);
+
+253 if(((cڡ \ 5*)
+±r
+)[0] == 0
+
+254 && ((cڡ \ 5*)
+±r
+)[1] == 0) {
+
+255
+ `ADVANCE
+(2);
+
+256
+ùx
+->
+Ëá
+++;
+
+258
+ `RETURN
+(
+RC_FAIL
+);
+
+262
+ `PHASE_OUT
+(
+ùx
+);
+
+265
+ `RETURN
+(
+RC_OK
+);
+
+266
+ }
+}
+
+271 \19
+ s_\96_bufãr
+ {
+
+272
+u\9at8_t
+ *
+ mbuf
+;
+
+273
+size_t
+
+ mËngth
+;
+
+274
+size_t
+
+ m®loÿ\8bd_size
+;
+
+275 \1d
+ mb\99s_unu£d
+;
+
+278 \18\12
+ $_\96_addby\8bs
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+\96_buf_±r
+) {
+
+279 \19
+_\96_bufãr
+ *
+\96_buf
+ = (\19_\96_bufã¸*)
+\96_buf_±r
+;
+
+281 if(
+\96_buf
+->
+Ëngth
+ +
+size
+ >\83l_buf->
+®loÿ\8bd_size
+) {
+
+282
+size_t
+
+Ãw_size
+ =
+\96_buf
+->
+®loÿ\8bd_size
+ ?\83l_buf->allocated_size : 8;
+
+283 \1e*
+p
+;
+
+286
+Ãw_size
+ <<= 2;
+
+287 } \1f
+\96_buf
+->
+Ëngth
+ +
+size
+ >
+Ãw_size
+);
+
+289
+p
+ =
+ `REALLOC
+(
+\96_buf
+->
+buf
+,
+Ãw_size
+);
+
+290 if(
+p
+) {
+
+291
+\96_buf
+->
+buf
+ =
+p
+;
+
+292
+\96_buf
+->
+®loÿ\8bd_size
+ =
+Ãw_size
+;
+
+298
+ `memýy
+(
+\96_buf
+->
+buf
+ +\83l_buf->
+Ëngth
+,
+bufãr
+,
+size
+);
+
+300
+\96_buf
+->
+Ëngth
+ +ð
+size
+;
+
+302
+ }
+}
+
+304 \18\1e
+ $as£¹_unu£d_b\99s
+(cڡ \19
+_\96_bufãr
+*
+p
+) {
+
+305 if(
+p
+->
+Ëngth
+) {
+
+306
+ `as£¹
+((
+p
+->
+buf
+[p->
+Ëngth
+-1] & ~(0xfà<<\85->
+b\99s_unu£d
+)) == 0);
+
+308
+ `as£¹
+(
+p
+->
+b\99s_unu£d
+ == 0);
+
+310
+ }
+}
+
+312 \18\12
+ $_\96_buf_cmp
+(cڡ \1e*
+
+, cڡ \1e*
+bp
+) {
+
+313 cڡ \19
+_\96_bufãr
+ *
+a
+ = (cÚ¡ \19_\96_bufã¸*)
+
+;
+
+314 cڡ \19
+_\96_bufãr
+ *
+b
+ = (cÚ¡ \19_\96_bufã¸*)
+bp
+;
+
+315
+size_t
+
+commÚ_Ën
+;
+
+316 \12
+»t
+ = 0;
+
+318 if(
+a
+->
+Ëngth
+ <
+b
+->length)
+
+319
+commÚ_Ën
+ =
+a
+->
+Ëngth
+;
+
+321
+commÚ_Ën
+ =
+b
+->
+Ëngth
+;
+
+323 ià(
+a
+->
+buf
+ &&
+b
+->buf) {
+
+324
+»t
+ =
+ `memcmp
+(
+a
+->
+buf
+,
+b
+->buf,
+commÚ_Ën
+);
+
+326 if(
+»t
+ == 0) {
+
+327 if(
+a
+->
+Ëngth
+ <
+b
+->length)
+
+328
+»t
+ = -1;
+
+329 \vif(
+a
+->
+Ëngth
+ >
+b
+->length)
+
+330
+»t
+ = 1;
+
+332
+ `as£¹_unu£d_b\99s
+(
+a
+);
+
+333
+ `as£¹_unu£d_b\99s
+(
+b
+);
+
+336 \15
+»t
+;
+
+337
+ }
+}
+
+340
+ $SET_OF__\92code_sÜ\8bd_ä\93
+(\19
+_\96_bufãr
+ *
+\96_buf
+,
+size_t
+
+couÁ
+) {
+
+341
+size_t
+
+i
+;
+
+343 \ f
+i
+ = 0; i <
+couÁ
+; i++) {
+
+344
+ `FREEMEM
+(
+\96_buf
+[
+i
+].
+buf
+);
+
+347
+ `FREEMEM
+(
+\96_buf
+);
+
+348
+ }
+}
+
+350 \f
+ eSET_OF__\92code_m\91hod
+ {
+
+351
+ mSOES_DER
+,
+
+352
+ mSOES_CUPER
+
+
+355 \18\19
+_\96_bufãr
+ *
+
+356
+ $SET_OF__\92code_sÜ\8bd
+(cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+,
+
+357 cڡ
+a¢_ªÚymous_£t_
+ *
+li¡
+,
+
+358 \f
+SET_OF__\92code_m\91hod
+
+m\91hod
+) {
+
+359 \19
+_\96_bufãr
+ *
+\92coded_\96s
+;
+
+360 \12
+edx
+;
+
+362
+\92coded_\96s
+ =
+
+363 (\19
+_\96_bufãr
+ *)
+ `CALLOC
+(
+li¡
+->
+couÁ
+, \17(
+\92coded_\96s
+[0]));
+
+364 if(
+\92coded_\96s
+ =ð
+NULL
+) {
+
+365 \15
+NULL
+;
+
+371 \ f
+edx
+ = 0;\83dx <
+li¡
+->
+couÁ
+;\83dx++) {
+
+372 cڡ \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+edx
+];
+
+373 \19
+_\96_bufãr
+ *
+\92cod\9ag_\96
+ = &
+\92coded_\96s
+[
+edx
+];
+
+374
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+376 if(!
+memb_±r
+) \ 3;
+
+381 \1a
+m\91hod
+) {
+
+382 \ 4
+SOES_DER
+:
+
+383
+\94v®
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³,
+memb_±r
+, 0,\83lm->
+\8fg
+,
+
+384
+_\96_addby\8bs
+,
+\92cod\9ag_\96
+);
+
+386 \ 4
+SOES_CUPER
+:
+
+387
+\94v®
+ =
+ `u³r_\92code
+(
+\96m
+->
+ty³
+,
+
+388
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+,
+
+389
+memb_±r
+,
+_\96_addby\8bs
+,
+\92cod\9ag_\96
+);
+
+390 if(
+\94v®
+.
+\92coded
+ != -1) {
+
+391
+size_t
+
+ex\8ca_b\99s
+ =
+\94v®
+.
+\92coded
+ % 8;
+
+392
+ `as£¹
+(
+\92cod\9ag_\96
+->
+Ëngth
+ =ð(
+size_t
+)(
+\94v®
+.
+\92coded
+ + 7) / 8);
+
+393
+\92cod\9ag_\96
+->
+b\99s_unu£d
+ = (8 -
+ex\8ca_b\99s
+) & 0x7;
+
+397
+ `as£¹
+(!"Unreachable");
+
+400 if(
+\94v®
+.
+\92coded
+ < 0) \ 3;
+
+403 if(
+edx
+ =ð
+li¡
+->
+couÁ
+) {
+
+407
+ `qsÜt
+(
+\92coded_\96s
+,
+li¡
+->
+couÁ
+, \17Óncoded_\96s[0]),
+_\96_buf_cmp
+);
+
+409 \15
+\92coded_\96s
+;
+
+411
+ `SET_OF__\92code_sÜ\8bd_ä\93
+(
+\92coded_\96s
+,
+edx
+);
+
+412 \15
+NULL
+;
+
+414
+ }
+}
+
+420
+a¢_\92c_rv®_t
+
+
+421
+ $SET_OF_\92code_d\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+422 \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+423 \1e*
+p_key
+) {
+
+424 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+425 cڡ
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_CSET_FROM_VOID
+(
+¥\8c
+);
+
+426
+size_t
+
+compu\8bd_size
+ = 0;
+
+427
+ssize_t
+
+\92cod\9ag_size
+ = 0;
+
+428 \19
+_\96_bufãr
+ *
+\92coded_\96s
+;
+
+429 \12
+edx
+;
+
+431
+ `ASN_DEBUG
+("E¡im©\9ag siz\90fÜ SET OF %s",
+td
+->
+Çme
+);
+
+436 \ f
+edx
+ = 0;\83dx <
+li¡
+->
+couÁ
+;\83dx++) {
+
+437 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+edx
+];
+
+438
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+440 if(!
+memb_±r
+è
+ASN__ENCODE_FAILED
+;
+
+442
+\94v®
+ =
+
+443
+\96m
+->
+ty³
+->
+Ý
+->
+ `d\94_\92cod\94
+Ólm->ty³,
+memb_±r
+, 0,\83lm->
+\8fg
+, 0, 0);
+
+444 if(
+\94v®
+.
+\92coded
+ == -1) \15\83rval;
+
+445
+compu\8bd_size
+ +ð
+\94v®
+.
+\92coded
+;
+
+452
+\92cod\9ag_size
+ =
+
+453
+ `d\94_wr\99e_\8fgs
+(
+td
+,
+compu\8bd_size
+,
+\8fg_mode
+, 1,
+\8fg
+,
+cb
+,
+p_key
+);
+
+454 if(
+\92cod\9ag_size
+ < 0) {
+
+455
+ASN__ENCODE_FAILED
+;
+
+457
+compu\8bd_size
+ +ð
+\92cod\9ag_size
+;
+
+459 if(!
+cb
+ ||
+li¡
+->
+couÁ
+ == 0) {
+
+460
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+461
+\94v®
+.
+\92coded
+ =
+compu\8bd_size
+;
+
+462
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+465
+ `ASN_DEBUG
+("Encod\9ag memb\94 oà% SET OF",
+td
+->
+Çme
+);
+
+472
+\92coded_\96s
+ =
+ `SET_OF__\92code_sÜ\8bd
+(
+\96m
+,
+li¡
+,
+SOES_DER
+);
+
+478 \ f
+edx
+ = 0;\83dx <
+li¡
+->
+couÁ
+;\83dx++) {
+
+479 \19
+_\96_bufãr
+ *
+\92coded_\96
+ = &
+\92coded_\96s
+[
+edx
+];
+
+481 if(
+ `cb
+(
+\92coded_\96
+->
+buf
+,\83ncoded_\96->
+Ëngth
+,
+p_key
+) < 0) {
+
+484
+\92cod\9ag_size
+ +ð
+\92coded_\96
+->
+Ëngth
+;
+
+488
+ `SET_OF__\92code_sÜ\8bd_ä\93
+(
+\92coded_\96s
+,
+li¡
+->
+couÁ
+);
+
+490 if(
+edx
+ =ð
+li¡
+->
+couÁ
+) {
+
+491
+a¢_\92c_rv®_t
+
+\94v®
+ = {0,0,0};
+
+492
+ `as£¹
+(
+compu\8bd_size
+ =ð(
+size_t
+)
+\92cod\9ag_size
+);
+
+493
+\94v®
+.
+\92coded
+ =
+compu\8bd_size
+;
+
+494
+ `ASN__ENCODED_OK
+(
+\94v®
+);
+
+496
+ASN__ENCODE_FAILED
+;
+
+498
+ }
+}
+
+500 #undeà
+XER_ADVANCE
+
+
+501 \ 1
+ #XER_ADVANCE
+(
+num_by\8bs
+) do { \
+
+502
+size_t
+
+num
+ =
+num_by\8bs
+; \
+
+503
+buf_±r
+ = ((cÚ¡ \ 5*)buf_±rè+
+num
+;\
+
+504
+size
+ -ð
+num
+; \
+
+505
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+506 } \1f0)
+
+ )
+
+511
+a¢_dec_rv®_t
+
+
+512
+ $SET_OF_decode_x\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+513 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+514 cڡ \ 5*
+Ýt_mÇme
+, cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+) {
+
+518 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+519 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96em\92t
+ =
+td
+->
+\96em\92ts
+;
+
+520 cڡ \ 5*
+\96m_\8fg
+;
+
+521 cڡ \ 5*
+xml_\8fg
+ =
+Ýt_mÇme
+ ? o±_mÇm\90:
+td
+->xml_tag;
+
+526 \1e*
+¡
+ = *
+¡ruù_±r
+;
+
+527
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+529
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0};
+
+530
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+535 if(
+¡
+ == 0) {
+
+536
+¡
+ = *
+¡ruù_±r
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+537 if(
+¡
+ =ð0è
+ `RETURN
+(
+RC_FAIL
+);
+
+541 if(
+¥ecs
+->
+as_XMLV®ueLi¡
+) {
+
+542
+\96m_\8fg
+ = (
+¥ecs
+->
+as_XMLV®ueLi¡
+ == 1) ? 0 : "";
+
+544
+\96m_\8fg
+ = (*
+\96em\92t
+->
+Çme
+)
+
+545 ?
+\96em\92t
+->
+Çme
+ :\83Ëm\92t->
+ty³
+->
+xml_\8fg
+;
+
+551
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+¡
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+559 \ f;
+ùx
+->
+pha£
+ <= 2;) {
+
+560
+px\94_chunk_ty³_e
+
+ch_ty³
+;
+
+561
+ssize_t
+
+ch_size
+;
+
+562
+x\94_check_\8fg_e
+
+tcv
+;
+
+567 if(
+ùx
+->
+pha£
+ == 2) {
+
+568
+a¢_dec_rv®_t
+
+tm´v®
+ = {
+RC_OK
+, 0};
+
+571
+ `ASN_DEBUG
+("XER/SET OF\83Ëm\92\88[%s]",
+\96m_\8fg
+);
+
+572
+tm´v®
+ =
+\96em\92t
+->
+ty³
+->
+Ý
+->
+ `x\94_decod\94
+(
+Ýt_codec_ùx
+,
+
+573
+\96em\92t
+->
+ty³
+, &
+ùx
+->
+±r
+,
+\96m_\8fg
+,
+
+574
+buf_±r
+,
+size
+);
+
+575 if(
+tm´v®
+.
+code
+ =ð
+RC_OK
+) {
+
+576
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_SET_FROM_VOID
+(
+¡
+);
+
+577 if(
+ `ASN_SET_ADD
+(
+li¡
+,
+ùx
+->
+±r
+) != 0)
+
+578
+ `RETURN
+(
+RC_FAIL
+);
+
+579
+ùx
+->
+±r
+ = 0;
+
+580
+ `XER_ADVANCE
+(
+tm´v®
+.
+cÚsumed
+);
+
+582
+ `XER_ADVANCE
+(
+tm´v®
+.
+cÚsumed
+);
+
+583
+ `RETURN
+(
+tm´v®
+.
+code
+);
+
+585
+ùx
+->
+pha£
+ = 1;
+
+586
+ `ASN_DEBUG
+("XER/SET OF\85ha£ => %d",
+ùx
+->
+pha£
+);
+
+593
+ch_size
+ =
+ `x\94_Ãxt_tok\92
+(&
+ùx
+->
+cڋxt
+,
+
+594
+buf_±r
+,
+size
+, &
+ch_ty³
+);
+
+595 if(
+ch_size
+ == -1) {
+
+596
+ `RETURN
+(
+RC_FAIL
+);
+
+598 \1a
+ch_ty³
+) {
+
+599 \ 4
+PXER_WMORE
+:
+
+600
+ `RETURN
+(
+RC_WMORE
+);
+
+601 \ 4
+PXER_COMMENT
+:
+
+602 \ 4
+PXER_TEXT
+:
+
+603
+ `XER_ADVANCE
+(
+ch_size
+);
+
+605 \ 4
+PXER_TAG
+:
+
+610
+tcv
+ =
+ `x\94_check_\8fg
+(
+buf_±r
+,
+ch_size
+,
+xml_\8fg
+);
+
+611
+ `ASN_DEBUG
+("XER/SET OF:\81cv = %d,\85h=%d\81=%s",
+
+612
+tcv
+,
+ùx
+->
+pha£
+,
+xml_\8fg
+);
+
+613 \1a
+tcv
+) {
+
+614 \ 4
+XCT_CLOSING
+:
+
+615 if(
+ùx
+->
+pha£
+ == 0) \ 3;
+
+616
+ùx
+->
+pha£
+ = 0;
+
+618 \ 4
+XCT_BOTH
+:
+
+619 if(
+ùx
+->
+pha£
+ == 0) {
+
+621
+ `XER_ADVANCE
+(
+ch_size
+);
+
+622
+ùx
+->
+pha£
+ = 3;
+
+623
+ `RETURN
+(
+RC_OK
+);
+
+626 \ 4
+XCT_OPENING
+:
+
+627 if(
+ùx
+->
+pha£
+ == 0) {
+
+628
+ `XER_ADVANCE
+(
+ch_size
+);
+
+629
+ùx
+->
+pha£
+ = 1;
+
+633 \ 4
+XCT_UNKNOWN_OP
+:
+
+634 \ 4
+XCT_UNKNOWN_BO
+:
+
+636
+ `ASN_DEBUG
+("XER/SET OF:\81cv=%d,\85h=%d",
+tcv
+,
+ùx
+->
+pha£
+);
+
+637 if(
+ùx
+->
+pha£
+ == 1) {
+
+641
+ùx
+->
+pha£
+ = 2;
+
+649
+ `ASN_DEBUG
+("Unexpected XML\81ag in SET OF");
+
+653
+ùx
+->
+pha£
+ = 3;
+
+654
+ `RETURN
+(
+RC_FAIL
+);
+
+655
+ }
+}
+
+659 \e\19
+ sx\94_tmp_\92c_s
+ {
+
+660 \1e*
+ mbufãr
+;
+
+661
+size_t
+
+ moff£t
+;
+
+662
+size_t
+
+ msize
+;
+
+663 }
+ tx\94_tmp_\92c_t
+;
+
+665
+ $SET_OF_\92code_x\94_ÿÎback
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+key
+) {
+
+666
+x\94_tmp_\92c_t
+ *
+t
+ = (x\94_tmp_\92c_\88*)
+key
+;
+
+667 if(
+t
+->
+off£t
+ +
+size
+ >=\81->size) {
+
+668
+size_t
+
+Ãwsize
+ = (
+t
+->
+size
+ << 2) + size;
+
+669 \1e*
+p
+ =
+ `REALLOC
+(
+t
+->
+bufãr
+,
+Ãwsize
+);
+
+670 if(!
+p
+) \15 -1;
+
+671
+t
+->
+bufãr
+ =
+p
+;
+
+672
+t
+->
+size
+ =
+Ãwsize
+;
+
+674
+ `memýy
+((\ 5*)
+t
+->
+bufãr
+ +\81->
+off£t
+, bufãr,
+size
+);
+
+675
+t
+->
+off£t
+ +ð
+size
+;
+
+677
+ }
+}
+
+679
+ $SET_OF_x\94_Üd\94
+(cڡ \1e*
+\8c
+, cڡ \1e*
+b±r
+) {
+
+680 cڡ
+x\94_tmp_\92c_t
+ *
+a
+ = (cÚ¡ x\94_tmp_\92c_\88*)
+\8c
+;
+
+681 cڡ
+x\94_tmp_\92c_t
+ *
+b
+ = (cÚ¡ x\94_tmp_\92c_\88*)
+b±r
+;
+
+682
+size_t
+
+m\9aËn
+ =
+a
+->
+off£t
+;
+
+683 \12
+»t
+;
+
+684 if(
+b
+->
+off£t
+ <
+m\9aËn
+) minlen = b->offset;
+
+686
+»t
+ =
+ `memcmp
+(
+a
+->
+bufãr
+,
+b
+->bufãr,
+m\9aËn
+);
+
+687 if(
+»t
+ != 0) \15\84et;
+
+688 if(
+a
+->
+off£t
+ =ð
+b
+->offset)
+
+690 if(
+a
+->
+off£t
+ =ð
+m\9aËn
+)
+
+693
+ }
+}
+
+696
+a¢_\92c_rv®_t
+
+
+697
+ $SET_OF_\92code_x\94
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+698 \f
+x\94_\92cod\94_æags_e
+
+æags
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+699 \1e*
+p_key
+) {
+
+700
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+701 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+702 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+703 cڡ
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_CSET_FROM_VOID
+(
+¥\8c
+);
+
+704 cڡ \ 5*
+mÇme
+ =
+¥ecs
+->
+as_XMLV®ueLi¡
+
+
+705 ? 0 : ((*
+\96m
+->
+Çme
+è?\83lm->Çm\90:\83lm->
+ty³
+->
+xml_\8fg
+);
+
+706
+size_t
+
+mËn
+ =
+mÇme
+ ?
+ `¡¾\92
+(mname) : 0;
+
+707 \12
+xÿn
+ = (
+æags
+ &
+XER_F_CANONICAL
+);
+
+708
+x\94_tmp_\92c_t
+ *
+\92cs
+ = 0;
+
+709
+size_t
+
+\92cs_couÁ
+ = 0;
+
+710 \1e*
+Üig\9a®_p_key
+ =
+p_key
+;
+
+711
+a¢_p_cÚsume_by\8bs_f
+ *
+Üig\9a®_cb
+ =
+cb
+;
+
+712 \12
+i
+;
+
+714 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+716 if(
+xÿn
+) {
+
+717
+\92cs
+ = (
+x\94_tmp_\92c_t
+ *)
+ `MALLOC
+(
+li¡
+->
+couÁ
+ * \17(encs[0]));
+
+718 if(!
+\92cs
+è
+ASN__ENCODE_FAILED
+;
+
+719
+cb
+ =
+SET_OF_\92code_x\94_ÿÎback
+;
+
+722
+\94
+.
+\92coded
+ = 0;
+
+724 \ f
+i
+ = 0; i <
+li¡
+->
+couÁ
+; i++) {
+
+725
+a¢_\92c_rv®_t
+
+tm³r
+ = {0,0,0};
+
+727 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+i
+];
+
+728 if(!
+memb_±r
+) \ 6;
+
+730 if(
+\92cs
+) {
+
+731
+ `mem£t
+(&
+\92cs
+[
+\92cs_couÁ
+], 0, \17(encs[0]));
+
+732
+p_key
+ = &
+\92cs
+[
+\92cs_couÁ
+];
+
+733
+\92cs_couÁ
+++;
+
+736 if(
+mÇme
+) {
+
+737 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+);
+
+738
+ `ASN__CALLBACK3
+("<", 1,
+mÇme
+,
+mËn
+, ">", 1);
+
+741 if(!
+xÿn
+ &&
+¥ecs
+->
+as_XMLV®ueLi¡
+ == 1)
+
+742
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+ + 1);
+
+743
+tm³r
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `x\94_\92cod\94
+Ólm->ty³,
+memb_±r
+,
+
+744
+\9eev\96
+ + (
+¥ecs
+->
+as_XMLV®ueLi¡
+ != 2),
+
+745
+æags
+,
+cb
+,
+p_key
+);
+
+746 if(
+tm³r
+.
+\92coded
+ == -1) \15\81mper;
+
+747
+\94
+.
+\92coded
+ +ð
+tm³r
+.encoded;
+
+748 if(
+tm³r
+.
+\92coded
+ =ð0 &&
+¥ecs
+->
+as_XMLV®ueLi¡
+) {
+
+749 cڡ \ 5*
+Çme
+ =
+\96m
+->
+ty³
+->
+xml_\8fg
+;
+
+750
+size_t
+
+Ën
+ =
+ `¡¾\92
+(
+Çme
+);
+
+751
+ `ASN__CALLBACK3
+("<", 1,
+Çme
+,
+Ën
+, "/>", 2);
+
+754 if(
+mÇme
+) {
+
+755
+ `ASN__CALLBACK3
+("</", 2,
+mÇme
+,
+mËn
+, ">", 1);
+
+760 if(!
+xÿn
+è
+ `ASN__TEXT_INDENT
+(1,
+\9eev\96
+ - 1);
+
+762 if(
+\92cs
+) {
+
+763
+x\94_tmp_\92c_t
+ *
+\92c
+ =
+\92cs
+;
+
+764
+x\94_tmp_\92c_t
+ *
+\92d
+ =
+\92cs
+ +
+\92cs_couÁ
+;
+
+765
+ssize_t
+
+cÚ\8cÞ_size
+ = 0;
+
+767
+\94
+.
+\92coded
+ = 0;
+
+768
+cb
+ =
+Üig\9a®_cb
+;
+
+769
+p_key
+ =
+Üig\9a®_p_key
+;
+
+770
+ `qsÜt
+(
+\92cs
+,
+\92cs_couÁ
+, \17Óncs[0]),
+SET_OF_x\94_Üd\94
+);
+
+772 \ f;
+\92c
+ <
+\92d
+;\83nc++) {
+
+773
+ `ASN__CALLBACK
+(
+\92c
+->
+bufãr
+,\83nc->
+off£t
+);
+
+774
+ `FREEMEM
+(
+\92c
+->
+bufãr
+);
+
+775
+\92c
+->
+bufãr
+ = 0;
+
+776
+cÚ\8cÞ_size
+ +ð
+\92c
+->
+off£t
+;
+
+778
+ `as£¹
+(
+cÚ\8cÞ_size
+ =ð
+\94
+.
+\92coded
+);
+
+781 \10
+þ\97nup
+;
+
+782
+cb_ç\9eed
+:
+
+783
+ASN__ENCODE_FAILED
+;
+
+784
+þ\97nup
+:
+
+785 if(
+\92cs
+) {
+
+786
+size_t
+
+n
+;
+
+787 \ f
+n
+ = 0;\82 <
+\92cs_couÁ
+;\82++) {
+
+788
+ `FREEMEM
+(
+\92cs
+[
+n
+].
+bufãr
+);
+
+790
+ `FREEMEM
+(
+\92cs
+);
+
+792
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+793
+ }
+}
+
+796
+ $SET_OF_´\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+, \12
+\9eev\96
+,
+
+797
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+798
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+799 cڡ
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_CSET_FROM_VOID
+(
+¥\8c
+);
+
+800 \12
+»t
+;
+
+801 \12
+i
+;
+
+803 if(!
+¥\8c
+è\15 (
+ `cb
+("<ab£Á>", 8,
+p_key
+) < 0) ? -1 : 0;
+
+806 if(
+ `cb
+(
+td
+->
+Çme
+,
+ `¡¾\92
+Ñd->Çme),
+p_key
+) < 0
+
+807 ||
+ `cb
+(" ::ð{", 6,
+p_key
+) < 0)
+
+810 \ f
+i
+ = 0; i <
+li¡
+->
+couÁ
+; i++) {
+
+811 cڡ \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+i
+];
+
+812 if(!
+memb_±r
+) \ 6;
+
+814
+ `_i_INDENT
+(1);
+
+816
+»t
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `´\9at_¡ruù
+Ólm->ty³,
+memb_±r
+,
+
+817
+\9eev\96
+ + 1,
+cb
+,
+p_key
+);
+
+818 if(
+»t
+) \15\84et;
+
+821
+\9eev\96
+--;
+
+822
+ `_i_INDENT
+(1);
+
+824 \15 (
+ `cb
+("}", 1,
+p_key
+) < 0) ? -1 : 0;
+
+825
+ }
+}
+
+828
+ $SET_OF_ä\93
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e*
+±r
+,
+
+829 \f
+a¢_¡ruù_ä\93_m\91hod
+
+m\91hod
+) {
+
+830 if(
+td
+ &&
+±r
+) {
+
+831 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+;
+
+832
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+833
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_SET_FROM_VOID
+(
+±r
+);
+
+834
+a¢_¡ruù_ùx_t
+ *
+ùx
+;
+
+835 \12
+i
+;
+
+841 \ f
+i
+ = 0; i <
+li¡
+->
+couÁ
+; i++) {
+
+842 \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+i
+];
+
+843 if(
+memb_±r
+)
+
+844
+ `ASN_STRUCT_FREE
+(*
+\96m
+->
+ty³
+,
+memb_±r
+);
+
+846
+li¡
+->
+couÁ
+ = 0;
+
+848
+ `a¢_£t_em±y
+(
+li¡
+);
+
+850
+¥ecs
+ = (cڡ
+a¢_SET_OF_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+851
+ùx
+ = (
+a¢_¡ruù_ùx_t
+ *)((\ 5*)
+±r
+ +
+¥ecs
+->
+ùx_off£t
+);
+
+852 if(
+ùx
+->
+±r
+) {
+
+853
+ `ASN_STRUCT_FREE
+(*
+\96m
+->
+ty³
+,
+ùx
+->
+±r
+);
+
+854
+ùx
+->
+±r
+ = 0;
+
+857 \1a
+m\91hod
+) {
+
+858 \ 4
+ASFM_FREE_EVERYTHING
+:
+
+859
+ `FREEMEM
+(
+±r
+);
+
+861 \ 4
+ASFM_FREE_UNDERLYING
+:
+
+863 \ 4
+ASFM_FREE_UNDERLYING_AND_RESET
+:
+
+864
+ `mem£t
+(
+±r
+, 0,
+¥ecs
+->
+¡ruù_size
+);
+
+868
+ }
+}
+
+871
+ $SET_OF_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+872
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+ùç\9ecb
+, \1e*
+p_key
+) {
+
+873 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+874
+a¢_cÚ¡r_check_f
+ *
+cڡr
+;
+
+875 cڡ
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_CSET_FROM_VOID
+(
+¥\8c
+);
+
+876 \12
+i
+;
+
+878 if(!
+¥\8c
+) {
+
+879
+ `ASN__CTFAIL
+(
+p_key
+,
+td
+,
+¥\8c
+,
+
+881
+td
+->
+Çme
+,
+__FILE__
+,
+__LINE__
+);
+
+885
+cڡr
+ =
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+g\92\94®_cÚ¡¿\9ats
+;
+
+886 if(!
+cڡr
+ècÚ¡¸ð
+\96m
+->
+ty³
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+g\92\94®_cÚ¡¿\9ats
+;
+
+892 \ f
+i
+ = 0; i <
+li¡
+->
+couÁ
+; i++) {
+
+893 cڡ \1e*
+memb_±r
+ =
+li¡
+->
+¬¿y
+[
+i
+];
+
+894 \12
+»t
+;
+
+896 if(!
+memb_±r
+) \ 6;
+
+898
+»t
+ =
+ `cڡr
+(
+\96m
+->
+ty³
+,
+memb_±r
+,
+ùç\9ecb
+,
+p_key
+);
+
+899 if(
+»t
+) \15\84et;
+
+903
+ }
+}
+
+905 #iâdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+907
+a¢_dec_rv®_t
+
+
+908
+ $SET_OF_decode_u³r
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+909 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+910 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+911
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+912
+a¢_dec_rv®_t
+
+rv
+ = {
+RC_OK
+, 0};
+
+913 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+914 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+915 \1e*
+¡
+ = *
+¥\8c
+;
+
+916
+a¢_ªÚymous_£t_
+ *
+li¡
+;
+
+917 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+918 \12
+»³©
+ = 0;
+
+919
+ssize_t
+
+ÃËms
+;
+
+921 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+922
+ASN__DECODE_FAILED
+;
+
+927 if(!
+¡
+) {
+
+928
+¡
+ = *
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+929 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+931
+li¡
+ =
+ `_A_SET_FROM_VOID
+(
+¡
+);
+
+934 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+size
+;
+
+935 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+936
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+937 \v
+ù
+ = 0;
+
+939 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+940 \12
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+941 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+942 if(
+v®ue
+è
+ù
+ = 0;
+
+945 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+947
+ÃËms
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+ù
+->
+efãùive_b\99s
+);
+
+948
+ `ASN_DEBUG
+("Preparing\81o fetch %ld+%ld\83lements from %s",
+
+949 (\13)
+ÃËms
+,
+ù
+->
+low\94_bound
+,
+td
+->
+Çme
+);
+
+950 if(
+ÃËms
+ < 0è
+ASN__DECODE_STARVED
+;
+
+951
+ÃËms
+ +ð
+ù
+->
+low\94_bound
+;
+
+953
+ÃËms
+ = -1;
+
+957 \12
+i
+;
+
+958 if(
+ÃËms
+ < 0) {
+
+959
+ÃËms
+ =
+ `u³r_g\91_Ëngth
+(
+pd
+, -1, 0, &
+»³©
+);
+
+960
+ `ASN_DEBUG
+("GÙ\81Ødecod\90%"
+ASN_PRI_SSIZE
+ "\83lements (eff %d)",
+
+961
+ÃËms
+, (\12)(
+ù
+ ? ct->
+efãùive_b\99s
+ : -1));
+
+962 if(
+ÃËms
+ < 0è
+ASN__DECODE_STARVED
+;
+
+965 \ f
+i
+ = 0; i <
+ÃËms
+; i++) {
+
+966 \1e*
+±r
+ = 0;
+
+967
+ `ASN_DEBUG
+("SET OF % decod\9ag",
+\96m
+->
+ty³
+->
+Çme
+);
+
+968
+rv
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `u³r_decod\94
+(
+Ýt_codec_ùx
+,\83lm->type,
+
+969
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+, &
+±r
+,
+pd
+);
+
+970
+ `ASN_DEBUG
+("%s SET OF %s decoded %d, %p",
+
+971
+td
+->
+Çme
+,
+\96m
+->
+ty³
+->Çme,
+rv
+.
+code
+,
+±r
+);
+
+972 if(
+rv
+.
+code
+ =ð
+RC_OK
+) {
+
+973 if(
+ `ASN_SET_ADD
+(
+li¡
+,
+±r
+) == 0) {
+
+974 if(
+rv
+.
+cÚsumed
+ =ð0 &&
+ÃËms
+ > 200) {
+
+976
+ASN__DECODE_FAILED
+;
+
+980
+ `ASN_DEBUG
+("Failed\81o\87dd\83lement into %s",
+
+981
+td
+->
+Çme
+);
+
+983
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+985
+ `ASN_DEBUG
+("Failed decoding %s of %s (SET OF)",
+
+986
+\96m
+->
+ty³
+->
+Çme
+,
+td
+->name);
+
+988 if(
+±r
+è
+ `ASN_STRUCT_FREE
+(*
+\96m
+->
+ty³
+,\85tr);
+
+989 \15
+rv
+;
+
+992
+ÃËms
+ = -1;
+
+993 } \1f
+»³©
+);
+
+995
+ `ASN_DEBUG
+("Decoded % a SET OF",
+td
+->
+Çme
+);
+
+997
+rv
+.
+code
+ =
+RC_OK
+;
+
+998
+rv
+.
+cÚsumed
+ = 0;
+
+999 \15
+rv
+;
+
+1000
+ }
+}
+
+1002
+a¢_\92c_rv®_t
+
+
+1003
+ $SET_OF_\92code_u³r
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1004 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+1005
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+1006 cڡ
+a¢_ªÚymous_£t_
+ *
+li¡
+;
+
+1007 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+1008 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+1009 \19
+_\96_bufãr
+ *
+\92coded_\96s
+;
+
+1010
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+1011
+size_t
+
+\92coded_edx
+;
+
+1013 if(!
+¥\8c
+è
+ASN__ENCODE_FAILED
+;
+
+1015
+li¡
+ =
+ `_A_CSET_FROM_VOID
+(
+¥\8c
+);
+
+1017
+\94
+.
+\92coded
+ = 0;
+
+1019
+ `ASN_DEBUG
+("Encod\9ag % a SEQUENCE OF (%d)",
+td
+->
+Çme
+,
+li¡
+->
+couÁ
+);
+
+1021 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+size
+;
+
+1022 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+1023
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+1024 \v
+ù
+ = 0;
+
+1027 if(
+ù
+) {
+
+1028 \12
+nÙ_\9a_roÙ
+ =
+
+1029 (
+li¡
+->
+couÁ
+ <
+ù
+->
+low\94_bound
+ ||\86i¡->couÁ > ct->
+uµ\94_bound
+);
+
+1030
+ `ASN_DEBUG
+("lb %ld ub %ld %s",
+ù
+->
+low\94_bound
+, ct->
+uµ\94_bound
+,
+
+1031
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+ ? "ext" : "fix");
+
+1032 if(
+ù
+->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+1034 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+nÙ_\9a_roÙ
+, 1)è
+ASN__ENCODE_FAILED
+;
+
+1035 if(
+nÙ_\9a_roÙ
+è
+ù
+ = 0;
+
+1036 } \vif(
+nÙ_\9a_roÙ
+ &&
+ù
+->
+efãùive_b\99s
+ >= 0) {
+
+1037
+ASN__ENCODE_FAILED
+;
+
+1042 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+1044 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+li¡
+->
+couÁ
+ -
+ù
+->
+low\94_bound
+,
+
+1045
+ù
+->
+efãùive_b\99s
+))
+
+1046
+ASN__ENCODE_FAILED
+;
+
+1047 } \vif(
+li¡
+->
+couÁ
+ == 0) {
+
+1051 ià(
+ `u³r_put_Ëngth
+(
+po
+, 0, 0)) {
+
+1052
+ASN__ENCODE_FAILED
+;
+
+1054
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1062
+\92coded_\96s
+ =
+ `SET_OF__\92code_sÜ\8bd
+(
+\96m
+,
+li¡
+,
+SOES_CUPER
+);
+
+1064 \ f
+\92coded_edx
+ = 0; (
+ssize_t
+ëncoded_edx <
+li¡
+->
+couÁ
+;) {
+
+1065
+ssize_t
+
+may_\92code
+;
+
+1066
+size_t
+
+edx
+;
+
+1067 \12
+Ãed_eom
+ = 0;
+
+1069 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+1070
+may_\92code
+ =
+li¡
+->
+couÁ
+;
+
+1072
+may_\92code
+ =
+
+1073
+ `u³r_put_Ëngth
+(
+po
+,
+li¡
+->
+couÁ
+ -
+\92coded_edx
+, &
+Ãed_eom
+);
+
+1074 if(
+may_\92code
+ < 0è
+ASN__ENCODE_FAILED
+;
+
+1077 \ f
+edx
+ =
+\92coded_edx
+;\83dx <\83ncoded_edx +
+may_\92code
+;\83dx++) {
+
+1078 cڡ \19
+_\96_bufãr
+ *
+\96
+ = &
+\92coded_\96s
+[
+edx
+];
+
+1079 if(
+ `a¢_put_mªy_b\99s
+(
+po
+,
+\96
+->
+buf
+,
+
+1080 (8 *
+\96
+->
+Ëngth
+è-\83l->
+b\99s_unu£d
+) < 0) {
+
+1085 if(
+Ãed_eom
+ &&
+ `u³r_put_Ëngth
+(
+po
+, 0, 0))
+
+1086
+ASN__ENCODE_FAILED
+;
+
+1088
+\92coded_edx
+ +ð
+may_\92code
+;
+
+1091
+ `SET_OF__\92code_sÜ\8bd_ä\93
+(
+\92coded_\96s
+,
+li¡
+->
+couÁ
+);
+
+1093 if((
+ssize_t
+)
+\92coded_edx
+ =ð
+li¡
+->
+couÁ
+) {
+
+1094
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+1096
+ASN__ENCODE_FAILED
+;
+
+1098
+ }
+}
+
+1100
+a¢_dec_rv®_t
+
+
+1101
+ $SET_OF_decode_\94
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+1102 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+1103 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+1104
+a¢_dec_rv®_t
+
+rv
+ = {
+RC_OK
+, 0};
+
+1105 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+ = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
+td
+->
+¥ecifics
+;
+
+1106 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+1107 \1e*
+¡
+ = *
+¥\8c
+;
+
+1108
+a¢_ªÚymous_£t_
+ *
+li¡
+;
+
+1109 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+ù
+;
+
+1110 \12
+»³©
+ = 0;
+
+1111
+ssize_t
+
+ÃËms
+;
+
+1113 if(
+ `ASN__STACK_OVERFLOW_CHECK
+(
+Ýt_codec_ùx
+))
+
+1114
+ASN__DECODE_FAILED
+;
+
+1119 if(!
+¡
+) {
+
+1120
+¡
+ = *
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+);
+
+1121 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+1123
+li¡
+ =
+ `_A_SET_FROM_VOID
+(
+¡
+);
+
+1126 if(
+cÚ¡¿\9ats
+è
+ù
+ = &cÚ¡¿\9ats->
+size
+;
+
+1127 \vif(
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+)
+
+1128
+ù
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+1129 \v
+ù
+ = 0;
+
+1131 if(
+ù
+ && ct->
+æags
+ &
+APC_EXTENSIBLE
+) {
+
+1132 \12
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1);
+
+1133 if(
+v®ue
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1134 if(
+v®ue
+è
+ù
+ = 0;
+
+1137 if(
+ù
+ && ct->
+efãùive_b\99s
+ >= 0) {
+
+1139
+ÃËms
+ =
+ `\94_g\91_n¢nwn
+(
+pd
+,
+ù
+->
+uµ\94_bound
+ - ct->
+low\94_bound
+ + 1);
+
+1140
+ `ASN_DEBUG
+("Preparing\81o fetch %ld+%ld\83lements from %s",
+
+1141 (\13)
+ÃËms
+,
+ù
+->
+low\94_bound
+,
+td
+->
+Çme
+);
+
+1142 if(
+ÃËms
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1143
+ÃËms
+ +ð
+ù
+->
+low\94_bound
+;
+
+1145
+ÃËms
+ = -1;
+
+1149 \12
+i
+;
+
+1150 if(
+ÃËms
+ < 0) {
+
+1151
+ÃËms
+ =
+ `\94_g\91_Ëngth
+(
+pd
+,
+ù
+ ? ct->
+uµ\94_bound
+ - ct->
+low\94_bound
+ + 1 : -1,
+
+1152
+ù
+ ? ct->
+efãùive_b\99s
+ : -1, &
+»³©
+);
+
+1153
+ `ASN_DEBUG
+("Got\81o decode %d\83lements (eff %d)",
+
+1154 (\12)
+ÃËms
+, (\12)(
+ù
+ ? ct->
+efãùive_b\99s
+ : -1));
+
+1155 if(
+ÃËms
+ < 0è
+ASN__DECODE_STARVED
+;
+
+1158 \ f
+i
+ = 0; i <
+ÃËms
+; i++) {
+
+1159 \1e*
+±r
+ = 0;
+
+1160
+ `ASN_DEBUG
+("SET OF % decod\9ag",
+\96m
+->
+ty³
+->
+Çme
+);
+
+1161
+rv
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `\94_decod\94
+(
+Ýt_codec_ùx
+,\83lm->type,
+
+1162
+\96m
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+³r_cÚ¡¿\9ats
+, &
+±r
+,
+pd
+);
+
+1163
+ `ASN_DEBUG
+("%s SET OF %s decoded %d, %p",
+
+1164
+td
+->
+Çme
+,
+\96m
+->
+ty³
+->Çme,
+rv
+.
+code
+,
+±r
+);
+
+1165 if(
+rv
+.
+code
+ =ð
+RC_OK
+) {
+
+1166 if(
+ `ASN_SET_ADD
+(
+li¡
+,
+±r
+) == 0)
+
+1168
+ `ASN_DEBUG
+("Failed\81o\87dd\83lement into %s",
+
+1169
+td
+->
+Çme
+);
+
+1171
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+1173
+ `ASN_DEBUG
+("Failed decoding %s of %s (SET OF)",
+
+1174
+\96m
+->
+ty³
+->
+Çme
+,
+td
+->name);
+
+1176 if(
+±r
+è
+ `ASN_STRUCT_FREE
+(*
+\96m
+->
+ty³
+,\85tr);
+
+1177 \15
+rv
+;
+
+1180
+ÃËms
+ = -1;
+
+1181 } \1f
+»³©
+);
+
+1183
+ `ASN_DEBUG
+("Decoded % a SET OF",
+td
+->
+Çme
+);
+
+1185
+rv
+.
+code
+ =
+RC_OK
+;
+
+1186
+rv
+.
+cÚsumed
+ = 0;
+
+1187 \15
+rv
+;
+
+1188
+ }
+}
+
+1192 \19
+ scom·¿bË_±r
+ {
+
+1193 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ mtd
+;
+
+1194 cڡ \1e*
+ m¥\8c
+;
+
+1198
+ $SET_OF__com·»_cb
+(cڡ \1e*
+\8c
+, cڡ \1e*
+b±r
+) {
+
+1199 cڡ \19
+com·¿bË_±r
+ *
+a
+ =
+\8c
+;
+
+1200 cڡ \19
+com·¿bË_±r
+ *
+b
+ =
+b±r
+;
+
+1201
+ `as£¹
+(
+a
+->
+td
+ =ð
+b
+->td);
+
+1202 \15
+a
+->
+td
+->
+Ý
+->
+ `com·»_¡ruù
+×->td,\87->
+¥\8c
+,
+b
+->sptr);
+
+1203
+ }
+}
+
+1206
+ $SET_OF_com·»
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+\8c
+,
+
+1207 cڡ \1e*
+b±r
+) {
+
+1208 cڡ
+a¢_ªÚymous_£t_
+ *
+a
+ =
+ `_A_CSET_FROM_VOID
+(
+\8c
+);
+
+1209 cڡ
+a¢_ªÚymous_£t_
+ *
+b
+ =
+ `_A_CSET_FROM_VOID
+(
+b±r
+);
+
+1211 if(
+a
+ &&
+b
+) {
+
+1212 \19
+com·¿bË_±r
+ *
+as܋d
+;
+
+1213 \19
+com·¿bË_±r
+ *
+bs܋d
+;
+
+1214
+ssize_t
+
+commÚ_Ëngth
+;
+
+1215
+ssize_t
+
+idx
+;
+
+1217 if(
+a
+->
+couÁ
+ == 0) {
+
+1218 if(
+b
+->
+couÁ
+) \15 -1;
+
+1220 } \vif(
+b
+->
+couÁ
+ == 0) {
+
+1224
+as܋d
+ =
+ `MALLOC
+(
+a
+->
+couÁ
+ * \17(asorted[0]));
+
+1225
+bs܋d
+ =
+ `MALLOC
+(
+b
+->
+couÁ
+ * \17(bsorted[0]));
+
+1226 if(!
+as܋d
+ || !
+bs܋d
+) {
+
+1227
+ `FREEMEM
+(
+as܋d
+);
+
+1228
+ `FREEMEM
+(
+bs܋d
+);
+
+1232 \ f
+idx
+ = 0; idx <
+a
+->
+couÁ
+; idx++) {
+
+1233
+as܋d
+[
+idx
+].
+td
+ =\81d->
+\96em\92ts
+->
+ty³
+;
+
+1234
+as܋d
+[
+idx
+].
+¥\8c
+ =
+a
+->
+¬¿y
+[idx];
+
+1237 \ f
+idx
+ = 0; idx <
+b
+->
+couÁ
+; idx++) {
+
+1238
+bs܋d
+[
+idx
+].
+td
+ =\81d->
+\96em\92ts
+->
+ty³
+;
+
+1239
+bs܋d
+[
+idx
+].
+¥\8c
+ =
+b
+->
+¬¿y
+[idx];
+
+1242
+ `qsÜt
+(
+as܋d
+,
+a
+->
+couÁ
+, \17×sÜ\8bd[0]),
+SET_OF__com·»_cb
+);
+
+1243
+ `qsÜt
+(
+bs܋d
+,
+b
+->
+couÁ
+, \17(bs܋d[0]),
+SET_OF__com·»_cb
+);
+
+1245
+commÚ_Ëngth
+ = (
+a
+->
+couÁ
+ <
+b
+->count ?\87->count : b->count);
+
+1246 \ f
+idx
+ = 0; idx <
+commÚ_Ëngth
+; idx++) {
+
+1247 \12
+»t
+ =
+td
+->
+\96em\92ts
+->
+ty³
+->
+Ý
+->
+ `com·»_¡ruù
+(
+
+1248
+td
+->
+\96em\92ts
+->
+ty³
+,
+as܋d
+[
+idx
+].
+¥\8c
+,
+bs܋d
+[idx].sptr);
+
+1249 if(
+»t
+) {
+
+1250
+ `FREEMEM
+(
+as܋d
+);
+
+1251
+ `FREEMEM
+(
+bs܋d
+);
+
+1252 \15
+»t
+;
+
+1256
+ `FREEMEM
+(
+as܋d
+);
+
+1257
+ `FREEMEM
+(
+bs܋d
+);
+
+1259 if(
+idx
+ <
+b
+->
+couÁ
+)
+
+1261 if(
+idx
+ <
+a
+->
+couÁ
+) \15 1;
+
+1262 } \vif(!
+a
+) {
+
+1264 } \vif(!
+b
+) {
+
+1269
+ }
+}
+
+1272
+a¢_TYPE_Ý\94©iÚ_t
+
+ ga¢_OP_SET_OF
+ = {
+
+1273
+SET_OF_ä\93
+,
+
+1274
+SET_OF_´\9at
+,
+
+1275
+SET_OF_com·»
+,
+
+1276
+SET_OF_decode_b\94
+,
+
+1277
+SET_OF_\92code_d\94
+,
+
+1278
+SET_OF_decode_x\94
+,
+
+1279
+SET_OF_\92code_x\94
+,
+
+1280 #ifdeà
+ASN_DISABLE_OER_SUPPORT
+
+
+1284
+SET_OF_decode_Ûr
+,
+
+1285
+SET_OF_\92code_Ûr
+,
+
+1287 #ifdeà
+ASN_DISABLE_PER_SUPPORT
+
+
+1293
+SET_OF_decode_u³r
+,
+
+1294
+SET_OF_\92code_u³r
+,
+
+1295
+SET_OF_decode_\94
+,
+
+1298
+SET_OF_¿ndom_f\9el
+,
+
+1303
+a¢_¿ndom_f\9el_»suÉ_t
+
+
+1304
+ $SET_OF_¿ndom_f\9el
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+1305 cڡ
+a¢_\92cod\9ag_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+1306
+size_t
+
+max_Ëngth
+) {
+
+1307 cڡ
+a¢_SET_OF_¥ecifics_t
+ *
+¥ecs
+ =
+
+1308 (cڡ
+a¢_SET_OF_¥ecifics_t
+ *)
+td
+->
+¥ecifics
+;
+
+1309
+a¢_¿ndom_f\9el_»suÉ_t
+
+»s_ok
+ = {
+ARFILL_OK
+, 0};
+
+1310
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_ç\9eed
+ = {
+ARFILL_FAILED
+, 0};
+
+1311
+a¢_¿ndom_f\9el_»suÉ_t
+
+»suÉ_sk\9d³d
+ = {
+ARFILL_SKIPPED
+, 0};
+
+1312 cڡ
+a¢_TYPE_memb\94_t
+ *
+\96m
+ =
+td
+->
+\96em\92ts
+;
+
+1313 \1e*
+¡
+ = *
+¥\8c
+;
+
+1314 \13
+max_\96em\92ts
+ = 5;
+
+1315 \13
+¦b
+ = 0;
+
+1316 \13
+sub
+ = 0;
+
+1317
+size_t
+
+ºd_Ën
+;
+
+1319 if(
+max_Ëngth
+ =ð0è\15
+»suÉ_sk\9d³d
+;
+
+1321 if(
+¡
+ =ð
+NULL
+) {
+
+1322
+¡
+ = (*
+¥\8c
+ =
+ `CALLOC
+(1,
+¥ecs
+->
+¡ruù_size
+));
+
+1323 if(
+¡
+ =ð
+NULL
+) {
+
+1324 \15
+»suÉ_ç\9eed
+;
+
+1328 \1a
+ `a¢_¿ndom_b\91w\93n
+(0, 6)) {
+
+1329 \ 40:
+max_\96em\92ts
+ = 0; \ 3;
+
+1330 \ 41:
+max_\96em\92ts
+ = 1; \ 3;
+
+1331 \ 42:
+max_\96em\92ts
+ = 5; \ 3;
+
+1332 \ 43:
+max_\96em\92ts
+ =
+max_Ëngth
+; \ 3;
+
+1333 \ 44:
+max_\96em\92ts
+ =
+max_Ëngth
+ / 2; \ 3;
+
+1334 \ 45:
+max_\96em\92ts
+ =
+max_Ëngth
+ / 4; \ 3;
+
+1337
+sub
+ =
+¦b
+ +
+max_\96em\92ts
+;
+
+1339 if(!
+cÚ¡¿\9ats
+ || !cÚ¡¿\9ats->
+³r_cÚ¡¿\9ats
+)
+
+1340
+cÚ¡¿\9ats
+ = &
+td
+->
+\92cod\9ag_cÚ¡¿\9ats
+;
+
+1341 if(
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+) {
+
+1342 cڡ
+a¢_³r_cÚ¡¿\9at_t
+ *
+pc
+ = &
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+->
+size
+;
+
+1343 if(
+pc
+->
+æags
+ &
+APC_SEMI_CONSTRAINED
+) {
+
+1344
+¦b
+ =
+pc
+->
+low\94_bound
+;
+
+1345
+sub
+ =
+pc
+->
+low\94_bound
+ +
+max_\96em\92ts
+;
+
+1346 } \vif(
+pc
+->
+æags
+ &
+APC_CONSTRAINED
+) {
+
+1347
+¦b
+ =
+pc
+->
+low\94_bound
+;
+
+1348
+sub
+ =
+pc
+->
+uµ\94_bound
+;
+
+1349 if(
+sub
+ -
+¦b
+ >
+max_\96em\92ts
+) sub = slb + max_elements;
+
+1354 \1a
+ `a¢_¿ndom_b\91w\93n
+(-1, 4)) {
+
+1358 if(
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+
+
+1359 && (
+cÚ¡¿\9ats
+->
+³r_cÚ¡¿\9ats
+->
+size
+.
+æags
+ &
+APC_EXTENSIBLE
+)) {
+
+1360 \1a
+ `a¢_¿ndom_b\91w\93n
+(0, 5)) {
+
+1363
+ºd_Ën
+ = 0;
+
+1366 if(
+¦b
+ > 0) {
+
+1367
+ºd_Ën
+ =
+¦b
+ - 1;
+
+1369
+ºd_Ën
+ = 0;
+
+1373
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(0,
+¦b
+);
+
+1376 if(
+sub
+ < (
+ssize_t
+)
+max_Ëngth
+) {
+
+1377
+ºd_Ën
+ =
+sub
+ + 1;
+
+1379
+ºd_Ën
+ =
+max_Ëngth
+;
+
+1383 if(
+sub
+ < (
+ssize_t
+)
+max_Ëngth
+) {
+
+1384
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+sub
+ + 1,
+max_Ëngth
+);
+
+1386
+ºd_Ën
+ =
+max_Ëngth
+;
+
+1390
+ºd_Ën
+ =
+max_Ëngth
+;
+
+1397
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+¦b
+,
+sub
+);
+
+1400 if(
+¦b
+ <
+sub
+) {
+
+1401
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+¦b
+ + 1,
+sub
+);
+
+1406
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+¦b
+, slb);
+
+1409 if(
+¦b
+ <
+sub
+) {
+
+1410
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+¦b
+,
+sub
+ - 1);
+
+1415
+ºd_Ën
+ =
+ `a¢_¿ndom_b\91w\93n
+(
+sub
+, sub);
+
+1419 \ f;
+ºd_Ën
+ > 0;\84nd_len--) {
+
+1420
+a¢_ªÚymous_£t_
+ *
+li¡
+ =
+ `_A_SET_FROM_VOID
+(
+¡
+);
+
+1421 \1e*
+±r
+ = 0;
+
+1422
+a¢_¿ndom_f\9el_»suÉ_t
+
+tm´es
+ =
+\96m
+->
+ty³
+->
+Ý
+->
+ `¿ndom_f\9el
+(
+
+1423
+\96m
+->
+ty³
+, &
+±r
+, &\96m->
+\92cod\9ag_cÚ¡¿\9ats
+,
+
+1424 (
+max_Ëngth
+ >
+»s_ok
+.
+Ëngth
+ ? max_length -\84es_ok.length : 0)
+
+1425 /
+ºd_Ën
+);
+
+1426 \1a
+tm´es
+.
+code
+) {
+
+1427 \ 4
+ARFILL_OK
+:
+
+1428
+ `ASN_SET_ADD
+(
+li¡
+,
+±r
+);
+
+1429
+»s_ok
+.
+Ëngth
+ +ð
+tm´es
+.length;
+
+1431 \ 4
+ARFILL_SKIPPED
+:
+
+1433 \ 4
+ARFILL_FAILED
+:
+
+1434
+ `as£¹
+(
+±r
+ == 0);
+
+1435 \15
+tm´es
+;
+
+1439 \15
+»s_ok
+;
+
+1440
+ }
+}
+
+ @constr_TYPE.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<cڡr_TYPE.h
+>
+
+7 \ 2
+ ~<\94ºo.h
+>
+
+12 \12
+ $g\91_a¢1c_\92v\9cÚm\92t_v\94siÚ
+(è{ \15
+ASN1C_ENVIRONMENT_VERSION
+;
+ }
+}
+
+14 \18
+a¢_p_cÚsume_by\8bs_f
+
+ g_´\9at2å
+;
+
+19
+b\94_\8ev_\8fg_t
+
+
+20
+ $a¢_TYPE_outmo¡_\8fg
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+,
+
+21 cڡ \1e*
+¡ruù_±r
+, \12
+\8fg_mode
+,
+b\94_\8ev_\8fg_t
+
+\8fg
+) {
+
+23 if(
+\8fg_mode
+)
+
+24 \15
+\8fg
+;
+
+26 if(
+ty³_desü\9dtÜ
+->
+\8fgs_couÁ
+)
+
+27 \15
+ty³_desü\9dtÜ
+->
+\8fgs
+[0];
+
+29 \15
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `outmo¡_\8fg
+Ñy³_desü\9dtÜ,
+¡ruù_±r
+, 0, 0);
+
+30
+ }
+}
+
+36
+ $a¢_år\9at
+(
+FILE
+ *
+¡»am
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+37 cڡ \1e*
+¡ruù_±r
+) {
+
+38 if(!
+¡»am
+衻am =
+¡dout
+;
+
+39 if(!
+td
+ || !
+¡ruù_±r
+) {
+
+40
+\94ºo
+ =
+EINVAL
+;
+
+45 if(
+td
+->
+Ý
+->
+ `´\9at_¡ruù
+Ñd,
+¡ruù_±r
+, 1,
+_´\9at2å
+,
+¡»am
+)) {
+
+50 if(
+ `_´\9at2å
+("\n", 1,
+¡»am
+)) {
+
+54 \15
+ `fæush
+(
+¡»am
+);
+
+55
+ }
+}
+
+59
+ $_´\9at2å
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+p_key
+) {
+
+60
+FILE
+ *
+¡»am
+ = (FILE *)
+p_key
+;
+
+62 if(
+ `fwr\99e
+(
+bufãr
+, 1,
+size
+,
+¡»am
+) != size)
+
+66
+ }
+}
+
+73 \1e
+ASN_DEBUG_f
+(cڡ \ 5*
+fmt
+, ...);
+
+74 \1e
+ $ASN_DEBUG_f
+(cڡ \ 5*
+fmt
+, ...) {
+
+75
+va_li¡
+
+
+;
+
+76
+ `va_¡¬t
+(
+
+,
+fmt
+);
+
+77
+ `vår\9atf
+(
+¡d\94r
+,
+fmt
+,
+
+);
+
+78
+ `år\9atf
+(
+¡d\94r
+, "\n");
+
+79
+ `va_\92d
+(
+
+);
+
+80
+ }
+}
+
+ @constraints.c
+
+1 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+2 \ 2
+ ~<cÚ¡¿\9ats.h
+>
+
+5
+ $a¢_g\92\94ic_no_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+,
+
+6 cڡ \1e*
+¡ruù_±r
+,
+
+7
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+cb
+, \1e*
+key
+) {
+
+8 (\1e)
+ty³_desü\9dtÜ
+;
+
+9 (\1e)
+¡ruù_±r
+;
+
+10 (\1e)
+cb
+;
+
+11 (\1e)
+key
+;
+
+15
+ }
+}
+
+18
+ $a¢_g\92\94ic_unknown_cÚ¡¿\9at
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+,
+
+19 cڡ \1e*
+¡ruù_±r
+,
+
+20
+a¢_p_cÚ¡¿\9at_ç\9eed_f
+ *
+cb
+, \1e*
+key
+) {
+
+21 (\1e)
+ty³_desü\9dtÜ
+;
+
+22 (\1e)
+¡ruù_±r
+;
+
+23 (\1e)
+cb
+;
+
+24 (\1e)
+key
+;
+
+28
+ }
+}
+
+30 \19
+ s\94rbufDesc
+ {
+
+31 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ mç\9eed_ty³
+;
+
+32 cڡ \1e*
+ mç\9eed_¡ruù_±r
+;
+
+33 \ 5*
+ m\94rbuf
+;
+
+34
+size_t
+
+ m\94¾\92
+;
+
+38
+ $_a¢_i_ùç\9ecb
+(\1e*
+key
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+39 cڡ \ 5*
+fmt
+, ...) {
+
+40 \19
+\94rbufDesc
+ *
+¬g
+ =
+key
+;
+
+41
+va_li¡
+
+
+;
+
+42
+ssize_t
+
+vËn
+;
+
+43
+ssize_t
+
+maxËn
+;
+
+45
+¬g
+->
+ç\9eed_ty³
+ =
+td
+;
+
+46
+¬g
+->
+ç\9eed_¡ruù_±r
+ =
+¥\8c
+;
+
+48
+maxËn
+ =
+¬g
+->
+\94¾\92
+;
+
+49 if(
+maxËn
+ <= 0)
+
+52
+ `va_¡¬t
+(
+
+,
+fmt
+);
+
+53
+vËn
+ =
+ `v¢´\9atf
+(
+¬g
+->
+\94rbuf
+,
+maxËn
+,
+fmt
+,
+
+);
+
+54
+ `va_\92d
+(
+
+);
+
+55 if(
+vËn
+ >ð
+maxËn
+) {
+
+56
+¬g
+->
+\94rbuf
+[
+maxËn
+-1] = '\0';
+
+57
+¬g
+->
+\94¾\92
+ =
+maxËn
+ - 1;
+
+59 } \vif(
+vËn
+ >= 0) {
+
+60
+¬g
+->
+\94rbuf
+[
+vËn
+] = '\0';
+
+61
+¬g
+->
+\94¾\92
+ =
+vËn
+;
+
+66
+vËn
+ = \17("<broken vsnprintf>") - 1;
+
+67
+maxËn
+--;
+
+68
+¬g
+->
+\94¾\92
+ =
+vËn
+ <
+maxËn
+ ? vlen : maxlen;
+
+69
+ `memýy
+(
+¬g
+->
+\94rbuf
+, "<brok\92 v¢´\9atf>",\87rg->
+\94¾\92
+);
+
+70
+¬g
+->
+\94rbuf
+[¬g->
+\94¾\92
+] = 0;
+
+74
+ }
+}
+
+77
+ $a¢_check_cÚ¡¿\9ats
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+,
+
+78 cڡ \1e*
+¡ruù_±r
+, \ 5*
+\94rbuf
+,
+size_t
+ *
+\94¾\92
+) {
+
+79 \19
+\94rbufDesc
+
+¬g
+;
+
+80 \12
+»t
+;
+
+82
+¬g
+.
+ç\9eed_ty³
+ = 0;
+
+83
+¬g
+.
+ç\9eed_¡ruù_±r
+ = 0;
+
+84
+¬g
+.
+\94rbuf
+ =\83rrbuf;
+
+85
+¬g
+.
+\94¾\92
+ =\83rrlen ? *errlen : 0;
+
+87
+»t
+ =
+ty³_desü\9dtÜ
+->
+\92cod\9ag_cÚ¡¿\9ats
+.
+ `g\92\94®_cÚ¡¿\9ats
+(
+
+88
+ty³_desü\9dtÜ
+,
+¡ruù_±r
+,
+_a¢_i_ùç\9ecb
+, &
+¬g
+);
+
+89 if(
+»t
+ =ð-1 &&
+\94¾\92
+è*\94¾\92 =
+¬g
+.errlen;
+
+91 \15
+»t
+;
+
+92
+ }
+}
+
+ @der_encoder.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<\94ºo.h
+>
+
+8 \18
+ssize_t
+
+d\94_wr\99e_TL
+(
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+b\94_\8ev_Ën_t
+
+Ën
+,
+
+9
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+, \12
+cÚ¡ruùed
+);
+
+14
+a¢_\92c_rv®_t
+
+
+15
+ $d\94_\92code
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+, cڡ \1e*
+¡ruù_±r
+,
+
+16
+a¢_p_cÚsume_by\8bs_f
+ *
+cÚsume_by\8bs
+, \1e*
+p_key
+) {
+
+17
+ `ASN_DEBUG
+("DER\83ncoder invoked for %s",
+
+18
+ty³_desü\9dtÜ
+->
+Çme
+);
+
+23 \15
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `d\94_\92cod\94
+(
+
+24
+ty³_desü\9dtÜ
+,
+¡ruù_±r
+,
+
+25 0, 0,
+cÚsume_by\8bs
+,
+p_key
+);
+
+26
+ }
+}
+
+31 \e\19
+ s\92c_to_buf_¬g
+ {
+
+32 \1e*
+ mbufãr
+;
+
+33
+size_t
+
+ mËá
+;
+
+34 }
+ t\92c_to_buf_¬g
+;
+
+35 \18\12
+ $\92code_to_bufãr_cb
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+key
+) {
+
+36
+\92c_to_buf_¬g
+ *
+¬g
+ = (\92c_to_buf_¬g *)
+key
+;
+
+38 if(
+¬g
+->
+Ëá
+ <
+size
+)
+
+41
+ `memýy
+(
+¬g
+->
+bufãr
+, bufãr,
+size
+);
+
+42
+¬g
+->
+bufãr
+ = ((\ 5*ïrg->bufãrè+
+size
+;
+
+43
+¬g
+->
+Ëá
+ -ð
+size
+;
+
+46
+ }
+}
+
+51
+a¢_\92c_rv®_t
+
+
+52
+ $d\94_\92code_to_bufãr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+,
+
+53 cڡ \1e*
+¡ruù_±r
+, \1e*
+bufãr
+,
+size_t
+
+bufãr_size
+) {
+
+54
+\92c_to_buf_¬g
+
+¬g
+;
+
+55
+a¢_\92c_rv®_t
+
+ec
+;
+
+57
+¬g
+.
+bufãr
+ = buffer;
+
+58
+¬g
+.
+Ëá
+ =
+bufãr_size
+;
+
+60
+ec
+ =
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `d\94_\92cod\94
+(type_descriptor,
+
+61
+¡ruù_±r
+,
+
+62 0, 0,
+\92code_to_bufãr_cb
+, &
+¬g
+);
+
+63 if(
+ec
+.
+\92coded
+ != -1) {
+
+64
+ `as£¹
+(
+ec
+.
+\92coded
+ =ð(
+ssize_t
+)(
+bufãr_size
+ -
+¬g
+.
+Ëá
+));
+
+67 \15
+ec
+;
+
+68
+ }
+}
+
+74
+ssize_t
+
+
+75
+ $d\94_wr\99e_\8fgs
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+sd
+,
+size_t
+
+¡ruù_Ëngth
+,
+
+76 \12
+\8fg_mode
+, \12
+Ï¡_\8fg_fÜm
+,
+
+77
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+
+78
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+79 \ 1
+ #ASN1_DER_MAX_TAGS_COUNT
+ 4
+
+ )
+
+80
+b\94_\8ev_\8fg_t
+
+
+81
+\8fgs_buf_sü©ch
+[
+ASN1_DER_MAX_TAGS_COUNT
+ * \17(
+b\94_\8ev_\8fg_t
+)];
+
+82
+ssize_t
+
+Ëns
+[
+ASN1_DER_MAX_TAGS_COUNT
+ * \17(ssize_t)];
+
+83 cڡ
+b\94_\8ev_\8fg_t
+ *
+\8fgs
+;
+
+84 \12
+\8fgs_couÁ
+;
+
+85
+size_t
+
+ov\94®l_Ëngth
+;
+
+86 \12
+i
+;
+
+88
+ `ASN_DEBUG
+("Writing\81ags (%s,\81m=%d,\81c=%d,\81ag=%s, mtc=%d)",
+
+89
+sd
+->
+Çme
+,
+\8fg_mode
+, sd->
+\8fgs_couÁ
+,
+
+90
+ `b\94_\8ev_\8fg_¡r\9ag
+(
+\8fg
+),
+
+91
+\8fg_mode
+
+
+92 ?(
+sd
+->
+\8fgs_couÁ
++1
+
+93 -((
+\8fg_mode
+ =ð-1è&&
+sd
+->
+\8fgs_couÁ
+))
+
+94 :
+sd
+->
+\8fgs_couÁ
+
+
+97 if(
+sd
+->
+\8fgs_couÁ
+ + 1 >
+ASN1_DER_MAX_TAGS_COUNT
+) {
+
+98
+ `ASN_DEBUG
+("Sy¡em\86im\99 %d oÀ\8fg couÁ",
+ASN1_DER_MAX_TAGS_COUNT
+);
+
+102 if(
+\8fg_mode
+) {
+
+108 \12
+¡ag_off£t
+;
+
+109
+b\94_\8ev_\8fg_t
+ *
+\8fgs_buf
+ =
+\8fgs_buf_sü©ch
+;
+
+110
+\8fgs_couÁ
+ =
+sd
+->tags_count
+
+112 - ((
+\8fg_mode
+ =ð-1è&&
+sd
+->
+\8fgs_couÁ
+);
+
+114
+\8fgs_buf
+[0] =
+\8fg
+;
+
+115
+¡ag_off£t
+ = -1 + ((
+\8fg_mode
+ =ð-1è&&
+sd
+->
+\8fgs_couÁ
+);
+
+116 \ f
+i
+ = 1; i <
+\8fgs_couÁ
+; i++)
+
+117
+\8fgs_buf
+[
+i
+] =
+sd
+->
+\8fgs
+[\98+
+¡ag_off£t
+];
+
+118
+\8fgs
+ =
+\8fgs_buf
+;
+
+120
+\8fgs
+ =
+sd
+->tags;
+
+121
+\8fgs_couÁ
+ =
+sd
+->tags_count;
+
+125 if(
+\8fgs_couÁ
+ == 0)
+
+132
+ov\94®l_Ëngth
+ =
+¡ruù_Ëngth
+;
+
+133 \ f
+i
+ =
+\8fgs_couÁ
+ - 1; i >= 0; --i) {
+
+134
+Ëns
+[
+i
+] =
+ `d\94_wr\99e_TL
+(
+\8fgs
+[i],
+ov\94®l_Ëngth
+, 0, 0, 0);
+
+135 if(
+Ëns
+[
+i
+] == -1) \15 -1;
+
+136
+ov\94®l_Ëngth
+ +ð
+Ëns
+[
+i
+];
+
+137
+Ëns
+[
+i
+] =
+ov\94®l_Ëngth
+ -\86ens[i];
+
+140 if(!
+cb
+è\15
+ov\94®l_Ëngth
+ -
+¡ruù_Ëngth
+;
+
+142
+ `ASN_DEBUG
+("Encod\9ag % TL sequ\92û (%d\83Ëm\92ts)",
+sd
+->
+Çme
+,
+
+143
+\8fgs_couÁ
+);
+
+148 \ f
+i
+ = 0; i <
+\8fgs_couÁ
+; i++) {
+
+149
+ssize_t
+
+Ën
+;
+
+150 \12
+_cڡr
+;
+
+153
+_cڡr
+ = (
+Ï¡_\8fg_fÜm
+ ||
+i
+ < (
+\8fgs_couÁ
+ - 1));
+
+155
+Ën
+ =
+ `d\94_wr\99e_TL
+(
+\8fgs
+[
+i
+],
+Ëns
+[i],
+cb
+,
+p_key
+,
+_cڡr
+);
+
+156 if(
+Ën
+ == -1) \15 -1;
+
+159 \15
+ov\94®l_Ëngth
+ -
+¡ruù_Ëngth
+;
+
+160
+ }
+}
+
+162 \18
+ssize_t
+
+
+163
+ $d\94_wr\99e_TL
+(
+b\94_\8ev_\8fg_t
+
+\8fg
+,
+b\94_\8ev_Ën_t
+
+Ën
+,
+
+164
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+,
+
+165 \12
+cÚ¡ruùed
+) {
+
+166
+u\9at8_t
+
+buf
+[32];
+
+167
+size_t
+
+size
+ = 0;
+
+168 \12
+buf_size
+ =
+cb
+?\17(
+buf
+):0;
+
+169
+ssize_t
+
+tmp
+;
+
+172
+tmp
+ =
+ `b\94_\8ev_\8fg_£r\9flize
+(
+\8fg
+,
+buf
+,
+buf_size
+);
+
+173 if(
+tmp
+ =ð-1 ||\81m°> (
+ssize_t
+)\17(
+buf
+)) \15 -1;
+
+174
+size
+ +ð
+tmp
+;
+
+177
+tmp
+ =
+ `d\94_\8ev_Ëngth_£r\9flize
+(
+Ën
+,
+buf
++
+size
+,
+buf_size
+?buf_size-size:0);
+
+178 if(
+tmp
+ == -1) \15 -1;
+
+179
+size
+ +ð
+tmp
+;
+
+181 if(
+size
+ > \17(
+buf
+))
+
+187 if(
+cb
+) {
+
+188 if(
+cÚ¡ruùed
+è*
+buf
+ |= 0x20;
+
+189 if(
+ `cb
+(
+buf
+,
+size
+,
+p_key
+) < 0)
+
+193 \15
+size
+;
+
+194
+ }
+}
+
+ @oer_decoder.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_codecs_´im.h
+>
+
+11
+a¢_dec_rv®_t
+
+
+12
+ $Ûr_decode
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+13 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+, \1e**
+¡ruù_±r
+,
+
+14 cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+15
+a¢_codec_ùx_t
+
+s_codec_ùx
+;
+
+21 if(
+Ýt_codec_ùx
+) {
+
+22 if(
+Ýt_codec_ùx
+->
+max_¡ack_size
+) {
+
+23
+s_codec_ùx
+ = *
+Ýt_codec_ùx
+;
+
+24
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+28
+ `mem£t
+(&
+s_codec_ùx
+, 0, \17(s_codec_ctx));
+
+29
+s_codec_ùx
+.
+max_¡ack_size
+ =
+ASN__DEFAULT_STACK_MAX
+;
+
+30
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+36 \15
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `Ûr_decod\94
+(
+Ýt_codec_ùx
+,\81ype_descriptor, 0,
+
+37
+¡ruù_±r
+,
+
+38
+±r
+,
+size
+
+
+40
+ }
+}
+
+46
+ssize_t
+
+
+47
+ $Ûr_Ý\92_ty³_sk\9d
+(cڡ \1e*
+buå\8c
+,
+size_t
+
+size
+) {
+
+48
+size_t
+
+Ën
+ = 0;
+
+49 \15
+ `Ûr_ãtch_Ëngth
+(
+buå\8c
+,
+size
+, &
+Ën
+);
+
+50
+ }
+}
+
+59
+ssize_t
+
+
+60
+ $Ûr_Ý\92_ty³_g\91
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+61 cڡ \19
+a¢_TYPE_desü\9dtÜ_s
+ *
+td
+,
+
+62 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¡ruù_±r
+,
+
+63 cڡ \1e*
+buå\8c
+,
+size_t
+
+size
+) {
+
+64
+a¢_dec_rv®_t
+
+dr
+;
+
+65
+size_t
+
+cÚ\8f\9a\94_Ën
+ = 0;
+
+66
+ssize_t
+
+Ën_Ën
+;
+
+67 \f
+a¢_¡ruù_ä\93_m\91hod
+
+di¥o£_m\91hod
+ =
+
+68 (*
+¡ruù_±r
+è?
+ASFM_FREE_UNDERLYING_AND_RESET
+ :
+ASFM_FREE_EVERYTHING
+;
+
+71
+Ën_Ën
+ =
+ `Ûr_ãtch_Ëngth
+(
+buå\8c
+,
+size
+, &
+cÚ\8f\9a\94_Ën
+);
+
+72 if(
+Ën_Ën
+ <= 0) {
+
+73 \15
+Ën_Ën
+;
+
+80 if(
+size
+ -
+Ën_Ën
+ <
+cÚ\8f\9a\94_Ën
+) {
+
+85
+dr
+ =
+td
+->
+Ý
+->
+ `Ûr_decod\94
+(
+Ýt_codec_ùx
+,\81d,
+cÚ¡¿\9ats
+,
+¡ruù_±r
+,
+
+86 (cڡ
+u\9at8_t
+ *)
+buå\8c
+ +
+Ën_Ën
+,
+cÚ\8f\9a\94_Ën
+);
+
+87 if(
+dr
+.
+code
+ =ð
+RC_OK
+) {
+
+88 \15
+Ën_Ën
+ +
+cÚ\8f\9a\94_Ën
+;
+
+91
+td
+->
+Ý
+->
+ `ä\93_¡ruù
+Ñd, *
+¡ruù_±r
+,
+di¥o£_m\91hod
+);
+
+92 *
+¡ruù_±r
+ =
+NULL
+;
+
+95
+ }
+}
+
+98
+a¢_dec_rv®_t
+
+
+99
+ $Ûr_decode_´im\99ive
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+100 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+101 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+102 cڡ \1e*
+±r
+,
+size_t
+
+size
+) {
+
+103
+ASN__PRIMITIVE_TYPE_t
+ *
+¡
+ = (ASN__PRIMITIVE_TYPE_\88*)*
+¥\8c
+;
+
+104
+a¢_dec_rv®_t
+
+rv®
+ = {
+RC_OK
+, 0};
+
+105
+size_t
+
+ex³ùed_Ëngth
+ = 0;
+
+106
+ssize_t
+
+Ën_Ën
+;
+
+108 (\1e)
+td
+;
+
+109 (\1e)
+Ýt_codec_ùx
+;
+
+110 (\1e)
+cÚ¡¿\9ats
+;
+
+112 if(!
+¡
+) {
+
+113
+¡
+ = (
+ASN__PRIMITIVE_TYPE_t
+ *)(*
+¥\8c
+ =
+ `CALLOC
+(
+
+114 1, \17(
+ASN__PRIMITIVE_TYPE_t
+)));
+
+115 if(!
+¡
+è
+ASN__DECODE_FAILED
+;
+
+124
+Ën_Ën
+ =
+ `Ûr_ãtch_Ëngth
+(
+±r
+,
+size
+, &
+ex³ùed_Ëngth
+);
+
+125 if(
+Ën_Ën
+ > 0) {
+
+126
+rv®
+.
+cÚsumed
+ =
+Ën_Ën
+;
+
+127
+±r
+ = (cÚ¡ \ 5*í\8c +
+Ën_Ën
+;
+
+128
+size
+ -ð
+Ën_Ën
+;
+
+129 } \vif(
+Ën_Ën
+ == 0) {
+
+130
+ASN__DECODE_STARVED
+;
+
+131 } \vif(
+Ën_Ën
+ < 0) {
+
+132
+ASN__DECODE_FAILED
+;
+
+135 if(
+size
+ <
+ex³ùed_Ëngth
+) {
+
+136
+ASN__DECODE_STARVED
+;
+
+138
+u\9at8_t
+ *
+buf
+ =
+ `MALLOC
+(
+ex³ùed_Ëngth
+ + 1);
+
+139 if(
+buf
+ =ð
+NULL
+) {
+
+140
+ASN__DECODE_FAILED
+;
+
+142
+ `memýy
+(
+buf
+,
+±r
+,
+ex³ùed_Ëngth
+);
+
+143
+buf
+[
+ex³ùed_Ëngth
+] = '\0';
+
+145
+ `FREEMEM
+(
+¡
+->
+buf
+);
+
+146
+¡
+->
+buf
+ = buf;
+
+147
+¡
+->
+size
+ =
+ex³ùed_Ëngth
+;
+
+149
+rv®
+.
+cÚsumed
+ +ð
+ex³ùed_Ëngth
+;
+
+150 \15
+rv®
+;
+
+152
+ }
+}
+
+ @oer_encoder.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<a¢_codecs_´im.h
+>
+
+11
+a¢_\92c_rv®_t
+
+
+12
+ $Ûr_\92code
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+, cڡ \1e*
+¡ruù_±r
+,
+
+13
+a¢_p_cÚsume_by\8bs_f
+ *
+cÚsume_by\8bs
+, \1e*
+p_key
+) {
+
+14
+ `ASN_DEBUG
+("OER\83ncod\94 invoked fÜ %s",
+ty³_desü\9dtÜ
+->
+Çme
+);
+
+19 \15
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `Ûr_\92cod\94
+(
+
+20
+ty³_desü\9dtÜ
+, 0,
+
+21
+¡ruù_±r
+,
+
+22
+cÚsume_by\8bs
+,
+p_key
+);
+
+23
+ }
+}
+
+28 \e\19
+ s\92c_to_buf_¬g
+ {
+
+29 \1e*
+ mbufãr
+;
+
+30
+size_t
+
+ mËá
+;
+
+31 }
+ t\92c_to_buf_¬g
+;
+
+33
+ $\92code_to_bufãr_cb
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+key
+) {
+
+34
+\92c_to_buf_¬g
+ *
+¬g
+ = (\92c_to_buf_¬g *)
+key
+;
+
+36 if(
+¬g
+->
+Ëá
+ <
+size
+) \15 -1;
+
+38
+ `memýy
+(
+¬g
+->
+bufãr
+, bufãr,
+size
+);
+
+39
+¬g
+->
+bufãr
+ = ((\ 5*ïrg->bufãrè+
+size
+;
+
+40
+¬g
+->
+Ëá
+ -ð
+size
+;
+
+43
+ }
+}
+
+48
+a¢_\92c_rv®_t
+
+
+49
+ $Ûr_\92code_to_bufãr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+ty³_desü\9dtÜ
+,
+
+50 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+51 cڡ \1e*
+¡ruù_±r
+,
+
+52 \1e*
+bufãr
+,
+
+53
+size_t
+
+bufãr_size
+
+
+55
+\92c_to_buf_¬g
+
+¬g
+;
+
+56
+a¢_\92c_rv®_t
+
+ec
+;
+
+58
+¬g
+.
+bufãr
+ = buffer;
+
+59
+¬g
+.
+Ëá
+ =
+bufãr_size
+;
+
+61 if(
+ty³_desü\9dtÜ
+->
+Ý
+->
+Ûr_\92cod\94
+ =ð
+NULL
+) {
+
+62
+ec
+.
+\92coded
+ = -1;
+
+63
+ec
+.
+ç\9eed_ty³
+ =
+ty³_desü\9dtÜ
+;
+
+64
+ec
+.
+¡ruùu»_±r
+ =
+¡ruù_±r
+;
+
+65
+ `ASN_DEBUG
+("OER\83ncoder is\82ot defined for %s",
+
+66
+ty³_desü\9dtÜ
+->
+Çme
+);
+
+68
+ec
+ =
+ty³_desü\9dtÜ
+->
+Ý
+->
+ `Ûr_\92cod\94
+(
+
+69
+ty³_desü\9dtÜ
+,
+cÚ¡¿\9ats
+,
+
+70
+¡ruù_±r
+,
+
+71
+\92code_to_bufãr_cb
+, &
+¬g
+);
+
+72 if(
+ec
+.
+\92coded
+ != -1) {
+
+73
+ `as£¹
+(
+ec
+.
+\92coded
+ =ð(
+ssize_t
+)(
+bufãr_size
+ -
+¬g
+.
+Ëá
+));
+
+77 \15
+ec
+;
+
+78
+ }
+}
+
+80
+a¢_\92c_rv®_t
+
+
+81
+ $Ûr_\92code_´im\99ive
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+82 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+83
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+84 cڡ
+ASN__PRIMITIVE_TYPE_t
+ *
+¡
+ = (cÚ¡ ASN__PRIMITIVE_TYPE_\88*)
+¥\8c
+;
+
+85
+a¢_\92c_rv®_t
+
+\94
+ = {0, 0, 0};
+
+86
+ssize_t
+
+»t
+;
+
+88 (\1e)
+cÚ¡¿\9ats
+;
+
+90 if(!
+¡
+è
+ASN__ENCODE_FAILED
+;
+
+92
+ `ASN_DEBUG
+("Encod\9ag % (%"
+ASN_PRI_SIZE
+ " by\8bs)",
+td
+ ?\81d->
+Çme
+ : "",
+¡
+->
+size
+);
+
+97
+»t
+ =
+ `Ûr_£r\9flize_Ëngth
+(
+¡
+->
+size
+,
+cb
+,
+p_key
+);
+
+98 if(
+»t
+ < 0) {
+
+99
+ASN__ENCODE_FAILED
+;
+
+101
+\94
+.
+\92coded
+ +ð
+»t
+;
+
+103
+\94
+.
+\92coded
+ +ð
+¡
+->
+size
+;
+
+104 if(
+ `cb
+(
+¡
+->
+buf
+, st->
+size
+,
+p_key
+) < 0) {
+
+105
+ASN__ENCODE_FAILED
+;
+
+107
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+109
+ }
+}
+
+112
+ $Ûr__couÁ_by\8bs
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+by\8bs_±r
+) {
+
+113
+size_t
+ *
+by\8bs
+ =
+by\8bs_±r
+;
+
+114 (\1e)
+bufãr
+;
+
+115 *
+by\8bs
+ +ð
+size
+;
+
+117
+ }
+}
+
+119
+ssize_t
+
+
+120
+ $Ûr_Ý\92_ty³_put
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+121 cڡ
+a¢_Ûr_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+122
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+123
+size_t
+
+£r\9flized_by\8b_couÁ
+ = 0;
+
+124
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+125
+ssize_t
+
+Ën_Ën
+;
+
+127
+\94
+ =
+td
+->
+Ý
+->
+ `Ûr_\92cod\94
+Ñd,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+Ûr__couÁ_by\8bs
+,
+
+128 &
+£r\9flized_by\8b_couÁ
+);
+
+129 if(
+\94
+.
+\92coded
+ < 0) \15 -1;
+
+130
+ `as£¹
+(
+£r\9flized_by\8b_couÁ
+ =ð(
+size_t
+)
+\94
+.
+\92coded
+);
+
+132
+Ën_Ën
+ =
+ `Ûr_£r\9flize_Ëngth
+(
+£r\9flized_by\8b_couÁ
+,
+cb
+,
+p_key
+);
+
+133 if(
+Ën_Ën
+ == -1) \15 -1;
+
+135
+\94
+ =
+td
+->
+Ý
+->
+ `Ûr_\92cod\94
+Ñd,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+cb
+,
+p_key
+);
+
+136 if(
+\94
+.
+\92coded
+ < 0) \15 -1;
+
+137
+ `as£¹
+(
+£r\9flized_by\8b_couÁ
+ =ð(
+size_t
+)
+\94
+.
+\92coded
+);
+
+139 \15
+Ën_Ën
+ +
+\94
+.
+\92coded
+;
+
+140
+ }
+}
+
+ @oer_support.c
+
+6 \ 2
+ ~<a¢_sy¡em.h
+>
+
+7 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+9 \ 2
+ ~<Ûr_suµÜt.h
+>
+
+18
+ssize_t
+
+
+19
+ $Ûr_ãtch_Ëngth
+(cڡ \1e*
+buå\8c
+,
+size_t
+
+size
+, size_\88*
+Ën_r
+) {
+
+20
+u\9at8_t
+
+f\9c¡_by\8b
+;
+
+21
+size_t
+
+Ën_Ën
+;
+
+22 cڡ
+u\9at8_t
+ *
+b
+;
+
+23 cڡ
+u\9at8_t
+ *
+b\92d
+;
+
+24
+size_t
+
+Ën
+;
+
+26 if(
+size
+ == 0) {
+
+27 *
+Ën_r
+ = 0;
+
+31
+f\9c¡_by\8b
+ = *(cڡ
+u\9at8_t
+ *)
+buå\8c
+;
+
+32 if((
+f\9c¡_by\8b
+ & 0x80) == 0) {
+
+33 *
+Ën_r
+ =
+f\9c¡_by\8b
+;
+
+37
+Ën_Ën
+ = (
+f\9c¡_by\8b
+ & 0x7f);
+
+38 if((1 +
+Ën_Ën
+è>
+size
+) {
+
+39 *
+Ën_r
+ = 0;
+
+43
+b
+ = (cڡ
+u\9at8_t
+ *)
+buå\8c
+ + 1;
+
+44
+b\92d
+ =
+b
+ +
+Ën_Ën
+;
+
+46 \ f;
+b
+ <
+b\92d
+ && *b == 0; b++) {
+
+50 if((
+b\92d
+ -
+b
+è> (
+ssize_t
+)\17(
+size_t
+)) {
+
+52 *
+Ën_r
+ = 0;
+
+56 \ f
+Ën
+ = 0;
+b
+ <
+b\92d
+; b++) {
+
+57
+Ën
+ = (ËÀ<< 8è+ *
+b
+;
+
+60 if(
+Ën
+ >
+RSIZE_MAX
+) {
+
+61 *
+Ën_r
+ = 0;
+
+65 *
+Ën_r
+ =
+Ën
+;
+
+66
+ `as£¹
+(
+Ën_Ën
+ + 1 =ð(
+size_t
+)(
+b\92d
+ - (cڡ
+u\9at8_t
+ *)
+buå\8c
+));
+
+67 \15
+Ën_Ën
+ + 1;
+
+68
+ }
+}
+
+75
+ssize_t
+
+
+76
+ $Ûr_£r\9flize_Ëngth
+(
+size_t
+
+Ëngth
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+77 \1e*
+p_key
+) {
+
+78
+u\9at8_t
+
+sü©ch
+[1 + \17(
+Ëngth
+)];
+
+79
+u\9at8_t
+ *
+¥
+ =
+sü©ch
+;
+
+80 \12
+l\99\8eeEnd\9fn
+ = 1;
+
+81 cڡ
+u\9at8_t
+ *
+p¡¬t
+;
+
+82 cڡ
+u\9at8_t
+ *
+³nd
+;
+
+83 cڡ
+u\9at8_t
+ *
+p
+;
+
+84 \12
+add
+;
+
+86 if(
+Ëngth
+ <= 127) {
+
+87
+u\9at8_t
+
+b
+ =
+Ëngth
+;
+
+88 if(
+ `cb
+(&
+b
+, 1,
+p_key
+) < 0) {
+
+94 if(*(\ 5*)&
+l\99\8eeEnd\9fn
+) {
+
+95
+p¡¬t
+ = (cڡ
+u\9at8_t
+ *)&
+Ëngth
+ + \17(length) - 1;
+
+96
+³nd
+ = (cڡ
+u\9at8_t
+ *)&
+Ëngth
+;
+
+97
+add
+ = -1;
+
+99
+p¡¬t
+ = (cڡ
+u\9at8_t
+ *)&
+Ëngth
+;
+
+100
+³nd
+ =
+p¡¬t
+ + \17(
+Ëngth
+);
+
+101
+add
+ = 1;
+
+104 \ f
+p
+ =
+p¡¬t
+;\85 !ð
+³nd
+;\85 +ð
+add
+) {
+
+106 if(*
+p
+) \ 3;
+
+109 \ f
+¥
+ =
+sü©ch
+ + 1; ;
+p
+ +ð
+add
+) {
+
+110 *
+¥
+++ = *
+p
+;
+
+111 if(
+p
+ =ð
+³nd
+) \ 3;
+
+113
+ `as£¹
+((
+¥
+ -
+sü©ch
+) - 1 <= 0x7f);
+
+114
+sü©ch
+[0] = 0x80 + ((
+¥
+ - scratch) - 1);
+
+116 if(
+ `cb
+(
+sü©ch
+,
+¥
+ - sü©ch,
+p_key
+) < 0) {
+
+120 \15
+¥
+ -
+sü©ch
+;
+
+121
+ }
+}
+
+ @per_decoder.c
+
+1 \ 2
+ ~<a¢_¶iÿtiÚ.h
+>
+
+2 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+3 \ 2
+ ~<³r_decod\94.h
+>
+
+10
+a¢_dec_rv®_t
+
+
+11
+ $u³r_decode_com¶\91e
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+12 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+13 cڡ \1e*
+bufãr
+,
+size_t
+
+size
+) {
+
+14
+a¢_dec_rv®_t
+
+rv®
+;
+
+16
+rv®
+ =
+ `u³r_decode
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+bufãr
+,
+size
+, 0, 0);
+
+17 if(
+rv®
+.
+cÚsumed
+) {
+
+22
+rv®
+.
+cÚsumed
+ += 7;
+
+23
+rv®
+.
+cÚsumed
+ >>= 3;
+
+24 } \vif(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+25 if(
+size
+) {
+
+26 if(((cڡ
+u\9at8_t
+ *)
+bufãr
+)[0] == 0) {
+
+27
+rv®
+.
+cÚsumed
+ = 1;
+
+29
+ `ASN_DEBUG
+("Expecting single zeroed byte");
+
+30
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+34
+rv®
+.
+code
+ =
+RC_WMORE
+;
+
+38 \15
+rv®
+;
+
+39
+ }
+}
+
+41
+a¢_dec_rv®_t
+
+
+42
+ $u³r_decode
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+43 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+, cڡ \1e*
+bufãr
+,
+
+44
+size_t
+
+size
+, \12
+sk\9d_b\99s
+, \12
+unu£d_b\99s
+) {
+
+45
+a¢_codec_ùx_t
+
+s_codec_ùx
+;
+
+46
+a¢_dec_rv®_t
+
+rv®
+;
+
+47
+a¢_³r_d©a_t
+
+pd
+;
+
+49 if(
+sk\9d_b\99s
+ < 0 || skip_bits > 7
+
+50 ||
+unu£d_b\99s
+ < 0 || unused_bits > 7
+
+51 || (
+unu£d_b\99s
+ > 0 && !
+size
+))
+
+52
+ASN__DECODE_FAILED
+;
+
+58 if(
+Ýt_codec_ùx
+) {
+
+59 if(
+Ýt_codec_ùx
+->
+max_¡ack_size
+) {
+
+60
+s_codec_ùx
+ = *
+Ýt_codec_ùx
+;
+
+61
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+65
+ `mem£t
+(&
+s_codec_ùx
+, 0, \17(s_codec_ctx));
+
+66
+s_codec_ùx
+.
+max_¡ack_size
+ =
+ASN__DEFAULT_STACK_MAX
+;
+
+67
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+71
+ `mem£t
+(&
+pd
+, 0, \17(pd));
+
+72
+pd
+.
+bufãr
+ = (cڡ
+u\9at8_t
+ *)buffer;
+
+73
+pd
+.
+nboff
+ =
+sk\9d_b\99s
+;
+
+74
+pd
+.
+nb\99s
+ = 8 *
+size
+ -
+unu£d_b\99s
+;
+
+75 if(
+pd
+.
+nboff
+ >\85d.
+nb\99s
+)
+
+76
+ASN__DECODE_FAILED
+;
+
+81 if(!
+td
+->
+Ý
+->
+u³r_decod\94
+)
+
+82
+ASN__DECODE_FAILED
+;
+
+83
+rv®
+ =
+td
+->
+Ý
+->
+ `u³r_decod\94
+(
+Ýt_codec_ùx
+,\81d, 0,
+¥\8c
+, &
+pd
+);
+
+84 if(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+86
+rv®
+.
+cÚsumed
+ = ((
+pd
+.
+bufãr
+ - (cڡ
+u\9at8_t
+ *)buffer) << 3)
+
+87 +
+pd
+.
+nboff
+ -
+sk\9d_b\99s
+;
+
+88
+ `ASN_DEBUG
+("PER decoding consumed %ld, counted %ld",
+
+89 (\13)
+rv®
+.
+cÚsumed
+, (\13)
+pd
+.
+moved
+);
+
+90
+ `as£¹
+(
+rv®
+.
+cÚsumed
+ =ð
+pd
+.
+moved
+);
+
+93
+rv®
+.
+cÚsumed
+ = 0;
+
+95 \15
+rv®
+;
+
+96
+ }
+}
+
+98
+a¢_dec_rv®_t
+
+
+99
+ $\94_decode_com¶\91e
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+100 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+,
+
+101 cڡ \1e*
+bufãr
+,
+size_t
+
+size
+) {
+
+102
+a¢_dec_rv®_t
+
+rv®
+;
+
+104
+rv®
+ =
+ `\94_decode
+(
+Ýt_codec_ùx
+,
+td
+,
+¥\8c
+,
+bufãr
+,
+size
+, 0, 0);
+
+105 if(
+rv®
+.
+cÚsumed
+) {
+
+110
+rv®
+.
+cÚsumed
+ += 7;
+
+111
+rv®
+.
+cÚsumed
+ >>= 3;
+
+112 } \vif(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+113 if(
+size
+) {
+
+114 if(((cڡ
+u\9at8_t
+ *)
+bufãr
+)[0] == 0) {
+
+115
+rv®
+.
+cÚsumed
+ = 1;
+
+117
+ `ASN_DEBUG
+("Expecting single zeroed byte");
+
+118
+rv®
+.
+code
+ =
+RC_FAIL
+;
+
+122
+rv®
+.
+code
+ =
+RC_WMORE
+;
+
+126 \15
+rv®
+;
+
+127
+ }
+}
+
+129
+a¢_dec_rv®_t
+
+
+130
+ $\94_decode
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+131 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¥\8c
+, cڡ \1e*
+bufãr
+,
+
+132
+size_t
+
+size
+, \12
+sk\9d_b\99s
+, \12
+unu£d_b\99s
+) {
+
+133
+a¢_codec_ùx_t
+
+s_codec_ùx
+;
+
+134
+a¢_dec_rv®_t
+
+rv®
+;
+
+135
+a¢_³r_d©a_t
+
+pd
+;
+
+137 if(
+sk\9d_b\99s
+ < 0 || skip_bits > 7
+
+138 ||
+unu£d_b\99s
+ < 0 || unused_bits > 7
+
+139 || (
+unu£d_b\99s
+ > 0 && !
+size
+))
+
+140
+ASN__DECODE_FAILED
+;
+
+146 if(
+Ýt_codec_ùx
+) {
+
+147 if(
+Ýt_codec_ùx
+->
+max_¡ack_size
+) {
+
+148
+s_codec_ùx
+ = *
+Ýt_codec_ùx
+;
+
+149
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+153
+ `mem£t
+(&
+s_codec_ùx
+, 0, \17(s_codec_ctx));
+
+154
+s_codec_ùx
+.
+max_¡ack_size
+ =
+ASN__DEFAULT_STACK_MAX
+;
+
+155
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+159
+ `mem£t
+(&
+pd
+, 0, \17(pd));
+
+160
+pd
+.
+bufãr
+ = (cڡ
+u\9at8_t
+ *)buffer;
+
+161
+pd
+.
+nboff
+ =
+sk\9d_b\99s
+;
+
+162
+pd
+.
+nb\99s
+ = 8 *
+size
+ -
+unu£d_b\99s
+;
+
+163 if(
+pd
+.
+nboff
+ >\85d.
+nb\99s
+)
+
+164
+ASN__DECODE_FAILED
+;
+
+169 if(!
+td
+->
+Ý
+->
+\94_decod\94
+)
+
+170
+ASN__DECODE_FAILED
+;
+
+171
+rv®
+ =
+td
+->
+Ý
+->
+ `\94_decod\94
+(
+Ýt_codec_ùx
+,\81d, 0,
+¥\8c
+, &
+pd
+);
+
+172 if(
+rv®
+.
+code
+ =ð
+RC_OK
+) {
+
+174
+rv®
+.
+cÚsumed
+ = ((
+pd
+.
+bufãr
+ - (cڡ
+u\9at8_t
+ *)buffer) << 3)
+
+175 +
+pd
+.
+nboff
+ -
+sk\9d_b\99s
+;
+
+176
+ `ASN_DEBUG
+("PER decoding consumed %zu, counted %zu",
+
+177
+rv®
+.
+cÚsumed
+,
+pd
+.
+moved
+);
+
+178
+ `as£¹
+(
+rv®
+.
+cÚsumed
+ =ð
+pd
+.
+moved
+);
+
+181
+rv®
+.
+cÚsumed
+ = 0;
+
+183 \15
+rv®
+;
+
+184
+ }
+}
+
+ @per_encoder.c
+
+1 \ 2
+ ~<a¢_¶iÿtiÚ.h
+>
+
+2 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+3 \ 2
+ ~<³r_\92cod\94.h
+>
+
+5 \18\12
+_u³r_\92code_æush_ou\8d
+(
+a¢_³r_ou\8d_t
+ *
+po
+);
+
+8
+ $ignÜe_ou\8dut
+(cڡ \1e*
+d©a
+,
+size_t
+
+size
+, \1e*
+p_key
+) {
+
+9 (\1e)
+d©a
+;
+
+10 (\1e)
+size
+;
+
+11 (\1e)
+p_key
+;
+
+13
+ }
+}
+
+15
+a¢_\92c_rv®_t
+
+
+16
+ $u³r_\92code
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+17 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+18
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+19
+a¢_³r_ou\8d_t
+
+po
+;
+
+20
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+25 if(!
+td
+ || !td->
+Ý
+->
+u³r_\92cod\94
+)
+
+26
+ASN__ENCODE_FAILED
+;
+
+28
+po
+.
+bufãr
+ =\85o.
+tmp¥aû
+;
+
+29
+po
+.
+nboff
+ = 0;
+
+30
+po
+.
+nb\99s
+ = 8 * \17Õo.
+tmp¥aû
+);
+
+31
+po
+.
+ou\8dut
+ =
+cb
+ ? cb :
+ignÜe_ou\8dut
+;
+
+32
+po
+.
+Ý_key
+ =
+p_key
+;
+
+33
+po
+.
+æushed_by\8bs
+ = 0;
+
+35
+\94
+ =
+td
+->
+Ý
+->
+ `u³r_\92cod\94
+Ñd,
+cÚ¡¿\9ats
+,
+¥\8c
+, &
+po
+);
+
+36 if(
+\94
+.
+\92coded
+ != -1) {
+
+37
+size_t
+
+b\99s_to_æush
+;
+
+39
+b\99s_to_æush
+ = ((
+po
+.
+bufãr
+ -\85o.
+tmp¥aû
+è<< 3è+\85o.
+nboff
+;
+
+42
+\94
+.
+\92coded
+ = (
+po
+.
+æushed_by\8bs
+ << 3è+
+b\99s_to_æush
+;
+
+44 if(
+ `_u³r_\92code_æush_ou\8d
+(&
+po
+)è
+ASN__ENCODE_FAILED
+;
+
+47 \15
+\94
+;
+
+48
+ }
+}
+
+53 \e\19
+ s\92c_to_buf_¬g
+ {
+
+54 \1e*
+ mbufãr
+;
+
+55
+size_t
+
+ mËá
+;
+
+56 }
+ t\92c_to_buf_¬g
+;
+
+57 \18\12
+ $\92code_to_bufãr_cb
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+key
+) {
+
+58
+\92c_to_buf_¬g
+ *
+¬g
+ = (\92c_to_buf_¬g *)
+key
+;
+
+60 if(
+¬g
+->
+Ëá
+ <
+size
+)
+
+63
+ `memýy
+(
+¬g
+->
+bufãr
+, bufãr,
+size
+);
+
+64
+¬g
+->
+bufãr
+ = ((\ 5*ïrg->bufãrè+
+size
+;
+
+65
+¬g
+->
+Ëá
+ -ð
+size
+;
+
+68
+ }
+}
+
+70
+a¢_\92c_rv®_t
+
+
+71
+ $u³r_\92code_to_bufãr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+72 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+73 cڡ \1e*
+¥\8c
+, \1e*
+bufãr
+,
+size_t
+
+bufãr_size
+) {
+
+74
+\92c_to_buf_¬g
+
+key
+;
+
+76
+key
+.
+bufãr
+ = buffer;
+
+77
+key
+.
+Ëá
+ =
+bufãr_size
+;
+
+79 if(
+td
+è
+ `ASN_DEBUG
+("Encod\9ag \"%s\" us\9ag UNALIGNED PER",\81d->
+Çme
+);
+
+81 \15
+ `u³r_\92code
+(
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+\92code_to_bufãr_cb
+, &
+key
+);
+
+82
+ }
+}
+
+84 \e\19
+ s\92c_dyn_¬g
+ {
+
+85 \1e*
+ mbufãr
+;
+
+86
+size_t
+
+ mËngth
+;
+
+87
+size_t
+
+ m®loÿ\8bd
+;
+
+88 }
+ t\92c_dyn_¬g
+;
+
+90
+ $\92code_dyn_cb
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+key
+) {
+
+91
+\92c_dyn_¬g
+ *
+¬g
+ =
+key
+;
+
+92 if(
+¬g
+->
+Ëngth
+ +
+size
+ >ð¬g->
+®loÿ\8bd
+) {
+
+93
+size_t
+
+Ãw_size
+ =
+¬g
+->
+®loÿ\8bd
+ ?\87rg->allocated : 8;
+
+94 \1e*
+p
+;
+
+97
+Ãw_size
+ <<= 2;
+
+98 } \1f
+¬g
+->
+Ëngth
+ +
+size
+ >ð
+Ãw_size
+);
+
+100
+p
+ =
+ `REALLOC
+(
+¬g
+->
+bufãr
+,
+Ãw_size
+);
+
+101 if(!
+p
+) {
+
+102
+ `FREEMEM
+(
+¬g
+->
+bufãr
+);
+
+103
+ `mem£t
+(
+¬g
+, 0, \17(*arg));
+
+106
+¬g
+->
+bufãr
+ =
+p
+;
+
+107
+¬g
+->
+®loÿ\8bd
+ =
+Ãw_size
+;
+
+109
+ `memýy
+(((\ 5*)
+¬g
+->
+bufãr
+è+\87rg->
+Ëngth
+, bufãr,
+size
+);
+
+110
+¬g
+->
+Ëngth
+ +ð
+size
+;
+
+112
+ }
+}
+
+113
+ssize_t
+
+
+114
+ $u³r_\92code_to_Ãw_bufãr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+115 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+116 cڡ \1e*
+¥\8c
+, \1e**
+bufãr_r
+) {
+
+117
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+118
+\92c_dyn_¬g
+
+key
+;
+
+120
+ `mem£t
+(&
+key
+, 0, \17(key));
+
+122
+\94
+ =
+ `u³r_\92code
+(
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+\92code_dyn_cb
+, &
+key
+);
+
+123 \1a
+\94
+.
+\92coded
+) {
+
+125
+ `FREEMEM
+(
+key
+.
+bufãr
+);
+
+128
+ `FREEMEM
+(
+key
+.
+bufãr
+);
+
+129
+key
+.
+bufãr
+ =
+ `MALLOC
+(1);
+
+130 if(
+key
+.
+bufãr
+) {
+
+131 *(\ 5*)
+key
+.
+bufãr
+ = '\0';
+
+132 *
+bufãr_r
+ =
+key
+.
+bufãr
+;
+
+138 *
+bufãr_r
+ =
+key
+.
+bufãr
+;
+
+139
+ `ASN_DEBUG
+("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
+\94
+.
+\92coded
+);
+
+140 \15 ((
+\94
+.
+\92coded
+ + 7) >> 3);
+
+142
+ }
+}
+
+150
+ $_u³r_\92code_æush_ou\8d
+(
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+151
+u\9at8_t
+ *
+buf
+;
+
+153 if(
+po
+->
+nboff
+ =ð0 &&\85o->
+bufãr
+ =ðpo->
+tmp¥aû
+)
+
+156
+buf
+ =
+po
+->
+bufãr
+ + (po->
+nboff
+ >> 3);
+
+158 if(
+po
+->
+nboff
+ & 0x07) {
+
+159
+buf
+[0] &ð0xfà<< (8 - (
+po
+->
+nboff
+ & 0x07));
+
+160
+buf
+++;
+
+163 \15
+po
+->
+ `ou\8dut
+Õo->
+tmp¥aû
+,
+buf
+ -\85o->tmp¥aû,\85o->
+Ý_key
+);
+
+164
+ }
+}
+
+166
+a¢_\92c_rv®_t
+
+
+167
+ $\94_\92code_to_bufãr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+168 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+169 cڡ \1e*
+¥\8c
+, \1e*
+bufãr
+,
+size_t
+
+bufãr_size
+) {
+
+170
+\92c_to_buf_¬g
+
+key
+;
+
+172
+key
+.
+bufãr
+ = buffer;
+
+173
+key
+.
+Ëá
+ =
+bufãr_size
+;
+
+175 if(
+td
+è
+ `ASN_DEBUG
+("Encod\9ag \"%s\" us\9ag ALIGNED PER",\81d->
+Çme
+);
+
+177 \15
+ `\94_\92code
+(
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+\92code_to_bufãr_cb
+, &
+key
+);
+
+178
+ }
+}
+
+180
+ssize_t
+
+
+181
+ $\94_\92code_to_Ãw_bufãr
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+182 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+183 cڡ \1e*
+¥\8c
+, \1e**
+bufãr_r
+) {
+
+184
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+185
+\92c_dyn_¬g
+
+key
+;
+
+187
+ `mem£t
+(&
+key
+, 0, \17(key));
+
+189
+\94
+ =
+ `\94_\92code
+(
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+\92code_dyn_cb
+, &
+key
+);
+
+190 \1a
+\94
+.
+\92coded
+) {
+
+192
+ `FREEMEM
+(
+key
+.
+bufãr
+);
+
+195
+ `FREEMEM
+(
+key
+.
+bufãr
+);
+
+196
+key
+.
+bufãr
+ =
+ `MALLOC
+(1);
+
+197 if(
+key
+.
+bufãr
+) {
+
+198 *(\ 5*)
+key
+.
+bufãr
+ = '\0';
+
+199 *
+bufãr_r
+ =
+key
+.
+bufãr
+;
+
+205 *
+bufãr_r
+ =
+key
+.
+bufãr
+;
+
+206
+ `ASN_DEBUG
+("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
+\94
+.
+\92coded
+);
+
+207 \15 ((
+\94
+.
+\92coded
+ + 7) >> 3);
+
+209
+ }
+}
+
+212
+ $_\94_\92code_æush_ou\8d
+(
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+213
+u\9at8_t
+ *
+buf
+;
+
+215 if(
+po
+->
+nboff
+ =ð0 &&\85o->
+bufãr
+ =ðpo->
+tmp¥aû
+)
+
+218
+buf
+ =
+po
+->
+bufãr
+ + (po->
+nboff
+ >> 3);
+
+220 if(
+po
+->
+nboff
+ & 0x07) {
+
+221
+buf
+[0] &ð0xfà<< (8 - (
+po
+->
+nboff
+ & 0x07));
+
+222
+buf
+++;
+
+225 ià(
+po
+->
+ou\8dut
+) {
+
+226 \15
+po
+->
+ `ou\8dut
+Õo->
+tmp¥aû
+,
+buf
+ -\85o->tmp¥aû,\85o->
+Ý_key
+);
+
+229
+ }
+}
+
+231
+a¢_\92c_rv®_t
+
+
+232
+ $\94_\92code
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+233 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+234 cڡ \1e*
+¥\8c
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+, \1e*
+p_key
+) {
+
+235
+a¢_³r_ou\8d_t
+
+po
+;
+
+236
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+241 if(!
+td
+ || !td->
+Ý
+->
+\94_\92cod\94
+)
+
+242
+ASN__ENCODE_FAILED
+;
+
+244
+po
+.
+bufãr
+ =\85o.
+tmp¥aû
+;
+
+245
+po
+.
+nboff
+ = 0;
+
+246
+po
+.
+nb\99s
+ = 8 * \17Õo.
+tmp¥aû
+);
+
+247
+po
+.
+ou\8dut
+ =
+cb
+;
+
+248
+po
+.
+Ý_key
+ =
+p_key
+;
+
+249
+po
+.
+æushed_by\8bs
+ = 0;
+
+251
+\94
+ =
+td
+->
+Ý
+->
+ `\94_\92cod\94
+Ñd,
+cÚ¡¿\9ats
+,
+¥\8c
+, &
+po
+);
+
+252 if(
+\94
+.
+\92coded
+ != -1) {
+
+253
+size_t
+
+b\99s_to_æush
+;
+
+255
+b\99s_to_æush
+ = ((
+po
+.
+bufãr
+ -\85o.
+tmp¥aû
+è<< 3è+\85o.
+nboff
+;
+
+258
+\94
+.
+\92coded
+ = (
+po
+.
+æushed_by\8bs
+ << 3è+
+b\99s_to_æush
+;
+
+260 if(
+ `_\94_\92code_æush_ou\8d
+(&
+po
+))
+
+261
+ASN__ENCODE_FAILED
+;
+
+264 \15
+\94
+;
+
+265
+ }
+}
+
+ @per_opentype.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<³r_suµÜt.h
+>
+
+7 \ 2
+ ~<cڡr_TYPE.h
+>
+
+8 \ 2
+ ~<³r_Ý\92ty³.h
+>
+
+10 \e\19
+ su³r_ugÙ_key
+ {
+
+11
+a¢_³r_d©a_t
+
+ mÞdpd
+;
+
+12
+size_t
+
+ munþaimed
+;
+
+13
+size_t
+
+ mÙ_moved
+;
+
+14 \12
+ m»³©
+;
+
+15 }
+ tu³r_ugÙ_key
+;
+
+17 \18\12
+u³r_ugÙ_»f\9el
+(
+a¢_³r_d©a_t
+ *
+pd
+);
+
+18 \18\12
+³r_sk\9d_b\99s
+(
+a¢_³r_d©a_t
+ *
+pd
+, \12
+sk\9d_nb\99s
+);
+
+19 \18
+a¢_dec_rv®_t
+
+u³r_sÙ_suck
+(cڡ
+a¢_codec_ùx_t
+ *,
+
+20 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+21 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+22 \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+);
+
+29
+ $u³r_Ý\92_ty³_put
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+30 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, cڡ \1e*
+¥\8c
+,
+
+31
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+32 \1e*
+buf
+;
+
+33 \1e*
+b±r
+;
+
+34
+ssize_t
+
+size
+;
+
+36
+ `ASN_DEBUG
+("O³Àty³\85u\88% ...",
+td
+->
+Çme
+);
+
+38
+size
+ =
+ `u³r_\92code_to_Ãw_bufãr
+(
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+, &
+buf
+);
+
+39 if(
+size
+ <= 0) \15 -1;
+
+41
+ `ASN_DEBUG
+("O³Àty³\85u\88% oàËngth %"
+ASN_PRI_SSIZE
+ " + ov\94h\97d (1by\8b?)",
+td
+->
+Çme
+,
+
+42
+size
+);
+
+44
+b±r
+ =
+buf
+;
+
+46 \12
+Ãed_eom
+ = 0;
+
+47
+ssize_t
+
+may_§ve
+ =
+ `u³r_put_Ëngth
+(
+po
+,
+size
+, &
+Ãed_eom
+);
+
+48
+ `ASN_DEBUG
+("P»³nd\9ag\86\92gth %"
+ASN_PRI_SSIZE
+
+
+49 "\81Ø% ªd\87Îow\9ag\81اv\90%"
+ASN_PRI_SSIZE
+,
+
+50
+size
+,
+td
+->
+Çme
+,
+may_§ve
+);
+
+51 if(
+may_§ve
+ < 0) \ 3;
+
+52 if(
+ `³r_put_mªy_b\99s
+(
+po
+,
+b±r
+,
+may_§ve
+ * 8)) \ 3;
+
+53
+b±r
+ = (\ 5*)b±¸+
+may_§ve
+;
+
+54
+size
+ -ð
+may_§ve
+;
+
+55 if(
+Ãed_eom
+ &&
+ `u³r_put_Ëngth
+(
+po
+, 0, 0)) {
+
+56
+ `FREEMEM
+(
+buf
+);
+
+59 } \1f
+size
+);
+
+61
+ `FREEMEM
+(
+buf
+);
+
+62 if(
+size
+) \15 -1;
+
+65
+ }
+}
+
+67 \18
+a¢_dec_rv®_t
+
+
+68
+ $u³r_Ý\92_ty³_g\91_sim¶e
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+,
+
+69 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+70 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+71
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+72
+a¢_dec_rv®_t
+
+rv
+;
+
+73
+ssize_t
+
+chunk_by\8bs
+;
+
+74 \12
+»³©
+;
+
+75
+u\9at8_t
+ *
+buf
+ = 0;
+
+76
+size_t
+
+bufL\92
+ = 0;
+
+77
+size_t
+
+bufSize
+ = 0;
+
+78
+a¢_³r_d©a_t
+
+¥d
+;
+
+79
+size_t
+
+·dd\9ag
+;
+
+81
+ `ASN__STACK_OVERFLOW_CHECK
+(
+ùx
+);
+
+83
+ `ASN_DEBUG
+("G\91t\9ag o³Àty³ %s...",
+td
+->
+Çme
+);
+
+86
+chunk_by\8bs
+ =
+ `u³r_g\91_Ëngth
+(
+pd
+, -1, 0, &
+»³©
+);
+
+87 if(
+chunk_by\8bs
+ < 0) {
+
+88
+ `FREEMEM
+(
+buf
+);
+
+89
+ASN__DECODE_STARVED
+;
+
+91 if(
+bufL\92
+ +
+chunk_by\8bs
+ >
+bufSize
+) {
+
+92 \1e*
+±r
+;
+
+93
+bufSize
+ =
+chunk_by\8bs
+ + (bufSize << 2);
+
+94
+±r
+ =
+ `REALLOC
+(
+buf
+,
+bufSize
+);
+
+95 if(!
+±r
+) {
+
+96
+ `FREEMEM
+(
+buf
+);
+
+97
+ASN__DECODE_FAILED
+;
+
+99
+buf
+ =
+±r
+;
+
+101 if(
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+buf
+ +
+bufL\92
+, 0,
+chunk_by\8bs
+ << 3)) {
+
+102
+ `FREEMEM
+(
+buf
+);
+
+103
+ASN__DECODE_STARVED
+;
+
+105
+bufL\92
+ +ð
+chunk_by\8bs
+;
+
+106 } \1f
+»³©
+);
+
+108
+ `ASN_DEBUG
+("G\91t\9ag o³Àty³ % \92coded iÀ%ld by\8bs",
+td
+->
+Çme
+,
+
+109 (\13)
+bufL\92
+);
+
+111
+ `mem£t
+(&
+¥d
+, 0, \17(spd));
+
+112
+¥d
+.
+bufãr
+ =
+buf
+;
+
+113
+¥d
+.
+nb\99s
+ =
+bufL\92
+ << 3;
+
+115
+ `ASN_DEBUG_INDENT_ADD
+(+4);
+
+116
+rv
+ =
+td
+->
+Ý
+->
+ `u³r_decod\94
+(
+ùx
+,\81d,
+cÚ¡¿\9ats
+,
+¥\8c
+, &
+¥d
+);
+
+117
+ `ASN_DEBUG_INDENT_ADD
+(-4);
+
+119 if(
+rv
+.
+code
+ =ð
+RC_OK
+) {
+
+121
+·dd\9ag
+ =
+¥d
+.
+nb\99s
+ - spd.
+nboff
+;
+
+122 ià(((
+·dd\9ag
+ > 0 &&\85adding < 8) ||
+
+124 (
+¥d
+.
+nboff
+ =ð0 && spd.
+nb\99s
+ =ð8 && spd.
+bufãr
+ =ð
+buf
+)) &&
+
+125
+ `³r_g\91_ãw_b\99s
+(&
+¥d
+,
+·dd\9ag
+) == 0) {
+
+127
+ `FREEMEM
+(
+buf
+);
+
+128 \15
+rv
+;
+
+130
+ `FREEMEM
+(
+buf
+);
+
+131 if(
+·dd\9ag
+ >= 8) {
+
+132
+ `ASN_DEBUG
+("ToØÏrg\90·dd\9ag %d iÀÝ\92\81y³", (\12)
+·dd\9ag
+);
+
+133
+ASN__DECODE_FAILED
+;
+
+135
+ `ASN_DEBUG
+("No\85adding");
+
+138
+ `FREEMEM
+(
+buf
+);
+
+140
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+143 \15
+rv
+;
+
+144
+ }
+}
+
+146 \18
+a¢_dec_rv®_t
+
+CC_NOTUSED
+
+
+147
+ $u³r_Ý\92_ty³_g\91_com¶ex
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+,
+
+148 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+149
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+150
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+151
+u³r_ugÙ_key
+
+¬g
+;
+
+152
+a¢_dec_rv®_t
+
+rv
+;
+
+153
+ssize_t
+
+·dd\9ag
+;
+
+155
+ `ASN__STACK_OVERFLOW_CHECK
+(
+ùx
+);
+
+157
+ `ASN_DEBUG
+("G\91t\9ag o³Àty³ % äom %s",
+td
+->
+Çme
+,
+
+158
+ `a¢_b\99_d©a_¡r\9ag
+(
+pd
+));
+
+159
+¬g
+.
+Þdpd
+ = *
+pd
+;
+
+160
+¬g
+.
+unþaimed
+ = 0;
+
+161
+¬g
+.
+Ù_moved
+ = 0;
+
+162
+¬g
+.
+»³©
+ = 1;
+
+163
+pd
+->
+»f\9el
+ =
+u³r_ugÙ_»f\9el
+;
+
+164
+pd
+->
+»f\9el_key
+ = &
+¬g
+;
+
+165
+pd
+->
+nb\99s
+ =\85d->
+nboff
+;
+
+166
+pd
+->
+moved
+ = 0;
+
+168
+ `ASN_DEBUG_INDENT_ADD
+(+4);
+
+169
+rv
+ =
+td
+->
+Ý
+->
+ `u³r_decod\94
+(
+ùx
+,\81d,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+pd
+);
+
+170
+ `ASN_DEBUG_INDENT_ADD
+(-4);
+
+172 \ 1
+ #UPDRESTOREPD
+ do { \
+
+174
+pd
+->
+nb\99s
+ =
+¬g
+.
+Þdpd
+.nb\99 - (pd->
+moved
+ -\87rg.
+Ù_moved
+); \
+
+175
+pd
+->
+moved
+ =
+¬g
+.
+Þdpd
+.moved + (pd->moved -\87rg.
+Ù_moved
+); \
+
+176
+pd
+->
+»f\9el
+ =
+¬g
+.
+Þdpd
+.refill; \
+
+177
+pd
+->
+»f\9el_key
+ =
+¬g
+.
+Þdpd
+.refill_key; \
+
+178 } \1f0)
+
+ )
+
+180 if(
+rv
+.
+code
+ !ð
+RC_OK
+) {
+
+181
+UPDRESTOREPD
+;
+
+182 \15
+rv
+;
+
+185
+ `ASN_DEBUG
+("O³nTy³ % pd% Þd% unþaimed=%d,\84\95\97t=%d",
+td
+->
+Çme
+,
+
+186
+ `a¢_b\99_d©a_¡r\9ag
+(
+pd
+),
+
+187
+ `a¢_b\99_d©a_¡r\9ag
+(&
+¬g
+.
+Þdpd
+),
+
+188 (\12)
+¬g
+.
+unþaimed
+, (\12ïrg.
+»³©
+);
+
+190
+·dd\9ag
+ =
+pd
+->
+moved
+ % 8;
+
+191 if(
+·dd\9ag
+) {
+
+192
+\9at32_t
+
+pv®ue
+;
+
+193 if(
+·dd\9ag
+ > 7) {
+
+194
+ `ASN_DEBUG
+("Too\86arge\85adding %d in open\81ype",
+
+195 (\12)
+·dd\9ag
+);
+
+196
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+197
+UPDRESTOREPD
+;
+
+198 \15
+rv
+;
+
+200
+·dd\9ag
+ = 8 -\85adding;
+
+201
+ `ASN_DEBUG
+("G\91t\9ag\85add\9ag oà%d b\99s", (\12)
+·dd\9ag
+);
+
+202
+pv®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+·dd\9ag
+);
+
+203 \1a
+pv®ue
+) {
+
+205
+ `ASN_DEBUG
+("Padding skip failed");
+
+206
+UPDRESTOREPD
+;
+
+207
+ASN__DECODE_STARVED
+;
+
+210
+ `ASN_DEBUG
+("Non-blank\85adding (%d bits 0x%02x)",
+
+211 (\12)
+·dd\9ag
+, (\12)
+pv®ue
+);
+
+212
+UPDRESTOREPD
+;
+
+213
+ASN__DECODE_FAILED
+;
+
+216 if(
+pd
+->
+nboff
+ !ðpd->
+nb\99s
+) {
+
+217
+ `ASN_DEBUG
+("O³Àty³ % ov\94h\97d\85d% Þd%s",
+td
+->
+Çme
+,
+
+218
+ `a¢_b\99_d©a_¡r\9ag
+(
+pd
+),\87¢_b\99_d©a_¡r\9ag(&
+¬g
+.
+Þdpd
+));
+
+220
+UPDRESTOREPD
+;
+
+221
+ASN__DECODE_FAILED
+;
+
+223
+¬g
+.
+unþaimed
+ +ð
+pd
+->
+nb\99s
+ -\85d->
+nboff
+;
+
+228
+UPDRESTOREPD
+;
+
+231 if(
+¬g
+.
+unþaimed
+) {
+
+232
+ `ASN_DEBUG
+("G\91t\9ag unþaimed %d", (\12)
+¬g
+.
+unþaimed
+);
+
+233 \1a
+ `³r_sk\9d_b\99s
+(
+pd
+,
+¬g
+.
+unþaimed
+)) {
+
+235
+ `ASN_DEBUG
+("CÏim oà%d fa\9eed", (\12)
+¬g
+.
+unþaimed
+);
+
+236
+ASN__DECODE_STARVED
+;
+
+238
+ `ASN_DEBUG
+("GÙ cÏim oà%d", (\12)
+¬g
+.
+unþaimed
+);
+
+242
+ `ASN_DEBUG
+("Non-blank unconsumed\85adding");
+
+243
+ASN__DECODE_FAILED
+;
+
+245
+¬g
+.
+unþaimed
+ = 0;
+
+248 if(
+¬g
+.
+»³©
+) {
+
+249
+ `ASN_DEBUG
+("Not consumed\81he whole\81hing");
+
+250
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+251 \15
+rv
+;
+
+254 \15
+rv
+;
+
+255
+ }
+}
+
+258
+a¢_dec_rv®_t
+
+
+259
+ $u³r_Ý\92_ty³_g\91
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+260 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+261
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+262 \15
+ `u³r_Ý\92_ty³_g\91_sim¶e
+(
+ùx
+,
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+pd
+);
+
+263
+ }
+}
+
+266
+ $u³r_Ý\92_ty³_sk\9d
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+267
+a¢_TYPE_desü\9dtÜ_t
+
+s_td
+;
+
+268
+a¢_TYPE_Ý\94©iÚ_t
+
+s_Ý
+;
+
+269
+a¢_dec_rv®_t
+
+rv
+;
+
+271
+s_td
+.
+Çme
+ = "<unknown\83xtension>";
+
+272
+s_td
+.
+Ý
+ = &
+s_Ý
+;
+
+273
+s_Ý
+.
+u³r_decod\94
+ =
+u³r_sÙ_suck
+;
+
+275
+rv
+ =
+ `u³r_Ý\92_ty³_g\91
+(
+ùx
+, &
+s_td
+, 0, 0,
+pd
+);
+
+276 if(
+rv
+.
+code
+ !ð
+RC_OK
+)
+
+280
+ }
+}
+
+286 \18
+a¢_dec_rv®_t
+
+
+287
+ $u³r_sÙ_suck
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+288 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+
+289
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+290
+a¢_dec_rv®_t
+
+rv
+;
+
+292 (\1e)
+ùx
+;
+
+293 (\1e)
+td
+;
+
+294 (\1e)
+cÚ¡¿\9ats
+;
+
+295 (\1e)
+¥\8c
+;
+
+297 \1f
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1) >= 0);
+
+299
+rv
+.
+code
+ =
+RC_OK
+;
+
+300
+rv
+.
+cÚsumed
+ =
+pd
+->
+moved
+;
+
+302 \15
+rv
+;
+
+303
+ }
+}
+
+306
+ $u³r_ugÙ_»f\9el
+(
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+307
+u³r_ugÙ_key
+ *
+¬g
+ =
+pd
+->
+»f\9el_key
+;
+
+308
+ssize_t
+
+Ãxt_chunk_by\8bs
+,
+Ãxt_chunk_b\99s
+;
+
+309
+ssize_t
+
+ava\9e
+;
+
+311
+a¢_³r_d©a_t
+ *
+Þdpd
+ = &
+¬g
+->oldpd;
+
+313
+ `ASN_DEBUG
+("REFILLING\85d->moved=%ld, oldpd->moved=%ld",
+
+314 (\13)
+pd
+->
+moved
+, (\13)
+Þdpd
+->moved);
+
+317
+Þdpd
+->
+bufãr
+ =
+pd
+->buffer;
+
+318
+Þdpd
+->
+nboff
+ =
+pd
+->nboff;
+
+319
+Þdpd
+->
+nb\99s
+ -ð
+pd
+->
+moved
+ -
+¬g
+->
+Ù_moved
+;
+
+320
+Þdpd
+->
+moved
+ +ð
+pd
+->moved -
+¬g
+->
+Ù_moved
+;
+
+321
+¬g
+->
+Ù_moved
+ =
+pd
+->
+moved
+;
+
+323 if(
+¬g
+->
+unþaimed
+) {
+
+325 if(
+ `³r_g\91_ãw_b\99s
+(
+Þdpd
+, 1))
+
+327 if(
+Þdpd
+->
+nboff
+ == 0) {
+
+328
+ `as£¹
+(0);
+
+331
+pd
+->
+bufãr
+ =
+Þdpd
+->buffer;
+
+332
+pd
+->
+nboff
+ =
+Þdpd
+->nboff - 1;
+
+333
+pd
+->
+nb\99s
+ =
+Þdpd
+->nbits;
+
+334
+ `ASN_DEBUG
+("UNCLAIMED <-\84eturn from (pd->moved=%ld)",
+
+335 (\13)
+pd
+->
+moved
+);
+
+339 if(!
+¬g
+->
+»³©
+) {
+
+340
+ `ASN_DEBUG
+("Want more but\84efill doesn't have it");
+
+344
+Ãxt_chunk_by\8bs
+ =
+ `u³r_g\91_Ëngth
+(
+Þdpd
+, -1, 0, &
+¬g
+->
+»³©
+);
+
+345
+ `ASN_DEBUG
+("Open\81ype LENGTH %ld bytes\87t off %ld,\84epeat %ld",
+
+346 (\13)
+Ãxt_chunk_by\8bs
+, (\13)
+Þdpd
+->
+moved
+, (\13)
+¬g
+->
+»³©
+);
+
+347 if(
+Ãxt_chunk_by\8bs
+ < 0) \15 -1;
+
+348 if(
+Ãxt_chunk_by\8bs
+ == 0) {
+
+349
+pd
+->
+»f\9el
+ = 0;
+
+350
+ `as£¹
+(!
+¬g
+->
+»³©
+);
+
+352
+Ãxt_chunk_b\99s
+ =
+Ãxt_chunk_by\8bs
+ << 3;
+
+353
+ava\9e
+ =
+Þdpd
+->
+nb\99s
+ - oldpd->
+nboff
+;
+
+354 if(
+ava\9e
+ >ð
+Ãxt_chunk_b\99s
+) {
+
+355
+pd
+->
+nb\99s
+ =
+Þdpd
+->
+nboff
+ +
+Ãxt_chunk_b\99s
+;
+
+356
+¬g
+->
+unþaimed
+ = 0;
+
+357
+ `ASN_DEBUG
+("!+Parent frame %ld bits,\87lloting %ld [%ld..%ld] (%ld)",
+
+358 (\13)
+Ãxt_chunk_b\99s
+, (\13)
+Þdpd
+->
+moved
+,
+
+359 (\13)
+Þdpd
+->
+nboff
+, (\13)Þdpd->
+nb\99s
+,
+
+360 (\13)(
+Þdpd
+->
+nb\99s
+ - oldpd->
+nboff
+));
+
+362
+pd
+->
+nb\99s
+ =
+Þdpd
+->nbits;
+
+363
+¬g
+->
+unþaimed
+ =
+Ãxt_chunk_b\99s
+ -
+ava\9e
+;
+
+364
+ `ASN_DEBUG
+("!-Parent frame %ld,\84equire %ld, will claim %ld",
+
+365 (\13)
+ava\9e
+, (\13)
+Ãxt_chunk_b\99s
+,
+
+366 (\13)
+¬g
+->
+unþaimed
+);
+
+368
+pd
+->
+bufãr
+ =
+Þdpd
+->buffer;
+
+369
+pd
+->
+nboff
+ =
+Þdpd
+->nboff;
+
+370
+ `ASN_DEBUG
+("Refilled\85d%s old%s",
+
+371
+ `a¢_b\99_d©a_¡r\9ag
+(
+pd
+),\87¢_b\99_d©a_¡r\9ag(
+Þdpd
+));
+
+373
+ }
+}
+
+376
+ $³r_sk\9d_b\99s
+(
+a¢_³r_d©a_t
+ *
+pd
+, \12
+sk\9d_nb\99s
+) {
+
+377 \12
+hasNÚZ\94oB\99s
+ = 0;
+
+378 \1f
+sk\9d_nb\99s
+ > 0) {
+
+379 \12
+sk\9d
+;
+
+382 if(
+sk\9d_nb\99s
+ < 24)
+
+383
+sk\9d
+ =
+sk\9d_nb\99s
+;
+
+385
+sk\9d
+ = 24;
+
+386
+sk\9d_nb\99s
+ -ð
+sk\9d
+;
+
+388 \1a
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+sk\9d
+)) {
+
+391 \a:
+hasNÚZ\94oB\99s
+ = 1; \ 6;
+
+394 \15
+hasNÚZ\94oB\99s
+;
+
+395
+ }
+}
+
+397 \18
+a¢_dec_rv®_t
+
+
+398
+ $\94_Ý\92_ty³_g\91_sim¶e
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+,
+
+399 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+400 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+, \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+401
+a¢_dec_rv®_t
+
+rv
+;
+
+402
+ssize_t
+
+chunk_by\8bs
+;
+
+403 \12
+»³©
+;
+
+404
+u\9at8_t
+ *
+buf
+ = 0;
+
+405
+size_t
+
+bufL\92
+ = 0;
+
+406
+size_t
+
+bufSize
+ = 0;
+
+407
+a¢_³r_d©a_t
+
+¥d
+;
+
+408
+size_t
+
+·dd\9ag
+;
+
+410
+ `ASN__STACK_OVERFLOW_CHECK
+(
+ùx
+);
+
+412
+ `ASN_DEBUG
+("G\91t\9ag o³Àty³ %s...",
+td
+->
+Çme
+);
+
+415
+chunk_by\8bs
+ =
+ `\94_g\91_Ëngth
+(
+pd
+, -1, -1, &
+»³©
+);
+
+416 if(
+chunk_by\8bs
+ < 0) {
+
+417
+ `FREEMEM
+(
+buf
+);
+
+418
+ASN__DECODE_STARVED
+;
+
+420 if(
+bufL\92
+ +
+chunk_by\8bs
+ >
+bufSize
+) {
+
+421 \1e*
+±r
+;
+
+422
+bufSize
+ =
+chunk_by\8bs
+ + (bufSize << 2);
+
+423
+±r
+ =
+ `REALLOC
+(
+buf
+,
+bufSize
+);
+
+424 if(!
+±r
+) {
+
+425
+ `FREEMEM
+(
+buf
+);
+
+426
+ASN__DECODE_FAILED
+;
+
+428
+buf
+ =
+±r
+;
+
+430 if(
+ `³r_g\91_mªy_b\99s
+(
+pd
+,
+buf
+ +
+bufL\92
+, 0,
+chunk_by\8bs
+ << 3)) {
+
+431
+ `FREEMEM
+(
+buf
+);
+
+432
+ASN__DECODE_STARVED
+;
+
+434
+bufL\92
+ +ð
+chunk_by\8bs
+;
+
+435 } \1f
+»³©
+);
+
+437
+ `ASN_DEBUG
+("G\91t\9ag o³Àty³ % \92coded iÀ%ld by\8bs",
+td
+->
+Çme
+,
+
+438 (\13)
+bufL\92
+);
+
+440
+ `mem£t
+(&
+¥d
+, 0, \17(spd));
+
+441
+¥d
+.
+bufãr
+ =
+buf
+;
+
+442
+¥d
+.
+nb\99s
+ =
+bufL\92
+ << 3;
+
+444
+ `ASN_DEBUG_INDENT_ADD
+(+4);
+
+445
+rv
+ =
+td
+->
+Ý
+->
+ `\94_decod\94
+(
+ùx
+,\81d,
+cÚ¡¿\9ats
+,
+¥\8c
+, &
+¥d
+);
+
+446
+ `ASN_DEBUG_INDENT_ADD
+(-4);
+
+448 if(
+rv
+.
+code
+ =ð
+RC_OK
+) {
+
+450
+·dd\9ag
+ =
+¥d
+.
+nb\99s
+ - spd.
+nboff
+;
+
+451 ià(((
+·dd\9ag
+ > 0 &&\85adding < 8) ||
+
+453 (
+¥d
+.
+nboff
+ =ð0 && spd.
+nb\99s
+ =ð8 && spd.
+bufãr
+ =ð
+buf
+)) &&
+
+454
+ `³r_g\91_ãw_b\99s
+(&
+¥d
+,
+·dd\9ag
+) == 0) {
+
+456
+ `FREEMEM
+(
+buf
+);
+
+457 \15
+rv
+;
+
+459
+ `FREEMEM
+(
+buf
+);
+
+460 if(
+·dd\9ag
+ >= 8) {
+
+461
+ `ASN_DEBUG
+("ToØÏrg\90·dd\9ag %d iÀÝ\92\81y³", (\12)
+·dd\9ag
+);
+
+462
+ASN__DECODE_FAILED
+;
+
+464
+ `ASN_DEBUG
+("No\85adding");
+
+467
+ `FREEMEM
+(
+buf
+);
+
+469
+rv
+.
+code
+ =
+RC_FAIL
+;
+
+472 \15
+rv
+;
+
+473
+ }
+}
+
+476
+ $\94_Ý\92_ty³_put
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+477 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+478 cڡ \1e*
+¥\8c
+,
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+479 \1e*
+buf
+;
+
+480 \1e*
+b±r
+;
+
+481
+ssize_t
+
+size
+;
+
+482
+size_t
+
+toGo
+;
+
+484
+ `ASN_DEBUG
+("O³Àty³\85u\88% ...",
+td
+->
+Çme
+);
+
+486
+size
+ =
+ `\94_\92code_to_Ãw_bufãr
+(
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+, &
+buf
+);
+
+487 if(
+size
+ <= 0) \15 -1;
+
+489 \ f
+b±r
+ =
+buf
+,
+toGo
+ =
+size
+;\81oGo;) {
+
+490
+ssize_t
+
+maySave
+ =
+ `\94_put_Ëngth
+(
+po
+, -1,
+toGo
+);
+
+491 if(
+maySave
+ < 0) \ 3;
+
+492 if(
+ `³r_put_mªy_b\99s
+(
+po
+,
+b±r
+,
+maySave
+ * 8)) \ 3;
+
+493
+b±r
+ = (\ 5*)b±¸+
+maySave
+;
+
+494
+toGo
+ -ð
+maySave
+;
+
+497
+ `FREEMEM
+(
+buf
+);
+
+498 if(
+toGo
+) \15 -1;
+
+500
+ `ASN_DEBUG
+("Open\81ype\85ut %s of\86ength %ld + overhead (1byte?)",
+
+501
+td
+->
+Çme
+,
+size
+);
+
+504
+ }
+}
+
+506
+a¢_dec_rv®_t
+
+
+507
+ $\94_Ý\92_ty³_g\91
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+,
+
+508 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+,
+
+509 cڡ
+a¢_³r_cÚ¡¿\9ats_t
+ *
+cÚ¡¿\9ats
+,
+
+510 \1e**
+¥\8c
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+512 \15
+ `\94_Ý\92_ty³_g\91_sim¶e
+(
+ùx
+,
+td
+,
+cÚ¡¿\9ats
+,
+¥\8c
+,
+pd
+);
+
+513
+ }
+}
+
+516
+ $\94_Ý\92_ty³_sk\9d
+(cڡ
+a¢_codec_ùx_t
+ *
+ùx
+,
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+517
+a¢_TYPE_desü\9dtÜ_t
+
+s_td
+;
+
+518
+a¢_dec_rv®_t
+
+rv
+;
+
+519
+a¢_TYPE_Ý\94©iÚ_t
+
+Ý_t
+;
+
+521
+ `mem£t
+(&
+Ý_t
+, 0, \17(op_t));
+
+522
+s_td
+.
+Çme
+ = "<unknown\83xtension>";
+
+523
+s_td
+.
+Ý
+ = &
+Ý_t
+;
+
+524
+s_td
+.
+Ý
+->
+\94_decod\94
+ =
+u³r_sÙ_suck
+;
+
+526
+rv
+ =
+ `\94_Ý\92_ty³_g\91
+(
+ùx
+, &
+s_td
+, 0, 0,
+pd
+);
+
+527 if(
+rv
+.
+code
+ !ð
+RC_OK
+)
+
+531
+ }
+}
+
+ @per_support.c
+
+5 \ 2
+ ~<a¢_sy¡em.h
+>
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<³r_suµÜt.h
+>
+
+13
+ssize_t
+
+
+14
+ $u³r_g\91_Ëngth
+(
+a¢_³r_d©a_t
+ *
+pd
+, \12
+eb\99s
+,
+size_t
+
+low\94_bound
+,
+
+15 \12*
+»³©
+) {
+
+16
+ssize_t
+
+v®ue
+;
+
+18 *
+»³©
+ = 0;
+
+21 if(
+eb\99s
+ >= 0 &&\83bits <= 16) {
+
+22
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+eb\99s
+);
+
+23 if(
+v®ue
+ >ð0èv®u\90+ð
+low\94_bound
+;
+
+24 \15
+v®ue
+;
+
+27
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8);
+
+28 if((
+v®ue
+ & 0x80) == 0) {
+
+29 \15 (
+v®ue
+ & 0x7F);
+
+30 } \vif((
+v®ue
+ & 0x40) == 0) {
+
+32
+v®ue
+ = ((v®u\90& 0x3fè<< 8è|
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8);
+
+33 \15
+v®ue
+;
+
+34 } \vif(
+v®ue
+ < 0) {
+
+35
+ `ASN_DEBUG
+("END of stream\84eached for PER");
+
+38
+v®ue
+ &= 0x3f;
+
+39 if(
+v®ue
+ < 1 || value > 4) {
+
+42 *
+»³©
+ = 1;
+
+43 \15 (16384 *
+v®ue
+);
+
+44
+ }
+}
+
+51
+ssize_t
+
+
+52
+ $u³r_g\91_n¦\92gth
+(
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+53
+ssize_t
+
+Ëngth
+;
+
+55
+ `ASN_DEBUG
+("Getting\82ormally small\86ength");
+
+57 if(
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1) == 0) {
+
+58
+Ëngth
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 6) + 1;
+
+59 if(
+Ëngth
+ <= 0) \15 -1;
+
+60
+ `ASN_DEBUG
+("l=%d", (\12)
+Ëngth
+);
+
+61 \15
+Ëngth
+;
+
+63 \12
+»³©
+;
+
+64
+Ëngth
+ =
+ `u³r_g\91_Ëngth
+(
+pd
+, -1, 0, &
+»³©
+);
+
+65 if(
+Ëngth
+ >ð0 && !
+»³©
+) \15\86ength;
+
+68
+ }
+}
+
+74
+ssize_t
+
+
+75
+ $u³r_g\91_n¢nwn
+(
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+76
+ssize_t
+
+v®ue
+;
+
+78
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 7);
+
+79 if(
+v®ue
+ & 64) {
+
+80
+v®ue
+ &= 63;
+
+81
+v®ue
+ <<= 2;
+
+82
+v®ue
+ |ð
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 2);
+
+83 if(
+v®ue
+ & 128)
+
+85 if(
+v®ue
+ == 0)
+
+87 if(
+v®ue
+ >= 3)
+
+89
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8 * value);
+
+90 \15
+v®ue
+;
+
+93 \15
+v®ue
+;
+
+94
+ }
+}
+
+101
+ $u³r_put_n¢nwn
+(
+a¢_³r_ou\8d_t
+ *
+po
+, \12
+n
+) {
+
+102 \12
+by\8bs
+;
+
+104 if(
+n
+ <= 63) {
+
+105 if(
+n
+ < 0) \15 -1;
+
+106 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+n
+, 7);
+
+108 if(
+n
+ < 256)
+
+109
+by\8bs
+ = 1;
+
+110 \vif(
+n
+ < 65536)
+
+111
+by\8bs
+ = 2;
+
+112 \vif(
+n
+ < 256 * 65536)
+
+113
+by\8bs
+ = 3;
+
+116 if(
+ `³r_put_ãw_b\99s
+(
+po
+,
+by\8bs
+, 8))
+
+119 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+n
+, 8 *
+by\8bs
+);
+
+120
+ }
+}
+
+124 \12
+ $u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
+(
+a¢_³r_d©a_t
+ *
+pd
+, \1d\13*
+out_v®ue
+, \12
+nb\99s
+) {
+
+125 \1d\13
+lh®f
+;
+
+126 \13
+h®f
+;
+
+128 if(
+nb\99s
+ <= 31) {
+
+129
+h®f
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+nb\99s
+);
+
+130 if(
+h®f
+ < 0) \15 -1;
+
+131 *
+out_v®ue
+ =
+h®f
+;
+
+135 if((
+size_t
+)
+nb\99s
+ > 8 * \17(*
+out_v®ue
+))
+
+138
+h®f
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 31);
+
+139 if(
+h®f
+ < 0) \15 -1;
+
+141 if(
+ `u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
+(
+pd
+, &
+lh®f
+,
+nb\99s
+ - 31))
+
+144 *
+out_v®ue
+ = ((\1d\13)
+h®f
+ << (
+nb\99s
+ - 31)è|
+lh®f
+;
+
+146
+ }
+}
+
+151
+ $u³r_put_cÚ¡¿\9aed_whÞe_numb\94_u
+(
+a¢_³r_ou\8d_t
+ *
+po
+, \1d\13
+v
+,
+
+152 \12
+nb\99s
+) {
+
+153 if(
+nb\99s
+ <= 31) {
+
+154 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+v
+,
+nb\99s
+);
+
+157 if(
+ `u³r_put_cÚ¡¿\9aed_whÞe_numb\94_u
+(
+po
+,
+v
+ >> 31,
+nb\99s
+ - 31))
+
+159 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+v
+, 31);
+
+161
+ }
+}
+
+167
+ssize_t
+
+
+168
+ $u³r_put_Ëngth
+(
+a¢_³r_ou\8d_t
+ *
+po
+,
+size_t
+
+Ëngth
+, \12*
+Ãed_eom
+) {
+
+169 \12
+dummy
+ = 0;
+
+170 if(!
+Ãed_eom
+èÃed_eom = &
+dummy
+;
+
+172 if(
+Ëngth
+ <= 127) {
+
+173 *
+Ãed_eom
+ = 0;
+
+174 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+Ëngth
+, 8)
+
+175 ? -1 : (
+ssize_t
+)
+Ëngth
+;
+
+176 } \vif(
+Ëngth
+ < 16384) {
+
+177 *
+Ãed_eom
+ = 0;
+
+178 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+Ëngth
+|0x8000, 16)
+
+179 ? -1 : (
+ssize_t
+)
+Ëngth
+;
+
+182 *
+Ãed_eom
+ = 0 =ð(
+Ëngth
+ & 16383);
+
+183
+Ëngth
+ >>= 14;
+
+184 if(
+Ëngth
+ > 4) {
+
+185 *
+Ãed_eom
+ = 0;
+
+186
+Ëngth
+ = 4;
+
+189 \15
+ `³r_put_ãw_b\99s
+(
+po
+, 0xC0 |
+Ëngth
+, 8)
+
+190 ? -1 : (
+ssize_t
+)(
+Ëngth
+ << 14);
+
+192
+ }
+}
+
+201
+ $u³r_put_n¦\92gth
+(
+a¢_³r_ou\8d_t
+ *
+po
+,
+size_t
+
+Ëngth
+) {
+
+202 if(
+Ëngth
+ <= 64) {
+
+204 if(
+Ëngth
+ == 0) \15 -1;
+
+205 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+Ëngth
+ - 1, 7) ? -1 : 0;
+
+207 \12
+Ãed_eom
+ = 0;
+
+208 if(
+ `u³r_put_Ëngth
+(
+po
+,
+Ëngth
+, &
+Ãed_eom
+è!ð(
+ssize_t
+)length
+
+209 ||
+Ãed_eom
+) {
+
+216
+ }
+}
+
+219
+ $³r__lÚg_¿nge
+(\13
+lb
+, \13
+ub
+, \1d\13*
+¿nge_r
+) {
+
+220 \1d\13
+bounds_¿nge
+;
+
+221 if((
+ub
+ < 0è=ð(
+lb
+ < 0)) {
+
+222
+bounds_¿nge
+ =
+ub
+ -
+lb
+;
+
+223 } \vif(
+lb
+ < 0) {
+
+224
+ `as£¹
+(
+ub
+ >= 0);
+
+225
+bounds_¿nge
+ = 1 + ((\1d\13)
+ub
+ + (\1d\13)-(
+lb
+ + 1));
+
+227
+ `as£¹
+(!"Unreachable");
+
+230 *
+¿nge_r
+ =
+bounds_¿nge
+;
+
+232
+ }
+}
+
+235
+ $³r_lÚg_¿nge_»ba£
+(\13
+v
+, \13
+lb
+, \13
+ub
+, \1d\13*
+ou\8dut
+) {
+
+236 \1d\13
+¿nge
+;
+
+238
+ `as£¹
+(
+lb
+ <ð
+ub
+);
+
+240 if(
+v
+ <
+lb
+ || v >
+ub
+ ||
+ `³r__lÚg_¿nge
+Öb, ub, &
+¿nge
+) < 0) {
+
+252 if((
+v
+ < 0è=ð(
+lb
+ < 0)) {
+
+253 *
+ou\8dut
+ =
+v
+-
+lb
+;
+
+255 } \vif(
+v
+ < 0) {
+
+256 \1d\13
+»ba£d
+ = 1 + (\1d\13)-(
+v
++1è+ (\1d\13)
+lb
+;
+
+257
+ `as£¹
+(
+»ba£d
+ <ð
+¿nge
+);
+
+258 *
+ou\8dut
+ =
+»ba£d
+;
+
+260 } \vif(
+lb
+ < 0) {
+
+261 \1d\13
+»ba£d
+ = 1 + (\1d\13)-(
+lb
++1è+ (\1d\13)
+v
+;
+
+262
+ `as£¹
+(
+»ba£d
+ <ð
+¿nge
+);
+
+263 *
+ou\8dut
+ =
+»ba£d
+;
+
+266
+ `as£¹
+(!"Unreachable");
+
+269
+ }
+}
+
+272
+ $³r_lÚg_¿nge_uÄeba£
+(\1d\13
+\9ap
+, \13
+lb
+, \13
+ub
+, \13*
+ou\8d
+) {
+
+273 \1d\13
+¿nge
+;
+
+275 if(
+ `³r__lÚg_¿nge
+(
+lb
+,
+ub
+, &
+¿nge
+) != 0) {
+
+279 if(
+\9ap
+ >
+¿nge
+) {
+
+288 if(
+\9ap
+ <ð
+LONG_MAX
+) {
+
+289 *
+ou\8d
+ = (\13)
+\9ap
+ +
+lb
+;
+
+291 *
+ou\8d
+ = (
+lb
+ +
+LONG_MAX
+ + 1è+ (\13)((
+\9ap
+ - LONG_MAX) - 1);
+
+295
+ }
+}
+
+297
+\9at32_t
+
+
+298
+ $\94_g\91_®ign
+(
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+300 if(
+pd
+->
+nboff
+ & 0x7) {
+
+301
+ `ASN_DEBUG
+("Align\9ag %ld b\99s", 8 - ((\1d\13)
+pd
+->
+nboff
+ & 0x7));
+
+302 \15
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8 - (pd->
+nboff
+ & 0x7));
+
+305
+ }
+}
+
+307
+ssize_t
+
+
+308
+ $\94_g\91_Ëngth
+(
+a¢_³r_d©a_t
+ *
+pd
+, \12
+¿nge
+, \12
+eb\99s
+, \12*
+»³©
+) {
+
+309
+ssize_t
+
+v®ue
+;
+
+311 *
+»³©
+ = 0;
+
+314 ià(
+eb\99s
+ >= 0) {
+
+315 ià(
+¿nge
+ <= 65536 &&\84ange >= 0)
+
+316 \15
+ `\94_g\91_n¢nwn
+(
+pd
+,
+¿nge
+);
+
+319 ià(
+ `\94_g\91_®ign
+(
+pd
+) < 0)
+
+322 if(
+eb\99s
+ >ð0è\15
+ `³r_g\91_ãw_b\99s
+(
+pd
+,\83bits);
+
+324
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8);
+
+325 if(
+v®ue
+ < 0) \15 -1;
+
+326 if((
+v®ue
+ & 128) == 0)
+
+327 \15 (
+v®ue
+ & 0x7F);
+
+328 if((
+v®ue
+ & 64) == 0) {
+
+329
+v®ue
+ = ((v®u\90& 63è<< 8è|
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8);
+
+330 if(
+v®ue
+ < 0) \15 -1;
+
+331 \15
+v®ue
+;
+
+333
+v®ue
+ &= 63;
+
+334 if(
+v®ue
+ < 1 || value > 4)
+
+336 *
+»³©
+ = 1;
+
+337 \15 (16384 *
+v®ue
+);
+
+338
+ }
+}
+
+340
+ssize_t
+
+
+341
+ $\94_g\91_n¦\92gth
+(
+a¢_³r_d©a_t
+ *
+pd
+) {
+
+342
+ssize_t
+
+Ëngth
+;
+
+344
+ `ASN_DEBUG
+("Getting\82ormally small\86ength");
+
+346 if(
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 1) == 0) {
+
+347
+Ëngth
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 6) + 1;
+
+348 if(
+Ëngth
+ <= 0) \15 -1;
+
+349
+ `ASN_DEBUG
+("l=%ld",
+Ëngth
+);
+
+350 \15
+Ëngth
+;
+
+352 \12
+»³©
+;
+
+353
+Ëngth
+ =
+ `\94_g\91_Ëngth
+(
+pd
+, -1, -1, &
+»³©
+);
+
+354 if(
+Ëngth
+ >ð0 && !
+»³©
+) \15\86ength;
+
+357
+ }
+}
+
+359
+ssize_t
+
+
+360
+ $\94_g\91_n¢nwn
+(
+a¢_³r_d©a_t
+ *
+pd
+, \12
+¿nge
+) {
+
+361
+ssize_t
+
+v®ue
+;
+
+362 \12
+by\8bs
+ = 0;
+
+364
+ `ASN_DEBUG
+("g\91t\9ag\82¢nwÀw\99h\84ªg\90%d",
+¿nge
+);
+
+366 if(
+¿nge
+ <= 255) {
+
+367 \12
+i
+;
+
+369 ià(
+¿nge
+ < 0) \15 -1;
+
+371 \ f
+i
+ = 1; i <= 8; i++) {
+
+372 \12
+uµ\94
+ = 1 <<
+i
+;
+
+373 ià(
+uµ\94
+ >ð
+¿nge
+)
+
+376
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+,
+i
+);
+
+377 \15
+v®ue
+;
+
+378 } \vià(
+¿nge
+ == 256){
+
+380
+by\8bs
+ = 1;
+
+381 } \vià(
+¿nge
+ <= 65536) {
+
+383
+by\8bs
+ = 2;
+
+387 ià(
+ `\94_g\91_®ign
+(
+pd
+) < 0)
+
+389
+v®ue
+ =
+ `³r_g\91_ãw_b\99s
+(
+pd
+, 8 *
+by\8bs
+);
+
+390 \15
+v®ue
+;
+
+391
+ }
+}
+
+393 \12
+ $\94_put_®ign
+(
+a¢_³r_ou\8d_t
+ *
+po
+) {
+
+395 if(
+po
+->
+nboff
+ & 0x7) {
+
+396
+ `ASN_DEBUG
+("Align\9ag %ld b\99s", 8 - ((\1d\13)
+po
+->
+nboff
+ & 0x7));
+
+397 if(
+ `³r_put_ãw_b\99s
+(
+po
+, 0x00, (8 - (po->
+nboff
+ & 0x7))))
+
+401
+ }
+}
+
+403
+ssize_t
+
+
+404
+ $\94_put_Ëngth
+(
+a¢_³r_ou\8d_t
+ *
+po
+, \12
+¿nge
+,
+size_t
+
+Ëngth
+) {
+
+406
+ `ASN_DEBUG
+("APER\85u\88Ëngth %zu w\99h\84ªg\90%d",
+Ëngth
+,
+¿nge
+);
+
+409 ià(
+¿nge
+ <= 65536 &&\84ange >= 0)
+
+410 \15
+ `\94_put_n¢nwn
+(
+po
+,
+¿nge
+,
+Ëngth
+);
+
+412 ià(
+ `\94_put_®ign
+(
+po
+) < 0)
+
+415 if(
+Ëngth
+ <= 127) {
+
+416 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+Ëngth
+, 8)
+
+417 ? -1 : (
+ssize_t
+)
+Ëngth
+;
+
+419 \vif(
+Ëngth
+ < 16384)
+
+420 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+Ëngth
+|0x8000, 16)
+
+421 ? -1 : (
+ssize_t
+)
+Ëngth
+;
+
+423
+Ëngth
+ >>= 14;
+
+424 if(
+Ëngth
+ > 4)\86ength = 4;
+
+426 \15
+ `³r_put_ãw_b\99s
+(
+po
+, 0xC0 |
+Ëngth
+, 8)
+
+427 ? -1 : (
+ssize_t
+)(
+Ëngth
+ << 14);
+
+428
+ }
+}
+
+432
+ $\94_put_n¦\92gth
+(
+a¢_³r_ou\8d_t
+ *
+po
+,
+size_t
+
+Ëngth
+) {
+
+434 if(
+Ëngth
+ <= 64) {
+
+436 if(
+Ëngth
+ == 0) \15 -1;
+
+437 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+Ëngth
+-1, 7) ? -1 : 0;
+
+439 if(
+ `\94_put_Ëngth
+(
+po
+, -1,
+Ëngth
+è!ð(
+ssize_t
+)length) {
+
+446
+ }
+}
+
+449
+ $\94_put_n¢nwn
+(
+a¢_³r_ou\8d_t
+ *
+po
+, \12
+¿nge
+, \12
+numb\94
+) {
+
+450 \12
+by\8bs
+;
+
+452
+ `ASN_DEBUG
+("\94\85u\88n¢nwÀ%d w\99h\84ªg\90%d",
+numb\94
+,
+¿nge
+);
+
+454 if(
+¿nge
+ < 0) {
+
+455 \12
+i
+;
+
+456 \ f
+i
+ = 1; ; i++) {
+
+457 \12
+b\99s
+ = 1 << (8 *
+i
+);
+
+458 ià(
+numb\94
+ <ð
+b\99s
+)
+
+461
+by\8bs
+ =
+i
+;
+
+462
+ `as£¹
+(
+i
+ <= 4);
+
+464 if(
+¿nge
+ <= 255) {
+
+465 \12
+i
+;
+
+466 \ f
+i
+ = 1; i <= 8; i++) {
+
+467 \12
+b\99s
+ = 1 <<
+i
+;
+
+468 ià(
+¿nge
+ <ð
+b\99s
+)
+
+471 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+numb\94
+,
+i
+);
+
+472 } \vif(
+¿nge
+ == 256) {
+
+473
+by\8bs
+ = 1;
+
+474 } \vif(
+¿nge
+ <= 65536) {
+
+475
+by\8bs
+ = 2;
+
+477 \12
+i
+;
+
+478 \ f
+i
+ = 1; ; i++) {
+
+479 \12
+b\99s
+ = 1 << (8 *
+i
+);
+
+480 ià(
+¿nge
+ <ð
+b\99s
+)
+
+483
+ `as£¹
+(
+i
+ <= 4);
+
+484
+by\8bs
+ =
+i
+;
+
+486 if(
+ `\94_put_®ign
+(
+po
+) < 0)
+
+491 \15
+ `³r_put_ãw_b\99s
+(
+po
+,
+numb\94
+, 8 *
+by\8bs
+);
+
+492
+ }
+}
+
+ @xer_decoder.c
+
+5 \ 2
+ ~<a¢_¶iÿtiÚ.h
+>
+
+6 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+7 \ 2
+ ~<x\94_suµÜt.h
+>
+
+13
+a¢_dec_rv®_t
+
+
+14
+ $x\94_decode
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+15 cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, \1e**
+¡ruù_±r
+,
+
+16 cڡ \1e*
+bufãr
+,
+size_t
+
+size
+) {
+
+17
+a¢_codec_ùx_t
+
+s_codec_ùx
+;
+
+23 if(
+Ýt_codec_ùx
+) {
+
+24 if(
+Ýt_codec_ùx
+->
+max_¡ack_size
+) {
+
+25
+s_codec_ùx
+ = *
+Ýt_codec_ùx
+;
+
+26
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+30
+ `mem£t
+(&
+s_codec_ùx
+, 0, \17(s_codec_ctx));
+
+31
+s_codec_ùx
+.
+max_¡ack_size
+ =
+ASN__DEFAULT_STACK_MAX
+;
+
+32
+Ýt_codec_ùx
+ = &
+s_codec_ùx
+;
+
+38 \15
+td
+->
+Ý
+->
+ `x\94_decod\94
+(
+Ýt_codec_ùx
+,\81d,
+¡ruù_±r
+, 0,
+bufãr
+,
+size
+);
+
+39
+ }
+}
+
+43 \19
+ sx\94__cb_¬g
+ {
+
+44
+pxml_chunk_ty³_e
+
+ mchunk_ty³
+;
+
+45
+size_t
+
+ mchunk_size
+;
+
+46 cڡ \1e*
+ mchunk_buf
+;
+
+47 \12
+ mÿÎback_nÙ_\9avoked
+;
+
+51
+ $x\94__tok\92_cb
+(
+pxml_chunk_ty³_e
+
+ty³
+, cڡ \1e*
+_chunk_d©a
+,
+size_t
+
+_chunk_size
+, \1e*
+key
+) {
+
+52 \19
+x\94__cb_¬g
+ *
+¬g
+ = (\19x\94__cb_¬g *)
+key
+;
+
+53
+¬g
+->
+chunk_ty³
+ =
+ty³
+;
+
+54
+¬g
+->
+chunk_size
+ =
+_chunk_size
+;
+
+55
+¬g
+->
+chunk_buf
+ =
+_chunk_d©a
+;
+
+56
+¬g
+->
+ÿÎback_nÙ_\9avoked
+ = 0;
+
+58
+ }
+}
+
+63
+ssize_t
+
+
+64
+ $x\94_Ãxt_tok\92
+(\12*
+¡©eCÚ\8bxt
+, cڡ \1e*
+bufãr
+,
+size_t
+
+size
+,
+px\94_chunk_ty³_e
+ *
+ch_ty³
+) {
+
+65 \19
+x\94__cb_¬g
+
+¬g
+;
+
+66 \12
+Ãw_¡©eCÚ\8bxt
+ = *
+¡©eCÚ\8bxt
+;
+
+67
+ssize_t
+
+»t
+;
+
+69
+¬g
+.
+ÿÎback_nÙ_\9avoked
+ = 1;
+
+70
+»t
+ =
+ `pxml_·r£
+(&
+Ãw_¡©eCÚ\8bxt
+,
+bufãr
+,
+size
+,
+x\94__tok\92_cb
+, &
+¬g
+);
+
+71 if(
+»t
+ < 0) \15 -1;
+
+72 if(
+¬g
+.
+ÿÎback_nÙ_\9avoked
+) {
+
+73
+ `as£¹
+(
+»t
+ == 0);
+
+74 *
+ch_ty³
+ =
+PXER_WMORE
+;
+
+77
+ `as£¹
+(
+¬g
+.
+chunk_size
+);
+
+78
+ `as£¹
+(
+¬g
+.
+chunk_buf
+ =ð
+bufãr
+);
+
+84 \1a
+¬g
+.
+chunk_ty³
+) {
+
+85 \ 4
+PXML_TEXT
+:
+
+86 *
+ch_ty³
+ =
+PXER_TEXT
+;
+
+88 \ 4
+PXML_TAG
+:
+
+89 *
+ch_ty³
+ =
+PXER_WMORE
+;
+
+91 \ 4
+PXML_TAG_END
+:
+
+92 *
+ch_ty³
+ =
+PXER_TAG
+;
+
+94 \ 4
+PXML_COMMENT
+:
+
+95 \ 4
+PXML_COMMENT_END
+:
+
+96 *
+ch_ty³
+ =
+PXER_COMMENT
+;
+
+100 *
+¡©eCÚ\8bxt
+ =
+Ãw_¡©eCÚ\8bxt
+;
+
+101 \15
+¬g
+.
+chunk_size
+;
+
+102
+ }
+}
+
+104 \ 1
+ #CSLASH
+ 0x2à
+
+ )
+
+105 \ 1
+ #LANGLE
+ 0x3ø
+
+ )
+
+106 \ 1
+ #RANGLE
+ 0x3\90
+
+ )
+
+108
+x\94_check_\8fg_e
+
+
+109
+ $x\94_check_\8fg
+(cڡ \1e*
+buf_±r
+, \12
+size
+, cڡ \ 5*
+Ãed_\8fg
+) {
+
+110 cڡ \ 5*
+buf
+ = (cڡ \ 5*)
+buf_±r
+;
+
+111 cڡ \ 5*
+\92d
+;
+
+112
+x\94_check_\8fg_e
+
+ù
+ =
+XCT_OPENING
+;
+
+114 if(
+size
+ < 2 ||
+buf
+[0] !ð
+LANGLE
+ || buf[size-1] !ð
+RANGLE
+) {
+
+115 if(
+size
+ >= 2)
+
+116
+ `ASN_DEBUG
+("Broken XML\81ag: \"%c...%c\"",
+
+117
+buf
+[0], buf[
+size
+ - 1]);
+
+118 \15
+XCT_BROKEN
+;
+
+124 if(
+buf
+[1] =ð
+CSLASH
+) {
+
+125
+buf
+ += 2;
+
+126
+size
+ -= 3;
+
+127
+ù
+ =
+XCT_CLOSING
+;
+
+128 if(
+size
+ > 0 &&
+buf
+[size-1] =ð
+CSLASH
+)
+
+129 \15
+XCT_BROKEN
+;
+
+131
+buf
+++;
+
+132
+size
+ -= 2;
+
+133 if(
+size
+ > 0 &&
+buf
+[size-1] =ð
+CSLASH
+) {
+
+134
+ù
+ =
+XCT_BOTH
+;
+
+135
+size
+--;
+
+140 if(!
+Ãed_\8fg
+ || !*need_tag)
+
+141 \15 (
+x\94_check_\8fg_e
+)(
+XCT__UNK__MASK
+ |
+ù
+);
+
+146 \ f
+\92d
+ =
+buf
+ +
+size
+; buà<\83nd; buf++,
+Ãed_\8fg
+++) {
+
+147 \12
+b
+ = *
+buf
+,
+n
+ = *
+Ãed_\8fg
+;
+
+148 if(
+b
+ !ð
+n
+) {
+
+149 if(
+n
+ == 0) {
+
+150 \1a
+b
+) {
+
+154 \15
+ù
+;
+
+157 \15 (
+x\94_check_\8fg_e
+)(
+XCT__UNK__MASK
+ |
+ù
+);
+
+159 if(
+b
+ == 0)
+
+160 \15
+XCT_BROKEN
+;
+
+162 if(*
+Ãed_\8fg
+)
+
+163 \15 (
+x\94_check_\8fg_e
+)(
+XCT__UNK__MASK
+ |
+ù
+);
+
+165 \15
+ù
+;
+
+166
+ }
+}
+
+169 #undeà
+ADVANCE
+
+
+170 \ 1
+ #ADVANCE
+(
+num_by\8bs
+) do { \
+
+171
+size_t
+
+num
+ = (
+num_by\8bs
+); \
+
+172
+buf_±r
+ = ((cÚ¡ \ 5*)buf_±rè+
+num
+; \
+
+173
+size
+ -ð
+num
+; \
+
+174
+cÚsumed_my£lf
+ +ð
+num
+; \
+
+175 } \1f0)
+
+ )
+
+177 #undeà
+RETURN
+
+
+178 \ 1
+ #RETURN
+(
+_code
+) do { \
+
+179
+rv®
+.
+code
+ =
+_code
+; \
+
+180
+rv®
+.
+cÚsumed
+ =
+cÚsumed_my£lf
+; \
+
+181 if(
+rv®
+.
+code
+ !ð
+RC_OK
+) \
+
+182
+ `ASN_DEBUG
+("Fa\9eed w\99h %d",
+rv®
+.
+code
+); \
+
+183 \15
+rv®
+; \
+
+184 } \1f0)
+
+ )
+
+186 \ 1
+ #XER_GOT_BODY
+(
+chunk_buf
+,
+chunk_size
+,
+size
+) do { \
+
+187
+ssize_t
+
+cÚv\94\8bd_size
+ =
+body_»ûiv\94
+ \
+
+188 (
+¡ruù_key
+,
+chunk_buf
+,
+chunk_size
+, \
+
+189 (
+size_t
+)
+chunk_size
+ <
+size
+); \
+
+190 if(
+cÚv\94\8bd_size
+ =ð-1è
+ `RETURN
+(
+RC_FAIL
+); \
+
+191 if(
+cÚv\94\8bd_size
+ == 0 \
+
+192 &&
+size
+ =ð(
+size_t
+)
+chunk_size
+) \
+
+193
+ `RETURN
+(
+RC_WMORE
+); \
+
+194
+chunk_size
+ =
+cÚv\94\8bd_size
+; \
+
+195 } \1f0)
+
+ )
+
+196 \ 1
+ #XER_GOT_EMPTY
+() do { \
+
+197 if(
+ `body_»ûiv\94
+(
+¡ruù_key
+, 0, 0,
+size
+ > 0) == -1) \
+
+198
+ `RETURN
+(
+RC_FAIL
+); \
+
+199 } \1f0)
+
+ )
+
+204
+a¢_dec_rv®_t
+
+
+205
+x\94_decode_g\92\94®
+(cڡ
+a¢_codec_ùx_t
+ *
+Ýt_codec_ùx
+,
+
+206
+a¢_¡ruù_ùx_t
+ *
+ùx
+,
+
+207 \1e*
+¡ruù_key
+,
+
+208 cڡ \ 5*
+xml_\8fg
+,
+
+209 cڡ \1e*
+buf_±r
+,
+size_t
+
+size
+,
+
+210 \12(*
+Ýt_uÃx³ùed_\8fg_decod\94
+)
+
+211 (\1e*
+¡ruù_key
+, cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+),
+
+212
+ $ssize_t
+ (*
+body_»ûiv\94
+)
+
+213 (\1e*
+¡ruù_key
+, cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+,
+
+214 \12
+have_mÜe
+)
+
+217
+a¢_dec_rv®_t
+
+rv®
+;
+
+218
+ssize_t
+
+cÚsumed_my£lf
+ = 0;
+
+220 (\1e)
+Ýt_codec_ùx
+;
+
+227 if(
+ùx
+->
+pha£
+ > 1è
+ `RETURN
+(
+RC_FAIL
+);
+
+229
+px\94_chunk_ty³_e
+
+ch_ty³
+;
+
+230
+ssize_t
+
+ch_size
+;
+
+231
+x\94_check_\8fg_e
+
+tcv
+;
+
+236
+ch_size
+ =
+ `x\94_Ãxt_tok\92
+(&
+ùx
+->
+cڋxt
+,
+buf_±r
+,
+size
+,
+
+237 &
+ch_ty³
+);
+
+238 if(
+ch_size
+ == -1) {
+
+239
+ `RETURN
+(
+RC_FAIL
+);
+
+241 \1a
+ch_ty³
+) {
+
+242 \ 4
+PXER_WMORE
+:
+
+243
+ `RETURN
+(
+RC_WMORE
+);
+
+244 \ 4
+PXER_COMMENT
+:
+
+245
+ `ADVANCE
+(
+ch_size
+);
+
+247 \ 4
+PXER_TEXT
+:
+
+248 if(
+ùx
+->
+pha£
+ == 0) {
+
+256
+ `XER_GOT_BODY
+(
+buf_±r
+,
+ch_size
+,
+size
+);
+
+258
+ `ADVANCE
+(
+ch_size
+);
+
+260 \ 4
+PXER_TAG
+:
+
+265
+ `as£¹
+(
+ch_ty³
+ =ð
+PXER_TAG
+ &&
+size
+);
+
+267
+tcv
+ =
+ `x\94_check_\8fg
+(
+buf_±r
+,
+ch_size
+,
+xml_\8fg
+);
+
+275 \1a
+tcv
+) {
+
+276 \ 4
+XCT_BOTH
+:
+
+277 if(
+ùx
+->
+pha£
+) \ 3;
+
+279
+ `XER_GOT_EMPTY
+();
+
+280
+ `ADVANCE
+(
+ch_size
+);
+
+281
+ùx
+->
+pha£
+ = 2;
+
+282
+ `RETURN
+(
+RC_OK
+);
+
+283 \ 4
+XCT_OPENING
+:
+
+284 if(
+ùx
+->
+pha£
+) \ 3;
+
+285
+ `ADVANCE
+(
+ch_size
+);
+
+286
+ùx
+->
+pha£
+ = 1;
+
+288 \ 4
+XCT_CLOSING
+:
+
+289 if(!
+ùx
+->
+pha£
+) \ 3;
+
+290
+ `ADVANCE
+(
+ch_size
+);
+
+291
+ùx
+->
+pha£
+ = 2;
+
+292
+ `RETURN
+(
+RC_OK
+);
+
+293 \ 4
+XCT_UNKNOWN_BO
+:
+
+297 if(
+Ýt_uÃx³ùed_\8fg_decod\94
+
+
+298 &&
+ `Ýt_uÃx³ùed_\8fg_decod\94
+(
+¡ruù_key
+,
+
+299
+buf_±r
+,
+ch_size
+) >= 0) {
+
+301
+ `ADVANCE
+(
+ch_size
+);
+
+302 if(!
+ùx
+->
+pha£
+) {
+
+305
+ùx
+->
+pha£
+ = 2;
+
+306
+ `RETURN
+(
+RC_OK
+);
+
+315
+ `ASN_DEBUG
+("UÃx³ùed XML\81ag (ex³ùed \"%s\")",
+xml_\8fg
+);
+
+319
+ `RETURN
+(
+RC_FAIL
+);
+
+320
+ }
+}
+
+323
+size_t
+
+
+324
+ $x\94_wh\99e¥aû_¥ª
+(cڡ \1e*
+chunk_buf
+,
+size_t
+
+chunk_size
+) {
+
+325 cڡ \ 5*
+p
+ = (cڡ \ 5*)
+chunk_buf
+;
+
+326 cڡ \ 5*
+³nd
+ =
+p
+ +
+chunk_size
+;
+
+328 \ f;
+p
+ <
+³nd
+;\85++) {
+
+329 \1a*
+p
+) {
+
+343 \15 (
+p
+ - (cڡ \ 5*)
+chunk_buf
+);
+
+344
+ }
+}
+
+350
+ $x\94_sk\9d_unknown
+(
+x\94_check_\8fg_e
+
+tcv
+,
+b\94_\8ev_Ën_t
+ *
+d\95th
+) {
+
+351
+ `as£¹
+(*
+d\95th
+ > 0);
+
+352 \1a
+tcv
+) {
+
+353 \ 4
+XCT_BOTH
+:
+
+354 \ 4
+XCT_UNKNOWN_BO
+:
+
+357 \ 4
+XCT_OPENING
+:
+
+358 \ 4
+XCT_UNKNOWN_OP
+:
+
+359 ++(*
+d\95th
+);
+
+361 \ 4
+XCT_CLOSING
+:
+
+362 \ 4
+XCT_UNKNOWN_CL
+:
+
+363 if(--(*
+d\95th
+) == 0)
+
+364 \15 (
+tcv
+ =ð
+XCT_CLOSING
+) ? 2 : 1;
+
+369
+ }
+}
+
+ @xer_encoder.c
+
+5 \ 2
+ ~<a¢_\9a\8bº®.h
+>
+
+6 \ 2
+ ~<¡dio.h
+>
+
+7 \ 2
+ ~<\94ºo.h
+>
+
+12
+a¢_\92c_rv®_t
+
+
+13
+ $x\94_\92code
+(cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+,
+
+14 \f
+x\94_\92cod\94_æags_e
+
+x\94_æags
+,
+a¢_p_cÚsume_by\8bs_f
+ *
+cb
+,
+
+15 \1e*
+p_key
+) {
+
+16
+a¢_\92c_rv®_t
+
+\94
+ = {0, 0, 0};
+
+17
+a¢_\92c_rv®_t
+
+tm³r
+;
+
+18 cڡ \ 5*
+mÇme
+;
+
+19
+size_t
+
+mËn
+;
+
+20 \12
+xÿn
+ = (
+x\94_æags
+ &
+XER_F_CANONICAL
+) ? 1 : 2;
+
+22 if(!
+td
+ || !
+¥\8c
+è\10
+cb_ç\9eed
+;
+
+24
+mÇme
+ =
+td
+->
+xml_\8fg
+;
+
+25
+mËn
+ =
+ `¡¾\92
+(
+mÇme
+);
+
+27
+ `ASN__CALLBACK3
+("<", 1,
+mÇme
+,
+mËn
+, ">", 1);
+
+29
+tm³r
+ =
+td
+->
+Ý
+->
+ `x\94_\92cod\94
+Ñd,
+¥\8c
+, 1,
+x\94_æags
+,
+cb
+,
+p_key
+);
+
+30 if(
+tm³r
+.
+\92coded
+ == -1) \15\81mper;
+
+31
+\94
+.
+\92coded
+ +ð
+tm³r
+.encoded;
+
+33
+ `ASN__CALLBACK3
+("</", 2,
+mÇme
+,
+mËn
+, ">\n",
+xÿn
+);
+
+35
+ `ASN__ENCODED_OK
+(
+\94
+);
+
+36
+cb_ç\9eed
+:
+
+37
+ASN__ENCODE_FAILED
+;
+
+38
+ }
+}
+
+45
+ $x\94__´\9at2å
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+p_key
+) {
+
+46
+FILE
+ *
+¡»am
+ = (FILE *)
+p_key
+;
+
+48 if(
+ `fwr\99e
+(
+bufãr
+, 1,
+size
+,
+¡»am
+) != size)
+
+52
+ }
+}
+
+55
+ $x\94_år\9at
+(
+FILE
+ *
+¡»am
+, cڡ
+a¢_TYPE_desü\9dtÜ_t
+ *
+td
+, cڡ \1e*
+¥\8c
+) {
+
+56
+a¢_\92c_rv®_t
+
+\94
+ = {0,0,0};
+
+58 if(!
+¡»am
+衻am =
+¡dout
+;
+
+59 if(!
+td
+ || !
+¥\8c
+)
+
+62
+\94
+ =
+ `x\94_\92code
+(
+td
+,
+¥\8c
+,
+XER_F_BASIC
+,
+x\94__´\9at2å
+,
+¡»am
+);
+
+63 if(
+\94
+.
+\92coded
+ == -1)
+
+66 \15
+ `fæush
+(
+¡»am
+);
+
+67
+ }
+}
+
+69 \19
+ sx\94_bufãr
+ {
+
+70 \ 5*
+ mbufãr
+;
+
+71
+size_t
+
+ mbufãr_size
+;
+
+72
+size_t
+
+ m®loÿ\8bd_size
+;
+
+76
+ $x\94__bufãr_³nd
+(cڡ \1e*
+bufãr
+,
+size_t
+
+size
+, \1e*
+p_key
+) {
+
+77 \19
+x\94_bufãr
+ *
+xb
+ =
+p_key
+;
+
+79 \1f
+xb
+->
+bufãr_size
+ +
+size
+ + 1 > xb->
+®loÿ\8bd_size
+) {
+
+80
+size_t
+
+Ãw_size
+ = 2 * (
+xb
+->
+®loÿ\8bd_size
+ ? xb->allocated_size : 64);
+
+81 \ 5*
+Ãw_buf
+ =
+ `MALLOC
+(
+Ãw_size
+);
+
+82 if(!
+Ãw_buf
+) \15 -1;
+
+83 ià(
+xb
+->
+bufãr
+) {
+
+84
+ `memýy
+(
+Ãw_buf
+,
+xb
+->
+bufãr
+, xb->
+bufãr_size
+);
+
+86
+ `FREEMEM
+(
+xb
+->
+bufãr
+);
+
+87
+xb
+->
+bufãr
+ =
+Ãw_buf
+;
+
+88
+xb
+->
+®loÿ\8bd_size
+ =
+Ãw_size
+;
+
+91
+ `memýy
+(
+xb
+->
+bufãr
+ + xb->
+bufãr_size
+, bufãr,
+size
+);
+
+92
+xb
+->
+bufãr_size
+ +ð
+size
+;
+
+93
+xb
+->
+bufãr
+[xb->
+bufãr_size
+] = '\0';
+
+95
+ }
+}
+
+97 \f
+x\94_equiv®\92û_e
+
+
+98
+ $x\94_equiv®\92t
+(cڡ \19
+a¢_TYPE_desü\9dtÜ_s
+ *
+td
+, cڡ \1e*
+¡ruù1
+,
+
+99 cڡ \1e*
+¡ruù2
+,
+FILE
+ *
+Ýt_debug_¡»am
+) {
+
+100 \19
+x\94_bufãr
+
+xb1
+ = {0, 0, 0};
+
+101 \19
+x\94_bufãr
+
+xb2
+ = {0, 0, 0};
+
+102
+a¢_\92c_rv®_t
+
+e1
+,
+e2
+;
+
+103
+a¢_dec_rv®_t
+
+rv®
+;
+
+104 \1e*
+¥\8c
+ =
+NULL
+;
+
+106 if(!
+td
+ || !
+¡ruù1
+ || !
+¡ruù2
+) {
+
+107 if(
+Ýt_debug_¡»am
+) {
+
+108 if(!
+td
+è
+ `år\9atf
+(
+Ýt_debug_¡»am
+, "Type descriptor missing\n");
+
+109 if(!
+¡ruù1
+è
+ `år\9atf
+(
+Ýt_debug_¡»am
+, "Structure 1 missing\n");
+
+110 if(!
+¡ruù2
+è
+ `år\9atf
+(
+Ýt_debug_¡»am
+, "Structure 2 missing\n");
+
+112 \15
+XEQ_FAILURE
+;
+
+115
+e1
+ =
+ `x\94_\92code
+(
+td
+,
+¡ruù1
+,
+XER_F_BASIC
+,
+x\94__bufãr_³nd
+, &
+xb1
+);
+
+116 if(
+e1
+.
+\92coded
+ == -1) {
+
+117 if(
+Ýt_debug_¡»am
+) {
+
+118
+ `år\9atf
+(
+¡d\94r
+, "XER Encod\9ag oà% ç\9eed\n",
+td
+->
+Çme
+);
+
+120
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+121 \15
+XEQ_ENCODE1_FAILED
+;
+
+124
+e2
+ =
+ `x\94_\92code
+(
+td
+,
+¡ruù2
+,
+XER_F_BASIC
+,
+x\94__bufãr_³nd
+, &
+xb2
+);
+
+125 if(
+e2
+.
+\92coded
+ == -1) {
+
+126 if(
+Ýt_debug_¡»am
+) {
+
+127
+ `år\9atf
+(
+¡d\94r
+, "XER Encod\9ag oà% ç\9eed\n",
+td
+->
+Çme
+);
+
+129
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+130
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+131 \15
+XEQ_ENCODE1_FAILED
+;
+
+134 if(
+xb1
+.
+bufãr_size
+ !ð
+xb2
+.buffer_size
+
+135 ||
+ `memcmp
+(
+xb1
+.
+bufãr
+,
+xb2
+.bufãr, xb1.
+bufãr_size
+) != 0) {
+
+136 if(
+Ýt_debug_¡»am
+) {
+
+137
+ `år\9atf
+(
+Ýt_debug_¡»am
+,
+
+140
+xb1
+.
+bufãr
+,
+xb2
+.buffer);
+
+142
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+143
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+144 \15
+XEQ_DIFFERENT
+;
+
+146 if(
+Ýt_debug_¡»am
+) {
+
+147
+ `år\9atf
+(
+Ýt_debug_¡»am
+,
+
+149 "oàsiz\90%"
+ASN_PRI_SIZE
+ ":\n%s",
+
+150
+xb1
+.
+bufãr_size
+, xb1.
+bufãr
+);
+
+154
+rv®
+ =
+ `x\94_decode
+(
+NULL
+,
+td
+, (\1e**)&
+¥\8c
+,
+xb1
+.
+bufãr
+,
+
+155
+xb1
+.
+bufãr_size
+);
+
+156 \1a
+rv®
+.
+code
+) {
+
+157 \ 4
+RC_OK
+:
+
+159 \ 4
+RC_WMORE
+:
+
+160 if(
+Ýt_debug_¡»am
+) {
+
+161
+ `år\9atf
+(
+Ýt_debug_¡»am
+,
+
+164
+td
+->
+Çme
+,
+xb1
+.
+bufãr
+);
+
+167 \ 4
+RC_FAIL
+:
+
+169 if(
+Ýt_debug_¡»am
+) {
+
+170
+ `år\9atf
+(
+Ýt_debug_¡»am
+,
+
+172
+td
+->
+Çme
+);
+
+174
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¥\8c
+);
+
+175
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+176
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+177 \15
+XEQ_DECODE_FAILED
+;
+
+180 if(
+rv®
+.
+cÚsumed
+ !ð
+xb1
+.
+bufãr_size
+
+
+181 && ((
+rv®
+.
+cÚsumed
+ >
+xb1
+.
+bufãr_size
+)
+
+182 ||
+ `x\94_wh\99e¥aû_¥ª
+(
+xb1
+.
+bufãr
+ +
+rv®
+.
+cÚsumed
+,
+
+183
+xb1
+.
+bufãr_size
+ -
+rv®
+.
+cÚsumed
+)
+
+184 !ð(
+xb1
+.
+bufãr_size
+ -
+rv®
+.
+cÚsumed
+))) {
+
+185 if(
+Ýt_debug_¡»am
+) {
+
+186
+ `år\9atf
+(
+Ýt_debug_¡»am
+,
+
+187 "Round-\8c\9d decod\90oà% »qu\9ced\86es by\8b (%"
+ASN_PRI_SIZE
+ ")\81han "
+
+188 "\92coded (%"
+ASN_PRI_SIZE
+ ")\n",
+
+189
+td
+->
+Çme
+,
+rv®
+.
+cÚsumed
+,
+xb1
+.
+bufãr_size
+);
+
+191
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¥\8c
+);
+
+192
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+193
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+194 \15
+XEQ_ROUND_TRIP_FAILED
+;
+
+200
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+201
+ `mem£t
+(&
+xb2
+, 0, \17(xb2));
+
+203
+e2
+ =
+ `x\94_\92code
+(
+td
+,
+¥\8c
+,
+XER_F_BASIC
+,
+x\94__bufãr_³nd
+, &
+xb2
+);
+
+204 if(
+e2
+.
+\92coded
+ == -1) {
+
+205 if(
+Ýt_debug_¡»am
+) {
+
+206
+ `år\9atf
+(
+¡d\94r
+, "XER Encoding of\84ound-trip decode of %s failed\n",
+
+207
+td
+->
+Çme
+);
+
+209
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¥\8c
+);
+
+210
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+211
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+212 \15
+XEQ_ROUND_TRIP_FAILED
+;
+
+215
+ `ASN_STRUCT_FREE
+(*
+td
+,
+¥\8c
+);
+
+216
+¥\8c
+ = 0;
+
+218 if(
+xb1
+.
+bufãr_size
+ !ð
+xb2
+.buffer_size
+
+219 ||
+ `memcmp
+(
+xb1
+.
+bufãr
+,
+xb2
+.bufãr, xb1.
+bufãr_size
+) != 0) {
+
+220 if(
+Ýt_debug_¡»am
+) {
+
+221
+ `år\9atf
+(
+Ýt_debug_¡»am
+,
+
+226
+xb1
+.
+bufãr
+,
+xb2
+.bufãr,
+td
+->
+Çme
+);
+
+228
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+229
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+230 \15
+XEQ_ROUND_TRIP_FAILED
+;
+
+233
+ `FREEMEM
+(
+xb1
+.
+bufãr
+);
+
+234
+ `FREEMEM
+(
+xb2
+.
+bufãr
+);
+
+235 \15
+XEQ_SUCCESS
+;
+
+236
+ }
+}
+
+ @xer_support.c
+
+7 \ 2
+ ~<a¢_sy¡em.h
+>
+
+8 \ 2
+ ~<x\94_suµÜt.h
+>
+
+12
+ mST_TEXT
+,
+
+13
+ mST_TAG_START
+,
+
+14
+ mST_TAG_BODY
+,
+
+15
+ mST_TAG_QUOTE_WAIT
+,
+
+16
+ mST_TAG_QUOTED_STRING
+,
+
+17
+ mST_TAG_UNQUOTED_STRING
+,
+
+18
+ mST_COMMENT_WAIT_DASH1
+,
+
+19
+ mST_COMMENT_WAIT_DASH2
+,
+
+20
+ mST_COMMENT
+,
+
+21
+ mST_COMMENT_CLO_DASH2
+,
+
+22
+ mST_COMMENT_CLO_RT
+
+
+23 }
+ tp¡©e_e
+;
+
+26
+ g_ch¬þass
+[256] = {
+
+36 \ 1
+ #WHITESPACE
+(
+c
+è(
+_ch¬þass
+[(\1d\ 5)(c)] =ð1)
+
+ )
+
+37 \ 1
+ #ALNUM
+(
+c
+è(
+_ch¬þass
+[(\1d\ 5)(c)] >ð2)
+
+ )
+
+38 \ 1
+ #ALPHA
+(
+c
+è(
+_ch¬þass
+[(\1d\ 5)(c)] =ð3)
+
+ )
+
+41 \ 1
+ #EXCLAM
+ 0x21
+
+ )
+
+42 \ 1
+ #CQUOTE
+ 0x22
+
+ )
+
+43 \ 1
+ #CDASH
+ 0x2d
+
+ )
+
+44 \ 1
+ #CSLASH
+ 0x2à
+
+ )
+
+45 \ 1
+ #LANGLE
+ 0x3ø
+
+ )
+
+46 \ 1
+ #CEQUAL
+ 0x3d
+
+ )
+
+47 \ 1
+ #RANGLE
+ 0x3\90
+
+ )
+
+48 \ 1
+ #CQUEST
+ 0x3à
+
+ )
+
+51 \ 1
+ #TOKEN_CB_CALL
+(
+ty³
+,
+_ns
+,
+_cu¼\92t_too
+,
+_f\9a®
+) do { \
+
+52 \12
+_»t
+; \
+
+53
+p¡©e_e
+
+ns
+ =
+_ns
+; \
+
+54
+ssize_t
+
+_sz
+ = (
+p
+ -
+chunk_¡¬t
+è+
+_cu¼\92t_too
+; \
+
+55 ià(!
+_sz
+) { \
+
+57
+¡©e
+ =
+_ns
+; \
+
+60
+_»t
+ =
+ `cb
+(
+ty³
+,
+chunk_¡¬t
+,
+_sz
+,
+key
+); \
+
+61 if(
+_»t
+ <
+_sz
+) { \
+
+62 if(
+_cu¼\92t_too
+ &&
+_»t
+ == -1) \
+
+63
+¡©e
+ =
+ns
+; \
+
+64 \10
+f\9aish
+; \
+
+66
+chunk_¡¬t
+ =
+p
+ +
+_cu¼\92t_too
+; \
+
+67
+¡©e
+ =
+ns
+; \
+
+68 } \1f0)
+
+ )
+
+70 \ 1
+ #TOKEN_CB
+(
+_ty³
+,
+_ns
+,
+_cu¼\92t_too
+) \
+
+71
+ `TOKEN_CB_CALL
+(
+_ty³
+,
+_ns
+,
+_cu¼\92t_too
+, 0)
+
+ )
+
+73 \ 1
+ #PXML_TAG_FINAL_CHUNK_TYPE
+
+PXML_TAG_END
+
+
+ )
+
+74 \ 1
+ #PXML_COMMENT_FINAL_CHUNK_TYPE
+
+PXML_COMMENT_END
+
+
+ )
+
+76 \ 1
+ #TOKEN_CB_FINAL
+(
+_ty³
+,
+_ns
+,
+_cu¼\92t_too
+) \
+
+77
+ `TOKEN_CB_CALL
+Ð
+_ty³
+ ##
+_FINAL_CHUNK_TYPE
+ ,
+_ns
+,
+_cu¼\92t_too
+, 1)
+
+ )
+
+82
+ssize_t
+
+ $pxml_·r£
+(\12*
+¡©eCÚ\8bxt
+, cڡ \1e*
+xmlbuf
+,
+size_t
+
+size
+,
+pxml_ÿÎback_f
+ *
+cb
+, \1e*
+key
+) {
+
+83
+p¡©e_e
+
+¡©e
+ = (p¡©e_e)*
+¡©eCÚ\8bxt
+;
+
+84 cڡ \ 5*
+chunk_¡¬t
+ = (cڡ \ 5*)
+xmlbuf
+;
+
+85 cڡ \ 5*
+p
+ =
+chunk_¡¬t
+;
+
+86 cڡ \ 5*
+\92d
+ =
+p
+ +
+size
+;
+
+88 \ f;
+p
+ <
+\92d
+;\85++) {
+
+89 \12
+C
+ = *(cڡ \1d\ 5*)
+p
+;
+
+90 \1a
+¡©e
+) {
+
+91 \ 4
+ST_TEXT
+:
+
+96 ià(
+C
+ =ð
+LANGLE
+)
+
+98
+ `TOKEN_CB
+(
+PXML_TEXT
+,
+ST_TAG_START
+, 0);
+
+100 \ 4
+ST_TAG_START
+:
+
+101 ià(
+ `ALPHA
+(
+C
+è|| (C =ð
+CSLASH
+))
+
+102
+¡©e
+ =
+ST_TAG_BODY
+;
+
+103 \vià(
+C
+ =ð
+EXCLAM
+)
+
+104
+¡©e
+ =
+ST_COMMENT_WAIT_DASH1
+;
+
+110
+ `TOKEN_CB
+(
+PXML_TEXT
+,
+ST_TEXT
+, 1);
+
+112 \ 4
+ST_TAG_BODY
+:
+
+113 \1a
+C
+) {
+
+114 \ 4
+RANGLE
+:
+
+116
+ `TOKEN_CB_FINAL
+(
+PXML_TAG
+,
+ST_TEXT
+, 1);
+
+118 \ 4
+LANGLE
+:
+
+123
+ `TOKEN_CB_FINAL
+(
+PXML_TAG
+,
+ST_TAG_START
+, 0);
+
+125 \ 4
+CEQUAL
+:
+
+126
+¡©e
+ =
+ST_TAG_QUOTE_WAIT
+;
+
+130 \ 4
+ST_TAG_QUOTE_WAIT
+:
+
+134 \1a
+C
+) {
+
+135 \ 4
+CQUOTE
+:
+
+136
+¡©e
+ =
+ST_TAG_QUOTED_STRING
+;
+
+138 \ 4
+RANGLE
+:
+
+140
+ `TOKEN_CB_FINAL
+(
+PXML_TAG
+,
+ST_TEXT
+, 1);
+
+143 if(!
+ `WHITESPACE
+(
+C
+))
+
+145
+¡©e
+ =
+ST_TAG_UNQUOTED_STRING
+;
+
+148 \ 4
+ST_TAG_QUOTED_STRING
+:
+
+152 if(
+C
+ =ð
+CQUOTE
+) {
+
+154
+¡©e
+ =
+ST_TAG_BODY
+;
+
+157 \ 4
+ST_TAG_UNQUOTED_STRING
+:
+
+158 if(
+C
+ =ð
+RANGLE
+) {
+
+160
+ `TOKEN_CB_FINAL
+(
+PXML_TAG
+,
+ST_TEXT
+, 1);
+
+161 } \vif(
+ `WHITESPACE
+(
+C
+)) {
+
+163
+¡©e
+ =
+ST_TAG_BODY
+;
+
+166 \ 4
+ST_COMMENT_WAIT_DASH1
+:
+
+167 if(
+C
+ =ð
+CDASH
+) {
+
+168
+¡©e
+ =
+ST_COMMENT_WAIT_DASH2
+;
+
+171
+¡©e
+ =
+ST_TAG_BODY
+;
+
+174 \ 4
+ST_COMMENT_WAIT_DASH2
+:
+
+175 if(
+C
+ =ð
+CDASH
+) {
+
+177
+¡©e
+ =
+ST_COMMENT
+;
+
+180
+¡©e
+ =
+ST_TAG_BODY
+;
+
+183 \ 4
+ST_COMMENT
+:
+
+184 if(
+C
+ =ð
+CDASH
+) {
+
+185
+¡©e
+ =
+ST_COMMENT_CLO_DASH2
+;
+
+188 \ 4
+ST_COMMENT_CLO_DASH2
+:
+
+189 if(
+C
+ =ð
+CDASH
+) {
+
+190
+¡©e
+ =
+ST_COMMENT_CLO_RT
+;
+
+193
+¡©e
+ =
+ST_COMMENT
+;
+
+196 \ 4
+ST_COMMENT_CLO_RT
+:
+
+197 if(
+C
+ =ð
+RANGLE
+) {
+
+198
+ `TOKEN_CB_FINAL
+(
+PXML_COMMENT
+,
+ST_TEXT
+, 1);
+
+199 } \vif(
+C
+ =ð
+CDASH
+) {
+
+202
+¡©e
+ =
+ST_COMMENT
+;
+
+211 if(
+p
+ -
+chunk_¡¬t
+) {
+
+212 \1a
+¡©e
+) {
+
+213 \ 4
+ST_COMMENT
+:
+
+214
+ `TOKEN_CB
+(
+PXML_COMMENT
+,
+¡©e
+, 0);
+
+216 \ 4
+ST_TEXT
+:
+
+217
+ `TOKEN_CB
+(
+PXML_TEXT
+,
+¡©e
+, 0);
+
+223
+f\9aish
+:
+
+224 *
+¡©eCÚ\8bxt
+ = (\12)
+¡©e
+;
+
+225 \15
+chunk_¡¬t
+ - (cڡ \ 5*)
+xmlbuf
+;
+
+226
+ }
+}
+
+ @/usr/include/errno.h
+
+22 #iâdef
+_ERRNO_H
+
+
+23 \ 1
+ #_ERRNO_H
+ 1
+
+ )
+
+25 \ 2
+ ~<ã©u»s.h
+>
+
+28 \ 2
+ ~<b\99s/\94ºo.h
+>
+
+32 #iâdeà
+__ASSEMBLER__
+
+
+34
+__BEGIN_DECLS
+
+
+37 \r\12*
+ $__\94ºo_loÿtiÚ
+ (\1eè
+__THROW
+
+__©\8cibu\8b_cÚ¡__
+;
+
+38 \ 1
+ #\94ºo
+ (*
+ `__\94ºo_loÿtiÚ
+ ())
+
+ )
+
+40 #ifdeà
+__USE_GNU
+
+
+45 \r\ 5*
+´og¿m_\9avoÿtiÚ_Çme
+;
+
+46 \r\ 5*
+´og¿m_\9avoÿtiÚ_shÜt_Çme
+;
+
+50 #iâdeà
+__\94rÜ_t_def\9aed
+
+
+51 \ 1
+ #__\94rÜ_t_def\9aed
+ 1
+
+ )
+
+52 \e\12
+ t\94rÜ_t
+;
+
+57
+__END_DECLS
+
+
+ @/usr/include/math.h
+
+23 #iâdef
+_MATH_H
+
+
+24 \ 1
+ #_MATH_H
+ 1
+
+ )
+
+26 \ 1
+ #__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
+
+
+ )
+
+27 \ 2
+ ~<b\99s/libc-h\97d\94-¡¬t.h
+>
+
+29 #ià
+def\9aed
+
+log
+ && def\9aed
+__GNUC__
+
+
+30 #w¬n\9ag
+A
+
+maüo
+
+ÿÎed
+
+log
+
+was
+
+®»ady
+
+def\9aed
+
+wh\92
+ <
+m©h
+.
+h
+> wa
+\9aþuded
+.
+
+31 #w¬n\9ag
+This
+
+w\9el
+
+ÿu£
+
+comp\9e©iÚ
+
+´obËms
+.
+
+34
+ g__BEGIN_DECLS
+
+
+37 \ 2
+ ~<b\99s/ty³s.h
+>
+
+40 \ 2
+ ~<b\99s/m©h-veùÜ.h
+>
+
+43 \ 2
+ ~<b\99s/æß\8a.h
+>
+
+47 #ià
+__GNUC_PREREQ
+ (3, 3)
+
+48 \ 1
+ #HUGE_VAL
+ (
+ `__bu\9et\9a_huge_v®
+ ())
+
+ )
+
+55 \ 1
+ #HUGE_VAL
+ 1e10000
+
+ )
+
+57 #ifdeà
+__USE_ISOC99
+
+
+58 #ià
+__GNUC_PREREQ
+ (3, 3)
+
+59 \ 1
+ #HUGE_VALF
+ (
+ `__bu\9et\9a_huge_v®f
+ ())
+
+ )
+
+60 \ 1
+ #HUGE_VALL
+ (
+ `__bu\9et\9a_huge_v®l
+ ())
+
+ )
+
+62 \ 1
+ #HUGE_VALF
+ 1e10000f
+
+ )
+
+63 \ 1
+ #HUGE_VALL
+ 1e10000L
+
+ )
+
+66 #ià
+__HAVE_FLOAT16
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+67 \ 1
+ #HUGE_VAL_F16
+ (
+ `__bu\9et\9a_huge_v®f16
+ ())
+
+ )
+
+69 #ià
+__HAVE_FLOAT32
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+70 \ 1
+ #HUGE_VAL_F32
+ (
+ `__bu\9et\9a_huge_v®f32
+ ())
+
+ )
+
+72 #ià
+__HAVE_FLOAT64
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+73 \ 1
+ #HUGE_VAL_F64
+ (
+ `__bu\9et\9a_huge_v®f64
+ ())
+
+ )
+
+75 #ià
+__HAVE_FLOAT128
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+76 \ 1
+ #HUGE_VAL_F128
+ (
+ `__bu\9et\9a_huge_v®f128
+ ())
+
+ )
+
+78 #ià
+__HAVE_FLOAT32X
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+79 \ 1
+ #HUGE_VAL_F32X
+ (
+ `__bu\9et\9a_huge_v®f32x
+ ())
+
+ )
+
+81 #ià
+__HAVE_FLOAT64X
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+82 \ 1
+ #HUGE_VAL_F64X
+ (
+ `__bu\9et\9a_huge_v®f64x
+ ())
+
+ )
+
+84 #ià
+__HAVE_FLOAT128X
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+85 \ 1
+ #HUGE_VAL_F128X
+ (
+ `__bu\9et\9a_huge_v®f128x
+ ())
+
+ )
+
+88 #ifdeà
+__USE_ISOC99
+
+
+90 #ià
+__GNUC_PREREQ
+ (3, 3)
+
+91 \ 1
+ #INFINITY
+ (
+ `__bu\9et\9a_\9aff
+ ())
+
+ )
+
+93 \ 1
+ #INFINITY
+
+HUGE_VALF
+
+
+ )
+
+97 #ià
+__GNUC_PREREQ
+ (3, 3)
+
+98 \ 1
+ #NAN
+ (
+ `__bu\9et\9a_Çnf
+ (""))
+
+ )
+
+103 \ 1
+ #NAN
+ (0.0à/ 0.0f)
+
+ )
+
+107 #ià
+__GLIBC_USE
+ (
+IEC_60559_BFP_EXT
+)
+
+109 #ià
+__GNUC_PREREQ
+ (3, 3)
+
+110 \ 1
+ #SNANF
+ (
+ `__bu\9et\9a_Çnsf
+ (""))
+
+ )
+
+111 \ 1
+ #SNAN
+ (
+ `__bu\9et\9a_Çns
+ (""))
+
+ )
+
+112 \ 1
+ #SNANL
+ (
+ `__bu\9et\9a_Çn¦
+ (""))
+
+ )
+
+115 #ià
+__HAVE_FLOAT16
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+116 \ 1
+ #SNANF16
+ (
+ `__bu\9et\9a_Çnsf16
+ (""))
+
+ )
+
+118 #ià
+__HAVE_FLOAT32
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+119 \ 1
+ #SNANF32
+ (
+ `__bu\9et\9a_Çnsf32
+ (""))
+
+ )
+
+121 #ià
+__HAVE_FLOAT64
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+122 \ 1
+ #SNANF64
+ (
+ `__bu\9et\9a_Çnsf64
+ (""))
+
+ )
+
+124 #ià
+__HAVE_FLOAT128
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+125 \ 1
+ #SNANF128
+ (
+ `__bu\9et\9a_Çnsf128
+ (""))
+
+ )
+
+127 #ià
+__HAVE_FLOAT32X
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+128 \ 1
+ #SNANF32X
+ (
+ `__bu\9et\9a_Çnsf32x
+ (""))
+
+ )
+
+130 #ià
+__HAVE_FLOAT64X
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+131 \ 1
+ #SNANF64X
+ (
+ `__bu\9et\9a_Çnsf64x
+ (""))
+
+ )
+
+133 #ià
+__HAVE_FLOAT128X
+ &&
+__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+134 \ 1
+ #SNANF128X
+ (
+ `__bu\9et\9a_Çnsf128x
+ (""))
+
+ )
+
+138 \ 2
+ ~<b\99s/æt-ev®-m\91hod.h
+>
+
+140 #ifdeà
+__USE_ISOC99
+
+
+148 #ià
+__GLIBC_FLT_EVAL_METHOD
+ == 0 || __GLIBC_FLT_EVAL_METHOD == 16
+
+149 \e\ e
+ tæßt_t
+;
+
+150 \e\b
+ tdoubË_t
+;
+
+151 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 1
+
+152 \e\b
+ tæßt_t
+;
+
+153 \e\b
+ tdoubË_t
+;
+
+154 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 2
+
+155 \e\13\b
+ tæßt_t
+;
+
+156 \e\13\b
+ tdoubË_t
+;
+
+157 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 32
+
+158 \e
+_Flßt32
+
+ tæßt_t
+;
+
+159 \e\b
+ tdoubË_t
+;
+
+160 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 33
+
+161 \e
+_Flßt32x
+
+ tæßt_t
+;
+
+162 \e
+_Flßt32x
+
+ tdoubË_t
+;
+
+163 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 64
+
+164 \e
+_Flßt64
+
+ tæßt_t
+;
+
+165 \e
+_Flßt64
+
+ tdoubË_t
+;
+
+166 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 65
+
+167 \e
+_Flßt64x
+
+ tæßt_t
+;
+
+168 \e
+_Flßt64x
+
+ tdoubË_t
+;
+
+169 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 128
+
+170 \e
+_Flßt128
+
+ tæßt_t
+;
+
+171 \e
+_Flßt128
+
+ tdoubË_t
+;
+
+172 #\96ià
+__GLIBC_FLT_EVAL_METHOD
+ == 129
+
+173 \e
+_Flßt128x
+
+ tæßt_t
+;
+
+174 \e
+_Flßt128x
+
+ tdoubË_t
+;
+
+190 \ 2
+ ~<b\99s/å-logb.h
+>
+
+191 #ifdeà
+__USE_ISOC99
+
+
+192 #ià
+__FP_LOGB0_IS_MIN
+
+
+193 \ 1
+ #FP_ILOGB0
+ (-2147483647 - 1)
+
+ )
+
+195 \ 1
+ #FP_ILOGB0
+ (-2147483647)
+
+ )
+
+197 #ià
+__FP_LOGBNAN_IS_MIN
+
+
+198 \ 1
+ #FP_ILOGBNAN
+ (-2147483647 - 1)
+
+ )
+
+200 \ 1
+ #FP_ILOGBNAN
+ 2147483647
+
+ )
+
+203 #ià
+__GLIBC_USE
+ (
+IEC_60559_BFP_EXT
+)
+
+204 #ià
+__WORDSIZE
+ == 32
+
+205 \ 1
+ #__FP_LONG_MAX
+ 0x7fffffffL
+
+ )
+
+207 \ 1
+ #__FP_LONG_MAX
+ 0x7fffffffffffffffL
+
+ )
+
+209 #ià
+__FP_LOGB0_IS_MIN
+
+
+210 \ 1
+ #FP_LLOGB0
+ (-
+__FP_LONG_MAX
+ - 1)
+
+ )
+
+212 \ 1
+ #FP_LLOGB0
+ (-
+__FP_LONG_MAX
+)
+
+ )
+
+214 #ià
+__FP_LOGBNAN_IS_MIN
+
+
+215 \ 1
+ #FP_LLOGBNAN
+ (-
+__FP_LONG_MAX
+ - 1)
+
+ )
+
+217 \ 1
+ #FP_LLOGBNAN
+
+__FP_LONG_MAX
+
+
+ )
+
+233 \ 2
+ ~<b\99s/å-ç¡.h
+>
+
+235 #ià
+__GLIBC_USE
+ (
+IEC_60559_BFP_EXT
+)
+
+239
+ mFP_INT_UPWARD
+ =
+
+240 \ 1
+ #FP_INT_UPWARD
+ 0
+
+ )
+
+241
+FP_INT_UPWARD
+,
+
+242
+ mFP_INT_DOWNWARD
+ =
+
+243 \ 1
+ #FP_INT_DOWNWARD
+ 1
+
+ )
+
+244
+FP_INT_DOWNWARD
+,
+
+245
+ mFP_INT_TOWARDZERO
+ =
+
+246 \ 1
+ #FP_INT_TOWARDZERO
+ 2
+
+ )
+
+247
+FP_INT_TOWARDZERO
+,
+
+248
+ mFP_INT_TONEARESTFROMZERO
+ =
+
+249 \ 1
+ #FP_INT_TONEARESTFROMZERO
+ 3
+
+ )
+
+250
+FP_INT_TONEARESTFROMZERO
+,
+
+251
+ mFP_INT_TONEAREST
+ =
+
+252 \ 1
+ #FP_INT_TONEAREST
+ 4
+
+ )
+
+253
+FP_INT_TONEAREST
+,
+
+262 \ 1
+ #__SIMD_DECL
+(
+funùiÚ
+è
+ `__CONCAT
+ (
+__DECL_SIMD_
+, funùiÚ)
+
+ )
+
+264 \ 1
+ #__MATHCALL_VEC
+(
+funùiÚ
+,
+suffix
+,
+¬gs
+) \
+
+265
+ `__SIMD_DECL
+ (
+ `__MATH_PRECNAME
+ (
+funùiÚ
+,
+suffix
+)) \
+
+266
+ `__MATHCALL
+ (
+funùiÚ
+,
+suffix
+,
+¬gs
+)
+
+ )
+
+268 \ 1
+ #__MATHDECL_VEC
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+) \
+
+269
+ `__SIMD_DECL
+ (
+ `__MATH_PRECNAME
+ (
+funùiÚ
+,
+suffix
+)) \
+
+270
+ `__MATHDECL
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+)
+
+ )
+
+272 \ 1
+ #__MATHCALL
+(
+funùiÚ
+,
+suffix
+,
+¬gs
+) \
+
+273
+ `__MATHDECL
+ (
+_MdoubË_
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+)
+
+ )
+
+274 \ 1
+ #__MATHDECL
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+) \
+
+275
+ `__MATHDECL_1
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+); \
+
+276
+ `__MATHDECL_1
+(
+ty³
+,
+ `__CONCAT
+(
+__
+,
+funùiÚ
+),
+suffix
+,
+¬gs
+)
+
+ )
+
+277 \ 1
+ #__MATHCALLX
+(
+funùiÚ
+,
+suffix
+,
+¬gs
+,
+©\8cib
+) \
+
+278
+ `__MATHDECLX
+ (
+_MdoubË_
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+,
+©\8cib
+)
+
+ )
+
+279 \ 1
+ #__MATHDECLX
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+,
+©\8cib
+) \
+
+280
+ `__MATHDECL_1
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+è
+ `__©\8cibu\8b__
+ (
+©\8cib
+); \
+
+281
+ `__MATHDECL_1
+(
+ty³
+,
+ `__CONCAT
+(
+__
+,
+funùiÚ
+),
+suffix
+,
+¬gs
+è
+ `__©\8cibu\8b__
+ (
+©\8cib
+)
+
+ )
+
+282 \ 1
+ #__MATHDECL_1
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+) \
+
+283 \r
+ty³
+
+ `__MATH_PRECNAME
+(
+funùiÚ
+,
+suffix
+è
+¬gs
+
+__THROW
+
+
+ )
+
+285 \ 1
+ #_MdoubË_
+ \b
+
+ )
+
+286 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+è
+ `__CONCAT
+Òame,r)
+
+ )
+
+287 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 1
+
+ )
+
+288 \ 1
+ #__MATH_DECLARING_FLOATN
+ 0
+
+ )
+
+289 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+290 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+291 #undeà
+_MdoubË_
+
+
+292 #undeà
+__MATH_PRECNAME
+
+
+293 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+294 #undeà
+__MATH_DECLARING_FLOATN
+
+
+296 #ifdeà
+__USE_ISOC99
+
+
+302 \ 1
+ #_MdoubË_
+ \ e
+
+ )
+
+303 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f
+##
+ )
+r
+
+304 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+305 \ 1
+ #__MATH_DECLARING_FLOATN
+ 0
+
+ )
+
+306 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+307 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+308 #undeà
+_MdoubË_
+
+
+309 #undeà
+__MATH_PRECNAME
+
+
+310 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+311 #undeà
+__MATH_DECLARING_FLOATN
+
+
+313 #ià!(
+def\9aed
+
+__NO_LONG_DOUBLE_MATH
+ && def\9aed
+_LIBC
+) \
+
+314 ||
+def\9aed
+
+__LDBL_COMPAT
+ \
+
+315 ||
+def\9aed
+
+_LIBC_TEST
+
+
+316 #ifdeà
+__LDBL_COMPAT
+
+
+318 #ifdeà
+__USE_ISOC99
+
+
+319 \r\ e
+ $__Ædbl_Ãx\89ow¬df
+ (\ e
+__x
+, \13\b
+__y
+)
+
+320
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+321 #ifdeà
+__REDIRECT_NTH
+
+
+322 \r\ e
+ `__REDIRECT_NTH
+ (
+Ãx\89ow¬df
+, (\ e
+__x
+, \13\b
+__y
+),
+
+323
+__Ædbl_Ãx\89ow¬df
+)
+
+324
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+325 \r\b
+ `__REDIRECT_NTH
+ (
+Ãx\89ow¬d
+, (\b
+__x
+, \13\b
+__y
+),
+
+326
+Ãx\8fá\94
+è
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+327 \r\13\b
+ `__REDIRECT_NTH
+ (
+Ãx\89ow¬dl
+,
+
+328 (\13\b
+__x
+, \13\b
+__y
+),
+
+329
+Ãx\8fá\94
+è
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+333 #undeà
+__MATHDECL_1
+
+
+334 \ 1
+ #__MATHDECL_2
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+,
+®\9fs
+) \
+
+335 \r
+ty³
+
+ `__REDIRECT_NTH
+(
+ `__MATH_PRECNAME
+(
+funùiÚ
+,
+suffix
+), \
+
+336
+¬gs
+,
+®\9fs
+)
+
+ )
+
+337 \ 1
+ #__MATHDECL_1
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+) \
+
+338
+ `__MATHDECL_2
+(
+ty³
+,
+funùiÚ
+,
+suffix
+,
+¬gs
+,
+ `__CONCAT
+(funùiÚ,suffix))
+
+ )
+
+344 \ 1
+ #_MdoubË_
+ \13\b
+
+ )
+
+345 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+l
+##
+ )
+r
+
+346 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+347 \ 1
+ #__MATH_DECLARING_FLOATN
+ 0
+
+ )
+
+348 \ 1
+ #__MATH_DECLARE_LDOUBLE
+ 1
+
+ )
+
+349 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+350 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+351 #undeà
+_MdoubË_
+
+
+352 #undeà
+__MATH_PRECNAME
+
+
+353 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+354 #undeà
+__MATH_DECLARING_FLOATN
+
+
+363 #ià
+__HAVE_DISTINCT_FLOAT16
+ || (
+__HAVE_FLOAT16
+ && !
+def\9aed
+
+_LIBC
+)
+
+364 \ 1
+ #_MdoubË_
+
+_Flßt16
+
+
+ )
+
+365 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f16
+##
+ )
+r
+
+366 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+367 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+368 #ià
+__HAVE_DISTINCT_FLOAT16
+
+
+369 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+371 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+372 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+374 #undeà
+_MdoubË_
+
+
+375 #undeà
+__MATH_PRECNAME
+
+
+376 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+377 #undeà
+__MATH_DECLARING_FLOATN
+
+
+380 #ià
+__HAVE_DISTINCT_FLOAT32
+ || (
+__HAVE_FLOAT32
+ && !
+def\9aed
+
+_LIBC
+)
+
+381 \ 1
+ #_MdoubË_
+
+_Flßt32
+
+
+ )
+
+382 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f32
+##
+ )
+r
+
+383 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+384 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+385 #ià
+__HAVE_DISTINCT_FLOAT32
+
+
+386 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+388 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+389 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+391 #undeà
+_MdoubË_
+
+
+392 #undeà
+__MATH_PRECNAME
+
+
+393 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+394 #undeà
+__MATH_DECLARING_FLOATN
+
+
+397 #ià
+__HAVE_DISTINCT_FLOAT64
+ || (
+__HAVE_FLOAT64
+ && !
+def\9aed
+
+_LIBC
+)
+
+398 \ 1
+ #_MdoubË_
+
+_Flßt64
+
+
+ )
+
+399 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f64
+##
+ )
+r
+
+400 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+401 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+402 #ià
+__HAVE_DISTINCT_FLOAT64
+
+
+403 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+405 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+406 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+408 #undeà
+_MdoubË_
+
+
+409 #undeà
+__MATH_PRECNAME
+
+
+410 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+411 #undeà
+__MATH_DECLARING_FLOATN
+
+
+414 #ià
+__HAVE_DISTINCT_FLOAT128
+ || (
+__HAVE_FLOAT128
+ && !
+def\9aed
+
+_LIBC
+)
+
+415 \ 1
+ #_MdoubË_
+
+_Flßt128
+
+
+ )
+
+416 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f128
+##
+ )
+r
+
+417 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+418 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+419 #ià
+__HAVE_DISTINCT_FLOAT128
+
+
+420 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+422 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+423 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+425 #undeà
+_MdoubË_
+
+
+426 #undeà
+__MATH_PRECNAME
+
+
+427 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+428 #undeà
+__MATH_DECLARING_FLOATN
+
+
+431 #ià
+__HAVE_DISTINCT_FLOAT32X
+ || (
+__HAVE_FLOAT32X
+ && !
+def\9aed
+
+_LIBC
+)
+
+432 \ 1
+ #_MdoubË_
+
+_Flßt32x
+
+
+ )
+
+433 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f32x
+##
+ )
+r
+
+434 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+435 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+436 #ià
+__HAVE_DISTINCT_FLOAT32X
+
+
+437 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+439 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+440 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+442 #undeà
+_MdoubË_
+
+
+443 #undeà
+__MATH_PRECNAME
+
+
+444 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+445 #undeà
+__MATH_DECLARING_FLOATN
+
+
+448 #ià
+__HAVE_DISTINCT_FLOAT64X
+ || (
+__HAVE_FLOAT64X
+ && !
+def\9aed
+
+_LIBC
+)
+
+449 \ 1
+ #_MdoubË_
+
+_Flßt64x
+
+
+ )
+
+450 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f64x
+##
+ )
+r
+
+451 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+452 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+453 #ià
+__HAVE_DISTINCT_FLOAT64X
+
+
+454 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+456 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+457 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+459 #undeà
+_MdoubË_
+
+
+460 #undeà
+__MATH_PRECNAME
+
+
+461 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+462 #undeà
+__MATH_DECLARING_FLOATN
+
+
+465 #ià
+__HAVE_DISTINCT_FLOAT128X
+ || (
+__HAVE_FLOAT128X
+ && !
+def\9aed
+
+_LIBC
+)
+
+466 \ 1
+ #_MdoubË_
+
+_Flßt128x
+
+
+ )
+
+467 \ 1
+ #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f128x
+##
+ )
+r
+
+468 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+469 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+470 #ià
+__HAVE_DISTINCT_FLOAT128X
+
+
+471 \ 2
+ ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
+>
+
+473 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+474 \ 2
+ ~<b\99s/m©hÿÎs.h
+>
+
+476 #undeà
+_MdoubË_
+
+
+477 #undeà
+__MATH_PRECNAME
+
+
+478 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+479 #undeà
+__MATH_DECLARING_FLOATN
+
+
+482 #undeà
+__MATHDECL_1
+
+
+483 #undeà
+__MATHDECL
+
+
+484 #undeà
+__MATHCALL
+
+
+487 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN
+
+
+489 \r\12
+signgam
+;
+
+492 #ià(
+__HAVE_DISTINCT_FLOAT16
+ \
+
+493 ||
+__HAVE_DISTINCT_FLOAT32
+ \
+
+494 ||
+__HAVE_DISTINCT_FLOAT64
+ \
+
+495 ||
+__HAVE_DISTINCT_FLOAT32X
+ \
+
+496 ||
+__HAVE_DISTINCT_FLOAT64X
+ \
+
+497 ||
+__HAVE_DISTINCT_FLOAT128X
+)
+
+510 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+511 #ià
+__HAVE_DISTINCT_FLOAT128
+
+
+514 \ 1
+ #__MATH_TG
+(
+TG_ARG
+,
+FUNC
+,
+ARGS
+) \
+
+515 (\17 (
+TG_ARG
+è=ð\17 (\ eè?
+FUNC
+ ##
+f
+
+ARGS
+ : FUNC ARGS)
+
+ )
+
+516 #\96ià
+__HAVE_DISTINCT_FLOAT128
+
+
+517 #ià
+__HAVE_GENERIC_SELECTION
+
+
+518 #ià
+__HAVE_FLOATN_NOT_TYPEDEF
+ &&
+__HAVE_FLOAT32
+
+
+519 \ 1
+ #__MATH_TG_F32
+(
+FUNC
+,
+ARGS
+è
+_Flßt32
+: FUNC ##
+f
+ ARGS,
+
+ )
+
+521 \ 1
+ #__MATH_TG_F32
+(
+FUNC
+,
+ARGS
+)
+
+ )
+
+523 #ià
+__HAVE_FLOATN_NOT_TYPEDEF
+ &&
+__HAVE_FLOAT64X
+
+
+524 #ià
+__HAVE_FLOAT64X_LONG_DOUBLE
+
+
+525 \ 1
+ #__MATH_TG_F64X
+(
+FUNC
+,
+ARGS
+è
+_Flßt64x
+: FUNC ##
+l
+ ARGS,
+
+ )
+
+527 \ 1
+ #__MATH_TG_F64X
+(
+FUNC
+,
+ARGS
+è
+_Flßt64x
+: FUNC ##
+f128
+ ARGS,
+
+ )
+
+530 \ 1
+ #__MATH_TG_F64X
+(
+FUNC
+,
+ARGS
+)
+
+ )
+
+532 \ 1
+ #__MATH_TG
+(
+TG_ARG
+,
+FUNC
+,
+ARGS
+) \
+
+533
+ `_G\92\94ic
+ ((
+TG_ARG
+), \
+
+534 \ e:
+FUNC
+ ##
+f
+
+ARGS
+, \
+
+535
+ `__MATH_TG_F32
+ (
+FUNC
+,
+ARGS
+) \
+
+536 \a:
+FUNC
+
+ARGS
+, \
+
+537 \13\b:
+FUNC
+ ##
+l
+
+ARGS
+, \
+
+538
+ `__MATH_TG_F64X
+ (
+FUNC
+,
+ARGS
+) \
+
+539
+_Flßt128
+:
+FUNC
+ ##
+f128
+
+ARGS
+)
+
+ )
+
+541 #ià
+__HAVE_FLOATN_NOT_TYPEDEF
+
+
+544 \ 1
+ #__MATH_TG
+(
+TG_ARG
+,
+FUNC
+,
+ARGS
+) \
+
+545
+__bu\9et\9a_choo£_ex´
+ \
+
+546 (
+ `__bu\9et\9a_ty³s_com·tibË_p
+ (
+ `__ty³of
+ (
+TG_ARG
+), \ e), \
+
+547
+FUNC
+ ##
+f
+
+ARGS
+, \
+
+548
+__bu\9et\9a_choo£_ex´
+ \
+
+549 (
+ `__bu\9et\9a_ty³s_com·tibË_p
+ (
+ `__ty³of
+ (
+TG_ARG
+), \b), \
+
+550
+FUNC
+
+ARGS
+, \
+
+551
+__bu\9et\9a_choo£_ex´
+ \
+
+552 (
+ `__bu\9et\9a_ty³s_com·tibË_p
+ (
+ `__ty³of
+ (
+TG_ARG
+), \13\b), \
+
+553
+FUNC
+ ##
+l
+
+ARGS
+, \
+
+554
+FUNC
+ ##
+f128
+
+ARGS
+)))
+
+ )
+
+557 \ 1
+ #__MATH_TG
+(
+TG_ARG
+,
+FUNC
+,
+ARGS
+) \
+
+558 (\17 (
+TG_ARG
+) == \17 (\ e) \
+
+559 ?
+FUNC
+ ##
+f
+
+ARGS
+ \
+
+560 : \17 (
+TG_ARG
+) == \17 (\b) \
+
+561 ?
+FUNC
+
+ARGS
+ \
+
+562 :
+FUNC
+ ##
+l
+
+ARGS
+)
+
+ )
+
+566 #ifdeà
+__USE_ISOC99
+
+
+571
+FP_NAN
+ =
+
+572 \ 1
+ #FP_NAN
+ 0
+
+ )
+
+573
+FP_NAN
+,
+
+574
+FP_INFINITE
+ =
+
+575 \ 1
+ #FP_INFINITE
+ 1
+
+ )
+
+576
+FP_INFINITE
+,
+
+577
+FP_ZERO
+ =
+
+578 \ 1
+ #FP_ZERO
+ 2
+
+ )
+
+579
+FP_ZERO
+,
+
+580
+FP_SUBNORMAL
+ =
+
+581 \ 1
+ #FP_SUBNORMAL
+ 3
+
+ )
+
+582
+FP_SUBNORMAL
+,
+
+583
+FP_NORMAL
+ =
+
+584 \ 1
+ #FP_NORMAL
+ 4
+
+ )
+
+585
+FP_NORMAL
+
+
+593 #ià
+ `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+
+__SUPPORT_SNAN__
+ \
+
+594 && (!
+def\9aed
+
+__OPTIMIZE_SIZE__
+ || def\9aed
+__ýlu¥lus
+)
+
+601 \ 1
+ #åþassify
+(
+x
+è
+ `__bu\9et\9a_åþassify
+ (
+FP_NAN
+,
+FP_INFINITE
+, \
+
+602
+FP_NORMAL
+,
+FP_SUBNORMAL
+,
+FP_ZERO
+,
+x
+)
+
+ )
+
+604 \ 1
+ #åþassify
+(
+x
+è
+ `__MATH_TG
+ ((x),
+__åþassify
+, (x))
+
+ )
+
+608 #ià
+ `__GNUC_PREREQ
+ (6,0)
+
+609 \ 1
+ #signb\99
+(
+x
+è
+ `__bu\9et\9a_signb\99
+ (x)
+
+ )
+
+610 #\96ià
+def\9aed
+
+__ýlu¥lus
+
+
+618 \ 1
+ #signb\99
+(
+x
+è
+ `__bu\9et\9a_signb\99l
+ (x)
+
+ )
+
+619 #\96ià
+ `__GNUC_PREREQ
+ (4,0)
+
+620 \ 1
+ #signb\99
+(
+x
+è
+ `__MATH_TG
+ ((x),
+__bu\9et\9a_signb\99
+, (x))
+
+ )
+
+622 \ 1
+ #signb\99
+(
+x
+è
+ `__MATH_TG
+ ((x),
+__signb\99
+, (x))
+
+ )
+
+626 #ià
+ `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+
+__SUPPORT_SNAN__
+
+
+627 \ 1
+ #isf\9a\99e
+(
+x
+è
+ `__bu\9et\9a_isf\9a\99e
+ (x)
+
+ )
+
+629 \ 1
+ #isf\9a\99e
+(
+x
+è
+ `__MATH_TG
+ ((x),
+__f\9a\99e
+, (x))
+
+ )
+
+633 #ià
+ `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+
+__SUPPORT_SNAN__
+
+
+634 \ 1
+ #i¢Üm®
+(
+x
+è
+ `__bu\9et\9a_i¢Üm®
+ (x)
+
+ )
+
+636 \ 1
+ #i¢Üm®
+(
+x
+è(
+ `åþassify
+ (xè=ð
+FP_NORMAL
+)
+
+ )
+
+641 #ià
+ `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+
+__SUPPORT_SNAN__
+
+
+642 \ 1
+ #i¢ª
+(
+x
+è
+ `__bu\9et\9a_i¢ª
+ (x)
+
+ )
+
+644 \ 1
+ #i¢ª
+(
+x
+è
+ `__MATH_TG
+ ((x),
+__i¢ª
+, (x))
+
+ )
+
+648 #ià
+__HAVE_DISTINCT_FLOAT128
+ && !
+ `__GNUC_PREREQ
+ (7,0) \
+
+649 && !
+def\9aed
+
+__SUPPORT_SNAN__
+ && !def\9aed
+__ýlu¥lus
+
+
+655 \ 1
+ #is\9af
+(
+x
+) \
+
+656 (
+ `__bu\9et\9a_ty³s_com·tibË_p
+ (
+ `__ty³of
+ (
+x
+),
+_Flßt128
+) \
+
+657 ?
+ `__is\9aff128
+ (
+x
+è:
+ `__bu\9et\9a_is\9af_sign
+ (x))
+
+ )
+
+658 #\96ià
+ `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+
+__SUPPORT_SNAN__
+
+
+659 \ 1
+ #is\9af
+(
+x
+è
+ `__bu\9et\9a_is\9af_sign
+ (x)
+
+ )
+
+661 \ 1
+ #is\9af
+(
+x
+è
+ `__MATH_TG
+ ((x),
+__is\9af
+, (x))
+
+ )
+
+665 \ 1
+ #MATH_ERRNO
+ 1
+
+ )
+
+666 \ 1
+ #MATH_ERREXCEPT
+ 2
+
+ )
+
+673 #ifdeà
+__FAST_MATH__
+
+
+674 \ 1
+ #m©h_\94rhªdl\9ag
+ 0
+
+ )
+
+675 #\96ià
+def\9aed
+
+__NO_MATH_ERRNO__
+
+
+676 \ 1
+ #m©h_\94rhªdl\9ag
+ (
+MATH_ERREXCEPT
+)
+
+ )
+
+678 \ 1
+ #m©h_\94rhªdl\9ag
+ (
+MATH_ERRNO
+ |
+MATH_ERREXCEPT
+)
+
+ )
+
+683 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_BFP_EXT
+)
+
+684 \ 2
+ ~<b\99s/isÿnÚiÿl.h
+>
+
+687 #iâdeà
+__ýlu¥lus
+
+
+688 \ 1
+ #issigÇl\9ag
+(
+x
+è
+ `__MATH_TG
+ ((x),
+__issigÇl\9ag
+, (x))
+
+ )
+
+697
+\9al\9ae
+ \12
+ `issigÇl\9ag
+ (\ e
+__v®
+è{ \15
+ `__issigÇl\9agf
+ (__val); }
+
+698
+\9al\9ae
+ \12
+ `issigÇl\9ag
+ (\b
+__v®
+è{ \15
+ `__issigÇl\9ag
+ (__val); }
+
+699
+\9al\9ae
+ \12
+
+700
+ `issigÇl\9ag
+ (\13\b
+__v®
+)
+
+702 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+703 \15
+ `__issigÇl\9ag
+ (
+__v®
+);
+
+705 \15
+ `__issigÇl\9agl
+ (
+__v®
+);
+
+708 #ià
+__HAVE_DISTINCT_FLOAT128
+
+
+709
+\9al\9ae
+ \12
+ `issigÇl\9ag
+ (
+_Flßt128
+
+__v®
+è{ \15
+ `__issigÇl\9agf128
+ (__val); }
+
+711
+ }
+}
+
+715 \ 1
+ #issubnÜm®
+(
+x
+è(
+ `åþassify
+ (xè=ð
+FP_SUBNORMAL
+)
+
+ )
+
+718 #iâdeà
+__ýlu¥lus
+
+
+719 #ifdeà
+__SUPPORT_SNAN__
+
+
+720 \ 1
+ #isz\94o
+(
+x
+è(
+ `åþassify
+ (xè=ð
+FP_ZERO
+)
+
+ )
+
+722 \ 1
+ #isz\94o
+(
+x
+è(((
+ `__ty³of
+ (x)è(x)è=ð0)
+
+ )
+
+726 #ifdeà
+__SUPPORT_SNAN__
+
+
+727
+\9al\9ae
+ \12
+
+728
+isz\94o
+ (\ e
+__v®
+)
+
+730 \15
+__åþassifyf
+ (
+__v®
+è=ð
+FP_ZERO
+;
+
+732
+\9al\9ae
+ \12
+
+733
+isz\94o
+ (\b
+__v®
+)
+
+735 \15
+__åþassify
+ (
+__v®
+è=ð
+FP_ZERO
+;
+
+737
+\9al\9ae
+ \12
+
+738
+isz\94o
+ (\13\b
+__v®
+)
+
+740 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+741 \15
+__åþassify
+ (
+__v®
+è=ð
+FP_ZERO
+;
+
+743 \15
+__åþassifyl
+ (
+__v®
+è=ð
+FP_ZERO
+;
+
+746 #ià
+__HAVE_DISTINCT_FLOAT128
+
+
+747
+\9al\9ae
+ \12
+
+748
+isz\94o
+ (
+_Flßt128
+
+__v®
+)
+
+750 \15
+__åþassifyf128
+ (
+__v®
+è=ð
+FP_ZERO
+;
+
+754
+\8bm¶©e
+ <
+þass
+
+__T
+>
+\9al\9ae
+
+boÞ
+
+
+755
+isz\94o
+ (
+__T
+
+__v®
+)
+
+757 \15
+__v®
+ == 0;
+
+764 #ifdeà
+__USE_XOPEN
+
+
+766 \ 1
+ #MAXFLOAT
+ 3.40282347e+38F
+
+ )
+
+771 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN
+
+
+772 \ 1
+ #M_E
+ 2.7182818284590452354
+
+ )
+
+773 \ 1
+ #M_LOG2E
+ 1.4426950408889634074
+
+ )
+
+774 \ 1
+ #M_LOG10E
+ 0.43429448190325182765
+
+ )
+
+775 \ 1
+ #M_LN2
+ 0.69314718055994530942
+
+ )
+
+776 \ 1
+ #M_LN10
+ 2.30258509299404568402
+
+ )
+
+777 \ 1
+ #M_PI
+ 3.14159265358979323846
+
+ )
+
+778 \ 1
+ #M_PI_2
+ 1.57079632679489661923
+
+ )
+
+779 \ 1
+ #M_PI_4
+ 0.78539816339744830962
+
+ )
+
+780 \ 1
+ #M_1_PI
+ 0.31830988618379067154
+
+ )
+
+781 \ 1
+ #M_2_PI
+ 0.63661977236758134308
+
+ )
+
+782 \ 1
+ #M_2_SQRTPI
+ 1.12837916709551257390
+
+ )
+
+783 \ 1
+ #M_SQRT2
+ 1.41421356237309504880
+
+ )
+
+784 \ 1
+ #M_SQRT1_2
+ 0.70710678118654752440
+
+ )
+
+790 #ifdeà
+__USE_GNU
+
+
+791 \ 1
+ #M_El
+ 2.718281828459045235360287471352662498L
+
+ )
+
+792 \ 1
+ #M_LOG2El
+ 1.442695040888963407359924681001892137L
+
+ )
+
+793 \ 1
+ #M_LOG10El
+ 0.434294481903251827651128918916605082L
+
+ )
+
+794 \ 1
+ #M_LN2l
+ 0.693147180559945309417232121458176568L
+
+ )
+
+795 \ 1
+ #M_LN10l
+ 2.302585092994045684017991454684364208L
+
+ )
+
+796 \ 1
+ #M_PIl
+ 3.141592653589793238462643383279502884L
+
+ )
+
+797 \ 1
+ #M_PI_2l
+ 1.570796326794896619231321691639751442L
+
+ )
+
+798 \ 1
+ #M_PI_4l
+ 0.785398163397448309615660845819875721L
+
+ )
+
+799 \ 1
+ #M_1_PIl
+ 0.318309886183790671537767526745028724L
+
+ )
+
+800 \ 1
+ #M_2_PIl
+ 0.636619772367581343075535053490057448L
+
+ )
+
+801 \ 1
+ #M_2_SQRTPIl
+ 1.128379167095512573896158903121545172L
+
+ )
+
+802 \ 1
+ #M_SQRT2l
+ 1.414213562373095048801688724209698079L
+
+ )
+
+803 \ 1
+ #M_SQRT1_2l
+ 0.707106781186547524400844362104849039L
+
+ )
+
+806 #ià
+__HAVE_FLOAT16
+ &&
+def\9aed
+
+__USE_GNU
+
+
+807 \ 1
+ #M_Ef16
+
+ `__f16
+ (2.718281828459045235360287471352662498è
+
+ )
+
+808 \ 1
+ #M_LOG2Ef16
+
+ `__f16
+ (1.442695040888963407359924681001892137è
+
+ )
+
+809 \ 1
+ #M_LOG10Ef16
+
+ `__f16
+ (0.434294481903251827651128918916605082è
+
+ )
+
+810 \ 1
+ #M_LN2f16
+
+ `__f16
+ (0.693147180559945309417232121458176568è
+
+ )
+
+811 \ 1
+ #M_LN10f16
+
+ `__f16
+ (2.302585092994045684017991454684364208è
+
+ )
+
+812 \ 1
+ #M_PIf16
+
+ `__f16
+ (3.141592653589793238462643383279502884è
+
+ )
+
+813 \ 1
+ #M_PI_2f16
+
+ `__f16
+ (1.570796326794896619231321691639751442è
+
+ )
+
+814 \ 1
+ #M_PI_4f16
+
+ `__f16
+ (0.785398163397448309615660845819875721è
+
+ )
+
+815 \ 1
+ #M_1_PIf16
+
+ `__f16
+ (0.318309886183790671537767526745028724è
+
+ )
+
+816 \ 1
+ #M_2_PIf16
+
+ `__f16
+ (0.636619772367581343075535053490057448è
+
+ )
+
+817 \ 1
+ #M_2_SQRTPIf16
+
+ `__f16
+ (1.128379167095512573896158903121545172è
+
+ )
+
+818 \ 1
+ #M_SQRT2f16
+
+ `__f16
+ (1.414213562373095048801688724209698079è
+
+ )
+
+819 \ 1
+ #M_SQRT1_2f16
+
+ `__f16
+ (0.707106781186547524400844362104849039è
+
+ )
+
+822 #ià
+__HAVE_FLOAT32
+ &&
+def\9aed
+
+__USE_GNU
+
+
+823 \ 1
+ #M_Ef32
+
+ `__f32
+ (2.718281828459045235360287471352662498è
+
+ )
+
+824 \ 1
+ #M_LOG2Ef32
+
+ `__f32
+ (1.442695040888963407359924681001892137è
+
+ )
+
+825 \ 1
+ #M_LOG10Ef32
+
+ `__f32
+ (0.434294481903251827651128918916605082è
+
+ )
+
+826 \ 1
+ #M_LN2f32
+
+ `__f32
+ (0.693147180559945309417232121458176568è
+
+ )
+
+827 \ 1
+ #M_LN10f32
+
+ `__f32
+ (2.302585092994045684017991454684364208è
+
+ )
+
+828 \ 1
+ #M_PIf32
+
+ `__f32
+ (3.141592653589793238462643383279502884è
+
+ )
+
+829 \ 1
+ #M_PI_2f32
+
+ `__f32
+ (1.570796326794896619231321691639751442è
+
+ )
+
+830 \ 1
+ #M_PI_4f32
+
+ `__f32
+ (0.785398163397448309615660845819875721è
+
+ )
+
+831 \ 1
+ #M_1_PIf32
+
+ `__f32
+ (0.318309886183790671537767526745028724è
+
+ )
+
+832 \ 1
+ #M_2_PIf32
+
+ `__f32
+ (0.636619772367581343075535053490057448è
+
+ )
+
+833 \ 1
+ #M_2_SQRTPIf32
+
+ `__f32
+ (1.128379167095512573896158903121545172è
+
+ )
+
+834 \ 1
+ #M_SQRT2f32
+
+ `__f32
+ (1.414213562373095048801688724209698079è
+
+ )
+
+835 \ 1
+ #M_SQRT1_2f32
+
+ `__f32
+ (0.707106781186547524400844362104849039è
+
+ )
+
+838 #ià
+__HAVE_FLOAT64
+ &&
+def\9aed
+
+__USE_GNU
+
+
+839 \ 1
+ #M_Ef64
+
+ `__f64
+ (2.718281828459045235360287471352662498è
+
+ )
+
+840 \ 1
+ #M_LOG2Ef64
+
+ `__f64
+ (1.442695040888963407359924681001892137è
+
+ )
+
+841 \ 1
+ #M_LOG10Ef64
+
+ `__f64
+ (0.434294481903251827651128918916605082è
+
+ )
+
+842 \ 1
+ #M_LN2f64
+
+ `__f64
+ (0.693147180559945309417232121458176568è
+
+ )
+
+843 \ 1
+ #M_LN10f64
+
+ `__f64
+ (2.302585092994045684017991454684364208è
+
+ )
+
+844 \ 1
+ #M_PIf64
+
+ `__f64
+ (3.141592653589793238462643383279502884è
+
+ )
+
+845 \ 1
+ #M_PI_2f64
+
+ `__f64
+ (1.570796326794896619231321691639751442è
+
+ )
+
+846 \ 1
+ #M_PI_4f64
+
+ `__f64
+ (0.785398163397448309615660845819875721è
+
+ )
+
+847 \ 1
+ #M_1_PIf64
+
+ `__f64
+ (0.318309886183790671537767526745028724è
+
+ )
+
+848 \ 1
+ #M_2_PIf64
+
+ `__f64
+ (0.636619772367581343075535053490057448è
+
+ )
+
+849 \ 1
+ #M_2_SQRTPIf64
+
+ `__f64
+ (1.128379167095512573896158903121545172è
+
+ )
+
+850 \ 1
+ #M_SQRT2f64
+
+ `__f64
+ (1.414213562373095048801688724209698079è
+
+ )
+
+851 \ 1
+ #M_SQRT1_2f64
+
+ `__f64
+ (0.707106781186547524400844362104849039è
+
+ )
+
+854 #ià
+__HAVE_FLOAT128
+ &&
+def\9aed
+
+__USE_GNU
+
+
+855 \ 1
+ #M_Ef128
+
+ `__f128
+ (2.718281828459045235360287471352662498è
+
+ )
+
+856 \ 1
+ #M_LOG2Ef128
+
+ `__f128
+ (1.442695040888963407359924681001892137è
+
+ )
+
+857 \ 1
+ #M_LOG10Ef128
+
+ `__f128
+ (0.434294481903251827651128918916605082è
+
+ )
+
+858 \ 1
+ #M_LN2f128
+
+ `__f128
+ (0.693147180559945309417232121458176568è
+
+ )
+
+859 \ 1
+ #M_LN10f128
+
+ `__f128
+ (2.302585092994045684017991454684364208è
+
+ )
+
+860 \ 1
+ #M_PIf128
+
+ `__f128
+ (3.141592653589793238462643383279502884è
+
+ )
+
+861 \ 1
+ #M_PI_2f128
+
+ `__f128
+ (1.570796326794896619231321691639751442è
+
+ )
+
+862 \ 1
+ #M_PI_4f128
+
+ `__f128
+ (0.785398163397448309615660845819875721è
+
+ )
+
+863 \ 1
+ #M_1_PIf128
+
+ `__f128
+ (0.318309886183790671537767526745028724è
+
+ )
+
+864 \ 1
+ #M_2_PIf128
+
+ `__f128
+ (0.636619772367581343075535053490057448è
+
+ )
+
+865 \ 1
+ #M_2_SQRTPIf128
+
+ `__f128
+ (1.128379167095512573896158903121545172è
+
+ )
+
+866 \ 1
+ #M_SQRT2f128
+
+ `__f128
+ (1.414213562373095048801688724209698079è
+
+ )
+
+867 \ 1
+ #M_SQRT1_2f128
+
+ `__f128
+ (0.707106781186547524400844362104849039è
+
+ )
+
+870 #ià
+__HAVE_FLOAT32X
+ &&
+def\9aed
+
+__USE_GNU
+
+
+871 \ 1
+ #M_Ef32x
+
+ `__f32x
+ (2.718281828459045235360287471352662498è
+
+ )
+
+872 \ 1
+ #M_LOG2Ef32x
+
+ `__f32x
+ (1.442695040888963407359924681001892137è
+
+ )
+
+873 \ 1
+ #M_LOG10Ef32x
+
+ `__f32x
+ (0.434294481903251827651128918916605082è
+
+ )
+
+874 \ 1
+ #M_LN2f32x
+
+ `__f32x
+ (0.693147180559945309417232121458176568è
+
+ )
+
+875 \ 1
+ #M_LN10f32x
+
+ `__f32x
+ (2.302585092994045684017991454684364208è
+
+ )
+
+876 \ 1
+ #M_PIf32x
+
+ `__f32x
+ (3.141592653589793238462643383279502884è
+
+ )
+
+877 \ 1
+ #M_PI_2f32x
+
+ `__f32x
+ (1.570796326794896619231321691639751442è
+
+ )
+
+878 \ 1
+ #M_PI_4f32x
+
+ `__f32x
+ (0.785398163397448309615660845819875721è
+
+ )
+
+879 \ 1
+ #M_1_PIf32x
+
+ `__f32x
+ (0.318309886183790671537767526745028724è
+
+ )
+
+880 \ 1
+ #M_2_PIf32x
+
+ `__f32x
+ (0.636619772367581343075535053490057448è
+
+ )
+
+881 \ 1
+ #M_2_SQRTPIf32x
+
+ `__f32x
+ (1.128379167095512573896158903121545172è
+
+ )
+
+882 \ 1
+ #M_SQRT2f32x
+
+ `__f32x
+ (1.414213562373095048801688724209698079è
+
+ )
+
+883 \ 1
+ #M_SQRT1_2f32x
+
+ `__f32x
+ (0.707106781186547524400844362104849039è
+
+ )
+
+886 #ià
+__HAVE_FLOAT64X
+ &&
+def\9aed
+
+__USE_GNU
+
+
+887 \ 1
+ #M_Ef64x
+
+ `__f64x
+ (2.718281828459045235360287471352662498è
+
+ )
+
+888 \ 1
+ #M_LOG2Ef64x
+
+ `__f64x
+ (1.442695040888963407359924681001892137è
+
+ )
+
+889 \ 1
+ #M_LOG10Ef64x
+
+ `__f64x
+ (0.434294481903251827651128918916605082è
+
+ )
+
+890 \ 1
+ #M_LN2f64x
+
+ `__f64x
+ (0.693147180559945309417232121458176568è
+
+ )
+
+891 \ 1
+ #M_LN10f64x
+
+ `__f64x
+ (2.302585092994045684017991454684364208è
+
+ )
+
+892 \ 1
+ #M_PIf64x
+
+ `__f64x
+ (3.141592653589793238462643383279502884è
+
+ )
+
+893 \ 1
+ #M_PI_2f64x
+
+ `__f64x
+ (1.570796326794896619231321691639751442è
+
+ )
+
+894 \ 1
+ #M_PI_4f64x
+
+ `__f64x
+ (0.785398163397448309615660845819875721è
+
+ )
+
+895 \ 1
+ #M_1_PIf64x
+
+ `__f64x
+ (0.318309886183790671537767526745028724è
+
+ )
+
+896 \ 1
+ #M_2_PIf64x
+
+ `__f64x
+ (0.636619772367581343075535053490057448è
+
+ )
+
+897 \ 1
+ #M_2_SQRTPIf64x
+
+ `__f64x
+ (1.128379167095512573896158903121545172è
+
+ )
+
+898 \ 1
+ #M_SQRT2f64x
+
+ `__f64x
+ (1.414213562373095048801688724209698079è
+
+ )
+
+899 \ 1
+ #M_SQRT1_2f64x
+
+ `__f64x
+ (0.707106781186547524400844362104849039è
+
+ )
+
+902 #ià
+__HAVE_FLOAT128X
+ &&
+def\9aed
+
+__USE_GNU
+
+
+909 #ià
+def\9aed
+
+__STRICT_ANSI__
+ && !def\9aed
+__NO_MATH_INLINES
+
+
+910 \ 1
+ #__NO_MATH_INLINES
+ 1
+
+ )
+
+913 #ifdeà
+__USE_ISOC99
+
+
+914 #ià
+__GNUC_PREREQ
+ (3, 1)
+
+921 \ 1
+ #isg»©\94
+(
+x
+,
+y
+è
+ `__bu\9et\9a_isg»©\94
+(x, y)
+
+ )
+
+922 \ 1
+ #isg»©\94equ®
+(
+x
+,
+y
+è
+ `__bu\9et\9a_isg»©\94equ®
+(x, y)
+
+ )
+
+923 \ 1
+ #i¦ess
+(
+x
+,
+y
+è
+ `__bu\9et\9a_i¦ess
+(x, y)
+
+ )
+
+924 \ 1
+ #i¦es£qu®
+(
+x
+,
+y
+è
+ `__bu\9et\9a_i¦es£qu®
+(x, y)
+
+ )
+
+925 \ 1
+ #i¦essg»©\94
+(
+x
+,
+y
+è
+ `__bu\9et\9a_i¦essg»©\94
+(x, y)
+
+ )
+
+926 \ 1
+ #isunÜd\94ed
+(
+x
+,
+y
+è
+ `__bu\9et\9a_isunÜd\94ed
+(x, y)
+
+ )
+
+928 \ 1
+ #isg»©\94
+(
+x
+,
+y
+) \
+
+929 (
+ `__ex\8bnsiÚ__
+ ({
+ `__ty³of__
+ (
+x
+è
+__x
+ = (x); __ty³of__ (
+y
+è
+__y
+ = (y); \
+
+930 !
+ `isunÜd\94ed
+ (
+__x
+,
+__y
+è&& __x > __y; }))
+
+ )
+
+931 \ 1
+ #isg»©\94equ®
+(
+x
+,
+y
+) \
+
+932 (
+ `__ex\8bnsiÚ__
+ ({
+ `__ty³of__
+ (
+x
+è
+__x
+ = (x); __ty³of__ (
+y
+è
+__y
+ = (y); \
+
+933 !
+ `isunÜd\94ed
+ (
+__x
+,
+__y
+è&& __x >ð__y; }))
+
+ )
+
+934 \ 1
+ #i¦ess
+(
+x
+,
+y
+) \
+
+935 (
+ `__ex\8bnsiÚ__
+ ({
+ `__ty³of__
+ (
+x
+è
+__x
+ = (x); __ty³of__ (
+y
+è
+__y
+ = (y); \
+
+936 !
+ `isunÜd\94ed
+ (
+__x
+,
+__y
+è&& __x < __y; }))
+
+ )
+
+937 \ 1
+ #i¦es£qu®
+(
+x
+,
+y
+) \
+
+938 (
+ `__ex\8bnsiÚ__
+ ({
+ `__ty³of__
+ (
+x
+è
+__x
+ = (x); __ty³of__ (
+y
+è
+__y
+ = (y); \
+
+939 !
+ `isunÜd\94ed
+ (
+__x
+,
+__y
+è&& __x <ð__y; }))
+
+ )
+
+940 \ 1
+ #i¦essg»©\94
+(
+x
+,
+y
+) \
+
+941 (
+ `__ex\8bnsiÚ__
+ ({
+ `__ty³of__
+ (
+x
+è
+__x
+ = (x); __ty³of__ (
+y
+è
+__y
+ = (y); \
+
+942 !
+ `isunÜd\94ed
+ (
+__x
+,
+__y
+è&& __x !ð__y; }))
+
+ )
+
+944 \ 1
+ #isunÜd\94ed
+(
+x
+,
+y
+) \
+
+945 (
+ `__ex\8bnsiÚ__
+ ({
+ `__ty³of__
+ (
+x
+è
+__u
+ = (x); __ty³of__ (
+y
+è
+__v
+ = (y); \
+
+946
+__u
+ !ð
+__v
+ && (__u !ð__u || __v !ð__v); }))
+
+ )
+
+951 #ifdeà
+__USE_EXTERN_INLINES
+
+
+952 \ 2
+ ~<b\99s/m©h\9al\9ae.h
+>
+
+957 #ià
+def\9aed
+
+__FINITE_MATH_ONLY__
+ && __FINITE_MATH_ONLY__ > 0
+
+960 \ 1
+ #_MdoubË_
+ \b
+
+ )
+
+961 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 1
+
+ )
+
+962 \ 1
+ #__MATH_DECLARING_FLOATN
+ 0
+
+ )
+
+963 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+964
+funùiÚ
+ ##
+»\92\8cªt
+
+
+ )
+
+965 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+966
+__
+ ##
+funùiÚ
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+967 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+968 #undeà
+_MdoubË_
+
+
+969 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+970 #undeà
+__MATH_DECLARING_FLOATN
+
+
+971 #undeà
+__REDIRFROM_X
+
+
+972 #undeà
+__REDIRTO_X
+
+
+976 #ifdeà
+__USE_ISOC99
+
+
+979 \ 1
+ #_MdoubË_
+ \ e
+
+ )
+
+980 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+981 \ 1
+ #__MATH_DECLARING_FLOATN
+ 0
+
+ )
+
+982 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+983
+funùiÚ
+ ##
+f
+ ##
+»\92\8cªt
+
+
+ )
+
+984 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+985
+__
+ ##
+funùiÚ
+ ##
+f
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+986 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+987 #undeà
+_MdoubË_
+
+
+988 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+989 #undeà
+__MATH_DECLARING_FLOATN
+
+
+990 #undeà
+__REDIRFROM_X
+
+
+991 #undeà
+__REDIRTO_X
+
+
+994 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+995 \ 1
+ #_MdoubË_
+ \13\b
+
+ )
+
+996 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+997 \ 1
+ #__MATH_DECLARING_FLOATN
+ 0
+
+ )
+
+998 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+999
+funùiÚ
+ ##
+l
+ ##
+»\92\8cªt
+
+
+ )
+
+1000 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+1001 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1002
+__
+ ##
+funùiÚ
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1004 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1005
+__
+ ##
+funùiÚ
+ ##
+l
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1007 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1008 #undeà
+_MdoubË_
+
+
+1009 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1010 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1011 #undeà
+__REDIRFROM_X
+
+
+1012 #undeà
+__REDIRTO_X
+
+
+1019 #ià(
+__HAVE_DISTINCT_FLOAT16
+ || (
+__HAVE_FLOAT16
+ && !
+def\9aed
+
+_LIBC
+)) \
+
+1020 &&
+ $__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+1021 \ 1
+ #_MdoubË_
+
+_Flßt16
+
+
+ )
+
+1022 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+1023 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+1024 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1025
+funùiÚ
+ ##
+f16
+ ##
+»\92\8cªt
+
+
+ )
+
+1026 #ià
+__HAVE_DISTINCT_FLOAT16
+
+
+1027 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1028
+__
+ ##
+funùiÚ
+ ##
+f16
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1032 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1033 #undeà
+_MdoubË_
+
+
+1034 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1035 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1036 #undeà
+__REDIRFROM_X
+
+
+1037 #undeà
+__REDIRTO_X
+
+
+1040 #ià(
+__HAVE_DISTINCT_FLOAT32
+ || (
+__HAVE_FLOAT32
+ && !
+def\9aed
+
+_LIBC
+)) \
+
+1041 &&
+ $__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+1042 \ 1
+ #_MdoubË_
+
+_Flßt32
+
+
+ )
+
+1043 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+1044 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+1045 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1046
+funùiÚ
+ ##
+f32
+ ##
+»\92\8cªt
+
+
+ )
+
+1047 #ià
+__HAVE_DISTINCT_FLOAT32
+
+
+1048 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1049
+__
+ ##
+funùiÚ
+ ##
+f32
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1051 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1052
+__
+ ##
+funùiÚ
+ ##
+f
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1054 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1055 #undeà
+_MdoubË_
+
+
+1056 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1057 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1058 #undeà
+__REDIRFROM_X
+
+
+1059 #undeà
+__REDIRTO_X
+
+
+1062 #ià(
+__HAVE_DISTINCT_FLOAT64
+ || (
+__HAVE_FLOAT64
+ && !
+def\9aed
+
+_LIBC
+)) \
+
+1063 &&
+ $__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+1064 \ 1
+ #_MdoubË_
+
+_Flßt64
+
+
+ )
+
+1065 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+1066 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+1067 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1068
+funùiÚ
+ ##
+f64
+ ##
+»\92\8cªt
+
+
+ )
+
+1069 #ià
+__HAVE_DISTINCT_FLOAT64
+
+
+1070 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1071
+__
+ ##
+funùiÚ
+ ##
+f64
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1073 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1074
+__
+ ##
+funùiÚ
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1076 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1077 #undeà
+_MdoubË_
+
+
+1078 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1079 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1080 #undeà
+__REDIRFROM_X
+
+
+1081 #undeà
+__REDIRTO_X
+
+
+1084 #ià(
+__HAVE_DISTINCT_FLOAT128
+ || (
+__HAVE_FLOAT128
+ && !
+def\9aed
+
+_LIBC
+)) \
+
+1085 &&
+ $__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+1086 \ 1
+ #_MdoubË_
+
+_Flßt128
+
+
+ )
+
+1087 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+1088 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+1089 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1090
+funùiÚ
+ ##
+f128
+ ##
+»\92\8cªt
+
+
+ )
+
+1091 #ià
+__HAVE_DISTINCT_FLOAT128
+
+
+1092 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1093
+__
+ ##
+funùiÚ
+ ##
+f128
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1095 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1096
+__
+ ##
+funùiÚ
+ ##
+l
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1098 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1099 #undeà
+_MdoubË_
+
+
+1100 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1101 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1102 #undeà
+__REDIRFROM_X
+
+
+1103 #undeà
+__REDIRTO_X
+
+
+1106 #ià(
+__HAVE_DISTINCT_FLOAT32X
+ || (
+__HAVE_FLOAT32X
+ && !
+def\9aed
+
+_LIBC
+)) \
+
+1107 &&
+ $__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+1108 \ 1
+ #_MdoubË_
+
+_Flßt32x
+
+
+ )
+
+1109 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+1110 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+1111 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1112
+funùiÚ
+ ##
+f32x
+ ##
+»\92\8cªt
+
+
+ )
+
+1113 #ià
+__HAVE_DISTINCT_FLOAT32X
+
+
+1114 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1115
+__
+ ##
+funùiÚ
+ ##
+f32x
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1117 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1118
+__
+ ##
+funùiÚ
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1120 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1121 #undeà
+_MdoubË_
+
+
+1122 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1123 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1124 #undeà
+__REDIRFROM_X
+
+
+1125 #undeà
+__REDIRTO_X
+
+
+1128 #ià(
+__HAVE_DISTINCT_FLOAT64X
+ || (
+__HAVE_FLOAT64X
+ && !
+def\9aed
+
+_LIBC
+)) \
+
+1129 &&
+ $__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+1130 \ 1
+ #_MdoubË_
+
+_Flßt64x
+
+
+ )
+
+1131 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+1132 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+1133 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1134
+funùiÚ
+ ##
+f64x
+ ##
+»\92\8cªt
+
+
+ )
+
+1135 #ià
+__HAVE_DISTINCT_FLOAT64X
+
+
+1136 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1137
+__
+ ##
+funùiÚ
+ ##
+f64x
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1138 #\96ià
+__HAVE_FLOAT64X_LONG_DOUBLE
+
+
+1139 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1140
+__
+ ##
+funùiÚ
+ ##
+l
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1142 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1143
+__
+ ##
+funùiÚ
+ ##
+f128
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1145 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1146 #undeà
+_MdoubË_
+
+
+1147 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1148 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1149 #undeà
+__REDIRFROM_X
+
+
+1150 #undeà
+__REDIRTO_X
+
+
+1153 #ià(
+__HAVE_DISTINCT_FLOAT128X
+ || (
+__HAVE_FLOAT128X
+ && !
+def\9aed
+
+_LIBC
+)) \
+
+1154 &&
+ $__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+1155 \ 1
+ #_MdoubË_
+
+_Flßt128x
+
+
+ )
+
+1156 \ 1
+ #__MATH_DECLARING_DOUBLE
+ 0
+
+ )
+
+1157 \ 1
+ #__MATH_DECLARING_FLOATN
+ 1
+
+ )
+
+1158 \ 1
+ #__REDIRFROM_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1159
+funùiÚ
+ ##
+f128x
+ ##
+»\92\8cªt
+
+
+ )
+
+1160 #ià
+__HAVE_DISTINCT_FLOAT128X
+
+
+1161 \ 1
+ #__REDIRTO_X
+(
+funùiÚ
+,
+»\92\8cªt
+) \
+
+1162
+__
+ ##
+funùiÚ
+ ##
+f128x
+ ##
+»\92\8cªt
+ ##
+_f\9a\99e
+
+
+ )
+
+1166 \ 2
+ ~<b\99s/m©h-f\9a\99e.h
+>
+
+1167 #undeà
+_MdoubË_
+
+
+1168 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+1169 #undeà
+__MATH_DECLARING_FLOATN
+
+
+1170 #undeà
+__REDIRFROM_X
+
+
+1171 #undeà
+__REDIRTO_X
+
+
+1176 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_BFP_EXT
+)
+
+1179 #ià
+__FLT_EVAL_METHOD__
+ == 2 || __FLT_EVAL_METHOD__ > 64
+
+1180 \ 1
+ #__MATH_EVAL_FMT2
+(
+x
+,
+y
+è((xè+ (yè+ 0.0L)
+
+ )
+
+1181 #\96ià
+__FLT_EVAL_METHOD__
+ == 1 || __FLT_EVAL_METHOD__ > 32
+
+1182 \ 1
+ #__MATH_EVAL_FMT2
+(
+x
+,
+y
+è((xè+ (yè+ 0.0)
+
+ )
+
+1183 #\96ià
+__FLT_EVAL_METHOD__
+ == 0 || __FLT_EVAL_METHOD__ == 32
+
+1184 \ 1
+ #__MATH_EVAL_FMT2
+(
+x
+,
+y
+è((xè+ (yè+ 0.0f)
+
+ )
+
+1186 \ 1
+ #__MATH_EVAL_FMT2
+(
+x
+,
+y
+è((xè+ (y))
+
+ )
+
+1191 #ià!
+def\9aed
+
+__ýlu¥lus
+ || (__ýlu¥lu < 201103L && !def\9aed
+__GNUC__
+)
+
+1192 \ 1
+ #i£qsig
+(
+x
+,
+y
+) \
+
+1193
+ `__MATH_TG
+ (
+ `__MATH_EVAL_FMT2
+ (
+x
+,
+y
+),
+__i£qsig
+, ((x), (y)))
+
+ )
+
+1206
+\8bm¶©e
+<
+ty³Çme
+> \19
+__i£qsig_ty³
+;
+
+1208
+\8bm¶©e
+<> \19
+__i£qsig_ty³
+<\ e>
+
+1210 \18\12
+ `__ÿÎ
+ (\ e
+__x
+, \ e
+__y
+è
+ `throw
+ ()
+
+1212 \15
+ `__i£qsigf
+ (
+__x
+,
+__y
+);
+
+1216
+\8bm¶©e
+<> \19
+__i£qsig_ty³
+<\b>
+
+1218 \18\12
+ `__ÿÎ
+ (\b
+__x
+, \b
+__y
+è
+ `throw
+ ()
+
+1220 \15
+ `__i£qsig
+ (
+__x
+,
+__y
+);
+
+1224
+\8bm¶©e
+<> \19
+__i£qsig_ty³
+<\13\b>
+
+1226 \18\12
+ `__ÿÎ
+ (\13\b
+__x
+, \13\b
+__y
+è
+ `throw
+ ()
+
+1228 #iâdeà
+__NO_LONG_DOUBLE_MATH
+
+
+1229 \15
+ `__i£qsigl
+ (
+__x
+,
+__y
+);
+
+1231 \15
+ `__i£qsig
+ (
+__x
+,
+__y
+);
+
+1236 #ià
+__HAVE_DISTINCT_FLOAT128
+
+
+1237
+\8bm¶©e
+<> \19
+__i£qsig_ty³
+<
+_Flßt128
+>
+
+1239 \18\12
+ `__ÿÎ
+ (
+_Flßt128
+
+__x
+, _Flßt128
+__y
+è
+ `throw
+ ()
+
+1241 \15
+ `__i£qsigf128
+ (
+__x
+,
+__y
+);
+
+1246
+\8bm¶©e
+<
+ty³Çme
+
+_T1
+,\81y³Çm\90
+_T2
+>
+
+1247
+\9al\9ae
+ \12
+
+1248
+ `i£qsig
+ (
+_T1
+
+__x
+,
+_T2
+
+__y
+è
+ `throw
+ ()
+
+1250 #ià
+__ýlu¥lus
+ >= 201103L
+
+1251 \e
+ `deþty³
+ (
+ t__MATH_EVAL_FMT2
+ (
+ t__x
+,
+ t__y
+)è
+ t_T3
+;
+
+1253 \e
+ `__ty³of
+ (
+ t__MATH_EVAL_FMT2
+ (
+ t__x
+,
+ t__y
+)è
+ t_T3
+;
+
+1255 \15
+__i£qsig_ty³
+<
+_T3
+>::
+ `__ÿÎ
+ (
+__x
+,
+__y
+);
+
+1258
+ }
+}
+
+1263
+__END_DECLS
+
+
+ @/usr/include/stdio.h
+
+23 #iâdeà
+_STDIO_H
+
+
+24 \ 1
+ #_STDIO_H
+ 1
+
+ )
+
+26 \ 1
+ #__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
+
+
+ )
+
+27 \ 2
+ ~<b\99s/libc-h\97d\94-¡¬t.h
+>
+
+29
+ g__BEGIN_DECLS
+
+
+31 \ 1
+ #__Ãed_size_t
+
+
+ )
+
+32 \ 1
+ #__Ãed_NULL
+
+
+ )
+
+33 \ 2
+ ~<¡ddef.h
+>
+
+35 \ 2
+ ~<b\99s/ty³s.h
+>
+
+36 \ 2
+ ~<b\99s/ty³s/__FILE.h
+>
+
+37 \ 2
+ ~<b\99s/ty³s/FILE.h
+>
+
+39 \ 1
+ #_STDIO_USES_IOSTREAM
+
+
+ )
+
+41 \ 2
+ ~<b\99s/libio.h
+>
+
+43 #ià
+def\9aed
+
+__USE_XOPEN
+ || def\9aed
+__USE_XOPEN2K8
+
+
+44 #ifdeà
+__GNUC__
+
+
+45 #iâdeà
+_VA_LIST_DEFINED
+
+
+46 \e
+_G_va_li¡
+
+ tva_li¡
+;
+
+47 \ 1
+ #_VA_LIST_DEFINED
+
+
+ )
+
+50 \ 2
+ ~<¡d¬g.h
+>
+
+54 #ià
+def\9aed
+
+__USE_UNIX98
+ || def\9aed
+__USE_XOPEN2K
+
+
+55 #iâdeà
+__off_t_def\9aed
+
+
+56 #iâdeà
+__USE_FILE_OFFSET64
+
+
+57 \e
+__off_t
+
+ toff_t
+;
+
+59 \e
+__off64_t
+
+ toff_t
+;
+
+61 \ 1
+ #__off_t_def\9aed
+
+
+ )
+
+63 #ià
+def\9aed
+
+__USE_LARGEFILE64
+ && !def\9aed
+__off64_t_def\9aed
+
+
+64 \e
+__off64_t
+
+ toff64_t
+;
+
+65 \ 1
+ #__off64_t_def\9aed
+
+
+ )
+
+69 #ifdeà
+__USE_XOPEN2K8
+
+
+70 #iâdeà
+__ssize_t_def\9aed
+
+
+71 \e
+__ssize_t
+
+ tssize_t
+;
+
+72 \ 1
+ #__ssize_t_def\9aed
+
+
+ )
+
+77 #iâdeà
+__USE_FILE_OFFSET64
+
+
+78 \e
+_G_åos_t
+
+ tåos_t
+;
+
+80 \e
+_G_åos64_t
+
+ tåos_t
+;
+
+82 #ifdeà
+__USE_LARGEFILE64
+
+
+83 \e
+_G_åos64_t
+
+ tåos64_t
+;
+
+87 \ 1
+ #_IOFBF
+ 0
+
+ )
+
+88 \ 1
+ #_IOLBF
+ 1
+
+ )
+
+89 \ 1
+ #_IONBF
+ 2
+
+ )
+
+93 #iâdeà
+BUFSIZ
+
+
+94 \ 1
+ #BUFSIZ
+
+_IO_BUFSIZ
+
+
+ )
+
+100 #iâdeà
+EOF
+
+
+101 \ 1
+ #EOF
+ (-1)
+
+ )
+
+107 \ 1
+ #SEEK_SET
+ 0
+
+ )
+
+108 \ 1
+ #SEEK_CUR
+ 1
+
+ )
+
+109 \ 1
+ #SEEK_END
+ 2
+
+ )
+
+110 #ifdeà
+__USE_GNU
+
+
+111 \ 1
+ #SEEK_DATA
+ 3
+
+ )
+
+112 \ 1
+ #SEEK_HOLE
+ 4
+
+ )
+
+116 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN
+
+
+118 \ 1
+ #P_tmpd\9c
+ "/tmp"
+
+ )
+
+131 \ 2
+ ~<b\99s/¡dio_lim.h
+>
+
+135 \r\19
+_IO_FILE
+ *
+¡d\9a
+;
+
+136 \r\19
+_IO_FILE
+ *
+¡dout
+;
+
+137 \r\19
+_IO_FILE
+ *
+¡d\94r
+;
+
+139 \ 1
+ #¡d\9a
+
+¡d\9a
+
+
+ )
+
+140 \ 1
+ #¡dout
+
+¡dout
+
+
+ )
+
+141 \ 1
+ #¡d\94r
+
+¡d\94r
+
+
+ )
+
+144 \r\12
+ $»move
+ (cڡ \ 5*
+__f\9e\92ame
+è
+__THROW
+;
+
+146 \r\12
+ $Ȃme
+ (cڡ \ 5*
+__Þd
+, cڡ \ 5*
+__Ãw
+è
+__THROW
+;
+
+148 #ifdeà
+__USE_ATFILE
+
+
+150 \r\12
+ $Ȃm\97t
+ (\12
+__Þdfd
+, cڡ \ 5*
+__Þd
+, \12
+__Ãwfd
+,
+
+151 cڡ \ 5*
+__Ãw
+è
+__THROW
+;
+
+158 #iâdeà
+__USE_FILE_OFFSET64
+
+
+159 \r
+FILE
+ *
+ $tmpf\9ee
+ (\1eè
+__wur
+;
+
+161 #ifdeà
+__REDIRECT
+
+
+162 \r
+FILE
+ *
+ `__REDIRECT
+ (
+tmpf\9ee
+, (\1e),
+tmpf\9ee64
+è
+__wur
+;
+
+164 \ 1
+ #tmpf\9ee
+
+tmpf\9ee64
+
+
+ )
+
+168 #ifdeà
+__USE_LARGEFILE64
+
+
+169 \r
+FILE
+ *
+ $tmpf\9ee64
+ (\1eè
+__wur
+;
+
+173 \r\ 5*
+ $tm²am
+ (\ 5*
+__s
+è
+__THROW
+
+__wur
+;
+
+175 #ifdeà
+__USE_MISC
+
+
+178 \r\ 5*
+ $tm²am_r
+ (\ 5*
+__s
+è
+__THROW
+
+__wur
+;
+
+182 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN
+
+
+190 \r\ 5*
+ $\8bm²am
+ (cڡ \ 5*
+__d\9c
+, cڡ \ 5*
+__pfx
+)
+
+191
+__THROW
+
+__©\8cibu\8b_m®loc__
+
+__wur
+;
+
+199 \r\12
+ `fþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+204 \r\12
+ `fæush
+ (
+FILE
+ *
+__¡»am
+);
+
+206 #ifdeà
+__USE_MISC
+
+
+213 \r\12
+ `fæush_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+216 #ifdeà
+__USE_GNU
+
+
+223 \r\12
+ `fþo£®l
+ (\1e);
+
+227 #iâdeà
+__USE_FILE_OFFSET64
+
+
+232 \r
+FILE
+ *
+ $fݒ
+ (cڡ \ 5*
+__»¡riù
+
+__f\9e\92ame
+,
+
+233 cڡ \ 5*
+__»¡riù
+
+__modes
+è
+__wur
+;
+
+238 \r
+FILE
+ *
+ $äeÝ\92
+ (cڡ \ 5*
+__»¡riù
+
+__f\9e\92ame
+,
+
+239 cڡ \ 5*
+__»¡riù
+
+__modes
+,
+
+240
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+242 #ifdeà
+__REDIRECT
+
+
+243 \r
+FILE
+ *
+ `__REDIRECT
+ (
+fݒ
+, (cڡ \ 5*
+__»¡riù
+
+__f\9e\92ame
+,
+
+244 cڡ \ 5*
+__»¡riù
+
+__modes
+),
+fݒ64
+)
+
+245
+__wur
+;
+
+246 \r
+FILE
+ *
+ `__REDIRECT
+ (
+äeÝ\92
+, (cڡ \ 5*
+__»¡riù
+
+__f\9e\92ame
+,
+
+247 cڡ \ 5*
+__»¡riù
+
+__modes
+,
+
+248
+FILE
+ *
+__»¡riù
+
+__¡»am
+),
+äeÝ\9264
+)
+
+249
+__wur
+;
+
+251 \ 1
+ #fݒ
+
+fݒ64
+
+
+ )
+
+252 \ 1
+ #äeÝ\92
+
+äeÝ\9264
+
+
+ )
+
+255 #ifdeà
+__USE_LARGEFILE64
+
+
+256 \r
+FILE
+ *
+ $fݒ64
+ (cڡ \ 5*
+__»¡riù
+
+__f\9e\92ame
+,
+
+257 cڡ \ 5*
+__»¡riù
+
+__modes
+è
+__wur
+;
+
+258 \r
+FILE
+ *
+ $äeÝ\9264
+ (cڡ \ 5*
+__»¡riù
+
+__f\9e\92ame
+,
+
+259 cڡ \ 5*
+__»¡riù
+
+__modes
+,
+
+260
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+263 #ifdef
+__USE_POSIX
+
+
+265 \r
+FILE
+ *
+ $fdݒ
+ (\12
+__fd
+, cڡ \ 5*
+__modes
+è
+__THROW
+
+__wur
+;
+
+268 #ifdef
+__USE_GNU
+
+
+271 \r
+FILE
+ *
+ $fÝ\92cook\9b
+ (\1e*
+__»¡riù
+
+__magic_cook\9b
+,
+
+272 cڡ \ 5*
+__»¡riù
+
+__modes
+,
+
+273
+_IO_cook\9b_io_funùiÚs_t
+
+__io_funcs
+è
+__THROW
+
+__wur
+;
+
+276 #ià
+def\9aed
+
+__USE_XOPEN2K8
+ ||
+ `__GLIBC_USE
+ (
+LIB_EXT2
+)
+
+278 \r
+FILE
+ *
+ $fmemݒ
+ (\1e*
+__s
+,
+size_t
+
+__Ën
+, cڡ \ 5*
+__modes
+)
+
+279
+__THROW
+
+__wur
+;
+
+284 \r
+FILE
+ *
+ $Ý\92_mem¡»am
+ (\ 5**
+__buæoc
+,
+size_t
+ *
+__siz\96oc
+è
+__THROW
+
+__wur
+;
+
+290 \r\1e
+ $£tbuf
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+, \ 5*__»¡riù
+__buf
+è
+__THROW
+;
+
+294 \r\12
+ $£tvbuf
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+, \ 5*__»¡riù
+__buf
+,
+
+295 \12
+__modes
+,
+size_t
+
+__n
+è
+__THROW
+;
+
+297 #ifdef
+__USE_MISC
+
+
+300 \r\1e
+ $£tbufãr
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+, \ 5*__»¡riù
+__buf
+,
+
+301
+size_t
+
+__size
+è
+__THROW
+;
+
+304 \r\1e
+ $£\8e\9aebuf
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+;
+
+312 \r\12
+ `år\9atf
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+,
+
+313 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...);
+
+318 \r\12
+ `´\9atf
+ (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...);
+
+320 \r\12
+ $¥r\9atf
+ (\ 5*
+__»¡riù
+
+__s
+,
+
+321 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...è
+__THROWNL
+;
+
+327 \r\12
+ `vår\9atf
+ (
+FILE
+ *
+__»¡riù
+
+__s
+, cÚ¡ \ 5*__»¡riù
+__fÜm©
+,
+
+328
+_G_va_li¡
+
+__¬g
+);
+
+333 \r\12
+ `v´\9atf
+ (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+_G_va_li¡
+
+__¬g
+);
+
+335 \r\12
+ $v¥r\9atf
+ (\ 5*
+__»¡riù
+
+__s
+, cÚ¡ \ 5*__»¡riù
+__fÜm©
+,
+
+336
+_G_va_li¡
+
+__¬g
+è
+__THROWNL
+;
+
+338 #ià
+def\9aed
+
+__USE_ISOC99
+ || def\9aed
+__USE_UNIX98
+
+
+340 \r\12
+ $¢´\9atf
+ (\ 5*
+__»¡riù
+
+__s
+,
+size_t
+
+__maxËn
+,
+
+341 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...)
+
+342
+__THROWNL
+
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__´\9atf__
+, 3, 4)));
+
+344 \r\12
+ $v¢´\9atf
+ (\ 5*
+__»¡riù
+
+__s
+,
+size_t
+
+__maxËn
+,
+
+345 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+_G_va_li¡
+
+__¬g
+)
+
+346
+__THROWNL
+
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__´\9atf__
+, 3, 0)));
+
+349 #ià
+ `__GLIBC_USE
+ (
+LIB_EXT2
+)
+
+352 \r\12
+ $va¥r\9atf
+ (\ 5**
+__»¡riù
+
+__±r
+, cÚ¡ \ 5*__»¡riù
+__f
+,
+
+353
+_G_va_li¡
+
+__¬g
+)
+
+354
+__THROWNL
+
+ `__©\8cibu\8b__
+ ((
+ $__fÜm©__
+ (
+__´\9atf__
+, 2, 0))è
+__wur
+;
+
+355 \r\12
+ $__a¥r\9atf
+ (\ 5**
+__»¡riù
+
+__±r
+,
+
+356 cڡ \ 5*
+__»¡riù
+
+__fmt
+, ...)
+
+357
+__THROWNL
+
+ `__©\8cibu\8b__
+ ((
+ $__fÜm©__
+ (
+__´\9atf__
+, 2, 3))è
+__wur
+;
+
+358 \r\12
+ $a¥r\9atf
+ (\ 5**
+__»¡riù
+
+__±r
+,
+
+359 cڡ \ 5*
+__»¡riù
+
+__fmt
+, ...)
+
+360
+__THROWNL
+
+ `__©\8cibu\8b__
+ ((
+ $__fÜm©__
+ (
+__´\9atf__
+, 2, 3))è
+__wur
+;
+
+363 #ifdeà
+__USE_XOPEN2K8
+
+
+365 \r\12
+ $vd´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+
+__fmt
+,
+
+366
+_G_va_li¡
+
+__¬g
+)
+
+367
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+368 \r\12
+ $d´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+
+__fmt
+, ...)
+
+369
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+377 \r\12
+ $fsÿnf
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+,
+
+378 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...è
+__wur
+;
+
+383 \r\12
+ $sÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...è
+__wur
+;
+
+385 \r\12
+ $ssÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__s
+,
+
+386 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...è
+__THROW
+;
+
+388 #ià
+def\9aed
+
+__USE_ISOC99
+ && !def\9aed
+__USE_GNU
+ \
+
+389 && (!
+def\9aed
+
+__LDBL_COMPAT
+ || !def\9aed
+__REDIRECT
+) \
+
+390 && (
+def\9aed
+
+__STRICT_ANSI__
+ || def\9aed
+__USE_XOPEN2K
+)
+
+391 #ifdeà
+__REDIRECT
+
+
+395 \r\12
+ `__REDIRECT
+ (
+fsÿnf
+, (
+FILE
+ *
+__»¡riù
+
+__¡»am
+,
+
+396 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...),
+
+397
+__isoc99_fsÿnf
+è
+__wur
+;
+
+398 \r\12
+ `__REDIRECT
+ (
+sÿnf
+, (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...),
+
+399
+__isoc99_sÿnf
+è
+__wur
+;
+
+400 \r\12
+ `__REDIRECT_NTH
+ (
+ssÿnf
+, (cڡ \ 5*
+__»¡riù
+
+__s
+,
+
+401 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...),
+
+402
+__isoc99_ssÿnf
+);
+
+404 \r\12
+ $__isoc99_fsÿnf
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+,
+
+405 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...è
+__wur
+;
+
+406 \r\12
+ $__isoc99_sÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...è
+__wur
+;
+
+407 \r\12
+ $__isoc99_ssÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__s
+,
+
+408 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...è
+__THROW
+;
+
+409 \ 1
+ #fsÿnf
+
+__isoc99_fsÿnf
+
+
+ )
+
+410 \ 1
+ #sÿnf
+
+__isoc99_sÿnf
+
+
+ )
+
+411 \ 1
+ #ssÿnf
+
+__isoc99_ssÿnf
+
+
+ )
+
+415 #ifdef
+__USE_ISOC99
+
+
+420 \r\12
+ $vfsÿnf
+ (
+FILE
+ *
+__»¡riù
+
+__s
+, cÚ¡ \ 5*__»¡riù
+__fÜm©
+,
+
+421
+_G_va_li¡
+
+__¬g
+)
+
+422
+ `__©\8cibu\8b__
+ ((
+ $__fÜm©__
+ (
+__sÿnf__
+, 2, 0))è
+__wur
+;
+
+428 \r\12
+ $vsÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+_G_va_li¡
+
+__¬g
+)
+
+429
+ `__©\8cibu\8b__
+ ((
+ $__fÜm©__
+ (
+__sÿnf__
+, 1, 0))è
+__wur
+;
+
+432 \r\12
+ $vssÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__s
+,
+
+433 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+_G_va_li¡
+
+__¬g
+)
+
+434
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+436 #ià!
+def\9aed
+
+__USE_GNU
+ \
+
+437 && (!
+def\9aed
+
+__LDBL_COMPAT
+ || !def\9aed
+__REDIRECT
+) \
+
+438 && (
+def\9aed
+
+__STRICT_ANSI__
+ || def\9aed
+__USE_XOPEN2K
+)
+
+439 #ifdeà
+__REDIRECT
+
+
+443 \r\12
+ `__REDIRECT
+ (
+vfsÿnf
+,
+
+444 (
+FILE
+ *
+__»¡riù
+
+__s
+,
+
+445 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+_G_va_li¡
+
+__¬g
+),
+
+446
+__isoc99_vfsÿnf
+)
+
+447
+ `__©\8cibu\8b__
+ ((
+ $__fÜm©__
+ (
+__sÿnf__
+, 2, 0))è
+__wur
+;
+
+448 \r\12
+ `__REDIRECT
+ (
+vsÿnf
+, (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+
+449
+_G_va_li¡
+
+__¬g
+),
+__isoc99_vsÿnf
+)
+
+450
+ `__©\8cibu\8b__
+ ((
+ $__fÜm©__
+ (
+__sÿnf__
+, 1, 0))è
+__wur
+;
+
+451 \r\12
+ `__REDIRECT_NTH
+ (
+vssÿnf
+,
+
+452 (cڡ \ 5*
+__»¡riù
+
+__s
+,
+
+453 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+
+454
+_G_va_li¡
+
+__¬g
+),
+__isoc99_vssÿnf
+)
+
+455
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+457 \r\12
+ $__isoc99_vfsÿnf
+ (
+FILE
+ *
+__»¡riù
+
+__s
+,
+
+458 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+
+459
+_G_va_li¡
+
+__¬g
+è
+__wur
+;
+
+460 \r\12
+ $__isoc99_vsÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+
+461
+_G_va_li¡
+
+__¬g
+è
+__wur
+;
+
+462 \r\12
+ $__isoc99_vssÿnf
+ (cڡ \ 5*
+__»¡riù
+
+__s
+,
+
+463 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+
+464
+_G_va_li¡
+
+__¬g
+è
+__THROW
+;
+
+465 \ 1
+ #vfsÿnf
+
+__isoc99_vfsÿnf
+
+
+ )
+
+466 \ 1
+ #vsÿnf
+
+__isoc99_vsÿnf
+
+
+ )
+
+467 \ 1
+ #vssÿnf
+
+__isoc99_vssÿnf
+
+
+ )
+
+477 \r\12
+ `fg\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+478 \r\12
+ `g\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+484 \r\12
+ `g\91ch¬
+ (\1e);
+
+488 \ 1
+ #g\91c
+(
+_å
+è
+ `_IO_g\91c
+ (_å)
+
+ )
+
+490 #ifdeà
+__USE_POSIX199506
+
+
+495 \r\12
+ `g\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+496 \r\12
+ `g\91ch¬_uÆocked
+ (\1e);
+
+499 #ifdeà
+__USE_MISC
+
+
+506 \r\12
+ `fg\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+517 \r\12
+ `åutc
+ (\12
+__c
+,
+FILE
+ *
+__¡»am
+);
+
+518 \r\12
+ `putc
+ (\12
+__c
+,
+FILE
+ *
+__¡»am
+);
+
+524 \r\12
+ `putch¬
+ (\12
+__c
+);
+
+528 \ 1
+ #putc
+(
+_ch
+,
+_å
+è
+ `_IO_putc
+ (_ch, _å)
+
+ )
+
+530 #ifdeà
+__USE_MISC
+
+
+537 \r\12
+ `åutc_uÆocked
+ (\12
+__c
+,
+FILE
+ *
+__¡»am
+);
+
+540 #ifdeà
+__USE_POSIX199506
+
+
+545 \r\12
+ `putc_uÆocked
+ (\12
+__c
+,
+FILE
+ *
+__¡»am
+);
+
+546 \r\12
+ `putch¬_uÆocked
+ (\12
+__c
+);
+
+550 #ià
+def\9aed
+
+__USE_MISC
+ \
+
+551 || (
+def\9aed
+
+__USE_XOPEN
+ && !def\9aed
+__USE_XOPEN2K
+)
+
+553 \r\12
+ `g\91w
+ (
+FILE
+ *
+__¡»am
+);
+
+556 \r\12
+ `putw
+ (\12
+__w
+,
+FILE
+ *
+__¡»am
+);
+
+564 \r\ 5*
+ $fg\91s
+ (\ 5*
+__»¡riù
+
+__s
+, \12
+__n
+,
+FILE
+ *__»¡riù
+__¡»am
+)
+
+565
+__wur
+;
+
+567 #ià
+ `__GLIBC_USE
+ (
+DEPRECATED_GETS
+)
+
+577 \r\ 5*
+ $g\91s
+ (\ 5*
+__s
+è
+__wur
+
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+580 #ifdeà
+__USE_GNU
+
+
+587 \r\ 5*
+ $fg\91s_uÆocked
+ (\ 5*
+__»¡riù
+
+__s
+, \12
+__n
+,
+
+588
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+592 #ià
+def\9aed
+
+__USE_XOPEN2K8
+ ||
+ `__GLIBC_USE
+ (
+LIB_EXT2
+)
+
+603 \r
+_IO_ssize_t
+
+ $__g\91d\96im
+ (\ 5**
+__»¡riù
+
+__l\9a\95\8c
+,
+
+604
+size_t
+ *
+__»¡riù
+
+__n
+, \12
+__d\96im\99\94
+,
+
+605
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+606 \r
+_IO_ssize_t
+
+ $g\91d\96im
+ (\ 5**
+__»¡riù
+
+__l\9a\95\8c
+,
+
+607
+size_t
+ *
+__»¡riù
+
+__n
+, \12
+__d\96im\99\94
+,
+
+608
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+616 \r
+_IO_ssize_t
+
+ $g\91l\9ae
+ (\ 5**
+__»¡riù
+
+__l\9a\95\8c
+,
+
+617
+size_t
+ *
+__»¡riù
+
+__n
+,
+
+618
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+626 \r\12
+ `åuts
+ (cڡ \ 5*
+__»¡riù
+
+__s
+,
+FILE
+ *__»¡riù
+__¡»am
+);
+
+632 \r\12
+ `puts
+ (cڡ \ 5*
+__s
+);
+
+639 \r\12
+ `ung\91c
+ (\12
+__c
+,
+FILE
+ *
+__¡»am
+);
+
+646 \r
+size_t
+
+ $ä\97d
+ (\1e*
+__»¡riù
+
+__±r
+,
+size_t
+
+__size
+,
+
+647
+size_t
+
+__n
+,
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+652 \r
+size_t
+
+ `fwr\99e
+ (cڡ \1e*
+__»¡riù
+
+__±r
+, size_\88
+__size
+,
+
+653
+size_t
+
+__n
+,
+FILE
+ *
+__»¡riù
+
+__s
+);
+
+655 #ifdeà
+__USE_GNU
+
+
+662 \r\12
+ `åuts_uÆocked
+ (cڡ \ 5*
+__»¡riù
+
+__s
+,
+
+663
+FILE
+ *
+__»¡riù
+
+__¡»am
+);
+
+666 #ifdeà
+__USE_MISC
+
+
+673 \r
+size_t
+
+ $ä\97d_uÆocked
+ (\1e*
+__»¡riù
+
+__±r
+,
+size_t
+
+__size
+,
+
+674
+size_t
+
+__n
+,
+FILE
+ *
+__»¡riù
+
+__¡»am
+è
+__wur
+;
+
+675 \r
+size_t
+
+ `fwr\99e_uÆocked
+ (cڡ \1e*
+__»¡riù
+
+__±r
+, size_\88
+__size
+,
+
+676
+size_t
+
+__n
+,
+FILE
+ *
+__»¡riù
+
+__¡»am
+);
+
+684 \r\12
+ `f£ek
+ (
+FILE
+ *
+__¡»am
+, \13\12
+__off
+, \12
+__wh\92û
+);
+
+689 \r\13\12
+ $á\96l
+ (
+FILE
+ *
+__¡»am
+è
+__wur
+;
+
+694 \r\1e
+ `»w\9ad
+ (
+FILE
+ *
+__¡»am
+);
+
+701 #ià
+def\9aed
+
+__USE_LARGEFILE
+ || def\9aed
+__USE_XOPEN2K
+
+
+702 #iâdeà
+__USE_FILE_OFFSET64
+
+
+707 \r\12
+ `f£eko
+ (
+FILE
+ *
+__¡»am
+,
+__off_t
+
+__off
+, \12
+__wh\92û
+);
+
+712 \r
+__off_t
+
+ $á\96lo
+ (
+FILE
+ *
+__¡»am
+è
+__wur
+;
+
+714 #ifdeà
+__REDIRECT
+
+
+715 \r\12
+ `__REDIRECT
+ (
+f£eko
+,
+
+716 (
+FILE
+ *
+__¡»am
+,
+__off64_t
+
+__off
+, \12
+__wh\92û
+),
+
+717
+f£eko64
+);
+
+718 \r
+__off64_t
+
+ `__REDIRECT
+ (
+á\96lo
+, (
+FILE
+ *
+__¡»am
+),
+á\96lo64
+);
+
+720 \ 1
+ #f£eko
+
+f£eko64
+
+
+ )
+
+721 \ 1
+ #á\96lo
+
+á\96lo64
+
+
+ )
+
+726 #iâdeà
+__USE_FILE_OFFSET64
+
+
+731 \r\12
+ `fg\91pos
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+,
+åos_t
+ *__»¡riù
+__pos
+);
+
+736 \r\12
+ `f£\8dos
+ (
+FILE
+ *
+__¡»am
+, cڡ
+åos_t
+ *
+__pos
+);
+
+738 #ifdeà
+__REDIRECT
+
+
+739 \r\12
+ `__REDIRECT
+ (
+fg\91pos
+, (
+FILE
+ *
+__»¡riù
+
+__¡»am
+,
+
+740
+åos_t
+ *
+__»¡riù
+
+__pos
+),
+fg\91pos64
+);
+
+741 \r\12
+ `__REDIRECT
+ (
+f£\8dos
+,
+
+742 (
+FILE
+ *
+__¡»am
+, cڡ
+åos_t
+ *
+__pos
+),
+f£\8dos64
+);
+
+744 \ 1
+ #fg\91pos
+
+fg\91pos64
+
+
+ )
+
+745 \ 1
+ #f£\8dos
+
+f£\8dos64
+
+
+ )
+
+749 #ifdeà
+__USE_LARGEFILE64
+
+
+750 \r\12
+ `f£eko64
+ (
+FILE
+ *
+__¡»am
+,
+__off64_t
+
+__off
+, \12
+__wh\92û
+);
+
+751 \r
+__off64_t
+
+ $á\96lo64
+ (
+FILE
+ *
+__¡»am
+è
+__wur
+;
+
+752 \r\12
+ `fg\91pos64
+ (
+FILE
+ *
+__»¡riù
+
+__¡»am
+,
+åos64_t
+ *__»¡riù
+__pos
+);
+
+753 \r\12
+ `f£\8dos64
+ (
+FILE
+ *
+__¡»am
+, cڡ
+åos64_t
+ *
+__pos
+);
+
+757 \r\1e
+ $þ\97»¼
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+;
+
+759 \r\12
+ $ãof
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+
+__wur
+;
+
+761 \r\12
+ $ã¼Ü
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+
+__wur
+;
+
+763 #ifdeà
+__USE_MISC
+
+
+765 \r\1e
+ $þ\97»¼_uÆocked
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+;
+
+766 \r\12
+ $ãof_uÆocked
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+
+__wur
+;
+
+767 \r\12
+ $ã¼Ü_uÆocked
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+
+__wur
+;
+
+775 \r\1e
+ `³¼Ü
+ (cڡ \ 5*
+__s
+);
+
+781 \ 2
+ ~<b\99s/sys_\94¾i¡.h
+>
+
+784 #ifdef
+__USE_POSIX
+
+
+786 \r\12
+ $f\9e\92o
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+
+__wur
+;
+
+789 #ifdeà
+__USE_MISC
+
+
+791 \r\12
+ $f\9e\92o_uÆocked
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+
+__wur
+;
+
+795 #ifdeà
+__USE_POSIX2
+
+
+800 \r
+FILE
+ *
+ $pݒ
+ (cڡ \ 5*
+__commªd
+, cڡ \ 5*
+__modes
+è
+__wur
+;
+
+806 \r\12
+ `pþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+810 #ifdef
+__USE_POSIX
+
+
+812 \r\ 5*
+ $ù\94mid
+ (\ 5*
+__s
+è
+__THROW
+;
+
+816 #ià(
+def\9aed
+
+__USE_XOPEN
+ && !def\9aed
+__USE_XOPEN2K
+è|| def\9aed
+__USE_GNU
+
+
+818 \r\ 5*
+ `cu£rid
+ (\ 5*
+__s
+);
+
+822 #ifdef
+__USE_GNU
+
+
+823 \19
+ob¡ack
+;
+
+826 \r\12
+ $ob¡ack_´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+
+__ob¡ack
+,
+
+827 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+, ...)
+
+828
+__THROWNL
+
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+829 \r\12
+ $ob¡ack_v´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+
+__ob¡ack
+,
+
+830 cڡ \ 5*
+__»¡riù
+
+__fÜm©
+,
+
+831
+_G_va_li¡
+
+__¬gs
+)
+
+832
+__THROWNL
+
+ `__©\8cibu\8b__
+ ((
+ `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+836 #ifdeà
+__USE_POSIX199506
+
+
+840 \r\1e
+ $æockf\9ee
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+;
+
+844 \r\12
+ $árylockf\9ee
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+
+__wur
+;
+
+847 \r\1e
+ $fuÆockf\9ee
+ (
+FILE
+ *
+__¡»am
+è
+__THROW
+;
+
+850 #ià
+def\9aed
+
+__USE_XOPEN
+ && !def\9aed
+__USE_XOPEN2K
+ && !def\9aed
+__USE_GNU
+
+
+853 \ 2
+ ~<b\99s/g\91Ýt_posix.h
+>
+
+858 #ifdeà
+__USE_EXTERN_INLINES
+
+
+859 \ 2
+ ~<b\99s/¡dio.h
+>
+
+861 #ià
+__USE_FORTIFY_LEVEL
+ > 0 &&
+def\9aed
+
+__fÜtify_funùiÚ
+
+
+862 \ 2
+ ~<b\99s/¡dio2.h
+>
+
+864 #ifdeà
+__LDBL_COMPAT
+
+
+865 \ 2
+ ~<b\99s/¡dio-ldbl.h
+>
+
+868
+__END_DECLS
+
+
+ @/usr/include/stdlib.h
+
+22 #iâdef
+_STDLIB_H
+
+
+24 \ 1
+ #__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
+
+
+ )
+
+25 \ 2
+ ~<b\99s/libc-h\97d\94-¡¬t.h
+>
+
+28 \ 1
+ #__Ãed_size_t
+
+
+ )
+
+29 \ 1
+ #__Ãed_wch¬_t
+
+
+ )
+
+30 \ 1
+ #__Ãed_NULL
+
+
+ )
+
+31 \ 2
+ ~<¡ddef.h
+>
+
+33
+ g__BEGIN_DECLS
+
+
+35 \ 1
+ #_STDLIB_H
+ 1
+
+ )
+
+37 #ià(
+def\9aed
+
+__USE_XOPEN
+ || def\9aed
+__USE_XOPEN2K8
+è&& !def\9aed
+_SYS_WAIT_H
+
+
+39 \ 2
+ ~<b\99s/wa\99æags.h
+>
+
+40 \ 2
+ ~<b\99s/wa\99¡©us.h
+>
+
+43 \ 1
+ #WEXITSTATUS
+(
+¡©us
+è
+ `__WEXITSTATUS
+ (¡©us)
+
+ )
+
+44 \ 1
+ #WTERMSIG
+(
+¡©us
+è
+ `__WTERMSIG
+ (¡©us)
+
+ )
+
+45 \ 1
+ #WSTOPSIG
+(
+¡©us
+è
+ `__WSTOPSIG
+ (¡©us)
+
+ )
+
+46 \ 1
+ #WIFEXITED
+(
+¡©us
+è
+ `__WIFEXITED
+ (¡©us)
+
+ )
+
+47 \ 1
+ #WIFSIGNALED
+(
+¡©us
+è
+ `__WIFSIGNALED
+ (¡©us)
+
+ )
+
+48 \ 1
+ #WIFSTOPPED
+(
+¡©us
+è
+ `__WIFSTOPPED
+ (¡©us)
+
+ )
+
+49 #ifdeà
+__WIFCONTINUED
+
+
+50 \ 1
+ #WIFCONTINUED
+(
+¡©us
+è
+ `__WIFCONTINUED
+ (¡©us)
+
+ )
+
+55 \ 2
+ ~<b\99s/æß\8a.h
+>
+
+60 \12
+ mquÙ
+;
+
+61 \12
+ m»m
+;
+
+62 }
+ tdiv_t
+;
+
+65 #iâdeà
+__ldiv_t_def\9aed
+
+
+68 \13\12
+ mquÙ
+;
+
+69 \13\12
+ m»m
+;
+
+70 }
+ tldiv_t
+;
+
+71 \ 1
+ #__ldiv_t_def\9aed
+ 1
+
+ )
+
+74 #ià
+def\9aed
+
+__USE_ISOC99
+ && !def\9aed
+__Îdiv_t_def\9aed
+
+
+76
+__ex\8bnsiÚ__
+ \estruct
+
+78 \13\13\12
+ mquÙ
+;
+
+79 \13\13\12
+ m»m
+;
+
+80 }
+ tÎdiv_t
+;
+
+81 \ 1
+ #__Îdiv_t_def\9aed
+ 1
+
+ )
+
+86 \ 1
+ #RAND_MAX
+ 2147483647
+
+ )
+
+91 \ 1
+ #EXIT_FAILURE
+ 1
+
+ )
+
+92 \ 1
+ #EXIT_SUCCESS
+ 0
+
+ )
+
+96 \ 1
+ #MB_CUR_MAX
+ (
+ `__ùy³_g\91_mb_cur_max
+ ())
+
+ )
+
+97 \r
+size_t
+
+ $__ùy³_g\91_mb_cur_max
+ (\1eè
+__THROW
+
+__wur
+;
+
+101 \r\b
+ $©of
+ (cڡ \ 5*
+__Ō
+)
+
+102
+__THROW
+
+__©\8cibu\8b_pu»__
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+104 \r\12
+ $©oi
+ (cڡ \ 5*
+__Ō
+)
+
+105
+__THROW
+
+__©\8cibu\8b_pu»__
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+107 \r\13\12
+ $©Þ
+ (cڡ \ 5*
+__Ō
+)
+
+108
+__THROW
+
+__©\8cibu\8b_pu»__
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+110 #ifdeà
+__USE_ISOC99
+
+
+112
+__ex\8bnsiÚ__
+ \r\13\13\12
+ $©Þl
+ (cڡ \ 5*
+__Ō
+)
+
+113
+__THROW
+
+__©\8cibu\8b_pu»__
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+117 \r\b
+ $¡¹od
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+118 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+119
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+121 #ifdef
+__USE_ISOC99
+
+
+123 \r\ e
+ $¡¹of
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+124 \ 5**
+__»¡riù
+
+__\92d±r
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+126 \r\13\b
+ $¡¹Þd
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+127 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+128
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+133 #ià
+__HAVE_FLOAT16
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+134 \r
+_Flßt16
+
+ $¡¹of16
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+135 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+136
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+139 #ià
+__HAVE_FLOAT32
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+140 \r
+_Flßt32
+
+ $¡¹of32
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+141 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+142
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+145 #ià
+__HAVE_FLOAT64
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+146 \r
+_Flßt64
+
+ $¡¹of64
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+147 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+148
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+151 #ià
+__HAVE_FLOAT128
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+152 \r
+_Flßt128
+
+ $¡¹of128
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+153 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+154
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+157 #ià
+__HAVE_FLOAT32X
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+158 \r
+_Flßt32x
+
+ $¡¹of32x
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+159 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+160
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+163 #ià
+__HAVE_FLOAT64X
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+164 \r
+_Flßt64x
+
+ $¡¹of64x
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+165 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+166
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+169 #ià
+__HAVE_FLOAT128X
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+170 \r
+_Flßt128x
+
+ $¡¹of128x
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+171 \ 5**
+__»¡riù
+
+__\92d±r
+)
+
+172
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+176 \r\13\12
+ $¡¹Þ
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+177 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+)
+
+178
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+180 \r\1d\13\12
+ $¡¹oul
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+181 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+)
+
+182
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+184 #ifdeà
+__USE_MISC
+
+
+186
+__ex\8bnsiÚ__
+
+
+187 \r\13\13\12
+ $¡¹oq
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+188 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+)
+
+189
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+191
+__ex\8bnsiÚ__
+
+
+192 \r\1d\13\13\12
+ $¡¹ouq
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+193 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+)
+
+194
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+197 #ifdeà
+__USE_ISOC99
+
+
+199
+__ex\8bnsiÚ__
+
+
+200 \r\13\13\12
+ $¡¹Þl
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+201 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+)
+
+202
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+204
+__ex\8bnsiÚ__
+
+
+205 \r\1d\13\13\12
+ $¡¹ouÎ
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+206 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+)
+
+207
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+211 #ià
+ `__GLIBC_USE
+ (
+IEC_60559_BFP_EXT
+)
+
+212 \r\12
+ $¡räomd
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+213 \b
+__f
+)
+
+214
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+216 \r\12
+ $¡räomf
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+217 \ e
+__f
+)
+
+218
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+220 \r\12
+ $¡räoml
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+221 \13\b
+__f
+)
+
+222
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+225 #ià
+__HAVE_FLOAT16
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+226 \r\12
+ $¡räomf16
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+227
+_Flßt16
+
+__f
+)
+
+228
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+231 #ià
+__HAVE_FLOAT32
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+232 \r\12
+ $¡räomf32
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+233
+_Flßt32
+
+__f
+)
+
+234
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+237 #ià
+__HAVE_FLOAT64
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+238 \r\12
+ $¡räomf64
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+239
+_Flßt64
+
+__f
+)
+
+240
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+243 #ià
+__HAVE_FLOAT128
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+244 \r\12
+ $¡räomf128
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+245
+_Flßt128
+
+__f
+)
+
+246
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+249 #ià
+__HAVE_FLOAT32X
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+250 \r\12
+ $¡räomf32x
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+251
+_Flßt32x
+
+__f
+)
+
+252
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+255 #ià
+__HAVE_FLOAT64X
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+256 \r\12
+ $¡räomf64x
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+257
+_Flßt64x
+
+__f
+)
+
+258
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+261 #ià
+__HAVE_FLOAT128X
+ &&
+ `__GLIBC_USE
+ (
+IEC_60559_TYPES_EXT
+)
+
+262 \r\12
+ $¡räomf128x
+ (\ 5*
+__de¡
+,
+size_t
+
+__size
+, cڡ \ 5*
+__fÜm©
+,
+
+263
+_Flßt128x
+
+__f
+)
+
+264
+__THROW
+
+ `__nÚnuÎ
+ ((3));
+
+268 #ifdeà
+__USE_GNU
+
+
+272 \ 2
+ ~<b\99s/ty³s/loÿË_t.h
+>
+
+274 \r\13\12
+ $¡¹Þ_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+275 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+,
+
+276
+loÿË_t
+
+__loc
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1, 4));
+
+278 \r\1d\13\12
+ $¡¹oul_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+279 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+280 \12
+__ba£
+,
+loÿË_t
+
+__loc
+)
+
+281
+__THROW
+
+ `__nÚnuÎ
+ ((1, 4));
+
+283
+__ex\8bnsiÚ__
+
+
+284 \r\13\13\12
+ $¡¹Þl_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+285 \ 5**
+__»¡riù
+
+__\92d±r
+, \12
+__ba£
+,
+
+286
+loÿË_t
+
+__loc
+)
+
+287
+__THROW
+
+ `__nÚnuÎ
+ ((1, 4));
+
+289
+__ex\8bnsiÚ__
+
+
+290 \r\1d\13\13\12
+ $¡¹ouÎ_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+291 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+292 \12
+__ba£
+,
+loÿË_t
+
+__loc
+)
+
+293
+__THROW
+
+ `__nÚnuÎ
+ ((1, 4));
+
+295 \r\b
+ $¡¹od_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+296 \ 5**
+__»¡riù
+
+__\92d±r
+,
+loÿË_t
+
+__loc
+)
+
+297
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+299 \r\ e
+ $¡¹of_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+300 \ 5**
+__»¡riù
+
+__\92d±r
+,
+loÿË_t
+
+__loc
+)
+
+301
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+303 \r\13\b
+ $¡¹Þd_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+304 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+305
+loÿË_t
+
+__loc
+)
+
+306
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+308 #ià
+__HAVE_FLOAT16
+
+
+309 \r
+_Flßt16
+
+ $¡¹of16_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+310 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+311
+loÿË_t
+
+__loc
+)
+
+312
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+315 #ià
+__HAVE_FLOAT32
+
+
+316 \r
+_Flßt32
+
+ $¡¹of32_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+317 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+318
+loÿË_t
+
+__loc
+)
+
+319
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+322 #ià
+__HAVE_FLOAT64
+
+
+323 \r
+_Flßt64
+
+ $¡¹of64_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+324 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+325
+loÿË_t
+
+__loc
+)
+
+326
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+329 #ià
+__HAVE_FLOAT128
+
+
+330 \r
+_Flßt128
+
+ $¡¹of128_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+331 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+332
+loÿË_t
+
+__loc
+)
+
+333
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+336 #ià
+__HAVE_FLOAT32X
+
+
+337 \r
+_Flßt32x
+
+ $¡¹of32x_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+338 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+339
+loÿË_t
+
+__loc
+)
+
+340
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+343 #ià
+__HAVE_FLOAT64X
+
+
+344 \r
+_Flßt64x
+
+ $¡¹of64x_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+345 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+346
+loÿË_t
+
+__loc
+)
+
+347
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+350 #ià
+__HAVE_FLOAT128X
+
+
+351 \r
+_Flßt128x
+
+ $¡¹of128x_l
+ (cڡ \ 5*
+__»¡riù
+
+__Ō
+,
+
+352 \ 5**
+__»¡riù
+
+__\92d±r
+,
+
+353
+loÿË_t
+
+__loc
+)
+
+354
+__THROW
+
+ `__nÚnuÎ
+ ((1, 3));
+
+359 #ifdeà
+__USE_EXTERN_INLINES
+
+
+360
+__ex\8bº_\9al\9ae
+ \12
+
+361
+ `__NTH
+ (
+ $©oi
+ (cڡ \ 5*
+__Ō
+))
+
+363 \15 (\12è
+ `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+364
+ }
+}
+
+365
+__ex\8bº_\9al\9ae
+ \13\12
+
+366
+__NTH
+ (
+ $©Þ
+ (cڡ \ 5*
+__Ō
+))
+
+368 \15
+ `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+369
+ }
+}
+
+371 #ifdeà
+__USE_ISOC99
+
+
+372
+__ex\8bnsiÚ__
+
+__ex\8bº_\9al\9ae
+ \13\13\12
+
+373
+__NTH
+ (
+ $©Þl
+ (cڡ \ 5*
+__Ō
+))
+
+375 \15
+ `¡¹Þl
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+376
+ }
+}
+
+381 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN_EXTENDED
+
+
+385 \r\ 5*
+ $l64a
+ (\13\12
+__n
+è
+__THROW
+
+__wur
+;
+
+388 \r\13\12
+ $a64l
+ (cڡ \ 5*
+__s
+)
+
+389
+__THROW
+
+__©\8cibu\8b_pu»__
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+393 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN_EXTENDED
+
+
+394 \ 2
+ ~<sys/ty³s.h
+>
+
+401 \r\13\12
+ $¿ndom
+ (\1eè
+__THROW
+;
+
+404 \r\1e
+ $¤ªdom
+ (\1d\12
+__£ed
+è
+__THROW
+;
+
+410 \r\ 5*
+ $\9a\99¡©e
+ (\1d\12
+__£ed
+, \ 5*
+__¡©ebuf
+,
+
+411
+size_t
+
+__¡©\96\92
+è
+__THROW
+
+ `__nÚnuÎ
+ ((2));
+
+415 \r\ 5*
+ $£t¡©e
+ (\ 5*
+__¡©ebuf
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+418 #ifdeà
+__USE_MISC
+
+
+423 \19
+ s¿ndom_d©a
+
+
+425
+\9at32_t
+ *
+å\8c
+;
+
+426
+\9at32_t
+ *
+½\8c
+;
+
+427
+\9at32_t
+ *
+¡©e
+;
+
+428 \12
+¿nd_ty³
+;
+
+429 \12
+¿nd_deg
+;
+
+430 \12
+¿nd_£p
+;
+
+431
+\9at32_t
+ *
+\92d_±r
+;
+
+434 \r\12
+ $¿ndom_r
+ (\19
+¿ndom_d©a
+ *
+__»¡riù
+
+__buf
+,
+
+435
+\9at32_t
+ *
+__»¡riù
+
+__»suÉ
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+437 \r\12
+ $¤ªdom_r
+ (\1d\12
+__£ed
+, \19
+¿ndom_d©a
+ *
+__buf
+)
+
+438
+__THROW
+
+ `__nÚnuÎ
+ ((2));
+
+440 \r\12
+ $\9a\99¡©e_r
+ (\1d\12
+__£ed
+, \ 5*
+__»¡riù
+
+__¡©ebuf
+,
+
+441
+size_t
+
+__¡©\96\92
+,
+
+442 \19
+¿ndom_d©a
+ *
+__»¡riù
+
+__buf
+)
+
+443
+__THROW
+
+ `__nÚnuÎ
+ ((2, 4));
+
+445 \r\12
+ $£t¡©e_r
+ (\ 5*
+__»¡riù
+
+__¡©ebuf
+,
+
+446 \19
+¿ndom_d©a
+ *
+__»¡riù
+
+__buf
+)
+
+447
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+453 \r\12
+ $¿nd
+ (\1eè
+__THROW
+;
+
+455 \r\1e
+ $¤ªd
+ (\1d\12
+__£ed
+è
+__THROW
+;
+
+457 #ifdeà
+__USE_POSIX199506
+
+
+459 \r\12
+ $¿nd_r
+ (\1d\12*
+__£ed
+è
+__THROW
+;
+
+463 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN
+
+
+467 \r\b
+ $d¿nd48
+ (\1eè
+__THROW
+;
+
+468 \r\b
+ $\94ªd48
+ (\1d\16\12
+__xsubi
+[3]è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+471 \r\13\12
+ $̪d48
+ (\1eè
+__THROW
+;
+
+472 \r\13\12
+ $Īd48
+ (\1d\16\12
+__xsubi
+[3])
+
+473
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+476 \r\13\12
+ $m¿nd48
+ (\1eè
+__THROW
+;
+
+477 \r\13\12
+ $j¿nd48
+ (\1d\16\12
+__xsubi
+[3])
+
+478
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+481 \r\1e
+ $¤ªd48
+ (\13\12
+__£edv®
+è
+__THROW
+;
+
+482 \r\1d\16\12*
+ $£ed48
+ (\1d\16\12
+__£ed16v
+[3])
+
+483
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+484 \r\1e
+ $lcÚg48
+ (\1d\16\12
+__·¿m
+[7]è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+486 #ifdeà
+__USE_MISC
+
+
+490 \19
+ sd¿nd48_d©a
+
+
+492 \1d\16\12
+__x
+[3];
+
+493 \1d\16\12
+__Þd_x
+[3];
+
+494 \1d\16\12
+__c
+;
+
+495 \1d\16\12
+__\9a\99
+;
+
+496
+__ex\8bnsiÚ__
+ \1d\13\13\12
+__a
+;
+
+501 \r\12
+ $d¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+
+__bufãr
+,
+
+502 \b*
+__»¡riù
+
+__»suÉ
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+503 \r\12
+ $\94ªd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+504 \19
+d¿nd48_d©a
+ *
+__»¡riù
+
+__bufãr
+,
+
+505 \b*
+__»¡riù
+
+__»suÉ
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+508 \r\12
+ $̪d48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+
+__bufãr
+,
+
+509 \13\12*
+__»¡riù
+
+__»suÉ
+)
+
+510
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+511 \r\12
+ $Īd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+512 \19
+d¿nd48_d©a
+ *
+__»¡riù
+
+__bufãr
+,
+
+513 \13\12*
+__»¡riù
+
+__»suÉ
+)
+
+514
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+517 \r\12
+ $m¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+
+__bufãr
+,
+
+518 \13\12*
+__»¡riù
+
+__»suÉ
+)
+
+519
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+520 \r\12
+ $j¿nd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+521 \19
+d¿nd48_d©a
+ *
+__»¡riù
+
+__bufãr
+,
+
+522 \13\12*
+__»¡riù
+
+__»suÉ
+)
+
+523
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+526 \r\12
+ $¤ªd48_r
+ (\13\12
+__£edv®
+, \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+527
+__THROW
+
+ `__nÚnuÎ
+ ((2));
+
+529 \r\12
+ $£ed48_r
+ (\1d\16\12
+__£ed16v
+[3],
+
+530 \19
+d¿nd48_d©a
+ *
+__bufãr
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+532 \r\12
+ $lcÚg48_r
+ (\1d\16\12
+__·¿m
+[7],
+
+533 \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+534
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2));
+
+539 \r\1e*
+ $m®loc
+ (
+size_t
+
+__size
+è
+__THROW
+
+__©\8cibu\8b_m®loc__
+
+__wur
+;
+
+541 \r\1e*
+ $ÿÎoc
+ (
+size_t
+
+__nmemb
+, size_\88
+__size
+)
+
+542
+__THROW
+
+__©\8cibu\8b_m®loc__
+
+__wur
+;
+
+549 \r\1e*
+ $»®loc
+ (\1e*
+__±r
+,
+size_t
+
+__size
+)
+
+550
+__THROW
+
+__©\8cibu\8b_w¬n_unu£d_»suÉ__
+;
+
+552 #ifdeà
+__USE_GNU
+
+
+558 \r\1e*
+ $»®loÿ¼ay
+ (\1e*
+__±r
+,
+size_t
+
+__nmemb
+, size_\88
+__size
+)
+
+559
+__THROW
+
+__©\8cibu\8b_w¬n_unu£d_»suÉ__
+;
+
+563 \r\1e
+ $ä\93
+ (\1e*
+__±r
+è
+__THROW
+;
+
+565 #ifdeà
+__USE_MISC
+
+
+566 \ 2
+ ~<®loÿ.h
+>
+
+569 #ià(
+def\9aed
+
+__USE_XOPEN_EXTENDED
+ && !def\9aed
+__USE_XOPEN2K
+) \
+
+570 ||
+def\9aed
+
+__USE_MISC
+
+
+572 \r\1e*
+ $v®loc
+ (
+size_t
+
+__size
+è
+__THROW
+
+__©\8cibu\8b_m®loc__
+
+__wur
+;
+
+575 #ifdeà
+__USE_XOPEN2K
+
+
+577 \r\12
+ $posix_mem®ign
+ (\1e**
+__mem±r
+,
+size_t
+
+__®ignm\92t
+, size_\88
+__size
+)
+
+578
+__THROW
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+581 #ifdeà
+__USE_ISOC11
+
+
+583 \r\1e*
+ $®igÃd_®loc
+ (
+size_t
+
+__®ignm\92t
+, size_\88
+__size
+)
+
+584
+__THROW
+
+__©\8cibu\8b_m®loc__
+
+ `__©\8cibu\8b_®loc_size__
+ ((2)è
+__wur
+;
+
+588 \r\1e
+ $abÜt
+ (\1eè
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+592 \r\12
+ $©ex\99
+ (\1e(*
+__func
+è(\1e)è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+594 #ià
+def\9aed
+
+__USE_ISOC11
+ || def\9aed
+__USE_ISOCXX11
+
+
+596 #ifdeà
+__ýlu¥lus
+
+
+597 \r"C++" \12
+ $©_quick_ex\99
+ (\1e(*
+__func
+) (\1e))
+
+598
+__THROW
+
+ `__asm
+ ("©_quick_ex\99"è
+ `__nÚnuÎ
+ ((1));
+
+600 \r\12
+ $©_quick_ex\99
+ (\1e(*
+__func
+è(\1e)è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+604 #ifdef
+__USE_MISC
+
+
+607 \r\12
+ $Ú_ex\99
+ (\1e(*
+__func
+è(\12
+__¡©us
+, \1e*
+__¬g
+), \1e*__arg)
+
+608
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+614 \r\1e
+ $ex\99
+ (\12
+__¡©us
+è
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+616 #ià
+def\9aed
+
+__USE_ISOC11
+ || def\9aed
+__USE_ISOCXX11
+
+
+620 \r\1e
+ $quick_ex\99
+ (\12
+__¡©us
+è
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+623 #ifdeà
+__USE_ISOC99
+
+
+626 \r\1e
+ $_Ex\99
+ (\12
+__¡©us
+è
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+631 \r\ 5*
+ $g\91\92v
+ (cڡ \ 5*
+__Çme
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+633 #ifdeà
+__USE_GNU
+
+
+636 \r\ 5*
+ $£cu»_g\91\92v
+ (cڡ \ 5*
+__Çme
+)
+
+637
+__THROW
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+640 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN
+
+
+644 \r\12
+ $pu\8bnv
+ (\ 5*
+__¡r\9ag
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+647 #ifdeà
+__USE_XOPEN2K
+
+
+650 \r\12
+ $£\8bnv
+ (cڡ \ 5*
+__Çme
+, cڡ \ 5*
+__v®ue
+, \12
+__»¶aû
+)
+
+651
+__THROW
+
+ `__nÚnuÎ
+ ((2));
+
+654 \r\12
+ $un£\8bnv
+ (cڡ \ 5*
+__Çme
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+657 #ifdef
+__USE_MISC
+
+
+661 \r\12
+ $þ\97»nv
+ (\1eè
+__THROW
+;
+
+665 #ià
+def\9aed
+
+__USE_MISC
+ \
+
+666 || (
+def\9aed
+
+__USE_XOPEN_EXTENDED
+ && !def\9aed
+__USE_XOPEN2K8
+)
+
+672 \r\ 5*
+ $mk\8bmp
+ (\ 5*
+__\8bm¶©e
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+675 #ià
+def\9aed
+
+__USE_XOPEN_EXTENDED
+ || def\9aed
+__USE_XOPEN2K8
+
+
+684 #iâdeà
+__USE_FILE_OFFSET64
+
+
+685 \r\12
+ $mk¡emp
+ (\ 5*
+__\8bm¶©e
+è
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+687 #ifdeà
+__REDIRECT
+
+
+688 \r\12
+ `__REDIRECT
+ (
+mk¡emp
+, (\ 5*
+__\8bm¶©e
+),
+mk¡emp64
+)
+
+689
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+691 \ 1
+ #mk¡emp
+
+mk¡emp64
+
+
+ )
+
+694 #ifdeà
+__USE_LARGEFILE64
+
+
+695 \r\12
+ $mk¡emp64
+ (\ 5*
+__\8bm¶©e
+è
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+699 #ifdeà
+__USE_MISC
+
+
+706 #iâdeà
+__USE_FILE_OFFSET64
+
+
+707 \r\12
+ $mk¡emps
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+è
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+709 #ifdeà
+__REDIRECT
+
+
+710 \r\12
+ `__REDIRECT
+ (
+mk¡emps
+, (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+),
+
+711
+mk¡emps64
+è
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+713 \ 1
+ #mk¡emps
+
+mk¡emps64
+
+
+ )
+
+716 #ifdeà
+__USE_LARGEFILE64
+
+
+717 \r\12
+ $mk¡emps64
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+)
+
+718
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+722 #ifdeà
+__USE_XOPEN2K8
+
+
+728 \r\ 5*
+ $mkd\8bmp
+ (\ 5*
+__\8bm¶©e
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+731 #ifdeà
+__USE_GNU
+
+
+738 #iâdeà
+__USE_FILE_OFFSET64
+
+
+739 \r\12
+ $mko¡emp
+ (\ 5*
+__\8bm¶©e
+, \12
+__æags
+è
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+741 #ifdeà
+__REDIRECT
+
+
+742 \r\12
+ `__REDIRECT
+ (
+mko¡emp
+, (\ 5*
+__\8bm¶©e
+, \12
+__æags
+),
+mko¡emp64
+)
+
+743
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+745 \ 1
+ #mko¡emp
+
+mko¡emp64
+
+
+ )
+
+748 #ifdeà
+__USE_LARGEFILE64
+
+
+749 \r\12
+ $mko¡emp64
+ (\ 5*
+__\8bm¶©e
+, \12
+__æags
+è
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+758 #iâdeà
+__USE_FILE_OFFSET64
+
+
+759 \r\12
+ $mko¡emps
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+, \12
+__æags
+)
+
+760
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+762 #ifdeà
+__REDIRECT
+
+
+763 \r\12
+ `__REDIRECT
+ (
+mko¡emps
+, (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+,
+
+764 \12
+__æags
+),
+mko¡emps64
+)
+
+765
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+767 \ 1
+ #mko¡emps
+
+mko¡emps64
+
+
+ )
+
+770 #ifdeà
+__USE_LARGEFILE64
+
+
+771 \r\12
+ $mko¡emps64
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+, \12
+__æags
+)
+
+772
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+781 \r\12
+ $sy¡em
+ (cڡ \ 5*
+__commªd
+è
+__wur
+;
+
+784 #ifdef
+__USE_GNU
+
+
+787 \r\ 5*
+ $ÿnÚiÿlize_f\9ee_Çme
+ (cڡ \ 5*
+__Çme
+)
+
+788
+__THROW
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+791 #ià
+def\9aed
+
+__USE_MISC
+ || def\9aed
+__USE_XOPEN_EXTENDED
+
+
+797 \r\ 5*
+ $»®·th
+ (cڡ \ 5*
+__»¡riù
+
+__Çme
+,
+
+798 \ 5*
+__»¡riù
+
+__»sÞved
+è
+__THROW
+
+__wur
+;
+
+803 #iâdeà
+__COMPAR_FN_T
+
+
+804 \ 1
+ #__COMPAR_FN_T
+
+
+ )
+
+805 \e\12(*
+ t__com·r_â_t
+) (const \1e*, const \1e*);
+
+807 #ifdef
+__USE_GNU
+
+
+808 \e
+__com·r_â_t
+
+ tcom·risÚ_â_t
+;
+
+811 #ifdeà
+__USE_GNU
+
+
+812 \e\12(*
+ t__com·r_d_â_t
+) (const \1e*, const \1e*, \1e*);
+
+817 \r\1e*
+ $b£¬ch
+ (cڡ \1e*
+__key
+, cڡ \1e*
+__ba£
+,
+
+818
+size_t
+
+__nmemb
+, size_\88
+__size
+,
+__com·r_â_t
+
+__com·r
+)
+
+819
+ `__nÚnuÎ
+ ((1, 2, 5)è
+__wur
+;
+
+821 #ifdeà
+__USE_EXTERN_INLINES
+
+
+822 \ 2
+ ~<b\99s/¡dlib-b£¬ch.h
+>
+
+827 \r\1e
+ $qsÜt
+ (\1e*
+__ba£
+,
+size_t
+
+__nmemb
+, size_\88
+__size
+,
+
+828
+__com·r_â_t
+
+__com·r
+è
+ `__nÚnuÎ
+ ((1, 4));
+
+829 #ifdeà
+__USE_GNU
+
+
+830 \r\1e
+ $qsÜt_r
+ (\1e*
+__ba£
+,
+size_t
+
+__nmemb
+, size_\88
+__size
+,
+
+831
+__com·r_d_â_t
+
+__com·r
+, \1e*
+__¬g
+)
+
+832
+ `__nÚnuÎ
+ ((1, 4));
+
+837 \r\12
+ $abs
+ (\12
+__x
+è
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+838 \r\13\12
+ $Ïbs
+ (\13\12
+__x
+è
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+840 #ifdeà
+__USE_ISOC99
+
+
+841
+__ex\8bnsiÚ__
+ \r\13\13\12
+ $Îabs
+ (\13\13\12
+__x
+)
+
+842
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+849 \r
+div_t
+
+ $div
+ (\12
+__num\94
+, \12
+__d\92om
+)
+
+850
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+851 \r
+ldiv_t
+
+ $ldiv
+ (\13\12
+__num\94
+, \13\12
+__d\92om
+)
+
+852
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+854 #ifdeà
+__USE_ISOC99
+
+
+855
+__ex\8bnsiÚ__
+ \r
+Îdiv_t
+
+ $Îdiv
+ (\13\13\12
+__num\94
+,
+
+856 \13\13\12
+__d\92om
+)
+
+857
+__THROW
+
+ `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+861 #ià(
+def\9aed
+
+__USE_XOPEN_EXTENDED
+ && !def\9aed
+__USE_XOPEN2K8
+) \
+
+862 ||
+def\9aed
+
+__USE_MISC
+
+
+869 \r\ 5*
+ $ecvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+
+__deýt
+,
+
+870 \12*
+__»¡riù
+
+__sign
+è
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+875 \r\ 5*
+ $fcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+
+__deýt
+,
+
+876 \12*
+__»¡riù
+
+__sign
+è
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+881 \r\ 5*
+ $gcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+882
+__THROW
+
+ `__nÚnuÎ
+ ((3)è
+__wur
+;
+
+885 #ifdeà
+__USE_MISC
+
+
+887 \r\ 5*
+ $qecvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+888 \12*
+__»¡riù
+
+__deýt
+, \12*__»¡riù
+__sign
+)
+
+889
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+890 \r\ 5*
+ $qfcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+891 \12*
+__»¡riù
+
+__deýt
+, \12*__»¡riù
+__sign
+)
+
+892
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+893 \r\ 5*
+ $qgcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+894
+__THROW
+
+ `__nÚnuÎ
+ ((3)è
+__wur
+;
+
+899 \r\12
+ $ecvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+
+__deýt
+,
+
+900 \12*
+__»¡riù
+
+__sign
+, \ 5*__»¡riù
+__buf
+,
+
+901
+size_t
+
+__Ën
+è
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4, 5));
+
+902 \r\12
+ $fcvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+
+__deýt
+,
+
+903 \12*
+__»¡riù
+
+__sign
+, \ 5*__»¡riù
+__buf
+,
+
+904
+size_t
+
+__Ën
+è
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4, 5));
+
+906 \r\12
+ $qecvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+907 \12*
+__»¡riù
+
+__deýt
+, \12*__»¡riù
+__sign
+,
+
+908 \ 5*
+__»¡riù
+
+__buf
+,
+size_t
+
+__Ën
+)
+
+909
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4, 5));
+
+910 \r\12
+ $qfcvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+911 \12*
+__»¡riù
+
+__deýt
+, \12*__»¡riù
+__sign
+,
+
+912 \ 5*
+__»¡riù
+
+__buf
+,
+size_t
+
+__Ën
+)
+
+913
+__THROW
+
+ `__nÚnuÎ
+ ((3, 4, 5));
+
+919 \r\12
+ $mbËn
+ (cڡ \ 5*
+__s
+,
+size_t
+
+__n
+è
+__THROW
+;
+
+922 \r\12
+ $mbtowc
+ (
+wch¬_t
+ *
+__»¡riù
+
+__pwc
+,
+
+923 cڡ \ 5*
+__»¡riù
+
+__s
+,
+size_t
+
+__n
+è
+__THROW
+;
+
+926 \r\12
+ $wùomb
+ (\ 5*
+__s
+,
+wch¬_t
+
+__wch¬
+è
+__THROW
+;
+
+930 \r
+size_t
+
+ $mb¡owcs
+ (
+wch¬_t
+ *
+__»¡riù
+
+__pwcs
+,
+
+931 cڡ \ 5*
+__»¡riù
+
+__s
+,
+size_t
+
+__n
+è
+__THROW
+;
+
+933 \r
+size_t
+
+ $wc¡ombs
+ (\ 5*
+__»¡riù
+
+__s
+,
+
+934 cڡ
+wch¬_t
+ *
+__»¡riù
+
+__pwcs
+,
+size_t
+
+__n
+)
+
+935
+__THROW
+;
+
+938 #ifdeà
+__USE_MISC
+
+
+943 \r\12
+ $½m©ch
+ (cڡ \ 5*
+__»¥Ú£
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+947 #ià
+def\9aed
+
+__USE_XOPEN_EXTENDED
+ || def\9aed
+__USE_XOPEN2K8
+
+
+954 \r\12
+ $g\91subÝt
+ (\ 5**
+__»¡riù
+
+__ÝtiÚp
+,
+
+955 \ 5*cڡ *
+__»¡riù
+
+__tok\92s
+,
+
+956 \ 5**
+__»¡riù
+
+__v®u\95
+)
+
+957
+__THROW
+
+ `__nÚnuÎ
+ ((1, 2, 3)è
+__wur
+;
+
+961 #ifdeà
+__USE_XOPEN
+
+
+963 \r\1e
+ $£tkey
+ (cڡ \ 5*
+__key
+è
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+969 #ifdeà
+__USE_XOPEN2KXSI
+
+
+971 \r\12
+ $posix_Ý\92±
+ (\12
+__oæag
+è
+__wur
+;
+
+974 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+979 \r\12
+ $g¿Á±
+ (\12
+__fd
+è
+__THROW
+;
+
+983 \r\12
+ $uÆock±
+ (\12
+__fd
+è
+__THROW
+;
+
+988 \r\ 5*
+ $±¢ame
+ (\12
+__fd
+è
+__THROW
+
+__wur
+;
+
+991 #ifdeà
+__USE_GNU
+
+
+995 \r\12
+ $±¢ame_r
+ (\12
+__fd
+, \ 5*
+__buf
+,
+size_t
+
+__buæ\92
+)
+
+996
+__THROW
+
+ `__nÚnuÎ
+ ((2));
+
+999 \r\12
+ `g\91±
+ (\1e);
+
+1002 #ifdeà
+__USE_MISC
+
+
+1006 \r\12
+ $g\91lßdavg
+ (\b
+__lßdavg
+[], \12
+__ÃËm
+)
+
+1007
+__THROW
+
+ `__nÚnuÎ
+ ((1));
+
+1010 #ià
+def\9aed
+
+__USE_XOPEN_EXTENDED
+ && !def\9aed
+__USE_XOPEN2K
+
+
+1013 \r\12
+ $\89y¦Ù
+ (\1eè
+__THROW
+;
+
+1016 \ 2
+ ~<b\99s/¡dlib-æßt.h
+>
+
+1019 #ià
+__USE_FORTIFY_LEVEL
+ > 0 &&
+def\9aed
+
+__fÜtify_funùiÚ
+
+
+1020 \ 2
+ ~<b\99s/¡dlib.h
+>
+
+1022 #ifdeà
+__LDBL_COMPAT
+
+
+1023 \ 2
+ ~<b\99s/¡dlib-ldbl.h
+>
+
+1026
+__END_DECLS
+
+
+ @/usr/include/alloca.h
+
+18 #iâdef
+_ALLOCA_H
+
+
+19 \ 1
+ #_ALLOCA_H
+ 1
+
+ )
+
+21 \ 2
+ ~<ã©u»s.h
+>
+
+23 \ 1
+ #__Ãed_size_t
+
+
+ )
+
+24 \ 2
+ ~<¡ddef.h
+>
+
+26
+ g__BEGIN_DECLS
+
+
+29 #undeà
+®loÿ
+
+
+32 \r\1e*
+ $®loÿ
+ (
+size_t
+
+__size
+è
+__THROW
+;
+
+34 #ifdef
+__GNUC__
+
+
+35 \ 1
+ #®loÿ
+(
+size
+è
+ `__bu\9et\9a_®loÿ
+ (size)
+
+ )
+
+38
+__END_DECLS
+
+
+ @/usr/include/features.h
+
+18 #iâdef
+_FEATURES_H
+
+
+19 \ 1
+ #_FEATURES_H
+ 1
+
+ )
+
+119 #undeà
+__USE_ISOC11
+
+
+120 #undeà
+__USE_ISOC99
+
+
+121 #undeà
+__USE_ISOC95
+
+
+122 #undeà
+__USE_ISOCXX11
+
+
+123 #undeà
+__USE_POSIX
+
+
+124 #undeà
+__USE_POSIX2
+
+
+125 #undeà
+__USE_POSIX199309
+
+
+126 #undeà
+__USE_POSIX199506
+
+
+127 #undeà
+__USE_XOPEN
+
+
+128 #undeà
+__USE_XOPEN_EXTENDED
+
+
+129 #undeà
+__USE_UNIX98
+
+
+130 #undeà
+__USE_XOPEN2K
+
+
+131 #undeà
+__USE_XOPEN2KXSI
+
+
+132 #undeà
+__USE_XOPEN2K8
+
+
+133 #undeà
+__USE_XOPEN2K8XSI
+
+
+134 #undeà
+__USE_LARGEFILE
+
+
+135 #undeà
+__USE_LARGEFILE64
+
+
+136 #undeà
+__USE_FILE_OFFSET64
+
+
+137 #undeà
+__USE_MISC
+
+
+138 #undeà
+__USE_ATFILE
+
+
+139 #undeà
+__USE_GNU
+
+
+140 #undeà
+__USE_FORTIFY_LEVEL
+
+
+141 #undeà
+__KERNEL_STRICT_NAMES
+
+
+142 #undeà
+__GLIBC_USE_DEPRECATED_GETS
+
+
+146 #iâdeà
+_LOOSE_KERNEL_NAMES
+
+
+147 \ 1
+ #__KERNEL_STRICT_NAMES
+
+
+ )
+
+157 #ià
+def\9aed
+
+__GNUC__
+ && def\9aed
+__GNUC_MINOR__
+
+
+158 \ 1
+ #__GNUC_PREREQ
+(
+maj
+,
+m\9a
+) \
+
+159 ((
+__GNUC__
+ << 16è+
+__GNUC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+ )
+
+161 \ 1
+ #__GNUC_PREREQ
+(
+maj
+,
+m\9a
+è0
+
+ )
+
+168 #ià
+def\9aed
+
+__þªg_majÜ__
+ && def\9aed
+__þªg_m\9aÜ__
+
+
+169 \ 1
+ #__glibc_þªg_´\94eq
+(
+maj
+,
+m\9a
+) \
+
+170 ((
+__þªg_majÜ__
+ << 16è+
+__þªg_m\9aÜ__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+ )
+
+172 \ 1
+ #__glibc_þªg_´\94eq
+(
+maj
+,
+m\9a
+è0
+
+ )
+
+176 \ 1
+ #__GLIBC_USE
+(
+F
+è
+__GLIBC_USE_
+ ##
+ )
+F
+
+182 #ià(
+def\9aed
+
+_BSD_SOURCE
+ || def\9aed
+_SVID_SOURCE
+) \
+
+183 && !
+def\9aed
+
+ g_DEFAULT_SOURCE
+
+
+185 #undeà
+_DEFAULT_SOURCE
+
+
+186 \ 1
+ #_DEFAULT_SOURCE
+ 1
+
+ )
+
+190 #ifdeà
+_GNU_SOURCE
+
+
+191 #undeà
+_ISOC95_SOURCE
+
+
+192 \ 1
+ #_ISOC95_SOURCE
+ 1
+
+ )
+
+193 #undeà
+_ISOC99_SOURCE
+
+
+194 \ 1
+ #_ISOC99_SOURCE
+ 1
+
+ )
+
+195 #undeà
+_ISOC11_SOURCE
+
+
+196 \ 1
+ #_ISOC11_SOURCE
+ 1
+
+ )
+
+197 #undeà
+_POSIX_SOURCE
+
+
+198 \ 1
+ #_POSIX_SOURCE
+ 1
+
+ )
+
+199 #undeà
+_POSIX_C_SOURCE
+
+
+200 \ 1
+ #_POSIX_C_SOURCE
+ 200809L
+
+ )
+
+201 #undeà
+_XOPEN_SOURCE
+
+
+202 \ 1
+ #_XOPEN_SOURCE
+ 700
+
+ )
+
+203 #undeà
+_XOPEN_SOURCE_EXTENDED
+
+
+204 \ 1
+ #_XOPEN_SOURCE_EXTENDED
+ 1
+
+ )
+
+205 #undeà
+_LARGEFILE64_SOURCE
+
+
+206 \ 1
+ #_LARGEFILE64_SOURCE
+ 1
+
+ )
+
+207 #undeà
+_DEFAULT_SOURCE
+
+
+208 \ 1
+ #_DEFAULT_SOURCE
+ 1
+
+ )
+
+209 #undeà
+_ATFILE_SOURCE
+
+
+210 \ 1
+ #_ATFILE_SOURCE
+ 1
+
+ )
+
+215 #ià(
+def\9aed
+
+_DEFAULT_SOURCE
+ \
+
+216 || (!
+def\9aed
+
+ g__STRICT_ANSI__
+ \
+
+217 && !
+def\9aed
+
+ g_ISOC99_SOURCE
+ \
+
+218 && !
+def\9aed
+
+ g_POSIX_SOURCE
+ && !def\9aed
+ g_POSIX_C_SOURCE
+ \
+
+219 && !
+def\9aed
+
+ g_XOPEN_SOURCE
+))
+
+220 #undeà
+_DEFAULT_SOURCE
+
+
+221 \ 1
+ #_DEFAULT_SOURCE
+ 1
+
+ )
+
+225 #ià(
+def\9aed
+
+_ISOC11_SOURCE
+ \
+
+226 || (
+def\9aed
+
+ g__STDC_VERSION__
+ && __STDC_VERSION__ >= 201112L))
+
+227 \ 1
+ #__USE_ISOC11
+ 1
+
+ )
+
+231 #ià(
+def\9aed
+
+_ISOC99_SOURCE
+ || def\9aed
+_ISOC11_SOURCE
+ \
+
+232 || (
+def\9aed
+
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L))
+
+233 \ 1
+ #__USE_ISOC99
+ 1
+
+ )
+
+237 #ià(
+def\9aed
+
+_ISOC99_SOURCE
+ || def\9aed
+_ISOC11_SOURCE
+ \
+
+238 || (
+def\9aed
+
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199409L))
+
+239 \ 1
+ #__USE_ISOC95
+ 1
+
+ )
+
+242 #ifdeà
+__ýlu¥lus
+
+
+244 #ià
+__ýlu¥lus
+ >= 201703L
+
+245 \ 1
+ #__USE_ISOC11
+ 1
+
+ )
+
+249 #ià
+__ýlu¥lus
+ >ð201103L ||
+def\9aed
+
+__GXX_EXPERIMENTAL_CXX0X__
+
+
+250 \ 1
+ #__USE_ISOCXX11
+ 1
+
+ )
+
+251 \ 1
+ #__USE_ISOC99
+ 1
+
+ )
+
+258 #ifdeà
+_DEFAULT_SOURCE
+
+
+259 #ià!
+def\9aed
+
+_POSIX_SOURCE
+ && !def\9aed
+_POSIX_C_SOURCE
+
+
+260 \ 1
+ #__USE_POSIX_IMPLICITLY
+ 1
+
+ )
+
+262 #undeà
+_POSIX_SOURCE
+
+
+263 \ 1
+ #_POSIX_SOURCE
+ 1
+
+ )
+
+264 #undeà
+_POSIX_C_SOURCE
+
+
+265 \ 1
+ #_POSIX_C_SOURCE
+ 200809L
+
+ )
+
+268 #ià((!
+def\9aed
+
+__STRICT_ANSI__
+ \
+
+269 || (
+def\9aed
+
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) >= 500)) \
+
+270 && !
+def\9aed
+
+_POSIX_SOURCE
+ && !def\9aed
+_POSIX_C_SOURCE
+)
+
+271 \ 1
+ #_POSIX_SOURCE
+ 1
+
+ )
+
+272 #ià
+def\9aed
+
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 500
+
+273 \ 1
+ #_POSIX_C_SOURCE
+ 2
+
+ )
+
+274 #\96ià
+def\9aed
+
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 600
+
+275 \ 1
+ #_POSIX_C_SOURCE
+ 199506L
+
+ )
+
+276 #\96ià
+def\9aed
+
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 700
+
+277 \ 1
+ #_POSIX_C_SOURCE
+ 200112L
+
+ )
+
+279 \ 1
+ #_POSIX_C_SOURCE
+ 200809L
+
+ )
+
+281 \ 1
+ #__USE_POSIX_IMPLICITLY
+ 1
+
+ )
+
+290 #ià((!
+def\9aed
+
+_POSIX_C_SOURCE
+ || (_POSIX_C_SOURCE - 0) < 199506L) \
+
+291 && (
+def\9aed
+
+_REENTRANT
+ || def\9aed
+_THREAD_SAFE
+))
+
+292 \ 1
+ #_POSIX_SOURCE
+ 1
+
+ )
+
+293 #undeà
+_POSIX_C_SOURCE
+
+
+294 \ 1
+ #_POSIX_C_SOURCE
+ 199506L
+
+ )
+
+297 #ià(
+def\9aed
+
+_POSIX_SOURCE
+ \
+
+298 || (
+def\9aed
+
+_POSIX_C_SOURCE
+ && _POSIX_C_SOURCE >= 1) \
+
+299 ||
+def\9aed
+
+_XOPEN_SOURCE
+)
+
+300 \ 1
+ #__USE_POSIX
+ 1
+
+ )
+
+303 #ià
+def\9aed
+
+_POSIX_C_SOURCE
+ && _POSIX_C_SOURCE >ð2 || def\9aed
+_XOPEN_SOURCE
+
+
+304 \ 1
+ #__USE_POSIX2
+ 1
+
+ )
+
+307 #ià
+def\9aed
+
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 199309L
+
+308 \ 1
+ #__USE_POSIX199309
+ 1
+
+ )
+
+311 #ià
+def\9aed
+
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 199506L
+
+312 \ 1
+ #__USE_POSIX199506
+ 1
+
+ )
+
+315 #ià
+def\9aed
+
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 200112L
+
+316 \ 1
+ #__USE_XOPEN2K
+ 1
+
+ )
+
+317 #undeà
+__USE_ISOC95
+
+
+318 \ 1
+ #__USE_ISOC95
+ 1
+
+ )
+
+319 #undeà
+__USE_ISOC99
+
+
+320 \ 1
+ #__USE_ISOC99
+ 1
+
+ )
+
+323 #ià
+def\9aed
+
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 200809L
+
+324 \ 1
+ #__USE_XOPEN2K8
+ 1
+
+ )
+
+325 #undeà
+_ATFILE_SOURCE
+
+
+326 \ 1
+ #_ATFILE_SOURCE
+ 1
+
+ )
+
+329 #ifdef
+_XOPEN_SOURCE
+
+
+330 \ 1
+ #__USE_XOPEN
+ 1
+
+ )
+
+331 #ià(
+_XOPEN_SOURCE
+ - 0) >= 500
+
+332 \ 1
+ #__USE_XOPEN_EXTENDED
+ 1
+
+ )
+
+333 \ 1
+ #__USE_UNIX98
+ 1
+
+ )
+
+334 #undeà
+_LARGEFILE_SOURCE
+
+
+335 \ 1
+ #_LARGEFILE_SOURCE
+ 1
+
+ )
+
+336 #ià(
+_XOPEN_SOURCE
+ - 0) >= 600
+
+337 #ià(
+_XOPEN_SOURCE
+ - 0) >= 700
+
+338 \ 1
+ #__USE_XOPEN2K8
+ 1
+
+ )
+
+339 \ 1
+ #__USE_XOPEN2K8XSI
+ 1
+
+ )
+
+341 \ 1
+ #__USE_XOPEN2K
+ 1
+
+ )
+
+342 \ 1
+ #__USE_XOPEN2KXSI
+ 1
+
+ )
+
+343 #undeà
+__USE_ISOC95
+
+
+344 \ 1
+ #__USE_ISOC95
+ 1
+
+ )
+
+345 #undeà
+__USE_ISOC99
+
+
+346 \ 1
+ #__USE_ISOC99
+ 1
+
+ )
+
+349 #ifdeà
+_XOPEN_SOURCE_EXTENDED
+
+
+350 \ 1
+ #__USE_XOPEN_EXTENDED
+ 1
+
+ )
+
+355 #ifdeà
+_LARGEFILE_SOURCE
+
+
+356 \ 1
+ #__USE_LARGEFILE
+ 1
+
+ )
+
+359 #ifdeà
+_LARGEFILE64_SOURCE
+
+
+360 \ 1
+ #__USE_LARGEFILE64
+ 1
+
+ )
+
+363 #ià
+def\9aed
+
+_FILE_OFFSET_BITS
+ && _FILE_OFFSET_BITS == 64
+
+364 \ 1
+ #__USE_FILE_OFFSET64
+ 1
+
+ )
+
+367 #ià
+def\9aed
+
+_DEFAULT_SOURCE
+
+
+368 \ 1
+ #__USE_MISC
+ 1
+
+ )
+
+371 #ifdef
+_ATFILE_SOURCE
+
+
+372 \ 1
+ #__USE_ATFILE
+ 1
+
+ )
+
+375 #ifdef
+_GNU_SOURCE
+
+
+376 \ 1
+ #__USE_GNU
+ 1
+
+ )
+
+379 #ià
+def\9aed
+
+_FORTIFY_SOURCE
+ && _FORTIFY_SOURCE > 0 \
+
+380 &&
+__GNUC_PREREQ
+ (4, 1è&&
+def\9aed
+
+ g__OPTIMIZE__
+ && __OPTIMIZE__ > 0
+
+381 #ià
+_FORTIFY_SOURCE
+ > 1
+
+382 \ 1
+ #__USE_FORTIFY_LEVEL
+ 2
+
+ )
+
+384 \ 1
+ #__USE_FORTIFY_LEVEL
+ 1
+
+ )
+
+387 \ 1
+ #__USE_FORTIFY_LEVEL
+ 0
+
+ )
+
+394 #ià
+def\9aed
+
+__ýlu¥lus
+ ? __ýlu¥lu >ð201402L : def\9aed
+__USE_ISOC11
+
+
+395 \ 1
+ #__GLIBC_USE_DEPRECATED_GETS
+ 0
+
+ )
+
+397 \ 1
+ #__GLIBC_USE_DEPRECATED_GETS
+ 1
+
+ )
+
+402 \ 2
+ ~<¡dc-´edef.h
+>
+
+410 #undeà
+__GNU_LIBRARY__
+
+
+411 \ 1
+ #__GNU_LIBRARY__
+ 6
+
+ )
+
+415 \ 1
+ #__GLIBC__
+ 2
+
+ )
+
+416 \ 1
+ #__GLIBC_MINOR__
+ 27
+
+ )
+
+418 \ 1
+ #__GLIBC_PREREQ
+(
+maj
+,
+m\9a
+) \
+
+419 ((
+__GLIBC__
+ << 16è+
+__GLIBC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+ )
+
+422 #iâdeà
+__ASSEMBLER__
+
+
+423 #iâdeà
+_SYS_CDEFS_H
+
+
+424 \ 2
+ ~<sys/cdefs.h
+>
+
+429 #ià
+def\9aed
+
+__USE_FILE_OFFSET64
+ && !def\9aed
+__REDIRECT
+
+
+430 \ 1
+ #__USE_LARGEFILE
+ 1
+
+ )
+
+431 \ 1
+ #__USE_LARGEFILE64
+ 1
+
+ )
+
+437 #ià
+__GNUC_PREREQ
+ (2, 7è&&
+def\9aed
+
+__OPTIMIZE__
+ \
+
+438 && !
+def\9aed
+
+ g__OPTIMIZE_SIZE__
+ && !def\9aed
+ g__NO_INLINE__
+ \
+
+439 &&
+def\9aed
+
+ g__ex\8bº_\9al\9ae
+
+
+440 \ 1
+ #__USE_EXTERN_INLINES
+ 1
+
+ )
+
+448 \ 2
+ ~<gnu/¡ubs.h
+>
+
+ @/usr/include/stdc-predef.h
+
+18 #iâdef
+_STDC_PREDEF_H
+
+
+19 \ 1
+ #_STDC_PREDEF_H
+ 1
+
+ )
+
+36 #ifdeà
+__GCC_IEC_559
+
+
+37 #ià
+__GCC_IEC_559
+ > 0
+
+38 \ 1
+ #__STDC_IEC_559__
+ 1
+
+ )
+
+41 \ 1
+ #__STDC_IEC_559__
+ 1
+
+ )
+
+44 #ifdeà
+__GCC_IEC_559_COMPLEX
+
+
+45 #ià
+__GCC_IEC_559_COMPLEX
+ > 0
+
+46 \ 1
+ #__STDC_IEC_559_COMPLEX__
+ 1
+
+ )
+
+49 \ 1
+ #__STDC_IEC_559_COMPLEX__
+ 1
+
+ )
+
+58 \ 1
+ #__STDC_ISO_10646__
+ 201706L
+
+ )
+
+61 \ 1
+ #__STDC_NO_THREADS__
+ 1
+
+ )
+
+ @
+1
+.
+1
+/usr/include
+176
+3161
+AMF-UE-NGAP-ID.c
+AMFPointer.c
+AMFRegionID.c
+AMFSetID.c
+BIT_STRING.c
+BOOLEAN.c
+CGI.c
+CoreCPID.c
+E-UTRA-ARFCN.c
+E-UTRA-PCI.c
+E-UTRA-TAC.c
+E2SM-KPM-ActionDefinition-Format1.c
+E2SM-KPM-ActionDefinition-Format2.c
+E2SM-KPM-ActionDefinition-Format3.c
+E2SM-KPM-ActionDefinition.c
+E2SM-KPM-EventTriggerDefinition-Format1.c
+E2SM-KPM-EventTriggerDefinition.c
+E2SM-KPM-IndicationHeader-Format1.c
+E2SM-KPM-IndicationHeader.c
+E2SM-KPM-IndicationMessage-Format1.c
+E2SM-KPM-IndicationMessage-Format2.c
+E2SM-KPM-IndicationMessage.c
+E2SM-KPM-RANfunction-Description.c
+EN-GNB-ID.c
+ENB-ID.c
+ENB-UE-X2AP-ID-Extension.c
+ENB-UE-X2AP-ID.c
+EUTRA-CGI.c
+EUTRACellIdentity.c
+FiveGS-TAC.c
+FiveQI.c
+FreqBandNrItem.c
+GNB-CU-CP-UE-E1AP-ID.c
+GNB-CU-UE-F1AP-ID.c
+GNB-CU-UP-ID.c
+GNB-DU-ID.c
+GNB-ID.c
+GUAMI.c
+GUMMEI.c
+GlobalENB-ID.c
+GlobalGNB-ID.c
+GlobalNGRANNodeID.c
+GlobalNgENB-ID.c
+GlobalenGNB-ID.c
+GranularityPeriod.c
+GroupID.c
+INTEGER.c
+IndexToRFSP.c
+Interface-MessageID.c
+InterfaceID-E1.c
+InterfaceID-F1.c
+InterfaceID-NG.c
+InterfaceID-S1.c
+InterfaceID-W1.c
+InterfaceID-X2.c
+InterfaceID-Xn.c
+InterfaceIdentifier.c
+InterfaceType.c
+LabelInfoItem.c
+LabelInfoList.c
+MME-Code.c
+MME-Group-ID.c
+MME-UE-S1AP-ID.c
+MatchingCondItem.c
+MatchingCondList.c
+MatchingUEidItem.c
+MatchingUEidList.c
+MeasurementCondItem.c
+MeasurementCondList.c
+MeasurementCondUEidItem.c
+MeasurementCondUEidList.c
+MeasurementData.c
+MeasurementDataItem.c
+MeasurementInfo-Action-Item.c
+MeasurementInfo-Action-List.c
+MeasurementInfoItem.c
+MeasurementInfoList.c
+MeasurementLabel.c
+MeasurementRecord.c
+MeasurementRecordItem.c
+MeasurementType.c
+MeasurementTypeID.c
+MeasurementTypeName.c
+NG-RANnodeUEXnAPID.c
+NGENB-CU-UE-W1AP-ID.c
+NGENB-DU-ID.c
+NR-ARFCN.c
+NR-CGI.c
+NR-PCI.c
+NRCellIdentity.c
+NRFrequencyBand-List.c
+NRFrequencyBandItem.c
+NRFrequencyInfo.c
+NRFrequencyShift7p5khz.c
+NULL.c
+NativeEnumerated.c
+NativeInteger.c
+NativeReal.c
+NgENB-ID.c
+OCTET_STRING.c
+OPEN_TYPE.c
+PLMNIdentity.c
+PrintableString.c
+QCI.c
+QoSID.c
+QosFlowIdentifier.c
+RANUEID.c
+RANfunction-Name.c
+REAL.c
+RIC-EventTriggerStyle-Item.c
+RIC-Format-Type.c
+RIC-ReportStyle-Item.c
+RIC-Style-Name.c
+RIC-Style-Type.c
+RRC-MessageID.c
+RRCclass-LTE.c
+RRCclass-NR.c
+S-NSSAI.c
+SD.c
+SST.c
+ServingCell-ARFCN.c
+ServingCell-PCI.c
+SubscriberProfileIDforRFP.c
+SupportedSULBandList.c
+SupportedSULFreqBandItem.c
+TestCond-Expression.c
+TestCond-Type.c
+TestCond-Value.c
+TestCondInfo.c
+TimeStamp.c
+UEID-EN-GNB.c
+UEID-ENB.c
+UEID-GNB-CU-CP-E1AP-ID-Item.c
+UEID-GNB-CU-CP-E1AP-ID-List.c
+UEID-GNB-CU-CP-F1AP-ID-Item.c
+UEID-GNB-CU-F1AP-ID-List.c
+UEID-GNB-CU-UP.c
+UEID-GNB-DU.c
+UEID-GNB.c
+UEID-NG-ENB-DU.c
+UEID-NG-ENB.c
+UEID.c
+asn_SEQUENCE_OF.c
+asn_SET_OF.c
+asn_application.c
+asn_bit_data.c
+asn_codecs_prim.c
+asn_internal.c
+asn_random_fill.c
+ber_decoder.c
+ber_tlv_length.c
+ber_tlv_tag.c
+constr_CHOICE.c
+constr_SEQUENCE.c
+constr_SEQUENCE_OF.c
+constr_SET_OF.c
+constr_TYPE.c
+constraints.c
+der_encoder.c
+oer_decoder.c
+oer_encoder.c
+oer_support.c
+per_decoder.c
+per_encoder.c
+per_opentype.c
+per_support.c
+xer_decoder.c
+xer_encoder.c
+xer_support.c
+/usr/include/errno.h
+/usr/include/math.h
+/usr/include/stdio.h
+/usr/include/stdlib.h
+/usr/include/alloca.h
+/usr/include/features.h
+/usr/include/stdc-predef.h