ISSUE ID:- RICAPP-216
[ric-app/bouncer.git] / Bouncer / e2sm_kpm / lib / cscope.out
1 cscope 15 $HOME/Desktop/kpimon/e2sm/lib               0000709974
2         @AMF-UE-NGAP-ID.c
3
4\ 2
5         ~"AMF-UE-NGAP-ID.h
6 "
7
8 11 
9         $AMF_UE_NGAP_ID_cÚ¡¿\9at
10 (cڡ 
11 a¢_TYPE_desü\9dtÜ_t
12  *
13 td
14 , cڡ \1e*
15 ¥\8c
16 ,
17
18 12 
19 a¢_­p_cÚ¡¿\9at_ç\9eed_f
20  *
21 ùç\9ecb
22\1e*
23 ­p_key
24 ) {
25
26 13 cڡ 
27 INTEGER_t
28  *
29 ¡
30  = (cÚ¡ INTEGER_\88*)
31 ¥\8c
32 ;
33
34 14 \13
35 v®ue
36 ;
37
38 16 if(!
39 ¥\8c
40 ) {
41
42 17 
43         `ASN__CTFAIL
44 (
45 ­p_key
46
47 td
48
49 ¥\8c
50 ,
51
52 19 
53 td
54 ->
55 Çme
56
57 __FILE__
58
59 __LINE__
60 );
61
62 23 if(
63         `a¢_INTEGER2lÚg
64 (
65 ¡
66 , &
67 v®ue
68 )) {
69
70 24 
71         `ASN__CTFAIL
72 (
73 ­p_key
74
75 td
76
77 ¥\8c
78 ,
79
80 26 
81 td
82 ->
83 Çme
84
85 __FILE__
86
87 __LINE__
88 );
89
90 30 if((
91 v®ue
92  >= 0 && value <= 1099511627775)) {
93
94 34 
95         `ASN__CTFAIL
96 (
97 ­p_key
98
99 td
100
101 ¥\8c
102 ,
103
104 36 
105 td
106 ->
107 Çme
108
109 __FILE__
110
111 __LINE__
112 );
113
114 39 
115         }
116 }
117
118 45 
119 a¢_³r_cÚ¡¿\9ats_t
120  
121 a¢_PER_ty³_AMF_UE_NGAP_ID_cÚ¡r_1
122  
123         gCC_NOTUSED
124  = {
125
126 46 { 
127 APC_CONSTRAINED
128 , 40, -1, 0, 1099511627775 } ,
129
130 47 { 
131 APC_UNCONSTRAINED
132 , -1, -1, 0, 0 },
133
134 50 \18cڡ 
135 b\94_\8ev_\8fg_t
136  
137         ga¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
138 [] = {
139
140 51 (
141 ASN_TAG_CLASS_UNIVERSAL
142  | (2 << 2))
143
144 53 
145 a¢_TYPE_desü\9dtÜ_t
146  
147         ga¢_DEF_AMF_UE_NGAP_ID
148  = {
149
150 56 &
151 a¢_OP_INTEGER
152 ,
153
154 57 
155 a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
156 ,
157
158 58 \17(
159 a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
160 )
161
162 59 /\17(
163 a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
164 [0]),
165
166 60 
167 a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
168 ,
169
170 61 \17(
171 a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
172 )
173
174 62 /\17(
175 a¢_DEF_AMF_UE_NGAP_ID_\8fgs_1
176 [0]),
177
178 63 { 0, &
179 a¢_PER_ty³_AMF_UE_NGAP_ID_cÚ¡r_1
180
181 AMF_UE_NGAP_ID_cÚ¡¿\9at
182  },
183
184         @AMFPointer.c
185
186\ 2
187         ~"AMFPo\9a\8br.h
188 "
189
190 11 
191         $AMFPo\9a\8br_cÚ¡¿\9at
192 (cڡ 
193 a¢_TYPE_desü\9dtÜ_t
194  *
195 td
196 , cڡ \1e*
197 ¥\8c
198 ,
199
200 12 
201 a¢_­p_cÚ¡¿\9at_ç\9eed_f
202  *
203 ùç\9ecb
204\1e*
205 ­p_key
206 ) {
207
208 13 cڡ 
209 BIT_STRING_t
210  *
211 ¡
212  = (cÚ¡ BIT_STRING_\88*)
213 ¥\8c
214 ;
215
216 14 
217 size_t
218  
219 size
220 ;
221
222 16 if(!
223 ¥\8c
224 ) {
225
226 17 
227         `ASN__CTFAIL
228 (
229 ­p_key
230
231 td
232
233 ¥\8c
234 ,
235
236 19 
237 td
238 ->
239 Çme
240
241 __FILE__
242
243 __LINE__
244 );
245
246 23 if(
247 ¡
248 ->
249 size
250  > 0) {
251
252 25 
253 size
254  = 8 * 
255 ¡
256 ->siz\90- (¡->
257 b\99s_unu£d
258  & 0x07);
259
260 27 
261 size
262  = 0;
263
264 30 if((
265 size
266  == 6)) {
267
268 34 
269         `ASN__CTFAIL
270 (
271 ­p_key
272
273 td
274
275 ¥\8c
276 ,
277
278 36 
279 td
280 ->
281 Çme
282
283 __FILE__
284
285 __LINE__
286 );
287
288 39 
289         }
290 }
291
292 45 
293 a¢_³r_cÚ¡¿\9ats_t
294  
295 a¢_PER_ty³_AMFPo\9a\8br_cÚ¡r_1
296  
297         gCC_NOTUSED
298  = {
299
300 46 { 
301 APC_UNCONSTRAINED
302 , -1, -1, 0, 0 },
303
304 47 { 
305 APC_CONSTRAINED
306 , 0, 0, 6, 6 } ,
307
308 50 \18cڡ 
309 b\94_\8ev_\8fg_t
310  
311         ga¢_DEF_AMFPo\9a\8br_\8fgs_1
312 [] = {
313
314 51 (
315 ASN_TAG_CLASS_UNIVERSAL
316  | (3 << 2))
317
318 53 
319 a¢_TYPE_desü\9dtÜ_t
320  
321         ga¢_DEF_AMFPo\9a\8br
322  = {
323
324 56 &
325 a¢_OP_BIT_STRING
326 ,
327
328 57 
329 a¢_DEF_AMFPo\9a\8br_\8fgs_1
330 ,
331
332 58 \17(
333 a¢_DEF_AMFPo\9a\8br_\8fgs_1
334 )
335
336 59 /\17(
337 a¢_DEF_AMFPo\9a\8br_\8fgs_1
338 [0]),
339
340 60 
341 a¢_DEF_AMFPo\9a\8br_\8fgs_1
342 ,
343
344 61 \17(
345 a¢_DEF_AMFPo\9a\8br_\8fgs_1
346 )
347
348 62 /\17(
349 a¢_DEF_AMFPo\9a\8br_\8fgs_1
350 [0]),
351
352 63 { 0, &
353 a¢_PER_ty³_AMFPo\9a\8br_cÚ¡r_1
354
355 AMFPo\9a\8br_cÚ¡¿\9at
356  },
357
358 65 &
359 a¢_SPC_BIT_STRING_¥ecs
360
361
362         @AMFRegionID.c
363
364\ 2
365         ~"AMFRegiÚID.h
366 "
367
368 11 
369         $AMFRegiÚID_cÚ¡¿\9at
370 (cڡ 
371 a¢_TYPE_desü\9dtÜ_t
372  *
373 td
374 , cڡ \1e*
375 ¥\8c
376 ,
377
378 12 
379 a¢_­p_cÚ¡¿\9at_ç\9eed_f
380  *
381 ùç\9ecb
382\1e*
383 ­p_key
384 ) {
385
386 13 cڡ 
387 BIT_STRING_t
388  *
389 ¡
390  = (cÚ¡ BIT_STRING_\88*)
391 ¥\8c
392 ;
393
394 14 
395 size_t
396  
397 size
398 ;
399
400 16 if(!
401 ¥\8c
402 ) {
403
404 17 
405         `ASN__CTFAIL
406 (
407 ­p_key
408
409 td
410
411 ¥\8c
412 ,
413
414 19 
415 td
416 ->
417 Çme
418
419 __FILE__
420
421 __LINE__
422 );
423
424 23 if(
425 ¡
426 ->
427 size
428  > 0) {
429
430 25 
431 size
432  = 8 * 
433 ¡
434 ->siz\90- (¡->
435 b\99s_unu£d
436  & 0x07);
437
438 27 
439 size
440  = 0;
441
442 30 if((
443 size
444  == 8)) {
445
446 34 
447         `ASN__CTFAIL
448 (
449 ­p_key
450
451 td
452
453 ¥\8c
454 ,
455
456 36 
457 td
458 ->
459 Çme
460
461 __FILE__
462
463 __LINE__
464 );
465
466 39 
467         }
468 }
469
470 45 
471 a¢_³r_cÚ¡¿\9ats_t
472  
473 a¢_PER_ty³_AMFRegiÚID_cÚ¡r_1
474  
475         gCC_NOTUSED
476  = {
477
478 46 { 
479 APC_UNCONSTRAINED
480 , -1, -1, 0, 0 },
481
482 47 { 
483 APC_CONSTRAINED
484 , 0, 0, 8, 8 } ,
485
486 50 \18cڡ 
487 b\94_\8ev_\8fg_t
488  
489         ga¢_DEF_AMFRegiÚID_\8fgs_1
490 [] = {
491
492 51 (
493 ASN_TAG_CLASS_UNIVERSAL
494  | (3 << 2))
495
496 53 
497 a¢_TYPE_desü\9dtÜ_t
498  
499         ga¢_DEF_AMFRegiÚID
500  = {
501
502 56 &
503 a¢_OP_BIT_STRING
504 ,
505
506 57 
507 a¢_DEF_AMFRegiÚID_\8fgs_1
508 ,
509
510 58 \17(
511 a¢_DEF_AMFRegiÚID_\8fgs_1
512 )
513
514 59 /\17(
515 a¢_DEF_AMFRegiÚID_\8fgs_1
516 [0]),
517
518 60 
519 a¢_DEF_AMFRegiÚID_\8fgs_1
520 ,
521
522 61 \17(
523 a¢_DEF_AMFRegiÚID_\8fgs_1
524 )
525
526 62 /\17(
527 a¢_DEF_AMFRegiÚID_\8fgs_1
528 [0]),
529
530 63 { 0, &
531 a¢_PER_ty³_AMFRegiÚID_cÚ¡r_1
532
533 AMFRegiÚID_cÚ¡¿\9at
534  },
535
536 65 &
537 a¢_SPC_BIT_STRING_¥ecs
538
539
540         @AMFSetID.c
541
542\ 2
543         ~"AMFS\91ID.h
544 "
545
546 11 
547         $AMFS\91ID_cÚ¡¿\9at
548 (cڡ 
549 a¢_TYPE_desü\9dtÜ_t
550  *
551 td
552 , cڡ \1e*
553 ¥\8c
554 ,
555
556 12 
557 a¢_­p_cÚ¡¿\9at_ç\9eed_f
558  *
559 ùç\9ecb
560\1e*
561 ­p_key
562 ) {
563
564 13 cڡ 
565 BIT_STRING_t
566  *
567 ¡
568  = (cÚ¡ BIT_STRING_\88*)
569 ¥\8c
570 ;
571
572 14 
573 size_t
574  
575 size
576 ;
577
578 16 if(!
579 ¥\8c
580 ) {
581
582 17 
583         `ASN__CTFAIL
584 (
585 ­p_key
586
587 td
588
589 ¥\8c
590 ,
591
592 19 
593 td
594 ->
595 Çme
596
597 __FILE__
598
599 __LINE__
600 );
601
602 23 if(
603 ¡
604 ->
605 size
606  > 0) {
607
608 25 
609 size
610  = 8 * 
611 ¡
612 ->siz\90- (¡->
613 b\99s_unu£d
614  & 0x07);
615
616 27 
617 size
618  = 0;
619
620 30 if((
621 size
622  == 10)) {
623
624 34 
625         `ASN__CTFAIL
626 (
627 ­p_key
628
629 td
630
631 ¥\8c
632 ,
633
634 36 
635 td
636 ->
637 Çme
638
639 __FILE__
640
641 __LINE__
642 );
643
644 39 
645         }
646 }
647
648 45 
649 a¢_³r_cÚ¡¿\9ats_t
650  
651 a¢_PER_ty³_AMFS\91ID_cÚ¡r_1
652  
653         gCC_NOTUSED
654  = {
655
656 46 { 
657 APC_UNCONSTRAINED
658 , -1, -1, 0, 0 },
659
660 47 { 
661 APC_CONSTRAINED
662 , 0, 0, 10, 10 } ,
663
664 50 \18cڡ 
665 b\94_\8ev_\8fg_t
666  
667         ga¢_DEF_AMFS\91ID_\8fgs_1
668 [] = {
669
670 51 (
671 ASN_TAG_CLASS_UNIVERSAL
672  | (3 << 2))
673
674 53 
675 a¢_TYPE_desü\9dtÜ_t
676  
677         ga¢_DEF_AMFS\91ID
678  = {
679
680 56 &
681 a¢_OP_BIT_STRING
682 ,
683
684 57 
685 a¢_DEF_AMFS\91ID_\8fgs_1
686 ,
687
688 58 \17(
689 a¢_DEF_AMFS\91ID_\8fgs_1
690 )
691
692 59 /\17(
693 a¢_DEF_AMFS\91ID_\8fgs_1
694 [0]),
695
696 60 
697 a¢_DEF_AMFS\91ID_\8fgs_1
698 ,
699
700 61 \17(
701 a¢_DEF_AMFS\91ID_\8fgs_1
702 )
703
704 62 /\17(
705 a¢_DEF_AMFS\91ID_\8fgs_1
706 [0]),
707
708 63 { 0, &
709 a¢_PER_ty³_AMFS\91ID_cÚ¡r_1
710
711 AMFS\91ID_cÚ¡¿\9at
712  },
713
714 65 &
715 a¢_SPC_BIT_STRING_¥ecs
716
717
718         @BIT_STRING.c
719
720\ 2
721         ~<a¢_\9a\8bº®.h
722 >
723
724\ 2
725         ~<BIT_STRING.h
726 >
727
728\ 2
729         ~<a¢_\9a\8bº®.h
730 >
731
732 12 \18cڡ 
733 b\94_\8ev_\8fg_t
734  
735         ga¢_DEF_BIT_STRING_\8fgs
736 [] = {
737
738 13 (
739 ASN_TAG_CLASS_UNIVERSAL
740  | (3 << 2))
741
742 15 
743 a¢_OCTET_STRING_¥ecifics_t
744  
745         ga¢_SPC_BIT_STRING_¥ecs
746  = {
747
748 16 \17(
749 BIT_STRING_t
750 ),
751
752 17 
753 off£tof
754 (
755 BIT_STRING_t
756
757 _a¢_ùx
758 ),
759
760 18 
761 ASN_OSUBV_BIT
762
763
764 20 
765 a¢_TYPE_Ý\94©iÚ_t
766  
767         ga¢_OP_BIT_STRING
768  = {
769
770 21 
771 OCTET_STRING_ä\93
772 ,
773
774 22 
775 BIT_STRING_´\9at
776 ,
777
778 23 
779 BIT_STRING_com·»
780 ,
781
782 24 
783 OCTET_STRING_decode_b\94
784 ,
785
786 25 
787 OCTET_STRING_\92code_d\94
788 ,
789
790 26 
791 OCTET_STRING_decode_x\94_b\9a¬y
792 ,
793
794 27 
795 BIT_STRING_\92code_x\94
796 ,
797
798 28 #ifdef 
799 ASN_DISABLE_OER_SUPPORT
800
801
802 32 
803 BIT_STRING_decode_Ûr
804 ,
805
806 33 
807 BIT_STRING_\92code_Ûr
808 ,
809
810 35 #ifdef 
811 ASN_DISABLE_PER_SUPPORT
812
813
814 41 
815 BIT_STRING_decode_u³r
816 ,
817
818 42 
819 BIT_STRING_\92code_u³r
820 ,
821
822 43 
823 OCTET_STRING_decode_­\94
824 ,
825
826 44 
827 OCTET_STRING_\92code_­\94
828 ,
829
830 46 
831 BIT_STRING_¿ndom_f\9el
832 ,
833
834 49 
835 a¢_TYPE_desü\9dtÜ_t
836  
837         ga¢_DEF_BIT_STRING
838  = {
839
840 52 &
841 a¢_OP_BIT_STRING
842 ,
843
844 53 
845 a¢_DEF_BIT_STRING_\8fgs
846 ,
847
848 54 \17(
849 a¢_DEF_BIT_STRING_\8fgs
850 )
851
852 55 / \17(
853 a¢_DEF_BIT_STRING_\8fgs
854 [0]),
855
856 56 
857 a¢_DEF_BIT_STRING_\8fgs
858 ,
859
860 57 \17(
861 a¢_DEF_BIT_STRING_\8fgs
862 )
863
864 58 / \17(
865 a¢_DEF_BIT_STRING_\8fgs
866 [0]),
867
868 59 { 0, 0, 
869 BIT_STRING_cÚ¡¿\9at
870  },
871
872 61 &
873 a¢_SPC_BIT_STRING_¥ecs
874
875
876 68 
877         $BIT_STRING_cÚ¡¿\9at
878 (cڡ 
879 a¢_TYPE_desü\9dtÜ_t
880  *
881 td
882 , cڡ \1e*
883 ¥\8c
884 ,
885
886 69 
887 a¢_­p_cÚ¡¿\9at_ç\9eed_f
888  *
889 ùç\9ecb
890\1e*
891 ­p_key
892 ) {
893
894 70 cڡ 
895 BIT_STRING_t
896  *
897 ¡
898  = (cÚ¡ BIT_STRING_\88*)
899 ¥\8c
900 ;
901
902 72 if(
903 ¡
904  && st->
905 buf
906 ) {
907
908 73 if((
909 ¡
910 ->
911 size
912  =ð0 && st->
913 b\99s_unu£d
914 )
915
916 74 || 
917 ¡
918 ->
919 b\99s_unu£d
920  < 0 || st->bits_unused > 7) {
921
922 75 
923         `ASN__CTFAIL
924 (
925 ­p_key
926
927 td
928
929 ¥\8c
930 ,
931
932 77 
933 td
934 ->
935 Çme
936
937 __FILE__
938
939 __LINE__
940 );
941
942 81 
943         `ASN__CTFAIL
944 (
945 ­p_key
946
947 td
948
949 ¥\8c
950 ,
951
952 83 
953 td
954 ->
955 Çme
956
957 __FILE__
958
959 __LINE__
960 );
961
962 88 
963         }
964 }
965
966 90 \18cڡ \ 5*
967         g_b\99\89\94n
968 [16] = {
969
970 95 
971 a¢_\92c_rv®_t
972
973
974 96 
975         $BIT_STRING_\92code_x\94
976 (cڡ 
977 a¢_TYPE_desü\9dtÜ_t
978  *
979 td
980 , cڡ \1e*
981 ¥\8c
982 ,
983
984 97 \12
985 \9eev\96
986\f
987 x\94_\92cod\94_æags_e
988  
989 æags
990 ,
991
992 98 
993 a¢_­p_cÚsume_by\8bs_f
994  *
995 cb
996\1e*
997 ­p_key
998 ) {
999
1000 99 
1001 a¢_\92c_rv®_t
1002  
1003 \94
1004  = {0, 0, 0};
1005
1006 100 \ 5
1007 sü©ch
1008 [128];
1009
1010 101 \ 5*
1011 p
1012  = 
1013 sü©ch
1014 ;
1015
1016 102 \ 5*
1017 sûnd
1018  = 
1019 sü©ch
1020  + (\17(scratch) - 10);
1021
1022 103 cڡ 
1023 BIT_STRING_t
1024  *
1025 ¡
1026  = (cÚ¡ BIT_STRING_\88*)
1027 ¥\8c
1028 ;
1029
1030 104 \12
1031 xÿn
1032  = (
1033 æags
1034  & 
1035 XER_F_CANONICAL
1036 );
1037
1038 105 
1039 u\9at8_t
1040  *
1041 buf
1042 ;
1043
1044 106 
1045 u\9at8_t
1046  *
1047 \92d
1048 ;
1049
1050 108 if(!
1051 ¡
1052  || !¡->
1053 buf
1054 )
1055
1056 109 
1057 ASN__ENCODE_FAILED
1058 ;
1059
1060 111 
1061 \94
1062 .
1063 \92coded
1064  = 0;
1065
1066 113 
1067 buf
1068  = 
1069 ¡
1070 ->buf;
1071
1072 114 
1073 \92d
1074  = 
1075 buf
1076  + 
1077 ¡
1078 ->
1079 size
1080  - 1;
1081
1082 119 \ f
1083 buf
1084  < 
1085 \92d
1086 ; buf++) {
1087
1088 120 \12
1089 v
1090  = *
1091 buf
1092 ;
1093
1094 121 \12
1095 ƚe
1096  = 
1097 xÿn
1098 ?0:(((
1099 buf
1100  - 
1101 ¡
1102 ->buf) % 8) == 0);
1103
1104 122 if(
1105 p
1106  >ð
1107 sûnd
1108  || 
1109 ƚe
1110 ) {
1111
1112 123 
1113         `ASN__CALLBACK
1114 (
1115 sü©ch
1116
1117 p
1118  - scratch);
1119
1120 124 
1121 p
1122  = 
1123 sü©ch
1124 ;
1125
1126 125 if(
1127 ƚe
1128 è
1129         `ASN__TEXT_INDENT
1130 (1, 
1131 \9eev\96
1132 );
1133
1134 127 
1135         `memýy
1136 (
1137 p
1138  + 0, 
1139 _b\99\89\94n
1140 [
1141 v
1142  >> 4], 4);
1143
1144 128 
1145         `memýy
1146 (
1147 p
1148  + 4, 
1149 _b\99\89\94n
1150 [
1151 v
1152  & 0x0f], 4);
1153
1154 129 
1155 p
1156  += 8;
1157
1158 132 if(!
1159 xÿn
1160  && ((
1161 buf
1162  - 
1163 ¡
1164 ->buf) % 8) == 0)
1165
1166 133 
1167         `ASN__TEXT_INDENT
1168 (1, 
1169 \9eev\96
1170 );
1171
1172 134 
1173         `ASN__CALLBACK
1174 (
1175 sü©ch
1176
1177 p
1178  - scratch);
1179
1180 135 
1181 p
1182  = 
1183 sü©ch
1184 ;
1185
1186 137 if(
1187 buf
1188  =ð
1189 \92d
1190 ) {
1191
1192 138 \12
1193 v
1194  = *
1195 buf
1196 ;
1197
1198 139 \12
1199 ub\99s
1200  = 
1201 ¡
1202 ->
1203 b\99s_unu£d
1204 ;
1205
1206 140 \12
1207 i
1208 ;
1209
1210 141 \ f
1211 i
1212  = 7; i >ð
1213 ub\99s
1214 ; i--)
1215
1216 142 *
1217 p
1218 ++ = (
1219 v
1220  & (1 << 
1221 i
1222 )) ? 0x31 : 0x30;
1223
1224 143 
1225         `ASN__CALLBACK
1226 (
1227 sü©ch
1228
1229 p
1230  - scratch);
1231
1232 146 if(!
1233 xÿn
1234 è
1235         `ASN__TEXT_INDENT
1236 (1, 
1237 \9eev\96
1238  - 1);
1239
1240 148 
1241         `ASN__ENCODED_OK
1242 (
1243 \94
1244 );
1245
1246 149 
1247 cb_ç\9eed
1248 :
1249
1250 150 
1251 ASN__ENCODE_FAILED
1252 ;
1253
1254 151 
1255         }
1256 }
1257
1258 158 
1259         $BIT_STRING_´\9at
1260 (cڡ 
1261 a¢_TYPE_desü\9dtÜ_t
1262  *
1263 td
1264 , cڡ \1e*
1265 ¥\8c
1266\12
1267 \9eev\96
1268 ,
1269
1270 159 
1271 a¢_­p_cÚsume_by\8bs_f
1272  *
1273 cb
1274\1e*
1275 ­p_key
1276 ) {
1277
1278 160 cڡ \ 5* cڡ 
1279 h2c
1280  = "0123456789ABCDEF";
1281
1282 161 \ 5
1283 sü©ch
1284 [64];
1285
1286 162 cڡ 
1287 BIT_STRING_t
1288  *
1289 ¡
1290  = (cÚ¡ BIT_STRING_\88*)
1291 ¥\8c
1292 ;
1293
1294 163 
1295 u\9at8_t
1296  *
1297 buf
1298 ;
1299
1300 164 
1301 u\9at8_t
1302  *
1303 \92d
1304 ;
1305
1306 165 \ 5*
1307 p
1308  = 
1309 sü©ch
1310 ;
1311
1312 167 (\1e)
1313 td
1314 ;
1315
1316 169 if(!
1317 ¡
1318  || !¡->
1319 buf
1320 )
1321
1322 170 \15 (
1323         `cb
1324 ("<ab£Á>", 8, 
1325 ­p_key
1326 ) < 0) ? -1 : 0;
1327
1328 172 
1329 \9eev\96
1330 ++;
1331
1332 173 
1333 buf
1334  = 
1335 ¡
1336 ->buf;
1337
1338 174 
1339 \92d
1340  = 
1341 buf
1342  + 
1343 ¡
1344 ->
1345 size
1346 ;
1347
1348 179 \ f
1349 buf
1350  < 
1351 \92d
1352 ; buf++) {
1353
1354 180 if((
1355 buf
1356  - 
1357 ¡
1358 ->bufè% 16 =ð0 && (¡->
1359 size
1360  > 16)
1361
1362 181 && 
1363 buf
1364  !ð
1365 ¡
1366 ->buf) {
1367
1368 182 
1369         `_i_INDENT
1370 (1);
1371
1372 184 if(
1373         `cb
1374 (
1375 sü©ch
1376
1377 p
1378  - sü©ch, 
1379 ­p_key
1380 ) < 0) \15 -1;
1381
1382 185 
1383 p
1384  = 
1385 sü©ch
1386 ;
1387
1388 187 *
1389 p
1390 ++ = 
1391 h2c
1392 [*
1393 buf
1394  >> 4];
1395
1396 188 *
1397 p
1398 ++ = 
1399 h2c
1400 [*
1401 buf
1402  & 0x0F];
1403
1404 189 *
1405 p
1406 ++ = 0x20;
1407
1408 192 if(
1409 p
1410  > 
1411 sü©ch
1412 ) {
1413
1414 193 
1415 p
1416 --;
1417
1418 195 if((
1419 ¡
1420 ->
1421 size
1422  > 16)) {
1423
1424 196 
1425         `_i_INDENT
1426 (1);
1427
1428 200 if(
1429         `cb
1430 (
1431 sü©ch
1432
1433 p
1434  - sü©ch, 
1435 ­p_key
1436 ) < 0)
1437
1438 204 if(
1439 ¡
1440 ->
1441 b\99s_unu£d
1442 ) {
1443
1444 205 \12
1445 »t
1446  = 
1447         `¢´\9atf
1448 (
1449 sü©ch
1450\17(scratch), " (%d bit%s unused)",
1451
1452 206 
1453 ¡
1454 ->
1455 b\99s_unu£d
1456 , st->bits_unused == 1 ? "" : "s");
1457
1458 207 
1459         `as£¹
1460 (
1461 »t
1462  > 0 &&\84\91 < (
1463 ssize_t
1464 )\17(
1465 sü©ch
1466 ));
1467
1468 208 if(
1469 »t
1470  > 0 &&\84\91 < (
1471 ssize_t
1472 )\17(
1473 sü©ch
1474 )
1475
1476 209 && 
1477         `cb
1478 (
1479 sü©ch
1480
1481 »t
1482
1483 ­p_key
1484 ) < 0)
1485
1486 214 
1487         }
1488 }
1489
1490 219 \18cڡ 
1491 BIT_STRING_t
1492  *
1493
1494 220 
1495         $BIT_STRING__com·ùify
1496 (cڡ 
1497 BIT_STRING_t
1498  *
1499 ¡
1500 , BIT_STRING_\88*
1501 tmp
1502 ) {
1503
1504 221 cڡ 
1505 u\9at8_t
1506  *
1507 b
1508 ;
1509
1510 223 cڡ 
1511 u\9at8_t
1512  *
1513 c_buf
1514 ;
1515
1516 224 
1517 u\9at8_t
1518  *
1519 nc_buf
1520 ;
1521
1522 225 } 
1523 uncڡ
1524 ;
1525
1526 227 if(
1527 ¡
1528 ->
1529 size
1530  == 0) {
1531
1532 228 
1533         `as£¹
1534 (
1535 ¡
1536 ->
1537 b\99s_unu£d
1538  == 0);
1539
1540 229 \15 
1541 ¡
1542 ;
1543
1544 231 \ f
1545 b
1546  = &
1547 ¡
1548 ->
1549 buf
1550 [¡->
1551 size
1552  - 1]; b > st->buf && *b == 0; b--) {
1553
1554 235 if(*
1555 b
1556 ) {
1557
1558 236 \12
1559 unu£d
1560  = 7;
1561
1562 237 
1563 u\9at8_t
1564  
1565 v
1566  = *
1567 b
1568 ;
1569
1570 238 
1571 v
1572  &ð-(
1573 \9at8_t
1574 )v;
1575
1576 239 if(
1577 v
1578  & 0x0Fè
1579 unu£d
1580  -= 4;
1581
1582 240 if(
1583 v
1584  & 0x33è
1585 unu£d
1586  -= 2;
1587
1588 241 if(
1589 v
1590  & 0x55è
1591 unu£d
1592  -= 1;
1593
1594 242 
1595 tmp
1596 ->
1597 size
1598  = 
1599 b
1600 -
1601 ¡
1602 ->
1603 buf
1604  + 1;
1605
1606 243 
1607 tmp
1608 ->
1609 b\99s_unu£d
1610  = 
1611 unu£d
1612 ;
1613
1614 245 
1615 tmp
1616 ->
1617 size
1618  = 
1619 b
1620 -
1621 ¡
1622 ->
1623 buf
1624 ;
1625
1626 246 
1627 tmp
1628 ->
1629 b\99s_unu£d
1630  = 0;
1631
1632 249 
1633         `as£¹
1634 (
1635 b
1636  >ð
1637 ¡
1638 ->
1639 buf
1640 );
1641
1642 252 
1643 uncڡ
1644 .
1645 c_buf
1646  = 
1647 ¡
1648 ->
1649 buf
1650 ;
1651
1652 253 
1653 tmp
1654 ->
1655 buf
1656  = 
1657 uncڡ
1658 .
1659 nc_buf
1660 ;
1661
1662 254 \15 
1663 tmp
1664 ;
1665
1666 255 
1667         }
1668 }
1669
1670 262 
1671         $BIT_STRING_com·»
1672 (cڡ 
1673 a¢_TYPE_desü\9dtÜ_t
1674  *
1675 td
1676 , cڡ \1e*
1677 ­\8c
1678 ,
1679
1680 263 cڡ \1e*
1681 b±r
1682 ) {
1683
1684 269 
1685 BIT_STRING_t
1686  
1687 com·ù_a
1688
1689 com·ù_b
1690 ;
1691
1692 270 cڡ 
1693 BIT_STRING_t
1694  *
1695 a
1696  = 
1697         `BIT_STRING__com·ùify
1698 (
1699 ­\8c
1700 , &
1701 com·ù_a
1702 );
1703
1704 271 cڡ 
1705 BIT_STRING_t
1706  *
1707 b
1708  = 
1709         `BIT_STRING__com·ùify
1710 (
1711 b±r
1712 , &
1713 com·ù_b
1714 );
1715
1716 272 cڡ 
1717 a¢_OCTET_STRING_¥ecifics_t
1718  *
1719 ¥ecs
1720  = 
1721 td
1722 ->
1723 ¥ecifics
1724 ;
1725
1726 274 
1727         `as£¹
1728 (
1729 ¥ecs
1730  && s³cs->
1731 subv¬\9fÁ
1732  =ð
1733 ASN_OSUBV_BIT
1734 );
1735
1736 276 if(
1737 a
1738  && 
1739 b
1740 ) {
1741
1742 277 
1743 size_t
1744  
1745 commÚ_´efix_size
1746  = 
1747 a
1748 ->
1749 size
1750  <ð
1751 b
1752 ->size ?\87->size : b->size;
1753
1754 278 \12
1755 »t
1756  = 
1757         `memcmp
1758 (
1759 a
1760 ->
1761 buf
1762
1763 b
1764 ->buf, 
1765 commÚ_´efix_size
1766 );
1767
1768 279 if(
1769 »t
1770  == 0) {
1771
1772 281 if(
1773 a
1774 ->
1775 size
1776  < 
1777 b
1778 ->size) {
1779
1780 283 } \vif(
1781 a
1782 ->
1783 size
1784  > 
1785 b
1786 ->size) {
1787
1788 287 if(
1789 a
1790 ->
1791 b\99s_unu£d
1792  > 
1793 b
1794 ->bits_unused) {
1795
1796 289 } \vif(
1797 a
1798 ->
1799 b\99s_unu£d
1800  < 
1801 b
1802 ->bits_unused) {
1803
1804 296 \15 
1805 »t
1806 ;
1807
1808 298 } \vif(!
1809 a
1810  && !
1811 b
1812 ) {
1813
1814 300 } \vif(!
1815 a
1816 ) {
1817
1818 305 
1819         }
1820 }
1821
1822 307 #iâdeà 
1823 ASN_DISABLE_PER_SUPPORT
1824
1825
1826 309 #undeà
1827 RETURN
1828
1829
1830 310 \ 1
1831         #RETURN
1832 (
1833 _code
1834 ) \
1835
1836 312 
1837 a¢_dec_rv®_t
1838  
1839 tm´v®
1840 ; \
1841
1842 313 
1843 tm´v®
1844 .
1845 code
1846  = 
1847 _code
1848 ; \
1849
1850 314 
1851 tm´v®
1852 .
1853 cÚsumed
1854  = 
1855 cÚsumed_my£lf
1856 ; \
1857
1858 315 \15 
1859 tm´v®
1860 ; \
1861
1862 316 } \1f0)
1863
1864         )
1865
1866 318 \18
1867 a¢_³r_cÚ¡¿\9at_t
1868  
1869         ga¢_DEF_BIT_STRING_cÚ¡¿\9at_size
1870  = {
1871
1872 319 
1873 APC_SEMI_CONSTRAINED
1874 , -1, -1, 0, 0};
1875
1876 321 
1877 a¢_dec_rv®_t
1878
1879
1880 322 
1881         $BIT_STRING_decode_u³r
1882 (cڡ 
1883 a¢_codec_ùx_t
1884  *
1885 Ýt_codec_ùx
1886 ,
1887
1888 323 cڡ 
1889 a¢_TYPE_desü\9dtÜ_t
1890  *
1891 td
1892 ,
1893
1894 324 cڡ 
1895 a¢_³r_cÚ¡¿\9ats_t
1896  *
1897 cÚ¡¿\9ats
1898\1e**
1899 ¥\8c
1900 ,
1901
1902 325 
1903 a¢_³r_d©a_t
1904  *
1905 pd
1906 ) {
1907
1908 326 cڡ 
1909 a¢_OCTET_STRING_¥ecifics_t
1910  *
1911 ¥ecs
1912  = 
1913 td
1914 ->
1915 ¥ecifics
1916
1917
1918 327 ? (cڡ 
1919 a¢_OCTET_STRING_¥ecifics_t
1920  *)
1921 td
1922 ->
1923 ¥ecifics
1924
1925
1926 328 : &
1927 a¢_SPC_BIT_STRING_¥ecs
1928 ;
1929
1930 329 cڡ 
1931 a¢_³r_cÚ¡¿\9ats_t
1932  *
1933 pc
1934  =
1935
1936 330 
1937 cÚ¡¿\9ats
1938  ? cÚ¡¿\9at : 
1939 td
1940 ->
1941 \92cod\9ag_cÚ¡¿\9ats
1942 .
1943 ³r_cÚ¡¿\9ats
1944 ;
1945
1946 331 cڡ 
1947 a¢_³r_cÚ¡¿\9at_t
1948  *
1949 csiz
1950 ;
1951
1952 332 
1953 a¢_dec_rv®_t
1954  
1955 rv®
1956  = { 
1957 RC_OK
1958 , 0 };
1959
1960 333 
1961 BIT_STRING_t
1962  *
1963 ¡
1964  = (BIT_STRING_\88*)*
1965 ¥\8c
1966 ;
1967
1968 334 
1969 ssize_t
1970  
1971 cÚsumed_my£lf
1972  = 0;
1973
1974 335 \12
1975 »³©
1976 ;
1977
1978 337 (\1e)
1979 Ýt_codec_ùx
1980 ;
1981
1982 339 if(
1983 pc
1984 ) {
1985
1986 340 
1987 csiz
1988  = &
1989 pc
1990 ->
1991 size
1992 ;
1993
1994 342 
1995 csiz
1996  = &
1997 a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
1998 ;
1999
2000 345 if(
2001 ¥ecs
2002 ->
2003 subv¬\9fÁ
2004  !ð
2005 ASN_OSUBV_BIT
2006 ) {
2007
2008 346 
2009         `ASN_DEBUG
2010 ("Subv¬\9fÁ %d i nÙ BIT OSUBV_BIT", 
2011 ¥ecs
2012 ->
2013 subv¬\9fÁ
2014 );
2015
2016 347 
2017         `RETURN
2018 (
2019 RC_FAIL
2020 );
2021
2022 353 if(!
2023 ¡
2024 ) {
2025
2026 354 
2027 ¡
2028  = (
2029 BIT_STRING_t
2030  *)(*
2031 ¥\8c
2032  = 
2033         `CALLOC
2034 (1, 
2035 ¥ecs
2036 ->
2037 ¡ruù_size
2038 ));
2039
2040 355 if(!
2041 ¡
2042 è
2043         `RETURN
2044 (
2045 RC_FAIL
2046 );
2047
2048 358 
2049         `ASN_DEBUG
2050 ("PER Decoding %s size %ld .. %ld bits %d",
2051
2052 359 
2053 csiz
2054 ->
2055 æags
2056  & 
2057 APC_EXTENSIBLE
2058  ? "extensible" : "non-extensible",
2059
2060 360 
2061 csiz
2062 ->
2063 low\94_bound
2064 , csiz->
2065\94_bound
2066 , csiz->
2067 efãùive_b\99s
2068 );
2069
2070 362 if(
2071 csiz
2072 ->
2073 æags
2074  & 
2075 APC_EXTENSIBLE
2076 ) {
2077
2078 363 \12
2079 \9aext
2080  = 
2081         `³r_g\91_ãw_b\99s
2082 (
2083 pd
2084 , 1);
2085
2086 364 if(
2087 \9aext
2088  < 0è
2089         `RETURN
2090 (
2091 RC_WMORE
2092 );
2093
2094 365 if(
2095 \9aext
2096 ) {
2097
2098 366 
2099 csiz
2100  = &
2101 a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
2102 ;
2103
2104 370 if(
2105 csiz
2106 ->
2107 efãùive_b\99s
2108  >= 0) {
2109
2110 371 
2111         `FREEMEM
2112 (
2113 ¡
2114 ->
2115 buf
2116 );
2117
2118 372 
2119 ¡
2120 ->
2121 size
2122  = (
2123 csiz
2124 ->
2125\94_bound
2126  + 7) >> 3;
2127
2128 373 
2129 ¡
2130 ->
2131 buf
2132  = (
2133 u\9at8_t
2134  *)
2135         `MALLOC
2136 (¡->
2137 size
2138  + 1);
2139
2140 374 if(!
2141 ¡
2142 ->
2143 buf
2144 è{ st->
2145 size
2146  = 0; 
2147         `RETURN
2148 (
2149 RC_FAIL
2150 ); }
2151
2152 380 if(
2153 csiz
2154 ->
2155 efãùive_b\99s
2156  == 0) {
2157
2158 381 \12
2159 »t
2160 ;
2161
2162 382 
2163         `ASN_DEBUG
2164 ("Encod\9ag BIT STRING siz\90%ld", 
2165 csiz
2166 ->
2167\94_bound
2168 );
2169
2170 383 
2171 »t
2172  = 
2173         `³r_g\91_mªy_b\99s
2174 (
2175 pd
2176
2177 ¡
2178 ->
2179 buf
2180 , 0, 
2181 csiz
2182 ->
2183\94_bound
2184 );
2185
2186 384 if(
2187 »t
2188  < 0è
2189         `RETURN
2190 (
2191 RC_WMORE
2192 );
2193
2194 385 
2195 cÚsumed_my£lf
2196  +ð
2197 csiz
2198 ->
2199\94_bound
2200 ;
2201
2202 386 
2203 ¡
2204 ->
2205 buf
2206 [¡->
2207 size
2208 ] = 0;
2209
2210 387 
2211 ¡
2212 ->
2213 b\99s_unu£d
2214  = (8 - (
2215 csiz
2216 ->
2217\94_bound
2218  & 0x7)) & 0x7;
2219
2220 388 
2221         `RETURN
2222 (
2223 RC_OK
2224 );
2225
2226 391 
2227 ¡
2228 ->
2229 size
2230  = 0;
2231
2232 393 
2233 ssize_t
2234  
2235 ¿w_Ën
2236 ;
2237
2238 394 
2239 ssize_t
2240  
2241 Ën_by\8bs
2242 ;
2243
2244 395 
2245 ssize_t
2246  
2247 Ën_b\99s
2248 ;
2249
2250 396 \1e*
2251 p
2252 ;
2253
2254 397 \12
2255 »t
2256 ;
2257
2258 400 
2259 ¿w_Ën
2260  = 
2261         `u³r_g\91_Ëngth
2262 (
2263 pd
2264
2265 csiz
2266 ->
2267 efãùive_b\99s
2268 , csiz->
2269 low\94_bound
2270 ,
2271
2272 401 &
2273 »³©
2274 );
2275
2276 402 if(
2277 ¿w_Ën
2278  < 0è
2279         `RETURN
2280 (
2281 RC_WMORE
2282 );
2283
2284 403 if(
2285 ¿w_Ën
2286  =ð0 && 
2287 ¡
2288 ->
2289 buf
2290\ 3;
2291
2292 405 
2293         `ASN_DEBUG
2294 ("Got PER\86ength\83b %ld,\86en %ld, %s (%s)",
2295
2296 406 (\13)
2297 csiz
2298 ->
2299 efãùive_b\99s
2300 , (\13)
2301 ¿w_Ën
2302 ,
2303
2304 407 
2305 »³©
2306  ? "»³©" : "Úû", 
2307 td
2308 ->
2309 Çme
2310 );
2311
2312 408 
2313 Ën_b\99s
2314  = 
2315 ¿w_Ën
2316 ;
2317
2318 409 
2319 Ën_by\8bs
2320  = (
2321 Ën_b\99s
2322  + 7) >> 3;
2323
2324 410 if(
2325 Ën_b\99s
2326  & 0x7è
2327 ¡
2328 ->
2329 b\99s_unu£d
2330  = 8 - (len_bits & 0x7);
2331
2332 412 
2333 p
2334  = 
2335         `REALLOC
2336 (
2337 ¡
2338 ->
2339 buf
2340 , st->
2341 size
2342  + 
2343 Ën_by\8bs
2344  + 1);
2345
2346 413 if(!
2347 p
2348 è
2349         `RETURN
2350 (
2351 RC_FAIL
2352 );
2353
2354 414 
2355 ¡
2356 ->
2357 buf
2358  = (
2359 u\9at8_t
2360  *)
2361 p
2362 ;
2363
2364 416 
2365 »t
2366  = 
2367         `³r_g\91_mªy_b\99s
2368 (
2369 pd
2370 , &
2371 ¡
2372 ->
2373 buf
2374 [¡->
2375 size
2376 ], 0, 
2377 Ën_b\99s
2378 );
2379
2380 417 if(
2381 »t
2382  < 0è
2383         `RETURN
2384 (
2385 RC_WMORE
2386 );
2387
2388 418 
2389 ¡
2390 ->
2391 size
2392  +ð
2393 Ën_by\8bs
2394 ;
2395
2396 419 } \1f
2397 »³©
2398 );
2399
2400 420 
2401 ¡
2402 ->
2403 buf
2404 [¡->
2405 size
2406 ] = 0;
2407
2408 422 \15 
2409 rv®
2410 ;
2411
2412 423 
2413         }
2414 }
2415
2416 425 
2417 a¢_\92c_rv®_t
2418
2419
2420 426 
2421         $BIT_STRING_\92code_u³r
2422 (cڡ 
2423 a¢_TYPE_desü\9dtÜ_t
2424  *
2425 td
2426 ,
2427
2428 427 cڡ 
2429 a¢_³r_cÚ¡¿\9ats_t
2430  *
2431 cÚ¡¿\9ats
2432 ,
2433
2434 428 cڡ \1e*
2435 ¥\8c
2436
2437 a¢_³r_ou\8d_t
2438  *
2439 po
2440 ) {
2441
2442 429 cڡ 
2443 a¢_OCTET_STRING_¥ecifics_t
2444  *
2445 ¥ecs
2446  =
2447
2448 430 
2449 td
2450 ->
2451 ¥ecifics
2452  ? (cڡ 
2453 a¢_OCTET_STRING_¥ecifics_t
2454  *)td->specifics
2455
2456 431 : &
2457 a¢_SPC_BIT_STRING_¥ecs
2458 ;
2459
2460 432 cڡ 
2461 a¢_³r_cÚ¡¿\9ats_t
2462  *
2463 pc
2464  =
2465
2466 433 
2467 cÚ¡¿\9ats
2468  ? cÚ¡¿\9at : 
2469 td
2470 ->
2471 \92cod\9ag_cÚ¡¿\9ats
2472 .
2473 ³r_cÚ¡¿\9ats
2474 ;
2475
2476 434 cڡ 
2477 a¢_³r_cÚ¡¿\9at_t
2478  *
2479 csiz
2480 ;
2481
2482 435 cڡ 
2483 BIT_STRING_t
2484  *
2485 ¡
2486  = (cÚ¡ BIT_STRING_\88*)
2487 ¥\8c
2488 ;
2489
2490 436 
2491 BIT_STRING_t
2492  
2493 com·ù_b¡r
2494 ;
2495
2496 437 
2497 a¢_\92c_rv®_t
2498  
2499 \94
2500  = { 0, 0, 0 };
2501
2502 438 \12
2503 \9aext
2504  = 0;
2505
2506 439 
2507 size_t
2508  
2509 size_\9a_b\99s
2510 ;
2511
2512 440 cڡ 
2513 u\9at8_t
2514  *
2515 buf
2516 ;
2517
2518 441 \12
2519 »t
2520 ;
2521
2522 442 \12
2523 ù_ex\8bnsibË
2524 ;
2525
2526 444 if(!
2527 ¡
2528  || (!¡->
2529 buf
2530  && st->
2531 size
2532 ))
2533
2534 445 
2535 ASN__ENCODE_FAILED
2536 ;
2537
2538 447 if(
2539 ¥ecs
2540 ->
2541 subv¬\9fÁ
2542  =ð
2543 ASN_OSUBV_BIT
2544 ) {
2545
2546 448 if((
2547 ¡
2548 ->
2549 size
2550  =ð0 && st->
2551 b\99s_unu£d
2552 ) || (st->bits_unused & ~7))
2553
2554 449 
2555 ASN__ENCODE_FAILED
2556 ;
2557
2558 451 
2559 ASN__ENCODE_FAILED
2560 ;
2561
2562 454 if(
2563 pc
2564 ) {
2565
2566 455 
2567 csiz
2568  = &
2569 pc
2570 ->
2571 size
2572 ;
2573
2574 457 
2575 csiz
2576  = &
2577 a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
2578 ;
2579
2580 459 
2581 ù_ex\8bnsibË
2582  = 
2583 csiz
2584 ->
2585 æags
2586  & 
2587 APC_EXTENSIBLE
2588 ;
2589
2590 462 
2591 ¡
2592  = 
2593         `BIT_STRING__com·ùify
2594 (¡, &
2595 com·ù_b¡r
2596 );
2597
2598 463 
2599 size_\9a_b\99s
2600  = 8 * 
2601 ¡
2602 ->
2603 size
2604  - st->
2605 b\99s_unu£d
2606 ;
2607
2608 465 
2609         `ASN_DEBUG
2610 (
2611
2612 466 "Encod\9ag % \9atØ%" 
2613 ASN_PRI_SIZE
2614  " bits"
2615
2616 468 
2617 td
2618 ->
2619 Çme
2620
2621 size_\9a_b\99s
2622
2623 csiz
2624 ->
2625 low\94_bound
2626 , csiz->
2627\94_bound
2628 ,
2629
2630 469 
2631 csiz
2632 ->
2633 efãùive_b\99s
2634
2635 ù_ex\8bnsibË
2636  ? " EXT" : "");
2637
2638 473 if(
2639 csiz
2640 ->
2641 efãùive_b\99s
2642  >= 0) {
2643
2644 474 if((
2645 ssize_t
2646 )
2647 size_\9a_b\99s
2648  > 
2649 csiz
2650 ->
2651\94_bound
2652 ) {
2653
2654 475 if(
2655 ù_ex\8bnsibË
2656 ) {
2657
2658 476 
2659 csiz
2660  = &
2661 a¢_DEF_BIT_STRING_cÚ¡¿\9at_size
2662 ;
2663
2664 477 
2665 \9aext
2666  = 1;
2667
2668 479 
2669 ASN__ENCODE_FAILED
2670 ;
2671
2672 483 
2673 \9aext
2674  = 0;
2675
2676 486 if(
2677 ù_ex\8bnsibË
2678 ) {
2679
2680 488 if(
2681         `³r_put_ãw_b\99s
2682 (
2683 po
2684
2685 \9aext
2686 , 1))
2687
2688 489 
2689 ASN__ENCODE_FAILED
2690 ;
2691
2692 492 if(
2693 csiz
2694 ->
2695 efãùive_b\99s
2696  >ð0 && !
2697 \9aext
2698 ) {
2699
2700 493 \12
2701 add_\8ca\9e\94
2702  = (
2703 ssize_t
2704 )
2705 size_\9a_b\99s
2706  < 
2707 csiz
2708 ->
2709 low\94_bound
2710 ;
2711
2712 494 
2713         `ASN_DEBUG
2714 (
2715
2716 495 "Encod\9ag %" 
2717 ASN_PRI_SIZE
2718  " bytes (%ld),\86ength (in %d bits)\81railer %d;\87ctual "
2719
2720 496 "v®u\90%" 
2721 ASN_PRI_SSIZE
2722  "",
2723
2724 497 
2725 ¡
2726 ->
2727 size
2728
2729 size_\9a_b\99s
2730  - 
2731 csiz
2732 ->
2733 low\94_bound
2734 , csiz->
2735 efãùive_b\99s
2736 ,
2737
2738 498 
2739 add_\8ca\9e\94
2740 ,
2741
2742 499 
2743 add_\8ca\9e\94
2744  ? 0 : (
2745 ssize_t
2746 )
2747 size_\9a_b\99s
2748  - 
2749 csiz
2750 ->
2751 low\94_bound
2752 );
2753
2754 500 
2755 »t
2756  = 
2757         `³r_put_ãw_b\99s
2758 (
2759
2760 501 
2761 po
2762
2763 add_\8ca\9e\94
2764  ? 0 : (
2765 ssize_t
2766 )
2767 size_\9a_b\99s
2768  - 
2769 csiz
2770 ->
2771 low\94_bound
2772 ,
2773
2774 502 
2775 csiz
2776 ->
2777 efãùive_b\99s
2778 );
2779
2780 503 if(
2781 »t
2782 è
2783 ASN__ENCODE_FAILED
2784 ;
2785
2786 504 
2787 »t
2788  = 
2789         `³r_put_mªy_b\99s
2790 (
2791 po
2792
2793 ¡
2794 ->
2795 buf
2796
2797 size_\9a_b\99s
2798 );
2799
2800 505 if(
2801 »t
2802 è
2803 ASN__ENCODE_FAILED
2804 ;
2805
2806 506 if(
2807 add_\8ca\9e\94
2808 ) {
2809
2810 507 \18cڡ 
2811 u\9at8_t
2812  
2813 z\94os
2814 [16];
2815
2816 508 
2817 size_t
2818  
2819 \8ca\9e\9ag_z\94o_b\99s
2820  = 
2821 csiz
2822 ->
2823 low\94_bound
2824  - 
2825 size_\9a_b\99s
2826 ;
2827
2828 509 \1f
2829 \8ca\9e\9ag_z\94o_b\99s
2830  > 0) {
2831
2832 510 if(
2833 \8ca\9e\9ag_z\94o_b\99s
2834  > 8 * \17(
2835 z\94os
2836 )) {
2837
2838 511 
2839 »t
2840  = 
2841         `³r_put_mªy_b\99s
2842 (
2843 po
2844
2845 z\94os
2846 , 8 * \17(zeros));
2847
2848 512 
2849 \8ca\9e\9ag_z\94o_b\99s
2850  -ð8 * \17(
2851 z\94os
2852 );
2853
2854 514 
2855 »t
2856  = 
2857         `³r_put_mªy_b\99s
2858 (
2859 po
2860
2861 z\94os
2862
2863 \8ca\9e\9ag_z\94o_b\99s
2864 );
2865
2866 515 
2867 \8ca\9e\9ag_z\94o_b\99s
2868  = 0;
2869
2870 517 if(
2871 »t
2872 è
2873 ASN__ENCODE_FAILED
2874 ;
2875
2876 520 
2877         `ASN__ENCODED_OK
2878 (
2879 \94
2880 );
2881
2882 523 
2883         `ASN_DEBUG
2884 ("Encod\9ag %" 
2885 ASN_PRI_SIZE
2886  " by\8bs", 
2887 ¡
2888 ->
2889 size
2890 );
2891
2892 525 
2893 buf
2894  = 
2895 ¡
2896 ->buf;
2897
2898 527 \12
2899 Ãed_eom
2900  = 0;
2901
2902 528 
2903 ssize_t
2904  
2905 maySave
2906  = 
2907         `u³r_put_Ëngth
2908 (
2909 po
2910
2911 size_\9a_b\99s
2912 , &
2913 Ãed_eom
2914 );
2915
2916 529 if(
2917 maySave
2918  < 0è
2919 ASN__ENCODE_FAILED
2920 ;
2921
2922 531 
2923         `ASN_DEBUG
2924 ("Encod\9ag %" 
2925 ASN_PRI_SSIZE
2926  " oà%" 
2927 ASN_PRI_SIZE
2928  "", 
2929 maySave
2930
2931 size_\9a_b\99s
2932 );
2933
2934 533 
2935 »t
2936  = 
2937         `³r_put_mªy_b\99s
2938 (
2939 po
2940
2941 buf
2942
2943 maySave
2944 );
2945
2946 534 if(
2947 »t
2948 è
2949 ASN__ENCODE_FAILED
2950 ;
2951
2952 536 
2953 buf
2954  +ð
2955 maySave
2956  >> 3;
2957
2958 537 
2959 size_\9a_b\99s
2960  -ð
2961 maySave
2962 ;
2963
2964 538 
2965         `as£¹
2966 (!(
2967 maySave
2968  & 0x07è|| !
2969 size_\9a_b\99s
2970 );
2971
2972 539 if(
2973 Ãed_eom
2974  && 
2975         `u³r_put_Ëngth
2976 (
2977 po
2978 , 0, 0))
2979
2980 540 
2981 ASN__ENCODE_FAILED
2982 ;
2983
2984 541 } \1f
2985 size_\9a_b\99s
2986 );
2987
2988 543 
2989         `ASN__ENCODED_OK
2990 (
2991 \94
2992 );
2993
2994 544 
2995         }
2996 }
2997
2998 548 
2999 a¢_¿ndom_f\9el_»suÉ_t
3000
3001
3002 549 
3003         $BIT_STRING_¿ndom_f\9el
3004 (cڡ 
3005 a¢_TYPE_desü\9dtÜ_t
3006  *
3007 td
3008\1e**
3009 ¥\8c
3010 ,
3011
3012 550 cڡ 
3013 a¢_\92cod\9ag_cÚ¡¿\9ats_t
3014  *
3015 cÚ¡¿\9ats
3016 ,
3017
3018 551 
3019 size_t
3020  
3021 max_Ëngth
3022 ) {
3023
3024 552 cڡ 
3025 a¢_OCTET_STRING_¥ecifics_t
3026  *
3027 ¥ecs
3028  =
3029
3030 553 
3031 td
3032 ->
3033 ¥ecifics
3034  ? (cڡ 
3035 a¢_OCTET_STRING_¥ecifics_t
3036  *)td->specifics
3037
3038 554 : &
3039 a¢_SPC_BIT_STRING_¥ecs
3040 ;
3041
3042 555 
3043 a¢_¿ndom_f\9el_»suÉ_t
3044  
3045 »suÉ_ok
3046  = {
3047 ARFILL_OK
3048 , 1};
3049
3050 556 
3051 a¢_¿ndom_f\9el_»suÉ_t
3052  
3053 »suÉ_ç\9eed
3054  = {
3055 ARFILL_FAILED
3056 , 0};
3057
3058 557 
3059 a¢_¿ndom_f\9el_»suÉ_t
3060  
3061 »suÉ_sk\9d³d
3062  = {
3063 ARFILL_SKIPPED
3064 , 0};
3065
3066 558 \18\1d
3067 Ëngths
3068 [] = {0, 1, 2, 3, 4, 8,
3069
3070 561 
3071 u\9at8_t
3072  *
3073 buf
3074 ;
3075
3076 562 
3077 u\9at8_t
3078  *
3079 b\92d
3080 ;
3081
3082 563 
3083 u\9at8_t
3084  *
3085 b
3086 ;
3087
3088 564 
3089 size_t
3090  
3091 ºd_b\99s
3092
3093 ºd_Ën
3094 ;
3095
3096 565 
3097 BIT_STRING_t
3098  *
3099 ¡
3100 ;
3101
3102 567 if(
3103 max_Ëngth
3104  =ð0è\15 
3105 »suÉ_sk\9d³d
3106 ;
3107
3108 569 \1a
3109 ¥ecs
3110 ->
3111 subv¬\9fÁ
3112 ) {
3113
3114 570 \ 4
3115 ASN_OSUBV_ANY
3116 :
3117
3118 571 \15 
3119 »suÉ_ç\9eed
3120 ;
3121
3122 572 \ 4
3123 ASN_OSUBV_BIT
3124 :
3125
3126 579 
3127 ºd_b\99s
3128  = 
3129 Ëngths
3130 [
3131         `a¢_¿ndom_b\91w\93n
3132 (
3133
3134 580 0, \17(
3135 Ëngths
3136 ) / \17(lengths[0]) - 1)];
3137
3138 581 if(!
3139 cÚ¡¿\9ats
3140  || !cÚ¡¿\9ats->
3141 ³r_cÚ¡¿\9ats
3142 )
3143
3144 582 
3145 cÚ¡¿\9ats
3146  = &
3147 td
3148 ->
3149 \92cod\9ag_cÚ¡¿\9ats
3150 ;
3151
3152 583 if(
3153 cÚ¡¿\9ats
3154 ->
3155 ³r_cÚ¡¿\9ats
3156 ) {
3157
3158 584 cڡ 
3159 a¢_³r_cÚ¡¿\9at_t
3160  *
3161 pc
3162  = &
3163 cÚ¡¿\9ats
3164 ->
3165 ³r_cÚ¡¿\9ats
3166 ->
3167 size
3168 ;
3169
3170 585 if(
3171 pc
3172 ->
3173 æags
3174  & 
3175 APC_CONSTRAINED
3176 ) {
3177
3178 586 \13
3179 sugge¡ed_uµ\94_bound
3180  = 
3181 pc
3182 ->
3183\94_bound
3184  < (
3185 ssize_t
3186 )
3187 max_Ëngth
3188
3189
3190 587 ? 
3191 pc
3192 ->
3193\94_bound
3194
3195
3196 588 : (
3197 ssize_t
3198 )
3199 max_Ëngth
3200 ;
3201
3202 589 if(
3203 max_Ëngth
3204  < (
3205 size_t
3206 )
3207 pc
3208 ->
3209 low\94_bound
3210 ) {
3211
3212 590 \15 
3213 »suÉ_sk\9d³d
3214 ;
3215
3216 592 if(
3217 pc
3218 ->
3219 æags
3220  & 
3221 APC_EXTENSIBLE
3222 ) {
3223
3224 593 \1a
3225         `a¢_¿ndom_b\91w\93n
3226 (0, 5)) {
3227
3228 595 if(
3229 pc
3230 ->
3231 low\94_bound
3232  > 0) {
3233
3234 596 
3235 ºd_b\99s
3236  = 
3237 pc
3238 ->
3239 low\94_bound
3240  - 1;
3241
3242 601 
3243 ºd_b\99s
3244  = 
3245 pc
3246 ->
3247\94_bound
3248  + 1;
3249
3250 605 if(
3251 ºd_b\99s
3252  < 
3253 max_Ëngth
3254 ) {
3255
3256 610 
3257 ºd_b\99s
3258  = 
3259         `a¢_¿ndom_b\91w\93n
3260 (
3261 pc
3262 ->
3263 low\94_bound
3264 ,
3265
3266 611 
3267 sugge¡ed_uµ\94_bound
3268 );
3269
3270 614 
3271 ºd_b\99s
3272  =
3273
3274 615 
3275         `a¢_¿ndom_b\91w\93n
3276 (
3277 pc
3278 ->
3279 low\94_bound
3280
3281 sugge¡ed_uµ\94_bound
3282 );
3283
3284 618 
3285 ºd_b\99s
3286  = 
3287         `a¢_¿ndom_b\91w\93n
3288 (0, 
3289 max_Ëngth
3290  - 1);
3291
3292 620 } \vif(
3293 ºd_b\99s
3294  >ð
3295 max_Ëngth
3296 ) {
3297
3298 621 
3299 ºd_b\99s
3300  = 
3301         `a¢_¿ndom_b\91w\93n
3302 (0, 
3303 max_Ëngth
3304  - 1);
3305
3306 624 
3307 ºd_Ën
3308  = (
3309 ºd_b\99s
3310  + 7) / 8;
3311
3312 625 
3313 buf
3314  = 
3315         `CALLOC
3316 (1, 
3317 ºd_Ën
3318  + 1);
3319
3320 626 if(!
3321 buf
3322 è\15 
3323 »suÉ_ç\9eed
3324 ;
3325
3326 628 
3327 b\92d
3328  = &
3329 buf
3330 [
3331 ºd_Ën
3332 ];
3333
3334 630 \ f
3335 b
3336  = 
3337 buf
3338 ; b < 
3339 b\92d
3340 ; b++) {
3341
3342 631 *(
3343 u\9at8_t
3344  *)
3345 b
3346  = 
3347         `a¢_¿ndom_b\91w\93n
3348 (0, 255);
3349
3350 633 *
3351 b
3352  = 0;
3353
3354 635 if(*
3355 ¥\8c
3356 ) {
3357
3358 636 
3359 ¡
3360  = *
3361 ¥\8c
3362 ;
3363
3364 637 
3365         `FREEMEM
3366 (
3367 ¡
3368 ->
3369 buf
3370 );
3371
3372 639 
3373 ¡
3374  = (
3375 BIT_STRING_t
3376  *)(*
3377 ¥\8c
3378  = 
3379         `CALLOC
3380 (1, 
3381 ¥ecs
3382 ->
3383 ¡ruù_size
3384 ));
3385
3386 640 if(!
3387 ¡
3388 ) {
3389
3390 641 
3391         `FREEMEM
3392 (
3393 buf
3394 );
3395
3396 642 \15 
3397 »suÉ_ç\9eed
3398 ;
3399
3400 646 
3401 ¡
3402 ->
3403 buf
3404  = buf;
3405
3406 647 
3407 ¡
3408 ->
3409 size
3410  = 
3411 ºd_Ën
3412 ;
3413
3414 648 
3415 ¡
3416 ->
3417 b\99s_unu£d
3418  = (8 - (
3419 ºd_b\99s
3420  & 0x7)) & 0x7;
3421
3422 649 if(
3423 ¡
3424 ->
3425 b\99s_unu£d
3426 ) {
3427
3428 650 
3429         `as£¹
3430 (
3431 ¡
3432 ->
3433 size
3434  > 0);
3435
3436 651 
3437 ¡
3438 ->
3439 buf
3440 [¡->
3441 size
3442 -1] &ð0xfà<< st->
3443 b\99s_unu£d
3444 ;
3445
3446 654 
3447 »suÉ_ok
3448 .
3449 Ëngth
3450  = 
3451 ¡
3452 ->
3453 size
3454 ;
3455
3456 655 \15 
3457 »suÉ_ok
3458 ;
3459
3460 656 
3461         }
3462 }
3463
3464         @BOOLEAN.c
3465
3466\ 2
3467         ~<a¢_\9a\8bº®.h
3468 >
3469
3470\ 2
3471         ~<a¢_codecs_´im.h
3472 >
3473
3474\ 2
3475         ~<BOOLEAN.h
3476 >
3477
3478 12 \18cڡ 
3479 b\94_\8ev_\8fg_t
3480  
3481         ga¢_DEF_BOOLEAN_\8fgs
3482 [] = {
3483
3484 13 (
3485 ASN_TAG_CLASS_UNIVERSAL
3486  | (1 << 2))
3487
3488 15 
3489 a¢_TYPE_Ý\94©iÚ_t
3490  
3491         ga¢_OP_BOOLEAN
3492  = {
3493
3494 16 
3495 BOOLEAN_ä\93
3496 ,
3497
3498 17 
3499 BOOLEAN_´\9at
3500 ,
3501
3502 18 
3503 BOOLEAN_com·»
3504 ,
3505
3506 19 
3507 BOOLEAN_decode_b\94
3508 ,
3509
3510 20 
3511 BOOLEAN_\92code_d\94
3512 ,
3513
3514 21 
3515 BOOLEAN_decode_x\94
3516 ,
3517
3518 22 
3519 BOOLEAN_\92code_x\94
3520 ,
3521
3522 23 #ifdef 
3523 ASN_DISABLE_OER_SUPPORT
3524
3525
3526 27 
3527 BOOLEAN_decode_Ûr
3528 ,
3529
3530 28 
3531 BOOLEAN_\92code_Ûr
3532 ,
3533
3534 30 #ifdef 
3535 ASN_DISABLE_PER_SUPPORT
3536
3537
3538 36 
3539 BOOLEAN_decode_u³r
3540 ,
3541
3542 37 
3543 BOOLEAN_\92code_u³r
3544 ,
3545
3546 38 
3547 BOOLEAN_decode_­\94
3548 ,
3549
3550 39 
3551 BOOLEAN_\92code_­\94
3552 ,
3553
3554 41 
3555 BOOLEAN_¿ndom_f\9el
3556 ,
3557
3558 44 
3559 a¢_TYPE_desü\9dtÜ_t
3560  
3561         ga¢_DEF_BOOLEAN
3562  = {
3563
3564 47 &
3565 a¢_OP_BOOLEAN
3566 ,
3567
3568 48 
3569 a¢_DEF_BOOLEAN_\8fgs
3570 ,
3571
3572 49 \17(
3573 a¢_DEF_BOOLEAN_\8fgs
3574 ) / \17(asn_DEF_BOOLEAN_tags[0]),
3575
3576 50 
3577 a¢_DEF_BOOLEAN_\8fgs
3578 ,
3579
3580 51 \17(
3581 a¢_DEF_BOOLEAN_\8fgs
3582 ) / \17(asn_DEF_BOOLEAN_tags[0]),
3583
3584 52 { 0, 0, 
3585 a¢_g\92\94ic_no_cÚ¡¿\9at
3586  },
3587
3588 60 
3589 a¢_dec_rv®_t
3590
3591
3592 61 
3593         $BOOLEAN_decode_b\94
3594 (cڡ 
3595 a¢_codec_ùx_t
3596  *
3597 Ýt_codec_ùx
3598 ,
3599
3600 62 cڡ 
3601 a¢_TYPE_desü\9dtÜ_t
3602  *
3603 td
3604\1e**
3605 boÞ_v®ue
3606 ,
3607
3608 63 cڡ \1e*
3609 buf_±r
3610
3611 size_t
3612  
3613 size
3614\12
3615 \8fg_mode
3616 ) {
3617
3618 64 
3619 BOOLEAN_t
3620  *
3621 ¡
3622  = (BOOLEAN_\88*)*
3623 boÞ_v®ue
3624 ;
3625
3626 65 
3627 a¢_dec_rv®_t
3628  
3629 rv®
3630 ;
3631
3632 66 
3633 b\94_\8ev_Ën_t
3634  
3635 Ëngth
3636 ;
3637
3638 67 
3639 b\94_\8ev_Ën_t
3640  
3641 lidx
3642 ;
3643
3644 69 if(
3645 ¡
3646  =ð
3647 NULL
3648 ) {
3649
3650 70 
3651 ¡
3652  = (
3653 BOOLEAN_t
3654  *)(*
3655 boÞ_v®ue
3656  = 
3657         `CALLOC
3658 (1, \17(*st)));
3659
3660 71 if(
3661 ¡
3662  =ð
3663 NULL
3664 ) {
3665
3666 72 
3667 rv®
3668 .
3669 code
3670  = 
3671 RC_FAIL
3672 ;
3673
3674 73 
3675 rv®
3676 .
3677 cÚsumed
3678  = 0;
3679
3680 74 \15 
3681 rv®
3682 ;
3683
3684 78 
3685         `ASN_DEBUG
3686 ("Decoding %s\87s BOOLEAN (tm=%d)",
3687
3688 79 
3689 td
3690 ->
3691 Çme
3692
3693 \8fg_mode
3694 );
3695
3696 84 
3697 rv®
3698  = 
3699         `b\94_check_\8fgs
3700 (
3701 Ýt_codec_ùx
3702
3703 td
3704 , 0, 
3705 buf_±r
3706
3707 size
3708 ,
3709
3710 85 
3711 \8fg_mode
3712 , 0, &
3713 Ëngth
3714 , 0);
3715
3716 86 if(
3717 rv®
3718 .
3719 code
3720  !ð
3721 RC_OK
3722 )
3723
3724 87 \15 
3725 rv®
3726 ;
3727
3728 89 
3729         `ASN_DEBUG
3730 ("BoÞ\97ÀËngth i %d by\8bs", (\12)
3731 Ëngth
3732 );
3733
3734 91 
3735 buf_±r
3736  = ((cÚ¡ \ 5*)buf_±rè+ 
3737 rv®
3738 .
3739 cÚsumed
3740 ;
3741
3742 92 
3743 size
3744  -ð
3745 rv®
3746 .
3747 cÚsumed
3748 ;
3749
3750 93 if(
3751 Ëngth
3752  > (
3753 b\94_\8ev_Ën_t
3754 )
3755 size
3756 ) {
3757
3758 94 
3759 rv®
3760 .
3761 code
3762  = 
3763 RC_WMORE
3764 ;
3765
3766 95 
3767 rv®
3768 .
3769 cÚsumed
3770  = 0;
3771
3772 96 \15 
3773 rv®
3774 ;
3775
3776 102 \ f*
3777 ¡
3778  = 0, 
3779 lidx
3780  = 0;
3781
3782 103 (
3783 lidx
3784  < 
3785 Ëngth
3786 è&& *
3787 ¡
3788  == 0;\86idx++) {
3789
3790 109 *
3791 ¡
3792  |ð((cÚ¡ 
3793 u\9at8_t
3794  *)
3795 buf_±r
3796 )[
3797 lidx
3798 ];
3799
3800 112 
3801 rv®
3802 .
3803 code
3804  = 
3805 RC_OK
3806 ;
3807
3808 113 
3809 rv®
3810 .
3811 cÚsumed
3812  +ð
3813 Ëngth
3814 ;
3815
3816 115 
3817         `ASN_DEBUG
3818 ("Took %ld/%ld bytes\81o\83ncode %s, value=%d",
3819
3820 116 (\13)
3821 rv®
3822 .
3823 cÚsumed
3824 , (\13)
3825 Ëngth
3826 ,
3827
3828 117 
3829 td
3830 ->
3831 Çme
3832 , *
3833 ¡
3834 );
3835
3836 119 \15 
3837 rv®
3838 ;
3839
3840 120 
3841         }
3842 }
3843
3844 122 
3845 a¢_\92c_rv®_t
3846
3847
3848 123 
3849         $BOOLEAN_\92code_d\94
3850 (cڡ 
3851 a¢_TYPE_desü\9dtÜ_t
3852  *
3853 td
3854 , cڡ \1e*
3855 ¥\8c
3856 ,
3857
3858 124 \12
3859 \8fg_mode
3860
3861 b\94_\8ev_\8fg_t
3862  
3863 \8fg
3864
3865 a¢_­p_cÚsume_by\8bs_f
3866  *
3867 cb
3868 ,
3869
3870 125 \1e*
3871 ­p_key
3872 ) {
3873
3874 126 
3875 a¢_\92c_rv®_t
3876  
3877 \94
3878  = {0,0,0};
3879
3880 127 cڡ 
3881 BOOLEAN_t
3882  *
3883 ¡
3884  = (cÚ¡ BOOLEAN_\88*)
3885 ¥\8c
3886 ;
3887
3888 129 
3889 \94
3890 .
3891 \92coded
3892  = 
3893         `d\94_wr\99e_\8fgs
3894 (
3895 td
3896 , 1, 
3897 \8fg_mode
3898 , 0, 
3899 \8fg
3900
3901 cb
3902
3903 ­p_key
3904 );
3905
3906 130 if(
3907 \94
3908 .
3909 \92coded
3910  == -1) {
3911
3912 131 
3913 \94
3914 .
3915 ç\9eed_ty³
3916  = 
3917 td
3918 ;
3919
3920 132 
3921 \94
3922 .
3923 ¡ruùu»_±r
3924  = 
3925 ¥\8c
3926 ;
3927
3928 133 \15 
3929 \94
3930 ;
3931
3932 136 if(
3933 cb
3934 ) {
3935
3936 137 
3937 u\9at8_t
3938  
3939 boÞ_v®ue
3940 ;
3941
3942 139 
3943 boÞ_v®ue
3944  = *
3945 ¡
3946  ? 0xff : 0;
3947
3948 141 if(
3949         `cb
3950 (&
3951 boÞ_v®ue
3952 , 1, 
3953 ­p_key
3954 ) < 0) {
3955
3956 142 
3957 \94
3958 .
3959 \92coded
3960  = -1;
3961
3962 143 
3963 \94
3964 .
3965 ç\9eed_ty³
3966  = 
3967 td
3968 ;
3969
3970 144 
3971 \94
3972 .
3973 ¡ruùu»_±r
3974  = 
3975 ¥\8c
3976 ;
3977
3978 145 \15 
3979 \94
3980 ;
3981
3982 149 
3983 \94
3984 .
3985 \92coded
3986  += 1;
3987
3988 151 
3989         `ASN__ENCODED_OK
3990 (
3991 \94
3992 );
3993
3994 152 
3995         }
3996 }
3997
3998 158 \18\f
3999 x\94_pbd_rv®
4000
4001
4002 159 
4003         $BOOLEAN__x\94_body_decode
4004 (cڡ 
4005 a¢_TYPE_desü\9dtÜ_t
4006  *
4007 td
4008\1e*
4009 ¥\8c
4010 ,
4011
4012 160 cڡ \1e*
4013 chunk_buf
4014
4015 size_t
4016  
4017 chunk_size
4018 ) {
4019
4020 161 
4021 BOOLEAN_t
4022  *
4023 ¡
4024  = (BOOLEAN_\88*)
4025 ¥\8c
4026 ;
4027
4028 162 cڡ \ 5*
4029 p
4030  = (cڡ \ 5*)
4031 chunk_buf
4032 ;
4033
4034 164 (\1e)
4035 td
4036 ;
4037
4038 166 if(
4039 chunk_size
4040  && 
4041 p
4042 [0] == 0x3c ) {
4043
4044 167 \1a
4045         `x\94_check_\8fg
4046 (
4047 chunk_buf
4048
4049 chunk_size
4050 , "false")) {
4051
4052 168 \ 4
4053 XCT_BOTH
4054 :
4055
4056 170 *
4057 ¡
4058  = 0;
4059
4060 172 \ 4
4061 XCT_UNKNOWN_BO
4062 :
4063
4064 173 if(
4065         `x\94_check_\8fg
4066 (
4067 chunk_buf
4068
4069 chunk_size
4070 , "true")
4071
4072 174 !ð
4073 XCT_BOTH
4074 )
4075
4076 175 \15 
4077 XPBD_BROKEN_ENCODING
4078 ;
4079
4080 177 *
4081 ¡
4082  = 1;
4083
4084 180 \15 
4085 XPBD_BROKEN_ENCODING
4086 ;
4087
4088 182 \15 
4089 XPBD_BODY_CONSUMED
4090 ;
4091
4092 184 \15 
4093 XPBD_BROKEN_ENCODING
4094 ;
4095
4096 186 
4097         }
4098 }
4099
4100 189 
4101 a¢_dec_rv®_t
4102
4103
4104 190 
4105         $BOOLEAN_decode_x\94
4106 (cڡ 
4107 a¢_codec_ùx_t
4108  *
4109 Ýt_codec_ùx
4110 ,
4111
4112 191 cڡ 
4113 a¢_TYPE_desü\9dtÜ_t
4114  *
4115 td
4116\1e**
4117 ¥\8c
4118 ,
4119
4120 192 cڡ \ 5*
4121 Ýt_mÇme
4122 , cڡ \1e*
4123 buf_±r
4124
4125 size_t
4126  
4127 size
4128 ) {
4129
4130 193 \15 
4131         `x\94_decode_´im\99ive
4132 (
4133 Ýt_codec_ùx
4134
4135 td
4136 ,
4137
4138 194 
4139 ¥\8c
4140\17(
4141 BOOLEAN_t
4142 ), 
4143 Ýt_mÇme
4144
4145 buf_±r
4146
4147 size
4148 ,
4149
4150 195 
4151 BOOLEAN__x\94_body_decode
4152 );
4153
4154 196 
4155         }
4156 }
4157
4158 198 
4159 a¢_\92c_rv®_t
4160
4161
4162 199 
4163         $BOOLEAN_\92code_x\94
4164 (cڡ 
4165 a¢_TYPE_desü\9dtÜ_t
4166  *
4167 td
4168 , cڡ \1e*
4169 ¥\8c
4170 ,
4171
4172 200 \12
4173 \9eev\96
4174\f
4175 x\94_\92cod\94_æags_e
4176  
4177 æags
4178 ,
4179
4180 201 
4181 a¢_­p_cÚsume_by\8bs_f
4182  *
4183 cb
4184\1e*
4185 ­p_key
4186 ) {
4187
4188 202 cڡ 
4189 BOOLEAN_t
4190  *
4191 ¡
4192  = (cÚ¡ BOOLEAN_\88*)
4193 ¥\8c
4194 ;
4195
4196 203 
4197 a¢_\92c_rv®_t
4198  
4199 \94
4200  = {0, 0, 0};
4201
4202 205 (\1e)
4203 \9eev\96
4204 ;
4205
4206 206 (\1e)
4207 æags
4208 ;
4209
4210 208 if(!
4211 ¡
4212 è
4213 ASN__ENCODE_FAILED
4214 ;
4215
4216 210 if(*
4217 ¡
4218 ) {
4219
4220 211 
4221         `ASN__CALLBACK
4222 ("<true/>", 7);
4223
4224 213 
4225         `ASN__CALLBACK
4226 ("<false/>", 8);
4227
4228 216 
4229         `ASN__ENCODED_OK
4230 (
4231 \94
4232 );
4233
4234 217 
4235 cb_ç\9eed
4236 :
4237
4238 218 
4239 ASN__ENCODE_FAILED
4240 ;
4241
4242 219 
4243         }
4244 }
4245
4246 222 
4247         $BOOLEAN_´\9at
4248 (cڡ 
4249 a¢_TYPE_desü\9dtÜ_t
4250  *
4251 td
4252 , cڡ \1e*
4253 ¥\8c
4254\12
4255 \9eev\96
4256 ,
4257
4258 223 
4259 a¢_­p_cÚsume_by\8bs_f
4260  *
4261 cb
4262\1e*
4263 ­p_key
4264 ) {
4265
4266 224 cڡ 
4267 BOOLEAN_t
4268  *
4269 ¡
4270  = (cÚ¡ BOOLEAN_\88*)
4271 ¥\8c
4272 ;
4273
4274 225 cڡ \ 5*
4275 buf
4276 ;
4277
4278 226 
4279 size_t
4280  
4281 buæ\92
4282 ;
4283
4284 228 (\1e)
4285 td
4286 ;
4287
4288 229 (\1e)
4289 \9eev\96
4290 ;
4291
4292 231 if(
4293 ¡
4294 ) {
4295
4296 232 if(*
4297 ¡
4298 ) {
4299
4300 233 
4301 buf
4302  = "TRUE";
4303
4304 234 
4305 buæ\92
4306  = 4;
4307
4308 236 
4309 buf
4310  = "FALSE";
4311
4312 237 
4313 buæ\92
4314  = 5;
4315
4316 240 
4317 buf
4318  = "<absent>";
4319
4320 241 
4321 buæ\92
4322  = 8;
4323
4324 244 \15 (
4325         `cb
4326 (
4327 buf
4328
4329 buæ\92
4330
4331 ­p_key
4332 ) < 0) ? -1 : 0;
4333
4334 245 
4335         }
4336 }
4337
4338 248 
4339         $BOOLEAN_ä\93
4340 (cڡ 
4341 a¢_TYPE_desü\9dtÜ_t
4342  *
4343 td
4344\1e*
4345 ±r
4346 ,
4347
4348 249 \f
4349 a¢_¡ruù_ä\93_m\91hod
4350  
4351 m\91hod
4352 ) {
4353
4354 250 if(
4355 td
4356  && 
4357 ±r
4358 ) {
4359
4360 251 \1a
4361 m\91hod
4362 ) {
4363
4364 252 \ 4
4365 ASFM_FREE_EVERYTHING
4366 :
4367
4368 253 
4369         `FREEMEM
4370 (
4371 ±r
4372 );
4373
4374 255 \ 4
4375 ASFM_FREE_UNDERLYING
4376 :
4377
4378 257 \ 4
4379 ASFM_FREE_UNDERLYING_AND_RESET
4380 :
4381
4382 258 
4383         `mem£t
4384 (
4385 ±r
4386 , 0, \17(
4387 BOOLEAN_t
4388 ));
4389
4390 262 
4391         }
4392 }
4393
4394 264 #iâdeà
4395 ASN_DISABLE_PER_SUPPORT
4396
4397
4398 266 
4399 a¢_dec_rv®_t
4400
4401
4402 267 
4403         $BOOLEAN_decode_u³r
4404 (cڡ 
4405 a¢_codec_ùx_t
4406  *
4407 Ýt_codec_ùx
4408 ,
4409
4410 268 cڡ 
4411 a¢_TYPE_desü\9dtÜ_t
4412  *
4413 td
4414 ,
4415
4416 269 cڡ 
4417 a¢_³r_cÚ¡¿\9ats_t
4418  *
4419 cÚ¡¿\9ats
4420\1e**
4421 ¥\8c
4422 ,
4423
4424 270 
4425 a¢_³r_d©a_t
4426  *
4427 pd
4428 ) {
4429
4430 271 
4431 a¢_dec_rv®_t
4432  
4433 rv
4434 ;
4435
4436 272 
4437 BOOLEAN_t
4438  *
4439 ¡
4440  = (BOOLEAN_\88*)*
4441 ¥\8c
4442 ;
4443
4444 274 (\1e)
4445 Ýt_codec_ùx
4446 ;
4447
4448 275 (\1e)
4449 td
4450 ;
4451
4452 276 (\1e)
4453 cÚ¡¿\9ats
4454 ;
4455
4456 278 if(!
4457 ¡
4458 ) {
4459
4460 279 
4461 ¡
4462  = (
4463 BOOLEAN_t
4464  *)(*
4465 ¥\8c
4466  = 
4467         `MALLOC
4468 (\17(*st)));
4469
4470 280 if(!
4471 ¡
4472 è
4473 ASN__DECODE_FAILED
4474 ;
4475
4476 286 \1a
4477         `³r_g\91_ãw_b\99s
4478 (
4479 pd
4480 , 1)) {
4481
4482 287 \ 41: *
4483 ¡
4484  = 1; \ 3;
4485
4486 288 \ 40: *
4487 ¡
4488  = 0; \ 3;
4489
4490 289 \ 4-1: \a
4491 ASN__DECODE_STARVED
4492 ;
4493
4494 292 
4495         `ASN_DEBUG
4496 ("% decoded\87 %s", 
4497 td
4498 ->
4499 Çme
4500 , *
4501 ¡
4502  ? "TRUE" : "FALSE");
4503
4504 294 
4505 rv
4506 .
4507 code
4508  = 
4509 RC_OK
4510 ;
4511
4512 295 
4513 rv
4514 .
4515 cÚsumed
4516  = 1;
4517
4518 296 \15 
4519 rv
4520 ;
4521
4522 297 
4523         }
4524 }
4525
4526 300 
4527 a¢_\92c_rv®_t
4528
4529
4530 301 
4531         $BOOLEAN_\92code_u³r
4532 (cڡ 
4533 a¢_TYPE_desü\9dtÜ_t
4534  *
4535 td
4536 ,
4537
4538 302 cڡ 
4539 a¢_³r_cÚ¡¿\9ats_t
4540  *
4541 cÚ¡¿\9ats
4542 , cڡ \1e*
4543 ¥\8c
4544 ,
4545
4546 303 
4547 a¢_³r_ou\8d_t
4548  *
4549 po
4550 ) {
4551
4552 304 cڡ 
4553 BOOLEAN_t
4554  *
4555 ¡
4556  = (cÚ¡ BOOLEAN_\88*)
4557 ¥\8c
4558 ;
4559
4560 305 
4561 a¢_\92c_rv®_t
4562  
4563 \94
4564  = { 0, 0, 0 };
4565
4566 307 (\1e)
4567 cÚ¡¿\9ats
4568 ;
4569
4570 309 if(!
4571 ¡
4572 è
4573 ASN__ENCODE_FAILED
4574 ;
4575
4576 311 if(
4577         `³r_put_ãw_b\99s
4578 (
4579 po
4580 , *
4581 ¡
4582  ? 1 : 0, 1))
4583
4584 312 
4585 ASN__ENCODE_FAILED
4586 ;
4587
4588 314 
4589         `ASN__ENCODED_OK
4590 (
4591 \94
4592 );
4593
4594 315 
4595         }
4596 }
4597
4598 317 
4599 a¢_dec_rv®_t
4600
4601
4602 318 
4603         $BOOLEAN_decode_­\94
4604 (cڡ 
4605 a¢_codec_ùx_t
4606  *
4607 Ýt_codec_ùx
4608 , cڡ 
4609 a¢_TYPE_desü\9dtÜ_t
4610  *
4611 td
4612 ,
4613
4614 319 cڡ 
4615 a¢_³r_cÚ¡¿\9ats_t
4616  *
4617 cÚ¡¿\9ats
4618\1e**
4619 ¥\8c
4620
4621 a¢_³r_d©a_t
4622  *
4623 pd
4624 ) {
4625
4626 320 
4627 a¢_dec_rv®_t
4628  
4629 rv
4630 ;
4631
4632 321 
4633 BOOLEAN_t
4634  *
4635 ¡
4636  = (BOOLEAN_\88*)*
4637 ¥\8c
4638 ;
4639
4640 323 (\1e)
4641 Ýt_codec_ùx
4642 ;
4643
4644 324 (\1e)
4645 cÚ¡¿\9ats
4646 ;
4647
4648 325 (\1e)
4649 td
4650 ;
4651
4652 327 if(!
4653 ¡
4654 ) {
4655
4656 328 
4657 ¡
4658  = (
4659 BOOLEAN_t
4660  *)(*
4661 ¥\8c
4662  = 
4663         `MALLOC
4664 (\17(*st)));
4665
4666 329 if(!
4667 ¡
4668 è
4669 ASN__DECODE_FAILED
4670 ;
4671
4672 335 \1a
4673         `³r_g\91_ãw_b\99s
4674 (
4675 pd
4676 , 1)) {
4677
4678 337 *
4679 ¡
4680  = 1;
4681
4682 340 *
4683 ¡
4684  = 0;
4685
4686 344 
4687 ASN__DECODE_STARVED
4688 ;
4689
4690 347 
4691         `ASN_DEBUG
4692 ("% decoded\87 %s", 
4693 td
4694 ->
4695 Çme
4696 , *
4697 ¡
4698  ? "TRUE" : "FALSE");
4699
4700 349 
4701 rv
4702 .
4703 code
4704  = 
4705 RC_OK
4706 ;
4707
4708 350 
4709 rv
4710 .
4711 cÚsumed
4712  = 1;
4713
4714 351 \15 
4715 rv
4716 ;
4717
4718 352 
4719         }
4720 }
4721
4722 354 
4723 a¢_\92c_rv®_t
4724
4725
4726 355 
4727         $BOOLEAN_\92code_­\94
4728 (cڡ 
4729 a¢_TYPE_desü\9dtÜ_t
4730  *
4731 td
4732 ,
4733
4734 356 cڡ 
4735 a¢_³r_cÚ¡¿\9ats_t
4736  *
4737 cÚ¡¿\9ats
4738 ,
4739
4740 357 cڡ \1e*
4741 ¥\8c
4742
4743 a¢_³r_ou\8d_t
4744  *
4745 po
4746 ) {
4747
4748 358 cڡ 
4749 BOOLEAN_t
4750  *
4751 ¡
4752  = (cÚ¡ BOOLEAN_\88*)
4753 ¥\8c
4754 ;
4755
4756 359 
4757 a¢_\92c_rv®_t
4758  
4759 \94
4760  = { 0, 0, 0 };
4761
4762 361 (\1e)
4763 cÚ¡¿\9ats
4764 ;
4765
4766 363 if(!
4767 ¡
4768 è
4769 ASN__ENCODE_FAILED
4770 ;
4771
4772 365 if(
4773         `³r_put_ãw_b\99s
4774 (
4775 po
4776 , *
4777 ¡
4778  ? 1 : 0, 1))
4779
4780 366 
4781 ASN__ENCODE_FAILED
4782 ;
4783
4784 368 
4785         `ASN__ENCODED_OK
4786 (
4787 \94
4788 );
4789
4790 369 
4791         }
4792 }
4793
4794 373 #iâdeà 
4795 ASN_DISABLE_OER_SUPPORT
4796
4797
4798 378 
4799 a¢_\92c_rv®_t
4800
4801
4802 379 
4803         $BOOLEAN_\92code_Ûr
4804 (cڡ 
4805 a¢_TYPE_desü\9dtÜ_t
4806  *
4807 td
4808 ,
4809
4810 380 cڡ 
4811 a¢_Ûr_cÚ¡¿\9ats_t
4812  *
4813 cÚ¡¿\9ats
4814 , cڡ \1e*
4815 ¥\8c
4816 ,
4817
4818 381 
4819 a¢_­p_cÚsume_by\8bs_f
4820  *
4821 cb
4822\1e*
4823 ­p_key
4824 ) {
4825
4826 382 
4827 a¢_\92c_rv®_t
4828  
4829 \94
4830  = { 1, 0, 0 };
4831
4832 383 cڡ 
4833 BOOLEAN_t
4834  *
4835 ¡
4836  = 
4837 ¥\8c
4838 ;
4839
4840 384 
4841 u\9at8_t
4842  
4843 boÞ_v®ue
4844  = *
4845 ¡
4846  ? 0xff : 0;
4847
4848 386 (\1e)
4849 td
4850 ;
4851
4852 387 (\1e)
4853 cÚ¡¿\9ats
4854 ;
4855
4856 389 if(
4857         `cb
4858 (&
4859 boÞ_v®ue
4860 , 1, 
4861 ­p_key
4862 ) < 0) {
4863
4864 390 
4865 ASN__ENCODE_FAILED
4866 ;
4867
4868 392 
4869         `ASN__ENCODED_OK
4870 (
4871 \94
4872 );
4873
4874 394 
4875         }
4876 }
4877
4878 396 
4879 a¢_dec_rv®_t
4880
4881
4882 397 
4883         $BOOLEAN_decode_Ûr
4884 (cڡ 
4885 a¢_codec_ùx_t
4886  *
4887 Ýt_codec_ùx
4888 ,
4889
4890 398 cڡ 
4891 a¢_TYPE_desü\9dtÜ_t
4892  *
4893 td
4894 ,
4895
4896 399 cڡ 
4897 a¢_Ûr_cÚ¡¿\9ats_t
4898  *
4899 cÚ¡¿\9ats
4900\1e**
4901 ¥\8c
4902 ,
4903
4904 400 cڡ \1e*
4905 ±r
4906
4907 size_t
4908  
4909 size
4910 ) {
4911
4912 401 
4913 a¢_dec_rv®_t
4914  
4915 ok
4916  = {
4917 RC_OK
4918 , 1};
4919
4920 402 
4921 BOOLEAN_t
4922  *
4923 ¡
4924 ;
4925
4926 404 (\1e)
4927 Ýt_codec_ùx
4928 ;
4929
4930 405 (\1e)
4931 td
4932 ;
4933
4934 406 (\1e)
4935 cÚ¡¿\9ats
4936 ;
4937
4938 408 if(
4939 size
4940  < 1) {
4941
4942 409 
4943 ASN__DECODE_STARVED
4944 ;
4945
4946 412 if(!(
4947 ¡
4948  = *
4949 ¥\8c
4950 )) {
4951
4952 413 
4953 ¡
4954  = (
4955 BOOLEAN_t
4956  *)(*
4957 ¥\8c
4958  = 
4959         `CALLOC
4960 (1, \17(*st)));
4961
4962 414 if(!
4963 ¡
4964 è
4965 ASN__DECODE_FAILED
4966 ;
4967
4968 417 *
4969 ¡
4970  = *(cڡ 
4971 u\9at8_t
4972  *)
4973 ±r
4974 ;
4975
4976 419 \15 
4977 ok
4978 ;
4979
4980 420 
4981         }
4982 }
4983
4984 427 
4985         $BOOLEAN_com·»
4986 (cڡ 
4987 a¢_TYPE_desü\9dtÜ_t
4988  *
4989 td
4990 , cڡ \1e*
4991 ­\8c
4992 ,
4993
4994 428 cڡ \1e*
4995 b±r
4996 ) {
4997
4998 429 cڡ 
4999 BOOLEAN_t
5000  *
5001 a
5002  = 
5003 ­\8c
5004 ;
5005
5006 430 cڡ 
5007 BOOLEAN_t
5008  *
5009 b
5010  = 
5011 b±r
5012 ;
5013
5014 432 (\1e)
5015 td
5016 ;
5017
5018 434 if(
5019 a
5020  && 
5021 b
5022 ) {
5023
5024 435 if(!*
5025 a
5026  =ð!*
5027 b
5028 ) {
5029
5030 437 } \vif(!*
5031 a
5032 ) {
5033
5034 442 } \vif(!
5035 a
5036 ) {
5037
5038 447 
5039         }
5040 }
5041
5042 449 
5043 a¢_¿ndom_f\9el_»suÉ_t
5044
5045
5046 450 
5047         $BOOLEAN_¿ndom_f\9el
5048 (cڡ 
5049 a¢_TYPE_desü\9dtÜ_t
5050  *
5051 td
5052\1e**
5053 ¥\8c
5054 ,
5055
5056 451 cڡ 
5057 a¢_\92cod\9ag_cÚ¡¿\9ats_t
5058  *
5059 cÚ¡¿\9ats
5060 ,
5061
5062 452 
5063 size_t
5064  
5065 max_Ëngth
5066 ) {
5067
5068 453 
5069 a¢_¿ndom_f\9el_»suÉ_t
5070  
5071 »suÉ_ok
5072  = {
5073 ARFILL_OK
5074 , 1};
5075
5076 454 
5077 a¢_¿ndom_f\9el_»suÉ_t
5078  
5079 »suÉ_ç\9eed
5080  = {
5081 ARFILL_FAILED
5082 , 0};
5083
5084 455 
5085 a¢_¿ndom_f\9el_»suÉ_t
5086  
5087 »suÉ_sk\9d³d
5088  = {
5089 ARFILL_SKIPPED
5090 , 0};
5091
5092 456 
5093 BOOLEAN_t
5094  *
5095 ¡
5096  = *
5097 ¥\8c
5098 ;
5099
5100 458 if(
5101 max_Ëngth
5102  =ð0è\15 
5103 »suÉ_sk\9d³d
5104 ;
5105
5106 460 if(
5107 ¡
5108  =ð
5109 NULL
5110 ) {
5111
5112 461 
5113 ¡
5114  = (
5115 BOOLEAN_t
5116  *)(*
5117 ¥\8c
5118  = 
5119         `CALLOC
5120 (1, \17(*st)));
5121
5122 462 if(
5123 ¡
5124  =ð
5125 NULL
5126 ) {
5127
5128 463 \15 
5129 »suÉ_ç\9eed
5130 ;
5131
5132 467 if(!
5133 cÚ¡¿\9ats
5134  || !cÚ¡¿\9ats->
5135 ³r_cÚ¡¿\9ats
5136 )
5137
5138 468 
5139 cÚ¡¿\9ats
5140  = &
5141 td
5142 ->
5143 \92cod\9ag_cÚ¡¿\9ats
5144 ;
5145
5146 469 if(
5147 cÚ¡¿\9ats
5148 ->
5149 ³r_cÚ¡¿\9ats
5150 ) {
5151
5152 470 cڡ 
5153 a¢_³r_cÚ¡¿\9at_t
5154  *
5155 pc
5156  = &
5157 cÚ¡¿\9ats
5158 ->
5159 ³r_cÚ¡¿\9ats
5160 ->
5161 v®ue
5162 ;
5163
5164 471 if(
5165 pc
5166 ->
5167 æags
5168  & 
5169 APC_CONSTRAINED
5170 ) {
5171
5172 472 *
5173 ¡
5174  = 
5175         `a¢_¿ndom_b\91w\93n
5176 (
5177 pc
5178 ->
5179 low\94_bound
5180 ,\85c->
5181\94_bound
5182 );
5183
5184 473 \15 
5185 »suÉ_ok
5186 ;
5187
5188 478 \1a
5189         `a¢_¿ndom_b\91w\93n
5190 (0, 7)) {
5191
5192 482 *
5193 ¡
5194  = 0; \ 3;
5195
5196 483 \ 43: *
5197 ¡
5198  = -1; \ 3;
5199
5200 484 \ 44: *
5201 ¡
5202  = 1; \ 3;
5203
5204 485 \ 45: *
5205 ¡
5206  = 
5207 INT_MIN
5208\ 3;
5209
5210 486 \ 46: *
5211 ¡
5212  = 
5213 INT_MAX
5214\ 3;
5215
5216 488 *
5217 ¡
5218  = 
5219         `a¢_¿ndom_b\91w\93n
5220 (
5221 INT_MIN
5222
5223 INT_MAX
5224 );
5225
5226 491 \15 
5227 »suÉ_ok
5228 ;
5229
5230 492 
5231         }
5232 }
5233
5234         @CGI.c
5235
5236\ 2
5237         ~"CGI.h
5238 "
5239
5240 10 \ 2
5241         ~"NR-CGI.h
5242 "
5243
5244 11 \ 2
5245         ~"EUTRA-CGI.h
5246 "
5247
5248 12 
5249 a¢_³r_cÚ¡¿\9ats_t
5250  
5251 a¢_PER_ty³_CGI_cÚ¡r_1
5252  
5253         gCC_NOTUSED
5254  = {
5255
5256 13 { 
5257 APC_CONSTRAINED
5258  | 
5259 APC_EXTENSIBLE
5260 , 1, 1, 0, 1 } ,
5261
5262 14 { 
5263 APC_UNCONSTRAINED
5264 , -1, -1, 0, 0 },
5265
5266 17 
5267 a¢_TYPE_memb\94_t
5268  
5269         ga¢_MBR_CGI_1
5270 [] = {
5271
5272 18 { 
5273 ATF_POINTER
5274 , 0, 
5275 off£tof
5276 (\19
5277 CGI
5278
5279 choiû
5280 .
5281 nR_CGI
5282 ),
5283
5284 19 (
5285 ASN_TAG_CLASS_CONTEXT
5286  | (0 << 2)),
5287
5288 21 &
5289 a¢_DEF_NR_CGI
5290 ,
5291
5292 27 { 
5293 ATF_POINTER
5294 , 0, 
5295 off£tof
5296 (\19
5297 CGI
5298
5299 choiû
5300 .
5301 eUTRA_CGI
5302 ),
5303
5304 28 (
5305 ASN_TAG_CLASS_CONTEXT
5306  | (1 << 2)),
5307
5308 30 &
5309 a¢_DEF_EUTRA_CGI
5310 ,
5311
5312 37 \18cڡ 
5313 a¢_TYPE_\8fg2memb\94_t
5314  
5315         ga¢_MAP_CGI_\8fg2\96_1
5316 [] = {
5317
5318 38 { (
5319 ASN_TAG_CLASS_CONTEXT
5320  | (0 << 2)), 0, 0, 0 },
5321
5322 39 { (
5323 ASN_TAG_CLASS_CONTEXT
5324  | (1 << 2)), 1, 0, 0 }
5325
5326 41 
5327 a¢_CHOICE_¥ecifics_t
5328  
5329         ga¢_SPC_CGI_¥ecs_1
5330  = {
5331
5332 42 \17(\19
5333 CGI
5334 ),
5335
5336 43 
5337 off£tof
5338 (\19
5339 CGI
5340
5341 _a¢_ùx
5342 ),
5343
5344 44 
5345 off£tof
5346 (\19
5347 CGI
5348
5349 ´e£Á
5350 ),
5351
5352 45 \17(((\19
5353 CGI
5354  *)0)->
5355 ´e£Á
5356 ),
5357
5358 46 
5359 a¢_MAP_CGI_\8fg2\96_1
5360 ,
5361
5362 51 
5363 a¢_TYPE_desü\9dtÜ_t
5364  
5365         ga¢_DEF_CGI
5366  = {
5367
5368 54 &
5369 a¢_OP_CHOICE
5370 ,
5371
5372 59 { 0, &
5373 a¢_PER_ty³_CGI_cÚ¡r_1
5374
5375 CHOICE_cÚ¡¿\9at
5376  },
5377
5378 60 
5379 a¢_MBR_CGI_1
5380 ,
5381
5382 62 &
5383 a¢_SPC_CGI_¥ecs_1
5384
5385
5386         @CoreCPID.c
5387
5388\ 2
5389         ~"CÜeCPID.h
5390 "
5391
5392 10 \ 2
5393         ~"GUAMI.h
5394 "
5395
5396 11 \ 2
5397         ~"GUMMEI.h
5398 "
5399
5400 12 \18
5401 a¢_³r_cÚ¡¿\9ats_t
5402  
5403 a¢_PER_ty³_CÜeCPID_cÚ¡r_1
5404  
5405         gCC_NOTUSED
5406  = {
5407
5408 13 { 
5409 APC_CONSTRAINED
5410  | 
5411 APC_EXTENSIBLE
5412 , 1, 1, 0, 1 } ,
5413
5414 14 { 
5415 APC_UNCONSTRAINED
5416 , -1, -1, 0, 0 },
5417
5418 17 \18
5419 a¢_TYPE_memb\94_t
5420  
5421         ga¢_MBR_CÜeCPID_1
5422 [] = {
5423
5424 18 { 
5425 ATF_POINTER
5426 , 0, 
5427 off£tof
5428 (\19
5429 CÜeCPID
5430
5431 choiû
5432 .
5433 fiveGC
5434 ),
5435
5436 19 (
5437 ASN_TAG_CLASS_CONTEXT
5438  | (0 << 2)),
5439
5440 21 &
5441 a¢_DEF_GUAMI
5442 ,
5443
5444 27 { 
5445 ATF_POINTER
5446 , 0, 
5447 off£tof
5448 (\19
5449 CÜeCPID
5450
5451 choiû
5452 .
5453 ePC
5454 ),
5455
5456 28 (
5457 ASN_TAG_CLASS_CONTEXT
5458  | (1 << 2)),
5459
5460 30 &
5461 a¢_DEF_GUMMEI
5462 ,
5463
5464 37 \18cڡ 
5465 a¢_TYPE_\8fg2memb\94_t
5466  
5467         ga¢_MAP_CÜeCPID_\8fg2\96_1
5468 [] = {
5469
5470 38 { (
5471 ASN_TAG_CLASS_CONTEXT
5472  | (0 << 2)), 0, 0, 0 },
5473
5474 39 { (
5475 ASN_TAG_CLASS_CONTEXT
5476  | (1 << 2)), 1, 0, 0 }
5477
5478 41 \18
5479 a¢_CHOICE_¥ecifics_t
5480  
5481         ga¢_SPC_CÜeCPID_¥ecs_1
5482  = {
5483
5484 42 \17(\19
5485 CÜeCPID
5486 ),
5487
5488 43 
5489 off£tof
5490 (\19
5491 CÜeCPID
5492
5493 _a¢_ùx
5494 ),
5495
5496 44 
5497 off£tof
5498 (\19
5499 CÜeCPID
5500
5501 ´e£Á
5502 ),
5503
5504 45 \17(((\19
5505 CÜeCPID
5506  *)0)->
5507 ´e£Á
5508 ),
5509
5510 46 
5511 a¢_MAP_CÜeCPID_\8fg2\96_1
5512 ,
5513
5514 51 
5515 a¢_TYPE_desü\9dtÜ_t
5516  
5517         ga¢_DEF_CÜeCPID
5518  = {
5519
5520 54 &
5521 a¢_OP_CHOICE
5522 ,
5523
5524 59 { 0, &
5525 a¢_PER_ty³_CÜeCPID_cÚ¡r_1
5526
5527 CHOICE_cÚ¡¿\9at
5528  },
5529
5530 60 
5531 a¢_MBR_CÜeCPID_1
5532 ,
5533
5534 62 &
5535 a¢_SPC_CÜeCPID_¥ecs_1
5536
5537
5538         @E-UTRA-ARFCN.c
5539
5540\ 2
5541         ~"E-UTRA-ARFCN.h
5542 "
5543
5544 11 
5545         $E_UTRA_ARFCN_cÚ¡¿\9at
5546 (cڡ 
5547 a¢_TYPE_desü\9dtÜ_t
5548  *
5549 td
5550 , cڡ \1e*
5551 ¥\8c
5552 ,
5553
5554 12 
5555 a¢_­p_cÚ¡¿\9at_ç\9eed_f
5556  *
5557 ùç\9ecb
5558\1e*
5559 ­p_key
5560 ) {
5561
5562 13 \13
5563 v®ue
5564 ;
5565
5566 15 if(!
5567 ¥\8c
5568 ) {
5569
5570 16 
5571         `ASN__CTFAIL
5572 (
5573 ­p_key
5574
5575 td
5576
5577 ¥\8c
5578 ,
5579
5580 18 
5581 td
5582 ->
5583 Çme
5584
5585 __FILE__
5586
5587 __LINE__
5588 );
5589
5590 22 
5591 v®ue
5592  = *(cڡ \13*)
5593 ¥\8c
5594 ;
5595
5596 24 if((
5597 v®ue
5598  >= 0 && value <= 65535)) {
5599
5600 28 
5601         `ASN__CTFAIL
5602 (
5603 ­p_key
5604
5605 td
5606
5607 ¥\8c
5608 ,
5609
5610 30 
5611 td
5612 ->
5613 Çme
5614
5615 __FILE__
5616
5617 __LINE__
5618 );
5619
5620 33 
5621         }
5622 }
5623
5624 39 
5625 a¢_³r_cÚ¡¿\9ats_t
5626  
5627 a¢_PER_ty³_E_UTRA_ARFCN_cÚ¡r_1
5628  
5629         gCC_NOTUSED
5630  = {
5631
5632 40 { 
5633 APC_CONSTRAINED
5634 , 16, 16, 0, 65535 } ,
5635
5636 41 { 
5637 APC_UNCONSTRAINED
5638 , -1, -1, 0, 0 },
5639
5640 44 \18cڡ 
5641 b\94_\8ev_\8fg_t
5642  
5643         ga¢_DEF_E_UTRA_ARFCN_\8fgs_1
5644 [] = {
5645
5646 45 (
5647 ASN_TAG_CLASS_UNIVERSAL
5648  | (2 << 2))
5649
5650 47 
5651 a¢_TYPE_desü\9dtÜ_t
5652  
5653         ga¢_DEF_E_UTRA_ARFCN
5654  = {
5655
5656 50 &
5657 a¢_OP_N©iveIÁeg\94
5658 ,
5659
5660 51 
5661 a¢_DEF_E_UTRA_ARFCN_\8fgs_1
5662 ,
5663
5664 52 \17(
5665 a¢_DEF_E_UTRA_ARFCN_\8fgs_1
5666 )
5667
5668 53 /\17(
5669 a¢_DEF_E_UTRA_ARFCN_\8fgs_1
5670 [0]),
5671
5672 54 
5673 a¢_DEF_E_UTRA_ARFCN_\8fgs_1
5674 ,
5675
5676 55 \17(
5677 a¢_DEF_E_UTRA_ARFCN_\8fgs_1
5678 )
5679
5680 56 /\17(
5681 a¢_DEF_E_UTRA_ARFCN_\8fgs_1
5682 [0]),
5683
5684 57 { 0, &
5685 a¢_PER_ty³_E_UTRA_ARFCN_cÚ¡r_1
5686
5687 E_UTRA_ARFCN_cÚ¡¿\9at
5688  },
5689
5690         @E-UTRA-PCI.c
5691
5692\ 2
5693         ~"E-UTRA-PCI.h
5694 "
5695
5696 11 
5697         $E_UTRA_PCI_cÚ¡¿\9at
5698 (cڡ 
5699 a¢_TYPE_desü\9dtÜ_t
5700  *
5701 td
5702 , cڡ \1e*
5703 ¥\8c
5704 ,
5705
5706 12 
5707 a¢_­p_cÚ¡¿\9at_ç\9eed_f
5708  *
5709 ùç\9ecb
5710\1e*
5711 ­p_key
5712 ) {
5713
5714 13 \13
5715 v®ue
5716 ;
5717
5718 15 if(!
5719 ¥\8c
5720 ) {
5721
5722 16 
5723         `ASN__CTFAIL
5724 (
5725 ­p_key
5726
5727 td
5728
5729 ¥\8c
5730 ,
5731
5732 18 
5733 td
5734 ->
5735 Çme
5736
5737 __FILE__
5738
5739 __LINE__
5740 );
5741
5742 22 
5743 v®ue
5744  = *(cڡ \13*)
5745 ¥\8c
5746 ;
5747
5748 24 if((
5749 v®ue
5750  >= 0 && value <= 503)) {
5751
5752 28 
5753         `ASN__CTFAIL
5754 (
5755 ­p_key
5756
5757 td
5758
5759 ¥\8c
5760 ,
5761
5762 30 
5763 td
5764 ->
5765 Çme
5766
5767 __FILE__
5768
5769 __LINE__
5770 );
5771
5772 33 
5773         }
5774 }
5775
5776 39 
5777 a¢_³r_cÚ¡¿\9ats_t
5778  
5779 a¢_PER_ty³_E_UTRA_PCI_cÚ¡r_1
5780  
5781         gCC_NOTUSED
5782  = {
5783
5784 40 { 
5785 APC_CONSTRAINED
5786  | 
5787 APC_EXTENSIBLE
5788 , 9, 9, 0, 503 } ,
5789
5790 41 { 
5791 APC_UNCONSTRAINED
5792 , -1, -1, 0, 0 },
5793
5794 44 \18cڡ 
5795 b\94_\8ev_\8fg_t
5796  
5797         ga¢_DEF_E_UTRA_PCI_\8fgs_1
5798 [] = {
5799
5800 45 (
5801 ASN_TAG_CLASS_UNIVERSAL
5802  | (2 << 2))
5803
5804 47 
5805 a¢_TYPE_desü\9dtÜ_t
5806  
5807         ga¢_DEF_E_UTRA_PCI
5808  = {
5809
5810 50 &
5811 a¢_OP_N©iveIÁeg\94
5812 ,
5813
5814 51 
5815 a¢_DEF_E_UTRA_PCI_\8fgs_1
5816 ,
5817
5818 52 \17(
5819 a¢_DEF_E_UTRA_PCI_\8fgs_1
5820 )
5821
5822 53 /\17(
5823 a¢_DEF_E_UTRA_PCI_\8fgs_1
5824 [0]),
5825
5826 54 
5827 a¢_DEF_E_UTRA_PCI_\8fgs_1
5828 ,
5829
5830 55 \17(
5831 a¢_DEF_E_UTRA_PCI_\8fgs_1
5832 )
5833
5834 56 /\17(
5835 a¢_DEF_E_UTRA_PCI_\8fgs_1
5836 [0]),
5837
5838 57 { 0, &
5839 a¢_PER_ty³_E_UTRA_PCI_cÚ¡r_1
5840
5841 E_UTRA_PCI_cÚ¡¿\9at
5842  },
5843
5844         @E-UTRA-TAC.c
5845
5846\ 2
5847         ~"E-UTRA-TAC.h
5848 "
5849
5850 11 
5851         $E_UTRA_TAC_cÚ¡¿\9at
5852 (cڡ 
5853 a¢_TYPE_desü\9dtÜ_t
5854  *
5855 td
5856 , cڡ \1e*
5857 ¥\8c
5858 ,
5859
5860 12 
5861 a¢_­p_cÚ¡¿\9at_ç\9eed_f
5862  *
5863 ùç\9ecb
5864\1e*
5865 ­p_key
5866 ) {
5867
5868 13 cڡ 
5869 OCTET_STRING_t
5870  *
5871 ¡
5872  = (cÚ¡ OCTET_STRING_\88*)
5873 ¥\8c
5874 ;
5875
5876 14 
5877 size_t
5878  
5879 size
5880 ;
5881
5882 16 if(!
5883 ¥\8c
5884 ) {
5885
5886 17 
5887         `ASN__CTFAIL
5888 (
5889 ­p_key
5890
5891 td
5892
5893 ¥\8c
5894 ,
5895
5896 19 
5897 td
5898 ->
5899 Çme
5900
5901 __FILE__
5902
5903 __LINE__
5904 );
5905
5906 23 
5907 size
5908  = 
5909 ¡
5910 ->size;
5911
5912 25 if((
5913 size
5914  == 2)) {
5915
5916 29 
5917         `ASN__CTFAIL
5918 (
5919 ­p_key
5920
5921 td
5922
5923 ¥\8c
5924 ,
5925
5926 31 
5927 td
5928 ->
5929 Çme
5930
5931 __FILE__
5932
5933 __LINE__
5934 );
5935
5936 34 
5937         }
5938 }
5939
5940 40 \18
5941 a¢_³r_cÚ¡¿\9ats_t
5942  
5943 a¢_PER_ty³_E_UTRA_TAC_cÚ¡r_1
5944  
5945         gCC_NOTUSED
5946  = {
5947
5948 41 { 
5949 APC_UNCONSTRAINED
5950 , -1, -1, 0, 0 },
5951
5952 42 { 
5953 APC_CONSTRAINED
5954 , 0, 0, 2, 2 } ,
5955
5956 45 \18cڡ 
5957 b\94_\8ev_\8fg_t
5958  
5959         ga¢_DEF_E_UTRA_TAC_\8fgs_1
5960 [] = {
5961
5962 46 (
5963 ASN_TAG_CLASS_UNIVERSAL
5964  | (4 << 2))
5965
5966 48 
5967 a¢_TYPE_desü\9dtÜ_t
5968  
5969         ga¢_DEF_E_UTRA_TAC
5970  = {
5971
5972 51 &
5973 a¢_OP_OCTET_STRING
5974 ,
5975
5976 52 
5977 a¢_DEF_E_UTRA_TAC_\8fgs_1
5978 ,
5979
5980 53 \17(
5981 a¢_DEF_E_UTRA_TAC_\8fgs_1
5982 )
5983
5984 54 /\17(
5985 a¢_DEF_E_UTRA_TAC_\8fgs_1
5986 [0]),
5987
5988 55 
5989 a¢_DEF_E_UTRA_TAC_\8fgs_1
5990 ,
5991
5992 56 \17(
5993 a¢_DEF_E_UTRA_TAC_\8fgs_1
5994 )
5995
5996 57 /\17(
5997 a¢_DEF_E_UTRA_TAC_\8fgs_1
5998 [0]),
5999
6000 58 { 0, &
6001 a¢_PER_ty³_E_UTRA_TAC_cÚ¡r_1
6002
6003 E_UTRA_TAC_cÚ¡¿\9at
6004  },
6005
6006 60 &
6007 a¢_SPC_OCTET_STRING_¥ecs
6008
6009
6010         @E2SM-KPM-ActionDefinition-Format1.c
6011
6012\ 2
6013         ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©1.h
6014 "
6015
6016 10 \ 2
6017         ~"CGI.h
6018 "
6019
6020 11 
6021 a¢_TYPE_memb\94_t
6022  
6023         ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_1
6024 [] = {
6025
6026 12 { 
6027 ATF_NOFLAGS
6028 , 0, 
6029 off£tof
6030 (\19
6031 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6032
6033 m\97sInfoLi¡
6034 ),
6035
6036 13 (
6037 ASN_TAG_CLASS_CONTEXT
6038  | (0 << 2)),
6039
6040 15 &
6041 a¢_DEF_M\97su»m\92tInfoLi¡
6042 ,
6043
6044 21 { 
6045 ATF_NOFLAGS
6046 , 0, 
6047 off£tof
6048 (\19
6049 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6050
6051 g¿nulP\94iod
6052 ),
6053
6054 22 (
6055 ASN_TAG_CLASS_CONTEXT
6056  | (1 << 2)),
6057
6058 24 &
6059 a¢_DEF_G¿nuÏr\99yP\94iod
6060 ,
6061
6062 30 { 
6063 ATF_POINTER
6064 , 1, 
6065 off£tof
6066 (\19
6067 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6068
6069 ûÎGlob®ID
6070 ),
6071
6072 31 (
6073 ASN_TAG_CLASS_CONTEXT
6074  | (2 << 2)),
6075
6076 33 &
6077 a¢_DEF_CGI
6078 ,
6079
6080 40 \18cڡ \12
6081         ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_oms_1
6082 [] = { 2 };
6083
6084 41 \18cڡ 
6085 b\94_\8ev_\8fg_t
6086  
6087         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
6088 [] = {
6089
6090 42 (
6091 ASN_TAG_CLASS_UNIVERSAL
6092  | (16 << 2))
6093
6094 44 \18cڡ 
6095 a¢_TYPE_\8fg2memb\94_t
6096  
6097         ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fg2\96_1
6098 [] = {
6099
6100 45 { (
6101 ASN_TAG_CLASS_CONTEXT
6102  | (0 << 2)), 0, 0, 0 },
6103
6104 46 { (
6105 ASN_TAG_CLASS_CONTEXT
6106  | (1 << 2)), 1, 0, 0 },
6107
6108 47 { (
6109 ASN_TAG_CLASS_CONTEXT
6110  | (2 << 2)), 2, 0, 0 }
6111
6112 49 
6113 a¢_SEQUENCE_¥ecifics_t
6114  
6115         ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_¥ecs_1
6116  = {
6117
6118 50 \17(\19
6119 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6120 ),
6121
6122 51 
6123 off£tof
6124 (\19
6125 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6126
6127 _a¢_ùx
6128 ),
6129
6130 52 
6131 a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fg2\96_1
6132 ,
6133
6134 54 
6135 a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_oms_1
6136 ,
6137
6138 58 
6139 a¢_TYPE_desü\9dtÜ_t
6140  
6141         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6142  = {
6143
6144 61 &
6145 a¢_OP_SEQUENCE
6146 ,
6147
6148 62 
6149 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
6150 ,
6151
6152 63 \17(
6153 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
6154 )
6155
6156 64 /\17(
6157 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
6158 [0]),
6159
6160 65 
6161 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
6162 ,
6163
6164 66 \17(
6165 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
6166 )
6167
6168 67 /\17(
6169 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_\8fgs_1
6170 [0]),
6171
6172 68 { 0, 0, 
6173 SEQUENCE_cÚ¡¿\9at
6174  },
6175
6176 69 
6177 a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_1
6178 ,
6179
6180 71 &
6181 a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1_¥ecs_1
6182
6183
6184         @E2SM-KPM-ActionDefinition-Format2.c
6185
6186\ 2
6187         ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©2.h
6188 "
6189
6190 10 
6191 a¢_TYPE_memb\94_t
6192  
6193         ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_1
6194 [] = {
6195
6196 11 { 
6197 ATF_NOFLAGS
6198 , 0, 
6199 off£tof
6200 (\19
6201 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
6202
6203 ueID
6204 ),
6205
6206 12 (
6207 ASN_TAG_CLASS_CONTEXT
6208  | (0 << 2)),
6209
6210 14 &
6211 a¢_DEF_UEID
6212 ,
6213
6214 20 { 
6215 ATF_NOFLAGS
6216 , 0, 
6217 off£tof
6218 (\19
6219 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
6220
6221 subsü\9dtInfo
6222 ),
6223
6224 21 (
6225 ASN_TAG_CLASS_CONTEXT
6226  | (1 << 2)),
6227
6228 23 &
6229 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6230 ,
6231
6232 30 \18cڡ 
6233 b\94_\8ev_\8fg_t
6234  
6235         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
6236 [] = {
6237
6238 31 (
6239 ASN_TAG_CLASS_UNIVERSAL
6240  | (16 << 2))
6241
6242 33 \18cڡ 
6243 a¢_TYPE_\8fg2memb\94_t
6244  
6245         ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fg2\96_1
6246 [] = {
6247
6248 34 { (
6249 ASN_TAG_CLASS_CONTEXT
6250  | (0 << 2)), 0, 0, 0 },
6251
6252 35 { (
6253 ASN_TAG_CLASS_CONTEXT
6254  | (1 << 2)), 1, 0, 0 }
6255
6256 37 
6257 a¢_SEQUENCE_¥ecifics_t
6258  
6259         ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_¥ecs_1
6260  = {
6261
6262 38 \17(\19
6263 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
6264 ),
6265
6266 39 
6267 off£tof
6268 (\19
6269 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
6270
6271 _a¢_ùx
6272 ),
6273
6274 40 
6275 a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fg2\96_1
6276 ,
6277
6278 45 
6279 a¢_TYPE_desü\9dtÜ_t
6280  
6281         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
6282  = {
6283
6284 48 &
6285 a¢_OP_SEQUENCE
6286 ,
6287
6288 49 
6289 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
6290 ,
6291
6292 50 \17(
6293 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
6294 )
6295
6296 51 /\17(
6297 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
6298 [0]),
6299
6300 52 
6301 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
6302 ,
6303
6304 53 \17(
6305 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
6306 )
6307
6308 54 /\17(
6309 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_\8fgs_1
6310 [0]),
6311
6312 55 { 0, 0, 
6313 SEQUENCE_cÚ¡¿\9at
6314  },
6315
6316 56 
6317 a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_1
6318 ,
6319
6320 58 &
6321 a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2_¥ecs_1
6322
6323
6324         @E2SM-KPM-ActionDefinition-Format3.c
6325
6326\ 2
6327         ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©3.h
6328 "
6329
6330 10 \ 2
6331         ~"CGI.h
6332 "
6333
6334 11 
6335 a¢_TYPE_memb\94_t
6336  
6337         ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_1
6338 [] = {
6339
6340 12 { 
6341 ATF_NOFLAGS
6342 , 0, 
6343 off£tof
6344 (\19
6345 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
6346
6347 m\97sCÚdLi¡
6348 ),
6349
6350 13 (
6351 ASN_TAG_CLASS_CONTEXT
6352  | (0 << 2)),
6353
6354 15 &
6355 a¢_DEF_M\97su»m\92tCÚdLi¡
6356 ,
6357
6358 21 { 
6359 ATF_NOFLAGS
6360 , 0, 
6361 off£tof
6362 (\19
6363 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
6364
6365 g¿nulP\94iod
6366 ),
6367
6368 22 (
6369 ASN_TAG_CLASS_CONTEXT
6370  | (1 << 2)),
6371
6372 24 &
6373 a¢_DEF_G¿nuÏr\99yP\94iod
6374 ,
6375
6376 30 { 
6377 ATF_POINTER
6378 , 1, 
6379 off£tof
6380 (\19
6381 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
6382
6383 ûÎGlob®ID
6384 ),
6385
6386 31 (
6387 ASN_TAG_CLASS_CONTEXT
6388  | (2 << 2)),
6389
6390 33 &
6391 a¢_DEF_CGI
6392 ,
6393
6394 40 \18cڡ \12
6395         ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_oms_1
6396 [] = { 2 };
6397
6398 41 \18cڡ 
6399 b\94_\8ev_\8fg_t
6400  
6401         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
6402 [] = {
6403
6404 42 (
6405 ASN_TAG_CLASS_UNIVERSAL
6406  | (16 << 2))
6407
6408 44 \18cڡ 
6409 a¢_TYPE_\8fg2memb\94_t
6410  
6411         ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fg2\96_1
6412 [] = {
6413
6414 45 { (
6415 ASN_TAG_CLASS_CONTEXT
6416  | (0 << 2)), 0, 0, 0 },
6417
6418 46 { (
6419 ASN_TAG_CLASS_CONTEXT
6420  | (1 << 2)), 1, 0, 0 },
6421
6422 47 { (
6423 ASN_TAG_CLASS_CONTEXT
6424  | (2 << 2)), 2, 0, 0 }
6425
6426 49 
6427 a¢_SEQUENCE_¥ecifics_t
6428  
6429         ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_¥ecs_1
6430  = {
6431
6432 50 \17(\19
6433 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
6434 ),
6435
6436 51 
6437 off£tof
6438 (\19
6439 E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
6440
6441 _a¢_ùx
6442 ),
6443
6444 52 
6445 a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fg2\96_1
6446 ,
6447
6448 54 
6449 a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_oms_1
6450 ,
6451
6452 58 
6453 a¢_TYPE_desü\9dtÜ_t
6454  
6455         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
6456  = {
6457
6458 61 &
6459 a¢_OP_SEQUENCE
6460 ,
6461
6462 62 
6463 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
6464 ,
6465
6466 63 \17(
6467 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
6468 )
6469
6470 64 /\17(
6471 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
6472 [0]),
6473
6474 65 
6475 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
6476 ,
6477
6478 66 \17(
6479 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
6480 )
6481
6482 67 /\17(
6483 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_\8fgs_1
6484 [0]),
6485
6486 68 { 0, 0, 
6487 SEQUENCE_cÚ¡¿\9at
6488  },
6489
6490 69 
6491 a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_1
6492 ,
6493
6494 71 &
6495 a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3_¥ecs_1
6496
6497
6498         @E2SM-KPM-ActionDefinition.c
6499
6500\ 2
6501         ~"E2SM-KPM-AùiÚDef\9a\99iÚ.h
6502 "
6503
6504 10 \ 2
6505         ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©1.h
6506 "
6507
6508 11 \ 2
6509         ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©2.h
6510 "
6511
6512 12 \ 2
6513         ~"E2SM-KPM-AùiÚDef\9a\99iÚ-FÜm©3.h
6514 "
6515
6516 13 \18
6517 a¢_³r_cÚ¡¿\9ats_t
6518  
6519 a¢_PER_ty³_aùiÚDef\9a\99iÚ_fÜm©s_cÚ¡r_3
6520  
6521         gCC_NOTUSED
6522  = {
6523
6524 14 { 
6525 APC_CONSTRAINED
6526  | 
6527 APC_EXTENSIBLE
6528 , 2, 2, 0, 2 } ,
6529
6530 15 { 
6531 APC_UNCONSTRAINED
6532 , -1, -1, 0, 0 },
6533
6534 18 \18
6535 a¢_TYPE_memb\94_t
6536  
6537         ga¢_MBR_aùiÚDef\9a\99iÚ_fÜm©s_3
6538 [] = {
6539
6540 19 { 
6541 ATF_POINTER
6542 , 0, 
6543 off£tof
6544 (\19
6545 E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
6546
6547 choiû
6548 .
6549 aùiÚDef\9a\99iÚ_FÜm©1
6550 ),
6551
6552 20 (
6553 ASN_TAG_CLASS_CONTEXT
6554  | (0 << 2)),
6555
6556 22 &
6557 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©1
6558 ,
6559
6560 28 { 
6561 ATF_POINTER
6562 , 0, 
6563 off£tof
6564 (\19
6565 E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
6566
6567 choiû
6568 .
6569 aùiÚDef\9a\99iÚ_FÜm©2
6570 ),
6571
6572 29 (
6573 ASN_TAG_CLASS_CONTEXT
6574  | (1 << 2)),
6575
6576 31 &
6577 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©2
6578 ,
6579
6580 37 { 
6581 ATF_POINTER
6582 , 0, 
6583 off£tof
6584 (\19
6585 E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
6586
6587 choiû
6588 .
6589 aùiÚDef\9a\99iÚ_FÜm©3
6590 ),
6591
6592 38 (
6593 ASN_TAG_CLASS_CONTEXT
6594  | (2 << 2)),
6595
6596 40 &
6597 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_FÜm©3
6598 ,
6599
6600 47 \18cڡ 
6601 a¢_TYPE_\8fg2memb\94_t
6602  
6603         ga¢_MAP_aùiÚDef\9a\99iÚ_fÜm©s_\8fg2\96_3
6604 [] = {
6605
6606 48 { (
6607 ASN_TAG_CLASS_CONTEXT
6608  | (0 << 2)), 0, 0, 0 },
6609
6610 49 { (
6611 ASN_TAG_CLASS_CONTEXT
6612  | (1 << 2)), 1, 0, 0 },
6613
6614 50 { (
6615 ASN_TAG_CLASS_CONTEXT
6616  | (2 << 2)), 2, 0, 0 }
6617
6618 52 \18
6619 a¢_CHOICE_¥ecifics_t
6620  
6621         ga¢_SPC_aùiÚDef\9a\99iÚ_fÜm©s_¥ecs_3
6622  = {
6623
6624 53 \17(\19
6625 E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
6626 ),
6627
6628 54 
6629 off£tof
6630 (\19
6631 E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
6632
6633 _a¢_ùx
6634 ),
6635
6636 55 
6637 off£tof
6638 (\19
6639 E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
6640
6641 ´e£Á
6642 ),
6643
6644 56 \17(((\19
6645 E2SM_KPM_AùiÚDef\9a\99iÚ__aùiÚDef\9a\99iÚ_fÜm©s
6646  *)0)->
6647 ´e£Á
6648 ),
6649
6650 57 
6651 a¢_MAP_aùiÚDef\9a\99iÚ_fÜm©s_\8fg2\96_3
6652 ,
6653
6654 63 
6655 a¢_TYPE_desü\9dtÜ_t
6656  
6657         ga¢_DEF_aùiÚDef\9a\99iÚ_fÜm©s_3
6658  = {
6659
6660 66 &
6661 a¢_OP_CHOICE
6662 ,
6663
6664 71 { 0, &
6665 a¢_PER_ty³_aùiÚDef\9a\99iÚ_fÜm©s_cÚ¡r_3
6666
6667 CHOICE_cÚ¡¿\9at
6668  },
6669
6670 72 
6671 a¢_MBR_aùiÚDef\9a\99iÚ_fÜm©s_3
6672 ,
6673
6674 74 &
6675 a¢_SPC_aùiÚDef\9a\99iÚ_fÜm©s_¥ecs_3
6676
6677
6678 77 \18
6679 a¢_TYPE_memb\94_t
6680  
6681         ga¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_1
6682 [] = {
6683
6684 78 { 
6685 ATF_NOFLAGS
6686 , 0, 
6687 off£tof
6688 (\19
6689 E2SM_KPM_AùiÚDef\9a\99
6690
6691 ric_StyË_Ty³
6692 ),
6693
6694 79 (
6695 ASN_TAG_CLASS_CONTEXT
6696  | (0 << 2)),
6697
6698 81 &
6699 a¢_DEF_RIC_StyË_Ty³
6700 ,
6701
6702 87 { 
6703 ATF_NOFLAGS
6704 , 0, 
6705 off£tof
6706 (\19
6707 E2SM_KPM_AùiÚDef\9a\99
6708
6709 aùiÚDef\9a\99iÚ_fÜm©s
6710 ),
6711
6712 88 (
6713 ASN_TAG_CLASS_CONTEXT
6714  | (1 << 2)),
6715
6716 90 &
6717 a¢_DEF_aùiÚDef\9a\99iÚ_fÜm©s_3
6718 ,
6719
6720 97 \18cڡ 
6721 b\94_\8ev_\8fg_t
6722  
6723         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
6724 [] = {
6725
6726 98 (
6727 ASN_TAG_CLASS_UNIVERSAL
6728  | (16 << 2))
6729
6730 100 \18cڡ 
6731 a¢_TYPE_\8fg2memb\94_t
6732  
6733         ga¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fg2\96_1
6734 [] = {
6735
6736 101 { (
6737 ASN_TAG_CLASS_CONTEXT
6738  | (0 << 2)), 0, 0, 0 },
6739
6740 102 { (
6741 ASN_TAG_CLASS_CONTEXT
6742  | (1 << 2)), 1, 0, 0 }
6743
6744 104 \18
6745 a¢_SEQUENCE_¥ecifics_t
6746  
6747         ga¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_¥ecs_1
6748  = {
6749
6750 105 \17(\19
6751 E2SM_KPM_AùiÚDef\9a\99
6752 ),
6753
6754 106 
6755 off£tof
6756 (\19
6757 E2SM_KPM_AùiÚDef\9a\99
6758
6759 _a¢_ùx
6760 ),
6761
6762 107 
6763 a¢_MAP_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fg2\96_1
6764 ,
6765
6766 112 
6767 a¢_TYPE_desü\9dtÜ_t
6768  
6769         ga¢_DEF_E2SM_KPM_AùiÚDef\9a\99
6770  = {
6771
6772 115 &
6773 a¢_OP_SEQUENCE
6774 ,
6775
6776 116 
6777 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
6778 ,
6779
6780 117 \17(
6781 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
6782 )
6783
6784 118 /\17(
6785 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
6786 [0]),
6787
6788 119 
6789 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
6790 ,
6791
6792 120 \17(
6793 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
6794 )
6795
6796 121 /\17(
6797 a¢_DEF_E2SM_KPM_AùiÚDef\9a\99iÚ_\8fgs_1
6798 [0]),
6799
6800 122 { 0, 0, 
6801 SEQUENCE_cÚ¡¿\9at
6802  },
6803
6804 123 
6805 a¢_MBR_E2SM_KPM_AùiÚDef\9a\99iÚ_1
6806 ,
6807
6808 125 &
6809 a¢_SPC_E2SM_KPM_AùiÚDef\9a\99iÚ_¥ecs_1
6810
6811
6812         @E2SM-KPM-EventTriggerDefinition-Format1.c
6813
6814\ 2
6815         ~"E2SM-KPM-Ev\92tTrigg\94Def\9a\99iÚ-FÜm©1.h
6816 "
6817
6818 11 
6819         $»pÜt\9agP\94iod_2_cÚ¡¿\9at
6820 (cڡ 
6821 a¢_TYPE_desü\9dtÜ_t
6822  *
6823 td
6824 , cڡ \1e*
6825 ¥\8c
6826 ,
6827
6828 12 
6829 a¢_­p_cÚ¡¿\9at_ç\9eed_f
6830  *
6831 ùç\9ecb
6832\1e*
6833 ­p_key
6834 ) {
6835
6836 13 \1d\13
6837 v®ue
6838 ;
6839
6840 15 if(!
6841 ¥\8c
6842 ) {
6843
6844 16 
6845         `ASN__CTFAIL
6846 (
6847 ­p_key
6848
6849 td
6850
6851 ¥\8c
6852 ,
6853
6854 18 
6855 td
6856 ->
6857 Çme
6858
6859 __FILE__
6860
6861 __LINE__
6862 );
6863
6864 22 
6865 v®ue
6866  = *(cڡ \1d\13*)
6867 ¥\8c
6868 ;
6869
6870 24 if((
6871 v®ue
6872  >= 1 && value <= 4294967295)) {
6873
6874 28 
6875         `ASN__CTFAIL
6876 (
6877 ­p_key
6878
6879 td
6880
6881 ¥\8c
6882 ,
6883
6884 30 
6885 td
6886 ->
6887 Çme
6888
6889 __FILE__
6890
6891 __LINE__
6892 );
6893
6894 33 
6895         }
6896 }
6897
6898 40 
6899         $memb_»pÜt\9agP\94iod_cÚ¡¿\9at_1
6900 (cڡ 
6901 a¢_TYPE_desü\9dtÜ_t
6902  *
6903 td
6904 , cڡ \1e*
6905 ¥\8c
6906 ,
6907
6908 41 
6909 a¢_­p_cÚ¡¿\9at_ç\9eed_f
6910  *
6911 ùç\9ecb
6912\1e*
6913 ­p_key
6914 ) {
6915
6916 42 \1d\13
6917 v®ue
6918 ;
6919
6920 44 if(!
6921 ¥\8c
6922 ) {
6923
6924 45 
6925         `ASN__CTFAIL
6926 (
6927 ­p_key
6928
6929 td
6930
6931 ¥\8c
6932 ,
6933
6934 47 
6935 td
6936 ->
6937 Çme
6938
6939 __FILE__
6940
6941 __LINE__
6942 );
6943
6944 51 
6945 v®ue
6946  = *(cڡ \1d\13*)
6947 ¥\8c
6948 ;
6949
6950 53 if((
6951 v®ue
6952  >= 1 && value <= 4294967295)) {
6953
6954 57 
6955         `ASN__CTFAIL
6956 (
6957 ­p_key
6958
6959 td
6960
6961 ¥\8c
6962 ,
6963
6964 59 
6965 td
6966 ->
6967 Çme
6968
6969 __FILE__
6970
6971 __LINE__
6972 );
6973
6974 62 
6975         }
6976 }
6977
6978 64 \18
6979 a¢_³r_cÚ¡¿\9ats_t
6980  
6981 a¢_PER_ty³_»pÜt\9agP\94iod_cÚ¡r_2
6982  
6983         gCC_NOTUSED
6984  = {
6985
6986 65 { 
6987 APC_CONSTRAINED
6988 , 32, -1, 1, 4294967295 } ,
6989
6990 66 { 
6991 APC_UNCONSTRAINED
6992 , -1, -1, 0, 0 },
6993
6994 69 \18
6995 a¢_³r_cÚ¡¿\9ats_t
6996  
6997 a¢_PER_memb_»pÜt\9agP\94iod_cÚ¡r_2
6998  
6999         gCC_NOTUSED
7000  = {
7001
7002 70 { 
7003 APC_CONSTRAINED
7004 , 32, -1, 1, 4294967295 } ,
7005
7006 71 { 
7007 APC_UNCONSTRAINED
7008 , -1, -1, 0, 0 },
7009
7010 74 \18cڡ 
7011 a¢_INTEGER_¥ecifics_t
7012  
7013         ga¢_SPC_»pÜt\9agP\94iod_¥ecs_2
7014  = {
7015
7016 79 \18cڡ 
7017 b\94_\8ev_\8fg_t
7018  
7019         ga¢_DEF_»pÜt\9agP\94iod_\8fgs_2
7020 [] = {
7021
7022 80 (
7023 ASN_TAG_CLASS_CONTEXT
7024  | (0 << 2)),
7025
7026 81 (
7027 ASN_TAG_CLASS_UNIVERSAL
7028  | (2 << 2))
7029
7030 84 
7031 a¢_TYPE_desü\9dtÜ_t
7032  
7033         ga¢_DEF_»pÜt\9agP\94iod_2
7034  = {
7035
7036 87 &
7037 a¢_OP_N©iveIÁeg\94
7038 ,
7039
7040 88 
7041 a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
7042 ,
7043
7044 89 \17(
7045 a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
7046 )
7047
7048 90 /\17(
7049 a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
7050 [0]) - 1,
7051
7052 91 
7053 a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
7054 ,
7055
7056 92 \17(
7057 a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
7058 )
7059
7060 93 /\17(
7061 a¢_DEF_»pÜt\9agP\94iod_\8fgs_2
7062 [0]),
7063
7064 94 { 0, &
7065 a¢_PER_ty³_»pÜt\9agP\94iod_cÚ¡r_2
7066
7067 »pÜt\9agP\94iod_2_cÚ¡¿\9at
7068  },
7069
7070 96 &
7071 a¢_SPC_»pÜt\9agP\94iod_¥ecs_2
7072
7073
7074 99 
7075 a¢_TYPE_memb\94_t
7076  
7077         ga¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_1
7078 [] = {
7079
7080 100 { 
7081 ATF_NOFLAGS
7082 , 0, 
7083 off£tof
7084 (\19
7085 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
7086
7087 »pÜt\9agP\94iod
7088 ),
7089
7090 101 (
7091 ASN_TAG_CLASS_CONTEXT
7092  | (0 << 2)),
7093
7094 103 &
7095 a¢_DEF_»pÜt\9agP\94iod_2
7096 ,
7097
7098 105 { 0, &
7099 a¢_PER_memb_»pÜt\9agP\94iod_cÚ¡r_2
7100
7101 memb_»pÜt\9agP\94iod_cÚ¡¿\9at_1
7102  },
7103
7104 110 \18cڡ 
7105 b\94_\8ev_\8fg_t
7106  
7107         ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
7108 [] = {
7109
7110 111 (
7111 ASN_TAG_CLASS_UNIVERSAL
7112  | (16 << 2))
7113
7114 113 \18cڡ 
7115 a¢_TYPE_\8fg2memb\94_t
7116  
7117         ga¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fg2\96_1
7118 [] = {
7119
7120 114 { (
7121 ASN_TAG_CLASS_CONTEXT
7122  | (0 << 2)), 0, 0, 0 }
7123
7124 116 
7125 a¢_SEQUENCE_¥ecifics_t
7126  
7127         ga¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_¥ecs_1
7128  = {
7129
7130 117 \17(\19
7131 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
7132 ),
7133
7134 118 
7135 off£tof
7136 (\19
7137 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
7138
7139 _a¢_ùx
7140 ),
7141
7142 119 
7143 a¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fg2\96_1
7144 ,
7145
7146 124 
7147 a¢_TYPE_desü\9dtÜ_t
7148  
7149         ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
7150  = {
7151
7152 127 &
7153 a¢_OP_SEQUENCE
7154 ,
7155
7156 128 
7157 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
7158 ,
7159
7160 129 \17(
7161 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
7162 )
7163
7164 130 /\17(
7165 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
7166 [0]),
7167
7168 131 
7169 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
7170 ,
7171
7172 132 \17(
7173 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
7174 )
7175
7176 133 /\17(
7177 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_\8fgs_1
7178 [0]),
7179
7180 134 { 0, 0, 
7181 SEQUENCE_cÚ¡¿\9at
7182  },
7183
7184 135 
7185 a¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_1
7186 ,
7187
7188 137 &
7189 a¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1_¥ecs_1
7190
7191
7192         @E2SM-KPM-EventTriggerDefinition.c
7193
7194\ 2
7195         ~"E2SM-KPM-Ev\92tTrigg\94Def\9a\99iÚ.h
7196 "
7197
7198 10 \ 2
7199         ~"E2SM-KPM-Ev\92tTrigg\94Def\9a\99iÚ-FÜm©1.h
7200 "
7201
7202 11 \18
7203 a¢_³r_cÚ¡¿\9ats_t
7204  
7205 a¢_PER_ty³_ev\92tDef\9a\99iÚ_fÜm©s_cÚ¡r_2
7206  
7207         gCC_NOTUSED
7208  = {
7209
7210 12 { 
7211 APC_CONSTRAINED
7212  | 
7213 APC_EXTENSIBLE
7214 , 0, 0, 0, 0 } ,
7215
7216 13 { 
7217 APC_UNCONSTRAINED
7218 , -1, -1, 0, 0 },
7219
7220 16 \18
7221 a¢_TYPE_memb\94_t
7222  
7223         ga¢_MBR_ev\92tDef\9a\99iÚ_fÜm©s_2
7224 [] = {
7225
7226 17 { 
7227 ATF_POINTER
7228 , 0, 
7229 off£tof
7230 (\19
7231 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
7232
7233 choiû
7234 .
7235 ev\92tDef\9a\99iÚ_FÜm©1
7236 ),
7237
7238 18 (
7239 ASN_TAG_CLASS_CONTEXT
7240  | (0 << 2)),
7241
7242 20 &
7243 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_FÜm©1
7244 ,
7245
7246 27 \18cڡ 
7247 a¢_TYPE_\8fg2memb\94_t
7248  
7249         ga¢_MAP_ev\92tDef\9a\99iÚ_fÜm©s_\8fg2\96_2
7250 [] = {
7251
7252 28 { (
7253 ASN_TAG_CLASS_CONTEXT
7254  | (0 << 2)), 0, 0, 0 }
7255
7256 30 \18
7257 a¢_CHOICE_¥ecifics_t
7258  
7259         ga¢_SPC_ev\92tDef\9a\99iÚ_fÜm©s_¥ecs_2
7260  = {
7261
7262 31 \17(\19
7263 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
7264 ),
7265
7266 32 
7267 off£tof
7268 (\19
7269 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
7270
7271 _a¢_ùx
7272 ),
7273
7274 33 
7275 off£tof
7276 (\19
7277 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
7278
7279 ´e£Á
7280 ),
7281
7282 34 \17(((\19
7283 E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ__ev\92tDef\9a\99iÚ_fÜm©s
7284  *)0)->
7285 ´e£Á
7286 ),
7287
7288 35 
7289 a¢_MAP_ev\92tDef\9a\99iÚ_fÜm©s_\8fg2\96_2
7290 ,
7291
7292 41 
7293 a¢_TYPE_desü\9dtÜ_t
7294  
7295         ga¢_DEF_ev\92tDef\9a\99iÚ_fÜm©s_2
7296  = {
7297
7298 44 &
7299 a¢_OP_CHOICE
7300 ,
7301
7302 49 { 0, &
7303 a¢_PER_ty³_ev\92tDef\9a\99iÚ_fÜm©s_cÚ¡r_2
7304
7305 CHOICE_cÚ¡¿\9at
7306  },
7307
7308 50 
7309 a¢_MBR_ev\92tDef\9a\99iÚ_fÜm©s_2
7310 ,
7311
7312 52 &
7313 a¢_SPC_ev\92tDef\9a\99iÚ_fÜm©s_¥ecs_2
7314
7315
7316 55 \18
7317 a¢_TYPE_memb\94_t
7318  
7319         ga¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_1
7320 [] = {
7321
7322 56 { 
7323 ATF_NOFLAGS
7324 , 0, 
7325 off£tof
7326 (\19
7327 E2SM_KPM_Ev\92tTrigg\94Def\9a\99
7328
7329 ev\92tDef\9a\99iÚ_fÜm©s
7330 ),
7331
7332 57 (
7333 ASN_TAG_CLASS_CONTEXT
7334  | (0 << 2)),
7335
7336 59 &
7337 a¢_DEF_ev\92tDef\9a\99iÚ_fÜm©s_2
7338 ,
7339
7340 66 \18cڡ 
7341 b\94_\8ev_\8fg_t
7342  
7343         ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
7344 [] = {
7345
7346 67 (
7347 ASN_TAG_CLASS_UNIVERSAL
7348  | (16 << 2))
7349
7350 69 \18cڡ 
7351 a¢_TYPE_\8fg2memb\94_t
7352  
7353         ga¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fg2\96_1
7354 [] = {
7355
7356 70 { (
7357 ASN_TAG_CLASS_CONTEXT
7358  | (0 << 2)), 0, 0, 0 }
7359
7360 72 \18
7361 a¢_SEQUENCE_¥ecifics_t
7362  
7363         ga¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_¥ecs_1
7364  = {
7365
7366 73 \17(\19
7367 E2SM_KPM_Ev\92tTrigg\94Def\9a\99
7368 ),
7369
7370 74 
7371 off£tof
7372 (\19
7373 E2SM_KPM_Ev\92tTrigg\94Def\9a\99
7374
7375 _a¢_ùx
7376 ),
7377
7378 75 
7379 a¢_MAP_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fg2\96_1
7380 ,
7381
7382 80 
7383 a¢_TYPE_desü\9dtÜ_t
7384  
7385         ga¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99
7386  = {
7387
7388 83 &
7389 a¢_OP_SEQUENCE
7390 ,
7391
7392 84 
7393 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
7394 ,
7395
7396 85 \17(
7397 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
7398 )
7399
7400 86 /\17(
7401 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
7402 [0]),
7403
7404 87 
7405 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
7406 ,
7407
7408 88 \17(
7409 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
7410 )
7411
7412 89 /\17(
7413 a¢_DEF_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_\8fgs_1
7414 [0]),
7415
7416 90 { 0, 0, 
7417 SEQUENCE_cÚ¡¿\9at
7418  },
7419
7420 91 
7421 a¢_MBR_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_1
7422 ,
7423
7424 93 &
7425 a¢_SPC_E2SM_KPM_Ev\92tTrigg\94Def\9a\99iÚ_¥ecs_1
7426
7427
7428         @E2SM-KPM-IndicationHeader-Format1.c
7429
7430\ 2
7431         ~"E2SM-KPM-IndiÿtiÚH\97d\94-FÜm©1.h
7432 "
7433
7434 10 \18cڡ \12
7435         g³rm\99\8bd_®phab\91_\8fbË_3
7436 [256] = {
7437
7438 20 \18cڡ \12
7439         g³rm\99\8bd_®phab\91_code2v®ue_3
7440 [74] = {
7441
7442 28 \18\12
7443         $check_³rm\99\8bd_®phab\91_3
7444 (cڡ \1e*
7445 ¥\8c
7446 ) {
7447
7448 29 cڡ \12*
7449 \8f
7450  = 
7451 ³rm\99\8bd_®phab\91_\8fbË_3
7452 ;
7453
7454 31 cڡ 
7455 Pr\9a\8fbËS\8c\9ag_t
7456  *
7457 ¡
7458  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
7459 ¥\8c
7460 ;
7461
7462 32 cڡ 
7463 u\9at8_t
7464  *
7465 ch
7466  = 
7467 ¡
7468 ->
7469 buf
7470 ;
7471
7472 33 cڡ 
7473 u\9at8_t
7474  *
7475 \92d
7476  = 
7477 ch
7478  + 
7479 ¡
7480 ->
7481 size
7482 ;
7483
7484 35 \ f
7485 ch
7486  < 
7487 \92d
7488 ; ch++) {
7489
7490 36 
7491 u\9at8_t
7492  
7493 cv
7494  = *
7495 ch
7496 ;
7497
7498 37 if(!
7499 \8f
7500 [
7501 cv
7502 ]) \15 -1;
7503
7504 40 
7505         }
7506 }
7507
7508 42 \18cڡ \12
7509         g³rm\99\8bd_®phab\91_\8fbË_4
7510 [256] = {
7511
7512 52 \18cڡ \12
7513         g³rm\99\8bd_®phab\91_code2v®ue_4
7514 [74] = {
7515
7516 60 \18\12
7517         $check_³rm\99\8bd_®phab\91_4
7518 (cڡ \1e*
7519 ¥\8c
7520 ) {
7521
7522 61 cڡ \12*
7523 \8f
7524  = 
7525 ³rm\99\8bd_®phab\91_\8fbË_4
7526 ;
7527
7528 63 cڡ 
7529 Pr\9a\8fbËS\8c\9ag_t
7530  *
7531 ¡
7532  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
7533 ¥\8c
7534 ;
7535
7536 64 cڡ 
7537 u\9at8_t
7538  *
7539 ch
7540  = 
7541 ¡
7542 ->
7543 buf
7544 ;
7545
7546 65 cڡ 
7547 u\9at8_t
7548  *
7549 \92d
7550  = 
7551 ch
7552  + 
7553 ¡
7554 ->
7555 size
7556 ;
7557
7558 67 \ f
7559 ch
7560  < 
7561 \92d
7562 ; ch++) {
7563
7564 68 
7565 u\9at8_t
7566  
7567 cv
7568  = *
7569 ch
7570 ;
7571
7572 69 if(!
7573 \8f
7574 [
7575 cv
7576 ]) \15 -1;
7577
7578 72 
7579         }
7580 }
7581
7582 74 \18cڡ \12
7583         g³rm\99\8bd_®phab\91_\8fbË_5
7584 [256] = {
7585
7586 84 \18cڡ \12
7587         g³rm\99\8bd_®phab\91_code2v®ue_5
7588 [74] = {
7589
7590 92 \18\12
7591         $check_³rm\99\8bd_®phab\91_5
7592 (cڡ \1e*
7593 ¥\8c
7594 ) {
7595
7596 93 cڡ \12*
7597 \8f
7598  = 
7599 ³rm\99\8bd_®phab\91_\8fbË_5
7600 ;
7601
7602 95 cڡ 
7603 Pr\9a\8fbËS\8c\9ag_t
7604  *
7605 ¡
7606  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
7607 ¥\8c
7608 ;
7609
7610 96 cڡ 
7611 u\9at8_t
7612  *
7613 ch
7614  = 
7615 ¡
7616 ->
7617 buf
7618 ;
7619
7620 97 cڡ 
7621 u\9at8_t
7622  *
7623 \92d
7624  = 
7625 ch
7626  + 
7627 ¡
7628 ->
7629 size
7630 ;
7631
7632 99 \ f
7633 ch
7634  < 
7635 \92d
7636 ; ch++) {
7637
7638 100 
7639 u\9at8_t
7640  
7641 cv
7642  = *
7643 ch
7644 ;
7645
7646 101 if(!
7647 \8f
7648 [
7649 cv
7650 ]) \15 -1;
7651
7652 104 
7653         }
7654 }
7655
7656 106 \18cڡ \12
7657         g³rm\99\8bd_®phab\91_\8fbË_6
7658 [256] = {
7659
7660 116 \18cڡ \12
7661         g³rm\99\8bd_®phab\91_code2v®ue_6
7662 [74] = {
7663
7664 124 \18\12
7665         $check_³rm\99\8bd_®phab\91_6
7666 (cڡ \1e*
7667 ¥\8c
7668 ) {
7669
7670 125 cڡ \12*
7671 \8f
7672  = 
7673 ³rm\99\8bd_®phab\91_\8fbË_6
7674 ;
7675
7676 127 cڡ 
7677 Pr\9a\8fbËS\8c\9ag_t
7678  *
7679 ¡
7680  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
7681 ¥\8c
7682 ;
7683
7684 128 cڡ 
7685 u\9at8_t
7686  *
7687 ch
7688  = 
7689 ¡
7690 ->
7691 buf
7692 ;
7693
7694 129 cڡ 
7695 u\9at8_t
7696  *
7697 \92d
7698  = 
7699 ch
7700  + 
7701 ¡
7702 ->
7703 size
7704 ;
7705
7706 131 \ f
7707 ch
7708  < 
7709 \92d
7710 ; ch++) {
7711
7712 132 
7713 u\9at8_t
7714  
7715 cv
7716  = *
7717 ch
7718 ;
7719
7720 133 if(!
7721 \8f
7722 [
7723 cv
7724 ]) \15 -1;
7725
7726 136 
7727         }
7728 }
7729
7730 139 
7731         $memb_f\9eeFÜm©v\94siÚ_cÚ¡¿\9at_1
7732 (cڡ 
7733 a¢_TYPE_desü\9dtÜ_t
7734  *
7735 td
7736 , cڡ \1e*
7737 ¥\8c
7738 ,
7739
7740 140 
7741 a¢_­p_cÚ¡¿\9at_ç\9eed_f
7742  *
7743 ùç\9ecb
7744\1e*
7745 ­p_key
7746 ) {
7747
7748 141 cڡ 
7749 Pr\9a\8fbËS\8c\9ag_t
7750  *
7751 ¡
7752  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
7753 ¥\8c
7754 ;
7755
7756 142 
7757 size_t
7758  
7759 size
7760 ;
7761
7762 144 if(!
7763 ¥\8c
7764 ) {
7765
7766 145 
7767         `ASN__CTFAIL
7768 (
7769 ­p_key
7770
7771 td
7772
7773 ¥\8c
7774 ,
7775
7776 147 
7777 td
7778 ->
7779 Çme
7780
7781 __FILE__
7782
7783 __LINE__
7784 );
7785
7786 151 
7787 size
7788  = 
7789 ¡
7790 ->size;
7791
7792 153 if((
7793 size
7794  <= 15)
7795
7796 154 && !
7797         `check_³rm\99\8bd_®phab\91_3
7798 (
7799 ¡
7800 )) {
7801
7802 158 
7803         `ASN__CTFAIL
7804 (
7805 ­p_key
7806
7807 td
7808
7809 ¥\8c
7810 ,
7811
7812 160 
7813 td
7814 ->
7815 Çme
7816
7817 __FILE__
7818
7819 __LINE__
7820 );
7821
7822 163 
7823         }
7824 }
7825
7826 165 \18\12
7827         $a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_v2c
7828 (\1d\12
7829 v®ue
7830 ) {
7831
7832 166 if(
7833 v®ue
7834  >ð\17(
7835 ³rm\99\8bd_®phab\91_\8fbË_3
7836 )/\17(permitted_alphabet_table_3[0]))
7837
7838 168 \15 
7839 ³rm\99\8bd_®phab\91_\8fbË_3
7840 [
7841 v®ue
7842 ] - 1;
7843
7844 169 
7845         }
7846 }
7847
7848 170 \18\12
7849         $a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_c2v
7850 (\1d\12
7851 code
7852 ) {
7853
7854 171 if(
7855 code
7856  >ð\17(
7857 ³rm\99\8bd_®phab\91_code2v®ue_3
7858 )/\17(permitted_alphabet_code2value_3[0]))
7859
7860 173 \15 
7861 ³rm\99\8bd_®phab\91_code2v®ue_3
7862 [
7863 code
7864 ];
7865
7866 174 
7867         }
7868 }
7869
7870 176 
7871         $memb_£nd\94Name_cÚ¡¿\9at_1
7872 (cڡ 
7873 a¢_TYPE_desü\9dtÜ_t
7874  *
7875 td
7876 , cڡ \1e*
7877 ¥\8c
7878 ,
7879
7880 177 
7881 a¢_­p_cÚ¡¿\9at_ç\9eed_f
7882  *
7883 ùç\9ecb
7884\1e*
7885 ­p_key
7886 ) {
7887
7888 178 cڡ 
7889 Pr\9a\8fbËS\8c\9ag_t
7890  *
7891 ¡
7892  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
7893 ¥\8c
7894 ;
7895
7896 179 
7897 size_t
7898  
7899 size
7900 ;
7901
7902 181 if(!
7903 ¥\8c
7904 ) {
7905
7906 182 
7907         `ASN__CTFAIL
7908 (
7909 ­p_key
7910
7911 td
7912
7913 ¥\8c
7914 ,
7915
7916 184 
7917 td
7918 ->
7919 Çme
7920
7921 __FILE__
7922
7923 __LINE__
7924 );
7925
7926 188 
7927 size
7928  = 
7929 ¡
7930 ->size;
7931
7932 190 if((
7933 size
7934  <= 400)
7935
7936 191 && !
7937         `check_³rm\99\8bd_®phab\91_4
7938 (
7939 ¡
7940 )) {
7941
7942 195 
7943         `ASN__CTFAIL
7944 (
7945 ­p_key
7946
7947 td
7948
7949 ¥\8c
7950 ,
7951
7952 197 
7953 td
7954 ->
7955 Çme
7956
7957 __FILE__
7958
7959 __LINE__
7960 );
7961
7962 200 
7963         }
7964 }
7965
7966 202 \18\12
7967         $a¢_PER_MAP_£nd\94Name_4_v2c
7968 (\1d\12
7969 v®ue
7970 ) {
7971
7972 203 if(
7973 v®ue
7974  >ð\17(
7975 ³rm\99\8bd_®phab\91_\8fbË_4
7976 )/\17(permitted_alphabet_table_4[0]))
7977
7978 205 \15 
7979 ³rm\99\8bd_®phab\91_\8fbË_4
7980 [
7981 v®ue
7982 ] - 1;
7983
7984 206 
7985         }
7986 }
7987
7988 207 \18\12
7989         $a¢_PER_MAP_£nd\94Name_4_c2v
7990 (\1d\12
7991 code
7992 ) {
7993
7994 208 if(
7995 code
7996  >ð\17(
7997 ³rm\99\8bd_®phab\91_code2v®ue_4
7998 )/\17(permitted_alphabet_code2value_4[0]))
7999
8000 210 \15 
8001 ³rm\99\8bd_®phab\91_code2v®ue_4
8002 [
8003 code
8004 ];
8005
8006 211 
8007         }
8008 }
8009
8010 213 
8011         $memb_£nd\94Ty³_cÚ¡¿\9at_1
8012 (cڡ 
8013 a¢_TYPE_desü\9dtÜ_t
8014  *
8015 td
8016 , cڡ \1e*
8017 ¥\8c
8018 ,
8019
8020 214 
8021 a¢_­p_cÚ¡¿\9at_ç\9eed_f
8022  *
8023 ùç\9ecb
8024\1e*
8025 ­p_key
8026 ) {
8027
8028 215 cڡ 
8029 Pr\9a\8fbËS\8c\9ag_t
8030  *
8031 ¡
8032  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
8033 ¥\8c
8034 ;
8035
8036 216 
8037 size_t
8038  
8039 size
8040 ;
8041
8042 218 if(!
8043 ¥\8c
8044 ) {
8045
8046 219 
8047         `ASN__CTFAIL
8048 (
8049 ­p_key
8050
8051 td
8052
8053 ¥\8c
8054 ,
8055
8056 221 
8057 td
8058 ->
8059 Çme
8060
8061 __FILE__
8062
8063 __LINE__
8064 );
8065
8066 225 
8067 size
8068  = 
8069 ¡
8070 ->size;
8071
8072 227 if((
8073 size
8074  <= 8)
8075
8076 228 && !
8077         `check_³rm\99\8bd_®phab\91_5
8078 (
8079 ¡
8080 )) {
8081
8082 232 
8083         `ASN__CTFAIL
8084 (
8085 ­p_key
8086
8087 td
8088
8089 ¥\8c
8090 ,
8091
8092 234 
8093 td
8094 ->
8095 Çme
8096
8097 __FILE__
8098
8099 __LINE__
8100 );
8101
8102 237 
8103         }
8104 }
8105
8106 239 \18\12
8107         $a¢_PER_MAP_£nd\94Ty³_5_v2c
8108 (\1d\12
8109 v®ue
8110 ) {
8111
8112 240 if(
8113 v®ue
8114  >ð\17(
8115 ³rm\99\8bd_®phab\91_\8fbË_5
8116 )/\17(permitted_alphabet_table_5[0]))
8117
8118 242 \15 
8119 ³rm\99\8bd_®phab\91_\8fbË_5
8120 [
8121 v®ue
8122 ] - 1;
8123
8124 243 
8125         }
8126 }
8127
8128 244 \18\12
8129         $a¢_PER_MAP_£nd\94Ty³_5_c2v
8130 (\1d\12
8131 code
8132 ) {
8133
8134 245 if(
8135 code
8136  >ð\17(
8137 ³rm\99\8bd_®phab\91_code2v®ue_5
8138 )/\17(permitted_alphabet_code2value_5[0]))
8139
8140 247 \15 
8141 ³rm\99\8bd_®phab\91_code2v®ue_5
8142 [
8143 code
8144 ];
8145
8146 248 
8147         }
8148 }
8149
8150 250 
8151         $memb_v\92dÜName_cÚ¡¿\9at_1
8152 (cڡ 
8153 a¢_TYPE_desü\9dtÜ_t
8154  *
8155 td
8156 , cڡ \1e*
8157 ¥\8c
8158 ,
8159
8160 251 
8161 a¢_­p_cÚ¡¿\9at_ç\9eed_f
8162  *
8163 ùç\9ecb
8164\1e*
8165 ­p_key
8166 ) {
8167
8168 252 cڡ 
8169 Pr\9a\8fbËS\8c\9ag_t
8170  *
8171 ¡
8172  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
8173 ¥\8c
8174 ;
8175
8176 253 
8177 size_t
8178  
8179 size
8180 ;
8181
8182 255 if(!
8183 ¥\8c
8184 ) {
8185
8186 256 
8187         `ASN__CTFAIL
8188 (
8189 ­p_key
8190
8191 td
8192
8193 ¥\8c
8194 ,
8195
8196 258 
8197 td
8198 ->
8199 Çme
8200
8201 __FILE__
8202
8203 __LINE__
8204 );
8205
8206 262 
8207 size
8208  = 
8209 ¡
8210 ->size;
8211
8212 264 if((
8213 size
8214  <= 32)
8215
8216 265 && !
8217         `check_³rm\99\8bd_®phab\91_6
8218 (
8219 ¡
8220 )) {
8221
8222 269 
8223         `ASN__CTFAIL
8224 (
8225 ­p_key
8226
8227 td
8228
8229 ¥\8c
8230 ,
8231
8232 271 
8233 td
8234 ->
8235 Çme
8236
8237 __FILE__
8238
8239 __LINE__
8240 );
8241
8242 274 
8243         }
8244 }
8245
8246 276 \18\12
8247         $a¢_PER_MAP_v\92dÜName_6_v2c
8248 (\1d\12
8249 v®ue
8250 ) {
8251
8252 277 if(
8253 v®ue
8254  >ð\17(
8255 ³rm\99\8bd_®phab\91_\8fbË_6
8256 )/\17(permitted_alphabet_table_6[0]))
8257
8258 279 \15 
8259 ³rm\99\8bd_®phab\91_\8fbË_6
8260 [
8261 v®ue
8262 ] - 1;
8263
8264 280 
8265         }
8266 }
8267
8268 281 \18\12
8269         $a¢_PER_MAP_v\92dÜName_6_c2v
8270 (\1d\12
8271 code
8272 ) {
8273
8274 282 if(
8275 code
8276  >ð\17(
8277 ³rm\99\8bd_®phab\91_code2v®ue_6
8278 )/\17(permitted_alphabet_code2value_6[0]))
8279
8280 284 \15 
8281 ³rm\99\8bd_®phab\91_code2v®ue_6
8282 [
8283 code
8284 ];
8285
8286 285 
8287         }
8288 }
8289
8290 286 \18
8291 a¢_³r_cÚ¡¿\9ats_t
8292  
8293 a¢_PER_memb_f\9eeFÜm©v\94siÚ_cÚ¡r_3
8294  
8295         gCC_NOTUSED
8296  = {
8297
8298 287 { 
8299 APC_CONSTRAINED
8300 , 7, 7, 32, 122 } ,
8301
8302 288 { 
8303 APC_CONSTRAINED
8304  | 
8305 APC_EXTENSIBLE
8306 , 4, 4, 0, 15 } ,
8307
8308 289 
8309 a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_v2c
8310 ,
8311
8312 290 
8313 a¢_PER_MAP_f\9eeFÜm©v\94siÚ_3_c2v
8314
8315
8316 292 \18
8317 a¢_³r_cÚ¡¿\9ats_t
8318  
8319 a¢_PER_memb_£nd\94Name_cÚ¡r_4
8320  
8321         gCC_NOTUSED
8322  = {
8323
8324 293 { 
8325 APC_CONSTRAINED
8326 , 7, 7, 32, 122 } ,
8327
8328 294 { 
8329 APC_CONSTRAINED
8330  | 
8331 APC_EXTENSIBLE
8332 , 9, 9, 0, 400 } ,
8333
8334 295 
8335 a¢_PER_MAP_£nd\94Name_4_v2c
8336 ,
8337
8338 296 
8339 a¢_PER_MAP_£nd\94Name_4_c2v
8340
8341
8342 298 \18
8343 a¢_³r_cÚ¡¿\9ats_t
8344  
8345 a¢_PER_memb_£nd\94Ty³_cÚ¡r_5
8346  
8347         gCC_NOTUSED
8348  = {
8349
8350 299 { 
8351 APC_CONSTRAINED
8352 , 7, 7, 32, 122 } ,
8353
8354 300 { 
8355 APC_CONSTRAINED
8356  | 
8357 APC_EXTENSIBLE
8358 , 4, 4, 0, 8 } ,
8359
8360 301 
8361 a¢_PER_MAP_£nd\94Ty³_5_v2c
8362 ,
8363
8364 302 
8365 a¢_PER_MAP_£nd\94Ty³_5_c2v
8366
8367
8368 304 \18
8369 a¢_³r_cÚ¡¿\9ats_t
8370  
8371 a¢_PER_memb_v\92dÜName_cÚ¡r_6
8372  
8373         gCC_NOTUSED
8374  = {
8375
8376 305 { 
8377 APC_CONSTRAINED
8378 , 7, 7, 32, 122 } ,
8379
8380 306 { 
8381 APC_CONSTRAINED
8382  | 
8383 APC_EXTENSIBLE
8384 , 6, 6, 0, 32 } ,
8385
8386 307 
8387 a¢_PER_MAP_v\92dÜName_6_v2c
8388 ,
8389
8390 308 
8391 a¢_PER_MAP_v\92dÜName_6_c2v
8392
8393
8394 310 
8395 a¢_TYPE_memb\94_t
8396  
8397         ga¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_1
8398 [] = {
8399
8400 311 { 
8401 ATF_NOFLAGS
8402 , 0, 
8403 off£tof
8404 (\19
8405 E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8406
8407 cÞËtS\8f¹Time
8408 ),
8409
8410 312 (
8411 ASN_TAG_CLASS_CONTEXT
8412  | (0 << 2)),
8413
8414 314 &
8415 a¢_DEF_TimeS\8fmp
8416 ,
8417
8418 320 { 
8419 ATF_POINTER
8420 , 4, 
8421 off£tof
8422 (\19
8423 E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8424
8425 f\9eeFÜm©v\94siÚ
8426 ),
8427
8428 321 (
8429 ASN_TAG_CLASS_CONTEXT
8430  | (1 << 2)),
8431
8432 323 &
8433 a¢_DEF_Pr\9a\8fbËS\8c\9ag
8434 ,
8435
8436 325 { 0, &
8437 a¢_PER_memb_f\9eeFÜm©v\94siÚ_cÚ¡r_3
8438
8439 memb_f\9eeFÜm©v\94siÚ_cÚ¡¿\9at_1
8440  },
8441
8442 329 { 
8443 ATF_POINTER
8444 , 3, 
8445 off£tof
8446 (\19
8447 E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8448
8449 £nd\94Name
8450 ),
8451
8452 330 (
8453 ASN_TAG_CLASS_CONTEXT
8454  | (2 << 2)),
8455
8456 332 &
8457 a¢_DEF_Pr\9a\8fbËS\8c\9ag
8458 ,
8459
8460 334 { 0, &
8461 a¢_PER_memb_£nd\94Name_cÚ¡r_4
8462
8463 memb_£nd\94Name_cÚ¡¿\9at_1
8464  },
8465
8466 338 { 
8467 ATF_POINTER
8468 , 2, 
8469 off£tof
8470 (\19
8471 E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8472
8473 £nd\94Ty³
8474 ),
8475
8476 339 (
8477 ASN_TAG_CLASS_CONTEXT
8478  | (3 << 2)),
8479
8480 341 &
8481 a¢_DEF_Pr\9a\8fbËS\8c\9ag
8482 ,
8483
8484 343 { 0, &
8485 a¢_PER_memb_£nd\94Ty³_cÚ¡r_5
8486
8487 memb_£nd\94Ty³_cÚ¡¿\9at_1
8488  },
8489
8490 347 { 
8491 ATF_POINTER
8492 , 1, 
8493 off£tof
8494 (\19
8495 E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8496
8497 v\92dÜName
8498 ),
8499
8500 348 (
8501 ASN_TAG_CLASS_CONTEXT
8502  | (4 << 2)),
8503
8504 350 &
8505 a¢_DEF_Pr\9a\8fbËS\8c\9ag
8506 ,
8507
8508 352 { 0, &
8509 a¢_PER_memb_v\92dÜName_cÚ¡r_6
8510
8511 memb_v\92dÜName_cÚ¡¿\9at_1
8512  },
8513
8514 357 \18cڡ \12
8515         ga¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_oms_1
8516 [] = { 1, 2, 3, 4 };
8517
8518 358 \18cڡ 
8519 b\94_\8ev_\8fg_t
8520  
8521         ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
8522 [] = {
8523
8524 359 (
8525 ASN_TAG_CLASS_UNIVERSAL
8526  | (16 << 2))
8527
8528 361 \18cڡ 
8529 a¢_TYPE_\8fg2memb\94_t
8530  
8531         ga¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fg2\96_1
8532 [] = {
8533
8534 362 { (
8535 ASN_TAG_CLASS_CONTEXT
8536  | (0 << 2)), 0, 0, 0 },
8537
8538 363 { (
8539 ASN_TAG_CLASS_CONTEXT
8540  | (1 << 2)), 1, 0, 0 },
8541
8542 364 { (
8543 ASN_TAG_CLASS_CONTEXT
8544  | (2 << 2)), 2, 0, 0 },
8545
8546 365 { (
8547 ASN_TAG_CLASS_CONTEXT
8548  | (3 << 2)), 3, 0, 0 },
8549
8550 366 { (
8551 ASN_TAG_CLASS_CONTEXT
8552  | (4 << 2)), 4, 0, 0 }
8553
8554 368 
8555 a¢_SEQUENCE_¥ecifics_t
8556  
8557         ga¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_¥ecs_1
8558  = {
8559
8560 369 \17(\19
8561 E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8562 ),
8563
8564 370 
8565 off£tof
8566 (\19
8567 E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8568
8569 _a¢_ùx
8570 ),
8571
8572 371 
8573 a¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fg2\96_1
8574 ,
8575
8576 373 
8577 a¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_oms_1
8578 ,
8579
8580 377 
8581 a¢_TYPE_desü\9dtÜ_t
8582  
8583         ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8584  = {
8585
8586 380 &
8587 a¢_OP_SEQUENCE
8588 ,
8589
8590 381 
8591 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
8592 ,
8593
8594 382 \17(
8595 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
8596 )
8597
8598 383 /\17(
8599 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
8600 [0]),
8601
8602 384 
8603 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
8604 ,
8605
8606 385 \17(
8607 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
8608 )
8609
8610 386 /\17(
8611 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_\8fgs_1
8612 [0]),
8613
8614 387 { 0, 0, 
8615 SEQUENCE_cÚ¡¿\9at
8616  },
8617
8618 388 
8619 a¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_1
8620 ,
8621
8622 390 &
8623 a¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1_¥ecs_1
8624
8625
8626         @E2SM-KPM-IndicationHeader.c
8627
8628\ 2
8629         ~"E2SM-KPM-IndiÿtiÚH\97d\94.h
8630 "
8631
8632 10 \ 2
8633         ~"E2SM-KPM-IndiÿtiÚH\97d\94-FÜm©1.h
8634 "
8635
8636 11 \18
8637 a¢_³r_cÚ¡¿\9ats_t
8638  
8639 a¢_PER_ty³_\9adiÿtiÚH\97d\94_fÜm©s_cÚ¡r_2
8640  
8641         gCC_NOTUSED
8642  = {
8643
8644 12 { 
8645 APC_CONSTRAINED
8646  | 
8647 APC_EXTENSIBLE
8648 , 0, 0, 0, 0 } ,
8649
8650 13 { 
8651 APC_UNCONSTRAINED
8652 , -1, -1, 0, 0 },
8653
8654 16 \18
8655 a¢_TYPE_memb\94_t
8656  
8657         ga¢_MBR_\9adiÿtiÚH\97d\94_fÜm©s_2
8658 [] = {
8659
8660 17 { 
8661 ATF_POINTER
8662 , 0, 
8663 off£tof
8664 (\19
8665 E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
8666
8667 choiû
8668 .
8669 \9adiÿtiÚH\97d\94_FÜm©1
8670 ),
8671
8672 18 (
8673 ASN_TAG_CLASS_CONTEXT
8674  | (0 << 2)),
8675
8676 20 &
8677 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_FÜm©1
8678 ,
8679
8680 27 \18cڡ 
8681 a¢_TYPE_\8fg2memb\94_t
8682  
8683         ga¢_MAP_\9adiÿtiÚH\97d\94_fÜm©s_\8fg2\96_2
8684 [] = {
8685
8686 28 { (
8687 ASN_TAG_CLASS_CONTEXT
8688  | (0 << 2)), 0, 0, 0 }
8689
8690 30 \18
8691 a¢_CHOICE_¥ecifics_t
8692  
8693         ga¢_SPC_\9adiÿtiÚH\97d\94_fÜm©s_¥ecs_2
8694  = {
8695
8696 31 \17(\19
8697 E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
8698 ),
8699
8700 32 
8701 off£tof
8702 (\19
8703 E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
8704
8705 _a¢_ùx
8706 ),
8707
8708 33 
8709 off£tof
8710 (\19
8711 E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
8712
8713 ´e£Á
8714 ),
8715
8716 34 \17(((\19
8717 E2SM_KPM_IndiÿtiÚH\97d\94__\9adiÿtiÚH\97d\94_fÜm©s
8718  *)0)->
8719 ´e£Á
8720 ),
8721
8722 35 
8723 a¢_MAP_\9adiÿtiÚH\97d\94_fÜm©s_\8fg2\96_2
8724 ,
8725
8726 41 
8727 a¢_TYPE_desü\9dtÜ_t
8728  
8729         ga¢_DEF_\9adiÿtiÚH\97d\94_fÜm©s_2
8730  = {
8731
8732 44 &
8733 a¢_OP_CHOICE
8734 ,
8735
8736 49 { 0, &
8737 a¢_PER_ty³_\9adiÿtiÚH\97d\94_fÜm©s_cÚ¡r_2
8738
8739 CHOICE_cÚ¡¿\9at
8740  },
8741
8742 50 
8743 a¢_MBR_\9adiÿtiÚH\97d\94_fÜm©s_2
8744 ,
8745
8746 52 &
8747 a¢_SPC_\9adiÿtiÚH\97d\94_fÜm©s_¥ecs_2
8748
8749
8750 55 \18
8751 a¢_TYPE_memb\94_t
8752  
8753         ga¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_1
8754 [] = {
8755
8756 56 { 
8757 ATF_NOFLAGS
8758 , 0, 
8759 off£tof
8760 (\19
8761 E2SM_KPM_IndiÿtiÚH\97d\94
8762
8763 \9adiÿtiÚH\97d\94_fÜm©s
8764 ),
8765
8766 57 (
8767 ASN_TAG_CLASS_CONTEXT
8768  | (0 << 2)),
8769
8770 59 &
8771 a¢_DEF_\9adiÿtiÚH\97d\94_fÜm©s_2
8772 ,
8773
8774 66 \18cڡ 
8775 b\94_\8ev_\8fg_t
8776  
8777         ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
8778 [] = {
8779
8780 67 (
8781 ASN_TAG_CLASS_UNIVERSAL
8782  | (16 << 2))
8783
8784 69 \18cڡ 
8785 a¢_TYPE_\8fg2memb\94_t
8786  
8787         ga¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_\8fg2\96_1
8788 [] = {
8789
8790 70 { (
8791 ASN_TAG_CLASS_CONTEXT
8792  | (0 << 2)), 0, 0, 0 }
8793
8794 72 \18
8795 a¢_SEQUENCE_¥ecifics_t
8796  
8797         ga¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_¥ecs_1
8798  = {
8799
8800 73 \17(\19
8801 E2SM_KPM_IndiÿtiÚH\97d\94
8802 ),
8803
8804 74 
8805 off£tof
8806 (\19
8807 E2SM_KPM_IndiÿtiÚH\97d\94
8808
8809 _a¢_ùx
8810 ),
8811
8812 75 
8813 a¢_MAP_E2SM_KPM_IndiÿtiÚH\97d\94_\8fg2\96_1
8814 ,
8815
8816 80 
8817 a¢_TYPE_desü\9dtÜ_t
8818  
8819         ga¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94
8820  = {
8821
8822 83 &
8823 a¢_OP_SEQUENCE
8824 ,
8825
8826 84 
8827 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
8828 ,
8829
8830 85 \17(
8831 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
8832 )
8833
8834 86 /\17(
8835 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
8836 [0]),
8837
8838 87 
8839 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
8840 ,
8841
8842 88 \17(
8843 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
8844 )
8845
8846 89 /\17(
8847 a¢_DEF_E2SM_KPM_IndiÿtiÚH\97d\94_\8fgs_1
8848 [0]),
8849
8850 90 { 0, 0, 
8851 SEQUENCE_cÚ¡¿\9at
8852  },
8853
8854 91 
8855 a¢_MBR_E2SM_KPM_IndiÿtiÚH\97d\94_1
8856 ,
8857
8858 93 &
8859 a¢_SPC_E2SM_KPM_IndiÿtiÚH\97d\94_¥ecs_1
8860
8861
8862         @E2SM-KPM-IndicationMessage-Format1.c
8863
8864\ 2
8865         ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©1.h
8866 "
8867
8868 10 \ 2
8869         ~"M\97su»m\92tInfoLi¡.h
8870 "
8871
8872 11 
8873 a¢_TYPE_memb\94_t
8874  
8875         ga¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_1
8876 [] = {
8877
8878 12 { 
8879 ATF_NOFLAGS
8880 , 0, 
8881 off£tof
8882 (\19
8883 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
8884
8885 m\97sD©a
8886 ),
8887
8888 13 (
8889 ASN_TAG_CLASS_CONTEXT
8890  | (0 << 2)),
8891
8892 15 &
8893 a¢_DEF_M\97su»m\92tD©a
8894 ,
8895
8896 21 { 
8897 ATF_POINTER
8898 , 2, 
8899 off£tof
8900 (\19
8901 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
8902
8903 m\97sInfoLi¡
8904 ),
8905
8906 22 (
8907 ASN_TAG_CLASS_CONTEXT
8908  | (1 << 2)),
8909
8910 24 &
8911 a¢_DEF_M\97su»m\92tInfoLi¡
8912 ,
8913
8914 30 { 
8915 ATF_POINTER
8916 , 1, 
8917 off£tof
8918 (\19
8919 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
8920
8921 g¿nulP\94iod
8922 ),
8923
8924 31 (
8925 ASN_TAG_CLASS_CONTEXT
8926  | (2 << 2)),
8927
8928 33 &
8929 a¢_DEF_G¿nuÏr\99yP\94iod
8930 ,
8931
8932 40 \18cڡ \12
8933         ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_oms_1
8934 [] = { 1, 2 };
8935
8936 41 \18cڡ 
8937 b\94_\8ev_\8fg_t
8938  
8939         ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
8940 [] = {
8941
8942 42 (
8943 ASN_TAG_CLASS_UNIVERSAL
8944  | (16 << 2))
8945
8946 44 \18cڡ 
8947 a¢_TYPE_\8fg2memb\94_t
8948  
8949         ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fg2\96_1
8950 [] = {
8951
8952 45 { (
8953 ASN_TAG_CLASS_CONTEXT
8954  | (0 << 2)), 0, 0, 0 },
8955
8956 46 { (
8957 ASN_TAG_CLASS_CONTEXT
8958  | (1 << 2)), 1, 0, 0 },
8959
8960 47 { (
8961 ASN_TAG_CLASS_CONTEXT
8962  | (2 << 2)), 2, 0, 0 }
8963
8964 49 
8965 a¢_SEQUENCE_¥ecifics_t
8966  
8967         ga¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_¥ecs_1
8968  = {
8969
8970 50 \17(\19
8971 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
8972 ),
8973
8974 51 
8975 off£tof
8976 (\19
8977 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
8978
8979 _a¢_ùx
8980 ),
8981
8982 52 
8983 a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fg2\96_1
8984 ,
8985
8986 54 
8987 a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_oms_1
8988 ,
8989
8990 58 
8991 a¢_TYPE_desü\9dtÜ_t
8992  
8993         ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
8994  = {
8995
8996 61 &
8997 a¢_OP_SEQUENCE
8998 ,
8999
9000 62 
9001 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
9002 ,
9003
9004 63 \17(
9005 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
9006 )
9007
9008 64 /\17(
9009 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
9010 [0]),
9011
9012 65 
9013 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
9014 ,
9015
9016 66 \17(
9017 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
9018 )
9019
9020 67 /\17(
9021 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_\8fgs_1
9022 [0]),
9023
9024 68 { 0, 0, 
9025 SEQUENCE_cÚ¡¿\9at
9026  },
9027
9028 69 
9029 a¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_1
9030 ,
9031
9032 71 &
9033 a¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1_¥ecs_1
9034
9035
9036         @E2SM-KPM-IndicationMessage-Format2.c
9037
9038\ 2
9039         ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©2.h
9040 "
9041
9042 10 
9043 a¢_TYPE_memb\94_t
9044  
9045         ga¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_1
9046 [] = {
9047
9048 11 { 
9049 ATF_NOFLAGS
9050 , 0, 
9051 off£tof
9052 (\19
9053 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
9054
9055 m\97sD©a
9056 ),
9057
9058 12 (
9059 ASN_TAG_CLASS_CONTEXT
9060  | (0 << 2)),
9061
9062 14 &
9063 a¢_DEF_M\97su»m\92tD©a
9064 ,
9065
9066 20 { 
9067 ATF_NOFLAGS
9068 , 0, 
9069 off£tof
9070 (\19
9071 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
9072
9073 m\97sCÚdUEidLi¡
9074 ),
9075
9076 21 (
9077 ASN_TAG_CLASS_CONTEXT
9078  | (1 << 2)),
9079
9080 23 &
9081 a¢_DEF_M\97su»m\92tCÚdUEidLi¡
9082 ,
9083
9084 29 { 
9085 ATF_POINTER
9086 , 1, 
9087 off£tof
9088 (\19
9089 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
9090
9091 g¿nulP\94iod
9092 ),
9093
9094 30 (
9095 ASN_TAG_CLASS_CONTEXT
9096  | (2 << 2)),
9097
9098 32 &
9099 a¢_DEF_G¿nuÏr\99yP\94iod
9100 ,
9101
9102 39 \18cڡ \12
9103         ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_oms_1
9104 [] = { 2 };
9105
9106 40 \18cڡ 
9107 b\94_\8ev_\8fg_t
9108  
9109         ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
9110 [] = {
9111
9112 41 (
9113 ASN_TAG_CLASS_UNIVERSAL
9114  | (16 << 2))
9115
9116 43 \18cڡ 
9117 a¢_TYPE_\8fg2memb\94_t
9118  
9119         ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fg2\96_1
9120 [] = {
9121
9122 44 { (
9123 ASN_TAG_CLASS_CONTEXT
9124  | (0 << 2)), 0, 0, 0 },
9125
9126 45 { (
9127 ASN_TAG_CLASS_CONTEXT
9128  | (1 << 2)), 1, 0, 0 },
9129
9130 46 { (
9131 ASN_TAG_CLASS_CONTEXT
9132  | (2 << 2)), 2, 0, 0 }
9133
9134 48 
9135 a¢_SEQUENCE_¥ecifics_t
9136  
9137         ga¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_¥ecs_1
9138  = {
9139
9140 49 \17(\19
9141 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
9142 ),
9143
9144 50 
9145 off£tof
9146 (\19
9147 E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
9148
9149 _a¢_ùx
9150 ),
9151
9152 51 
9153 a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fg2\96_1
9154 ,
9155
9156 53 
9157 a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_oms_1
9158 ,
9159
9160 57 
9161 a¢_TYPE_desü\9dtÜ_t
9162  
9163         ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
9164  = {
9165
9166 60 &
9167 a¢_OP_SEQUENCE
9168 ,
9169
9170 61 
9171 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
9172 ,
9173
9174 62 \17(
9175 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
9176 )
9177
9178 63 /\17(
9179 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
9180 [0]),
9181
9182 64 
9183 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
9184 ,
9185
9186 65 \17(
9187 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
9188 )
9189
9190 66 /\17(
9191 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_\8fgs_1
9192 [0]),
9193
9194 67 { 0, 0, 
9195 SEQUENCE_cÚ¡¿\9at
9196  },
9197
9198 68 
9199 a¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_1
9200 ,
9201
9202 70 &
9203 a¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2_¥ecs_1
9204
9205
9206         @E2SM-KPM-IndicationMessage.c
9207
9208\ 2
9209         ~"E2SM-KPM-IndiÿtiÚMes§ge.h
9210 "
9211
9212 10 \ 2
9213         ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©1.h
9214 "
9215
9216 11 \ 2
9217         ~"E2SM-KPM-IndiÿtiÚMes§ge-FÜm©2.h
9218 "
9219
9220 12 \18
9221 a¢_³r_cÚ¡¿\9ats_t
9222  
9223 a¢_PER_ty³_\9adiÿtiÚMes§ge_fÜm©s_cÚ¡r_2
9224  
9225         gCC_NOTUSED
9226  = {
9227
9228 13 { 
9229 APC_CONSTRAINED
9230  | 
9231 APC_EXTENSIBLE
9232 , 1, 1, 0, 1 } ,
9233
9234 14 { 
9235 APC_UNCONSTRAINED
9236 , -1, -1, 0, 0 },
9237
9238 17 \18
9239 a¢_TYPE_memb\94_t
9240  
9241         ga¢_MBR_\9adiÿtiÚMes§ge_fÜm©s_2
9242 [] = {
9243
9244 18 { 
9245 ATF_POINTER
9246 , 0, 
9247 off£tof
9248 (\19
9249 E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
9250
9251 choiû
9252 .
9253 \9adiÿtiÚMes§ge_FÜm©1
9254 ),
9255
9256 19 (
9257 ASN_TAG_CLASS_CONTEXT
9258  | (0 << 2)),
9259
9260 21 &
9261 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©1
9262 ,
9263
9264 27 { 
9265 ATF_POINTER
9266 , 0, 
9267 off£tof
9268 (\19
9269 E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
9270
9271 choiû
9272 .
9273 \9adiÿtiÚMes§ge_FÜm©2
9274 ),
9275
9276 28 (
9277 ASN_TAG_CLASS_CONTEXT
9278  | (1 << 2)),
9279
9280 30 &
9281 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_FÜm©2
9282 ,
9283
9284 37 \18cڡ 
9285 a¢_TYPE_\8fg2memb\94_t
9286  
9287         ga¢_MAP_\9adiÿtiÚMes§ge_fÜm©s_\8fg2\96_2
9288 [] = {
9289
9290 38 { (
9291 ASN_TAG_CLASS_CONTEXT
9292  | (0 << 2)), 0, 0, 0 },
9293
9294 39 { (
9295 ASN_TAG_CLASS_CONTEXT
9296  | (1 << 2)), 1, 0, 0 }
9297
9298 41 \18
9299 a¢_CHOICE_¥ecifics_t
9300  
9301         ga¢_SPC_\9adiÿtiÚMes§ge_fÜm©s_¥ecs_2
9302  = {
9303
9304 42 \17(\19
9305 E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
9306 ),
9307
9308 43 
9309 off£tof
9310 (\19
9311 E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
9312
9313 _a¢_ùx
9314 ),
9315
9316 44 
9317 off£tof
9318 (\19
9319 E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
9320
9321 ´e£Á
9322 ),
9323
9324 45 \17(((\19
9325 E2SM_KPM_IndiÿtiÚMes§ge__\9adiÿtiÚMes§ge_fÜm©s
9326  *)0)->
9327 ´e£Á
9328 ),
9329
9330 46 
9331 a¢_MAP_\9adiÿtiÚMes§ge_fÜm©s_\8fg2\96_2
9332 ,
9333
9334 52 
9335 a¢_TYPE_desü\9dtÜ_t
9336  
9337         ga¢_DEF_\9adiÿtiÚMes§ge_fÜm©s_2
9338  = {
9339
9340 55 &
9341 a¢_OP_CHOICE
9342 ,
9343
9344 60 { 0, &
9345 a¢_PER_ty³_\9adiÿtiÚMes§ge_fÜm©s_cÚ¡r_2
9346
9347 CHOICE_cÚ¡¿\9at
9348  },
9349
9350 61 
9351 a¢_MBR_\9adiÿtiÚMes§ge_fÜm©s_2
9352 ,
9353
9354 63 &
9355 a¢_SPC_\9adiÿtiÚMes§ge_fÜm©s_¥ecs_2
9356
9357
9358 66 \18
9359 a¢_TYPE_memb\94_t
9360  
9361         ga¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_1
9362 [] = {
9363
9364 67 { 
9365 ATF_NOFLAGS
9366 , 0, 
9367 off£tof
9368 (\19
9369 E2SM_KPM_IndiÿtiÚMes§ge
9370
9371 \9adiÿtiÚMes§ge_fÜm©s
9372 ),
9373
9374 68 (
9375 ASN_TAG_CLASS_CONTEXT
9376  | (0 << 2)),
9377
9378 70 &
9379 a¢_DEF_\9adiÿtiÚMes§ge_fÜm©s_2
9380 ,
9381
9382 77 \18cڡ 
9383 b\94_\8ev_\8fg_t
9384  
9385         ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
9386 [] = {
9387
9388 78 (
9389 ASN_TAG_CLASS_UNIVERSAL
9390  | (16 << 2))
9391
9392 80 \18cڡ 
9393 a¢_TYPE_\8fg2memb\94_t
9394  
9395         ga¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_\8fg2\96_1
9396 [] = {
9397
9398 81 { (
9399 ASN_TAG_CLASS_CONTEXT
9400  | (0 << 2)), 0, 0, 0 }
9401
9402 83 \18
9403 a¢_SEQUENCE_¥ecifics_t
9404  
9405         ga¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_¥ecs_1
9406  = {
9407
9408 84 \17(\19
9409 E2SM_KPM_IndiÿtiÚMes§ge
9410 ),
9411
9412 85 
9413 off£tof
9414 (\19
9415 E2SM_KPM_IndiÿtiÚMes§ge
9416
9417 _a¢_ùx
9418 ),
9419
9420 86 
9421 a¢_MAP_E2SM_KPM_IndiÿtiÚMes§ge_\8fg2\96_1
9422 ,
9423
9424 91 
9425 a¢_TYPE_desü\9dtÜ_t
9426  
9427         ga¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge
9428  = {
9429
9430 94 &
9431 a¢_OP_SEQUENCE
9432 ,
9433
9434 95 
9435 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
9436 ,
9437
9438 96 \17(
9439 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
9440 )
9441
9442 97 /\17(
9443 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
9444 [0]),
9445
9446 98 
9447 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
9448 ,
9449
9450 99 \17(
9451 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
9452 )
9453
9454 100 /\17(
9455 a¢_DEF_E2SM_KPM_IndiÿtiÚMes§ge_\8fgs_1
9456 [0]),
9457
9458 101 { 0, 0, 
9459 SEQUENCE_cÚ¡¿\9at
9460  },
9461
9462 102 
9463 a¢_MBR_E2SM_KPM_IndiÿtiÚMes§ge_1
9464 ,
9465
9466 104 &
9467 a¢_SPC_E2SM_KPM_IndiÿtiÚMes§ge_¥ecs_1
9468
9469
9470         @E2SM-KPM-RANfunction-Description.c
9471
9472\ 2
9473         ~"E2SM-KPM-RANfunùiÚ-Desü\9dtiÚ.h
9474 "
9475
9476 10 \ 2
9477         ~"RIC-Ev\92tTrigg\94StyË-I\8bm.h
9478 "
9479
9480 11 \ 2
9481         ~"RIC-R\95ÜtStyË-I\8bm.h
9482 "
9483
9484 13 
9485         $memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡¿\9at_1
9486 (cڡ 
9487 a¢_TYPE_desü\9dtÜ_t
9488  *
9489 td
9490 , cڡ \1e*
9491 ¥\8c
9492 ,
9493
9494 14 
9495 a¢_­p_cÚ¡¿\9at_ç\9eed_f
9496  *
9497 ùç\9ecb
9498\1e*
9499 ­p_key
9500 ) {
9501
9502 15 
9503 size_t
9504  
9505 size
9506 ;
9507
9508 17 if(!
9509 ¥\8c
9510 ) {
9511
9512 18 
9513         `ASN__CTFAIL
9514 (
9515 ­p_key
9516
9517 td
9518
9519 ¥\8c
9520 ,
9521
9522 20 
9523 td
9524 ->
9525 Çme
9526
9527 __FILE__
9528
9529 __LINE__
9530 );
9531
9532 25 
9533 size
9534  = 
9535         `_A_CSEQUENCE_FROM_VOID
9536 (
9537 ¥\8c
9538 )->
9539 couÁ
9540 ;
9541
9542 27 if((
9543 size
9544  >= 1 && size <= 63)) {
9545
9546 29 \15 
9547 td
9548 ->
9549 \92cod\9ag_cÚ¡¿\9ats
9550 .
9551         `g\92\94®_cÚ¡¿\9ats
9552 Ñd, 
9553 ¥\8c
9554
9555 ùç\9ecb
9556
9557 ­p_key
9558 );
9559
9560 31 
9561         `ASN__CTFAIL
9562 (
9563 ­p_key
9564
9565 td
9566
9567 ¥\8c
9568 ,
9569
9570 33 
9571 td
9572 ->
9573 Çme
9574
9575 __FILE__
9576
9577 __LINE__
9578 );
9579
9580 36 
9581         }
9582 }
9583
9584 39 
9585         $memb_ric_R\95ÜtStyË_Li¡_cÚ¡¿\9at_1
9586 (cڡ 
9587 a¢_TYPE_desü\9dtÜ_t
9588  *
9589 td
9590 , cڡ \1e*
9591 ¥\8c
9592 ,
9593
9594 40 
9595 a¢_­p_cÚ¡¿\9at_ç\9eed_f
9596  *
9597 ùç\9ecb
9598\1e*
9599 ­p_key
9600 ) {
9601
9602 41 
9603 size_t
9604  
9605 size
9606 ;
9607
9608 43 if(!
9609 ¥\8c
9610 ) {
9611
9612 44 
9613         `ASN__CTFAIL
9614 (
9615 ­p_key
9616
9617 td
9618
9619 ¥\8c
9620 ,
9621
9622 46 
9623 td
9624 ->
9625 Çme
9626
9627 __FILE__
9628
9629 __LINE__
9630 );
9631
9632 51 
9633 size
9634  = 
9635         `_A_CSEQUENCE_FROM_VOID
9636 (
9637 ¥\8c
9638 )->
9639 couÁ
9640 ;
9641
9642 53 if((
9643 size
9644  >= 1 && size <= 63)) {
9645
9646 55 \15 
9647 td
9648 ->
9649 \92cod\9ag_cÚ¡¿\9ats
9650 .
9651         `g\92\94®_cÚ¡¿\9ats
9652 Ñd, 
9653 ¥\8c
9654
9655 ùç\9ecb
9656
9657 ­p_key
9658 );
9659
9660 57 
9661         `ASN__CTFAIL
9662 (
9663 ­p_key
9664
9665 td
9666
9667 ¥\8c
9668 ,
9669
9670 59 
9671 td
9672 ->
9673 Çme
9674
9675 __FILE__
9676
9677 __LINE__
9678 );
9679
9680 62 
9681         }
9682 }
9683
9684 64 \18
9685 a¢_³r_cÚ¡¿\9ats_t
9686  
9687 a¢_PER_ty³_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
9688  
9689         gCC_NOTUSED
9690  = {
9691
9692 65 { 
9693 APC_UNCONSTRAINED
9694 , -1, -1, 0, 0 },
9695
9696 66 { 
9697 APC_CONSTRAINED
9698 , 6, 6, 1, 63 } ,
9699
9700 69 \18
9701 a¢_³r_cÚ¡¿\9ats_t
9702  
9703 a¢_PER_ty³_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
9704  
9705         gCC_NOTUSED
9706  = {
9707
9708 70 { 
9709 APC_UNCONSTRAINED
9710 , -1, -1, 0, 0 },
9711
9712 71 { 
9713 APC_CONSTRAINED
9714 , 6, 6, 1, 63 } ,
9715
9716 74 \18
9717 a¢_³r_cÚ¡¿\9ats_t
9718  
9719 a¢_PER_memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
9720  
9721         gCC_NOTUSED
9722  = {
9723
9724 75 { 
9725 APC_UNCONSTRAINED
9726 , -1, -1, 0, 0 },
9727
9728 76 { 
9729 APC_CONSTRAINED
9730 , 6, 6, 1, 63 } ,
9731
9732 79 \18
9733 a¢_³r_cÚ¡¿\9ats_t
9734  
9735 a¢_PER_memb_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
9736  
9737         gCC_NOTUSED
9738  = {
9739
9740 80 { 
9741 APC_UNCONSTRAINED
9742 , -1, -1, 0, 0 },
9743
9744 81 { 
9745 APC_CONSTRAINED
9746 , 6, 6, 1, 63 } ,
9747
9748 84 \18
9749 a¢_TYPE_memb\94_t
9750  
9751         ga¢_MBR_ric_Ev\92tTrigg\94StyË_Li¡_3
9752 [] = {
9753
9754 85 { 
9755 ATF_POINTER
9756 , 0, 0,
9757
9758 86 (
9759 ASN_TAG_CLASS_UNIVERSAL
9760  | (16 << 2)),
9761
9762 88 &
9763 a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm
9764 ,
9765
9766 95 \18cڡ 
9767 b\94_\8ev_\8fg_t
9768  
9769         ga¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
9770 [] = {
9771
9772 96 (
9773 ASN_TAG_CLASS_CONTEXT
9774  | (1 << 2)),
9775
9776 97 (
9777 ASN_TAG_CLASS_UNIVERSAL
9778  | (16 << 2))
9779
9780 99 \18
9781 a¢_SET_OF_¥ecifics_t
9782  
9783         ga¢_SPC_ric_Ev\92tTrigg\94StyË_Li¡_¥ecs_3
9784  = {
9785
9786 100 \17(\19
9787 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_Ev\92tTrigg\94StyË_Li¡
9788 ),
9789
9790 101 
9791 off£tof
9792 (\19
9793 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_Ev\92tTrigg\94StyË_Li¡
9794
9795 _a¢_ùx
9796 ),
9797
9798 105 
9799 a¢_TYPE_desü\9dtÜ_t
9800  
9801         ga¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_3
9802  = {
9803
9804 108 &
9805 a¢_OP_SEQUENCE_OF
9806 ,
9807
9808 109 
9809 a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
9810 ,
9811
9812 110 \17(
9813 a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
9814 )
9815
9816 111 /\17(
9817 a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
9818 [0]) - 1,
9819
9820 112 
9821 a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
9822 ,
9823
9824 113 \17(
9825 a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
9826 )
9827
9828 114 /\17(
9829 a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_\8fgs_3
9830 [0]),
9831
9832 115 { 0, &
9833 a¢_PER_ty³_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
9834
9835 SEQUENCE_OF_cÚ¡¿\9at
9836  },
9837
9838 116 
9839 a¢_MBR_ric_Ev\92tTrigg\94StyË_Li¡_3
9840 ,
9841
9842 118 &
9843 a¢_SPC_ric_Ev\92tTrigg\94StyË_Li¡_¥ecs_3
9844
9845
9846 121 \18
9847 a¢_TYPE_memb\94_t
9848  
9849         ga¢_MBR_ric_R\95ÜtStyË_Li¡_5
9850 [] = {
9851
9852 122 { 
9853 ATF_POINTER
9854 , 0, 0,
9855
9856 123 (
9857 ASN_TAG_CLASS_UNIVERSAL
9858  | (16 << 2)),
9859
9860 125 &
9861 a¢_DEF_RIC_R\95ÜtStyË_I\8bm
9862 ,
9863
9864 132 \18cڡ 
9865 b\94_\8ev_\8fg_t
9866  
9867         ga¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
9868 [] = {
9869
9870 133 (
9871 ASN_TAG_CLASS_CONTEXT
9872  | (2 << 2)),
9873
9874 134 (
9875 ASN_TAG_CLASS_UNIVERSAL
9876  | (16 << 2))
9877
9878 136 \18
9879 a¢_SET_OF_¥ecifics_t
9880  
9881         ga¢_SPC_ric_R\95ÜtStyË_Li¡_¥ecs_5
9882  = {
9883
9884 137 \17(\19
9885 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_R\95ÜtStyË_Li¡
9886 ),
9887
9888 138 
9889 off£tof
9890 (\19
9891 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ__ric_R\95ÜtStyË_Li¡
9892
9893 _a¢_ùx
9894 ),
9895
9896 142 
9897 a¢_TYPE_desü\9dtÜ_t
9898  
9899         ga¢_DEF_ric_R\95ÜtStyË_Li¡_5
9900  = {
9901
9902 145 &
9903 a¢_OP_SEQUENCE_OF
9904 ,
9905
9906 146 
9907 a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
9908 ,
9909
9910 147 \17(
9911 a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
9912 )
9913
9914 148 /\17(
9915 a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
9916 [0]) - 1,
9917
9918 149 
9919 a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
9920 ,
9921
9922 150 \17(
9923 a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
9924 )
9925
9926 151 /\17(
9927 a¢_DEF_ric_R\95ÜtStyË_Li¡_\8fgs_5
9928 [0]),
9929
9930 152 { 0, &
9931 a¢_PER_ty³_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
9932
9933 SEQUENCE_OF_cÚ¡¿\9at
9934  },
9935
9936 153 
9937 a¢_MBR_ric_R\95ÜtStyË_Li¡_5
9938 ,
9939
9940 155 &
9941 a¢_SPC_ric_R\95ÜtStyË_Li¡_¥ecs_5
9942
9943
9944 158 \18
9945 a¢_TYPE_memb\94_t
9946  
9947         ga¢_MBR_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_1
9948 [] = {
9949
9950 159 { 
9951 ATF_NOFLAGS
9952 , 0, 
9953 off£tof
9954 (\19
9955 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
9956
9957 ¿nFunùiÚ_Name
9958 ),
9959
9960 160 (
9961 ASN_TAG_CLASS_CONTEXT
9962  | (0 << 2)),
9963
9964 162 &
9965 a¢_DEF_RANfunùiÚ_Name
9966 ,
9967
9968 168 { 
9969 ATF_POINTER
9970 , 2, 
9971 off£tof
9972 (\19
9973 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
9974
9975 ric_Ev\92tTrigg\94StyË_Li¡
9976 ),
9977
9978 169 (
9979 ASN_TAG_CLASS_CONTEXT
9980  | (1 << 2)),
9981
9982 171 &
9983 a¢_DEF_ric_Ev\92tTrigg\94StyË_Li¡_3
9984 ,
9985
9986 173 { 0, &
9987 a¢_PER_memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡r_3
9988
9989 memb_ric_Ev\92tTrigg\94StyË_Li¡_cÚ¡¿\9at_1
9990  },
9991
9992 177 { 
9993 ATF_POINTER
9994 , 1, 
9995 off£tof
9996 (\19
9997 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
9998
9999 ric_R\95ÜtStyË_Li¡
10000 ),
10001
10002 178 (
10003 ASN_TAG_CLASS_CONTEXT
10004  | (2 << 2)),
10005
10006 180 &
10007 a¢_DEF_ric_R\95ÜtStyË_Li¡_5
10008 ,
10009
10010 182 { 0, &
10011 a¢_PER_memb_ric_R\95ÜtStyË_Li¡_cÚ¡r_5
10012
10013 memb_ric_R\95ÜtStyË_Li¡_cÚ¡¿\9at_1
10014  },
10015
10016 187 \18cڡ \12
10017         ga¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_oms_1
10018 [] = { 1, 2 };
10019
10020 188 \18cڡ 
10021 b\94_\8ev_\8fg_t
10022  
10023         ga¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
10024 [] = {
10025
10026 189 (
10027 ASN_TAG_CLASS_UNIVERSAL
10028  | (16 << 2))
10029
10030 191 \18cڡ 
10031 a¢_TYPE_\8fg2memb\94_t
10032  
10033         ga¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fg2\96_1
10034 [] = {
10035
10036 192 { (
10037 ASN_TAG_CLASS_CONTEXT
10038  | (0 << 2)), 0, 0, 0 },
10039
10040 193 { (
10041 ASN_TAG_CLASS_CONTEXT
10042  | (1 << 2)), 1, 0, 0 },
10043
10044 194 { (
10045 ASN_TAG_CLASS_CONTEXT
10046  | (2 << 2)), 2, 0, 0 }
10047
10048 196 \18
10049 a¢_SEQUENCE_¥ecifics_t
10050  
10051         ga¢_SPC_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_¥ecs_1
10052  = {
10053
10054 197 \17(\19
10055 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
10056 ),
10057
10058 198 
10059 off£tof
10060 (\19
10061 E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
10062
10063 _a¢_ùx
10064 ),
10065
10066 199 
10067 a¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fg2\96_1
10068 ,
10069
10070 201 
10071 a¢_MAP_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_oms_1
10072 ,
10073
10074 205 
10075 a¢_TYPE_desü\9dtÜ_t
10076  
10077         ga¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ
10078  = {
10079
10080 208 &
10081 a¢_OP_SEQUENCE
10082 ,
10083
10084 209 
10085 a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
10086 ,
10087
10088 210 \17(
10089 a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
10090 )
10091
10092 211 /\17(
10093 a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
10094 [0]),
10095
10096 212 
10097 a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
10098 ,
10099
10100 213 \17(
10101 a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
10102 )
10103
10104 214 /\17(
10105 a¢_DEF_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_\8fgs_1
10106 [0]),
10107
10108 215 { 0, 0, 
10109 SEQUENCE_cÚ¡¿\9at
10110  },
10111
10112 216 
10113 a¢_MBR_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_1
10114 ,
10115
10116 218 &
10117 a¢_SPC_E2SM_KPM_RANfunùiÚ_Desü\9dtiÚ_¥ecs_1
10118
10119
10120         @EN-GNB-ID.c
10121
10122\ 2
10123         ~"EN-GNB-ID.h
10124 "
10125
10126 11 
10127         $memb_\92_gNB_ID_cÚ¡¿\9at_1
10128 (cڡ 
10129 a¢_TYPE_desü\9dtÜ_t
10130  *
10131 td
10132 , cڡ \1e*
10133 ¥\8c
10134 ,
10135
10136 12 
10137 a¢_­p_cÚ¡¿\9at_ç\9eed_f
10138  *
10139 ùç\9ecb
10140\1e*
10141 ­p_key
10142 ) {
10143
10144 13 cڡ 
10145 BIT_STRING_t
10146  *
10147 ¡
10148  = (cÚ¡ BIT_STRING_\88*)
10149 ¥\8c
10150 ;
10151
10152 14 
10153 size_t
10154  
10155 size
10156 ;
10157
10158 16 if(!
10159 ¥\8c
10160 ) {
10161
10162 17 
10163         `ASN__CTFAIL
10164 (
10165 ­p_key
10166
10167 td
10168
10169 ¥\8c
10170 ,
10171
10172 19 
10173 td
10174 ->
10175 Çme
10176
10177 __FILE__
10178
10179 __LINE__
10180 );
10181
10182 23 if(
10183 ¡
10184 ->
10185 size
10186  > 0) {
10187
10188 25 
10189 size
10190  = 8 * 
10191 ¡
10192 ->siz\90- (¡->
10193 b\99s_unu£d
10194  & 0x07);
10195
10196 27 
10197 size
10198  = 0;
10199
10200 30 if((
10201 size
10202  >= 22 && size <= 32)) {
10203
10204 34 
10205         `ASN__CTFAIL
10206 (
10207 ­p_key
10208
10209 td
10210
10211 ¥\8c
10212 ,
10213
10214 36 
10215 td
10216 ->
10217 Çme
10218
10219 __FILE__
10220
10221 __LINE__
10222 );
10223
10224 39 
10225         }
10226 }
10227
10228 41 \18
10229 a¢_³r_cÚ¡¿\9ats_t
10230  
10231 a¢_PER_memb_\92_gNB_ID_cÚ¡r_2
10232  
10233         gCC_NOTUSED
10234  = {
10235
10236 42 { 
10237 APC_UNCONSTRAINED
10238 , -1, -1, 0, 0 },
10239
10240 43 { 
10241 APC_CONSTRAINED
10242 , 4, 4, 22, 32 } ,
10243
10244 46 
10245 a¢_³r_cÚ¡¿\9ats_t
10246  
10247 a¢_PER_ty³_EN_GNB_ID_cÚ¡r_1
10248  
10249         gCC_NOTUSED
10250  = {
10251
10252 47 { 
10253 APC_CONSTRAINED
10254  | 
10255 APC_EXTENSIBLE
10256 , 0, 0, 0, 0 } ,
10257
10258 48 { 
10259 APC_UNCONSTRAINED
10260 , -1, -1, 0, 0 },
10261
10262 51 
10263 a¢_TYPE_memb\94_t
10264  
10265         ga¢_MBR_EN_GNB_ID_1
10266 [] = {
10267
10268 52 { 
10269 ATF_NOFLAGS
10270 , 0, 
10271 off£tof
10272 (\19
10273 EN_GNB_ID
10274
10275 choiû
10276 .
10277 \92_gNB_ID
10278 ),
10279
10280 53 (
10281 ASN_TAG_CLASS_CONTEXT
10282  | (0 << 2)),
10283
10284 55 &
10285 a¢_DEF_BIT_STRING
10286 ,
10287
10288 57 { 0, &
10289 a¢_PER_memb_\92_gNB_ID_cÚ¡r_2
10290
10291 memb_\92_gNB_ID_cÚ¡¿\9at_1
10292  },
10293
10294 62 \18cڡ 
10295 a¢_TYPE_\8fg2memb\94_t
10296  
10297         ga¢_MAP_EN_GNB_ID_\8fg2\96_1
10298 [] = {
10299
10300 63 { (
10301 ASN_TAG_CLASS_CONTEXT
10302  | (0 << 2)), 0, 0, 0 }
10303
10304 65 
10305 a¢_CHOICE_¥ecifics_t
10306  
10307         ga¢_SPC_EN_GNB_ID_¥ecs_1
10308  = {
10309
10310 66 \17(\19
10311 EN_GNB_ID
10312 ),
10313
10314 67 
10315 off£tof
10316 (\19
10317 EN_GNB_ID
10318
10319 _a¢_ùx
10320 ),
10321
10322 68 
10323 off£tof
10324 (\19
10325 EN_GNB_ID
10326
10327 ´e£Á
10328 ),
10329
10330 69 \17(((\19
10331 EN_GNB_ID
10332  *)0)->
10333 ´e£Á
10334 ),
10335
10336 70 
10337 a¢_MAP_EN_GNB_ID_\8fg2\96_1
10338 ,
10339
10340 75 
10341 a¢_TYPE_desü\9dtÜ_t
10342  
10343         ga¢_DEF_EN_GNB_ID
10344  = {
10345
10346 78 &
10347 a¢_OP_CHOICE
10348 ,
10349
10350 83 { 0, &
10351 a¢_PER_ty³_EN_GNB_ID_cÚ¡r_1
10352
10353 CHOICE_cÚ¡¿\9at
10354  },
10355
10356 84 
10357 a¢_MBR_EN_GNB_ID_1
10358 ,
10359
10360 86 &
10361 a¢_SPC_EN_GNB_ID_¥ecs_1
10362
10363
10364         @ENB-ID.c
10365
10366\ 2
10367         ~"ENB-ID.h
10368 "
10369
10370 11 
10371         $memb_maüo_eNB_ID_cÚ¡¿\9at_1
10372 (cڡ 
10373 a¢_TYPE_desü\9dtÜ_t
10374  *
10375 td
10376 , cڡ \1e*
10377 ¥\8c
10378 ,
10379
10380 12 
10381 a¢_­p_cÚ¡¿\9at_ç\9eed_f
10382  *
10383 ùç\9ecb
10384\1e*
10385 ­p_key
10386 ) {
10387
10388 13 cڡ 
10389 BIT_STRING_t
10390  *
10391 ¡
10392  = (cÚ¡ BIT_STRING_\88*)
10393 ¥\8c
10394 ;
10395
10396 14 
10397 size_t
10398  
10399 size
10400 ;
10401
10402 16 if(!
10403 ¥\8c
10404 ) {
10405
10406 17 
10407         `ASN__CTFAIL
10408 (
10409 ­p_key
10410
10411 td
10412
10413 ¥\8c
10414 ,
10415
10416 19 
10417 td
10418 ->
10419 Çme
10420
10421 __FILE__
10422
10423 __LINE__
10424 );
10425
10426 23 if(
10427 ¡
10428 ->
10429 size
10430  > 0) {
10431
10432 25 
10433 size
10434  = 8 * 
10435 ¡
10436 ->siz\90- (¡->
10437 b\99s_unu£d
10438  & 0x07);
10439
10440 27 
10441 size
10442  = 0;
10443
10444 30 if((
10445 size
10446  == 20)) {
10447
10448 34 
10449         `ASN__CTFAIL
10450 (
10451 ­p_key
10452
10453 td
10454
10455 ¥\8c
10456 ,
10457
10458 36 
10459 td
10460 ->
10461 Çme
10462
10463 __FILE__
10464
10465 __LINE__
10466 );
10467
10468 39 
10469         }
10470 }
10471
10472 42 
10473         $memb_home_eNB_ID_cÚ¡¿\9at_1
10474 (cڡ 
10475 a¢_TYPE_desü\9dtÜ_t
10476  *
10477 td
10478 , cڡ \1e*
10479 ¥\8c
10480 ,
10481
10482 43 
10483 a¢_­p_cÚ¡¿\9at_ç\9eed_f
10484  *
10485 ùç\9ecb
10486\1e*
10487 ­p_key
10488 ) {
10489
10490 44 cڡ 
10491 BIT_STRING_t
10492  *
10493 ¡
10494  = (cÚ¡ BIT_STRING_\88*)
10495 ¥\8c
10496 ;
10497
10498 45 
10499 size_t
10500  
10501 size
10502 ;
10503
10504 47 if(!
10505 ¥\8c
10506 ) {
10507
10508 48 
10509         `ASN__CTFAIL
10510 (
10511 ­p_key
10512
10513 td
10514
10515 ¥\8c
10516 ,
10517
10518 50 
10519 td
10520 ->
10521 Çme
10522
10523 __FILE__
10524
10525 __LINE__
10526 );
10527
10528 54 if(
10529 ¡
10530 ->
10531 size
10532  > 0) {
10533
10534 56 
10535 size
10536  = 8 * 
10537 ¡
10538 ->siz\90- (¡->
10539 b\99s_unu£d
10540  & 0x07);
10541
10542 58 
10543 size
10544  = 0;
10545
10546 61 if((
10547 size
10548  == 28)) {
10549
10550 65 
10551         `ASN__CTFAIL
10552 (
10553 ­p_key
10554
10555 td
10556
10557 ¥\8c
10558 ,
10559
10560 67 
10561 td
10562 ->
10563 Çme
10564
10565 __FILE__
10566
10567 __LINE__
10568 );
10569
10570 70 
10571         }
10572 }
10573
10574 73 
10575         $memb_shÜt_Maüo_eNB_ID_cÚ¡¿\9at_1
10576 (cڡ 
10577 a¢_TYPE_desü\9dtÜ_t
10578  *
10579 td
10580 , cڡ \1e*
10581 ¥\8c
10582 ,
10583
10584 74 
10585 a¢_­p_cÚ¡¿\9at_ç\9eed_f
10586  *
10587 ùç\9ecb
10588\1e*
10589 ­p_key
10590 ) {
10591
10592 75 cڡ 
10593 BIT_STRING_t
10594  *
10595 ¡
10596  = (cÚ¡ BIT_STRING_\88*)
10597 ¥\8c
10598 ;
10599
10600 76 
10601 size_t
10602  
10603 size
10604 ;
10605
10606 78 if(!
10607 ¥\8c
10608 ) {
10609
10610 79 
10611         `ASN__CTFAIL
10612 (
10613 ­p_key
10614
10615 td
10616
10617 ¥\8c
10618 ,
10619
10620 81 
10621 td
10622 ->
10623 Çme
10624
10625 __FILE__
10626
10627 __LINE__
10628 );
10629
10630 85 if(
10631 ¡
10632 ->
10633 size
10634  > 0) {
10635
10636 87 
10637 size
10638  = 8 * 
10639 ¡
10640 ->siz\90- (¡->
10641 b\99s_unu£d
10642  & 0x07);
10643
10644 89 
10645 size
10646  = 0;
10647
10648 92 if((
10649 size
10650  == 18)) {
10651
10652 96 
10653         `ASN__CTFAIL
10654 (
10655 ­p_key
10656
10657 td
10658
10659 ¥\8c
10660 ,
10661
10662 98 
10663 td
10664 ->
10665 Çme
10666
10667 __FILE__
10668
10669 __LINE__
10670 );
10671
10672 101 
10673         }
10674 }
10675
10676 104 
10677         $memb_lÚg_Maüo_eNB_ID_cÚ¡¿\9at_1
10678 (cڡ 
10679 a¢_TYPE_desü\9dtÜ_t
10680  *
10681 td
10682 , cڡ \1e*
10683 ¥\8c
10684 ,
10685
10686 105 
10687 a¢_­p_cÚ¡¿\9at_ç\9eed_f
10688  *
10689 ùç\9ecb
10690\1e*
10691 ­p_key
10692 ) {
10693
10694 106 cڡ 
10695 BIT_STRING_t
10696  *
10697 ¡
10698  = (cÚ¡ BIT_STRING_\88*)
10699 ¥\8c
10700 ;
10701
10702 107 
10703 size_t
10704  
10705 size
10706 ;
10707
10708 109 if(!
10709 ¥\8c
10710 ) {
10711
10712 110 
10713         `ASN__CTFAIL
10714 (
10715 ­p_key
10716
10717 td
10718
10719 ¥\8c
10720 ,
10721
10722 112 
10723 td
10724 ->
10725 Çme
10726
10727 __FILE__
10728
10729 __LINE__
10730 );
10731
10732 116 if(
10733 ¡
10734 ->
10735 size
10736  > 0) {
10737
10738 118 
10739 size
10740  = 8 * 
10741 ¡
10742 ->siz\90- (¡->
10743 b\99s_unu£d
10744  & 0x07);
10745
10746 120 
10747 size
10748  = 0;
10749
10750 123 if((
10751 size
10752  == 21)) {
10753
10754 127 
10755         `ASN__CTFAIL
10756 (
10757 ­p_key
10758
10759 td
10760
10761 ¥\8c
10762 ,
10763
10764 129 
10765 td
10766 ->
10767 Çme
10768
10769 __FILE__
10770
10771 __LINE__
10772 );
10773
10774 132 
10775         }
10776 }
10777
10778 134 \18
10779 a¢_³r_cÚ¡¿\9ats_t
10780  
10781 a¢_PER_memb_maüo_eNB_ID_cÚ¡r_2
10782  
10783         gCC_NOTUSED
10784  = {
10785
10786 135 { 
10787 APC_UNCONSTRAINED
10788 , -1, -1, 0, 0 },
10789
10790 136 { 
10791 APC_CONSTRAINED
10792 , 0, 0, 20, 20 } ,
10793
10794 139 \18
10795 a¢_³r_cÚ¡¿\9ats_t
10796  
10797 a¢_PER_memb_home_eNB_ID_cÚ¡r_3
10798  
10799         gCC_NOTUSED
10800  = {
10801
10802 140 { 
10803 APC_UNCONSTRAINED
10804 , -1, -1, 0, 0 },
10805
10806 141 { 
10807 APC_CONSTRAINED
10808 , 0, 0, 28, 28 } ,
10809
10810 144 \18
10811 a¢_³r_cÚ¡¿\9ats_t
10812  
10813 a¢_PER_memb_shÜt_Maüo_eNB_ID_cÚ¡r_5
10814  
10815         gCC_NOTUSED
10816  = {
10817
10818 145 { 
10819 APC_UNCONSTRAINED
10820 , -1, -1, 0, 0 },
10821
10822 146 { 
10823 APC_CONSTRAINED
10824 , 0, 0, 18, 18 } ,
10825
10826 149 \18
10827 a¢_³r_cÚ¡¿\9ats_t
10828  
10829 a¢_PER_memb_lÚg_Maüo_eNB_ID_cÚ¡r_6
10830  
10831         gCC_NOTUSED
10832  = {
10833
10834 150 { 
10835 APC_UNCONSTRAINED
10836 , -1, -1, 0, 0 },
10837
10838 151 { 
10839 APC_CONSTRAINED
10840 , 0, 0, 21, 21 } ,
10841
10842 154 
10843 a¢_³r_cÚ¡¿\9ats_t
10844  
10845 a¢_PER_ty³_ENB_ID_cÚ¡r_1
10846  
10847         gCC_NOTUSED
10848  = {
10849
10850 155 { 
10851 APC_CONSTRAINED
10852  | 
10853 APC_EXTENSIBLE
10854 , 1, 1, 0, 1 } ,
10855
10856 156 { 
10857 APC_UNCONSTRAINED
10858 , -1, -1, 0, 0 },
10859
10860 159 
10861 a¢_TYPE_memb\94_t
10862  
10863         ga¢_MBR_ENB_ID_1
10864 [] = {
10865
10866 160 { 
10867 ATF_NOFLAGS
10868 , 0, 
10869 off£tof
10870 (\19
10871 ENB_ID
10872
10873 choiû
10874 .
10875 maüo_eNB_ID
10876 ),
10877
10878 161 (
10879 ASN_TAG_CLASS_CONTEXT
10880  | (0 << 2)),
10881
10882 163 &
10883 a¢_DEF_BIT_STRING
10884 ,
10885
10886 165 { 0, &
10887 a¢_PER_memb_maüo_eNB_ID_cÚ¡r_2
10888
10889 memb_maüo_eNB_ID_cÚ¡¿\9at_1
10890  },
10891
10892 169 { 
10893 ATF_NOFLAGS
10894 , 0, 
10895 off£tof
10896 (\19
10897 ENB_ID
10898
10899 choiû
10900 .
10901 home_eNB_ID
10902 ),
10903
10904 170 (
10905 ASN_TAG_CLASS_CONTEXT
10906  | (1 << 2)),
10907
10908 172 &
10909 a¢_DEF_BIT_STRING
10910 ,
10911
10912 174 { 0, &
10913 a¢_PER_memb_home_eNB_ID_cÚ¡r_3
10914
10915 memb_home_eNB_ID_cÚ¡¿\9at_1
10916  },
10917
10918 178 { 
10919 ATF_NOFLAGS
10920 , 0, 
10921 off£tof
10922 (\19
10923 ENB_ID
10924
10925 choiû
10926 .
10927 shÜt_Maüo_eNB_ID
10928 ),
10929
10930 179 (
10931 ASN_TAG_CLASS_CONTEXT
10932  | (2 << 2)),
10933
10934 181 &
10935 a¢_DEF_BIT_STRING
10936 ,
10937
10938 183 { 0, &
10939 a¢_PER_memb_shÜt_Maüo_eNB_ID_cÚ¡r_5
10940
10941 memb_shÜt_Maüo_eNB_ID_cÚ¡¿\9at_1
10942  },
10943
10944 187 { 
10945 ATF_NOFLAGS
10946 , 0, 
10947 off£tof
10948 (\19
10949 ENB_ID
10950
10951 choiû
10952 .
10953 lÚg_Maüo_eNB_ID
10954 ),
10955
10956 188 (
10957 ASN_TAG_CLASS_CONTEXT
10958  | (3 << 2)),
10959
10960 190 &
10961 a¢_DEF_BIT_STRING
10962 ,
10963
10964 192 { 0, &
10965 a¢_PER_memb_lÚg_Maüo_eNB_ID_cÚ¡r_6
10966
10967 memb_lÚg_Maüo_eNB_ID_cÚ¡¿\9at_1
10968  },
10969
10970 197 \18cڡ 
10971 a¢_TYPE_\8fg2memb\94_t
10972  
10973         ga¢_MAP_ENB_ID_\8fg2\96_1
10974 [] = {
10975
10976 198 { (
10977 ASN_TAG_CLASS_CONTEXT
10978  | (0 << 2)), 0, 0, 0 },
10979
10980 199 { (
10981 ASN_TAG_CLASS_CONTEXT
10982  | (1 << 2)), 1, 0, 0 },
10983
10984 200 { (
10985 ASN_TAG_CLASS_CONTEXT
10986  | (2 << 2)), 2, 0, 0 },
10987
10988 201 { (
10989 ASN_TAG_CLASS_CONTEXT
10990  | (3 << 2)), 3, 0, 0 }
10991
10992 203 
10993 a¢_CHOICE_¥ecifics_t
10994  
10995         ga¢_SPC_ENB_ID_¥ecs_1
10996  = {
10997
10998 204 \17(\19
10999 ENB_ID
11000 ),
11001
11002 205 
11003 off£tof
11004 (\19
11005 ENB_ID
11006
11007 _a¢_ùx
11008 ),
11009
11010 206 
11011 off£tof
11012 (\19
11013 ENB_ID
11014
11015 ´e£Á
11016 ),
11017
11018 207 \17(((\19
11019 ENB_ID
11020  *)0)->
11021 ´e£Á
11022 ),
11023
11024 208 
11025 a¢_MAP_ENB_ID_\8fg2\96_1
11026 ,
11027
11028 213 
11029 a¢_TYPE_desü\9dtÜ_t
11030  
11031         ga¢_DEF_ENB_ID
11032  = {
11033
11034 216 &
11035 a¢_OP_CHOICE
11036 ,
11037
11038 221 { 0, &
11039 a¢_PER_ty³_ENB_ID_cÚ¡r_1
11040
11041 CHOICE_cÚ¡¿\9at
11042  },
11043
11044 222 
11045 a¢_MBR_ENB_ID_1
11046 ,
11047
11048 224 &
11049 a¢_SPC_ENB_ID_¥ecs_1
11050
11051
11052         @ENB-UE-X2AP-ID-Extension.c
11053
11054\ 2
11055         ~"ENB-UE-X2AP-ID-Ex\8bnsiÚ.h
11056 "
11057
11058 11 
11059         $ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡¿\9at
11060 (cڡ 
11061 a¢_TYPE_desü\9dtÜ_t
11062  *
11063 td
11064 , cڡ \1e*
11065 ¥\8c
11066 ,
11067
11068 12 
11069 a¢_­p_cÚ¡¿\9at_ç\9eed_f
11070  *
11071 ùç\9ecb
11072\1e*
11073 ­p_key
11074 ) {
11075
11076 13 \13
11077 v®ue
11078 ;
11079
11080 15 if(!
11081 ¥\8c
11082 ) {
11083
11084 16 
11085         `ASN__CTFAIL
11086 (
11087 ­p_key
11088
11089 td
11090
11091 ¥\8c
11092 ,
11093
11094 18 
11095 td
11096 ->
11097 Çme
11098
11099 __FILE__
11100
11101 __LINE__
11102 );
11103
11104 22 
11105 v®ue
11106  = *(cڡ \13*)
11107 ¥\8c
11108 ;
11109
11110 24 if((
11111 v®ue
11112  >= 0 && value <= 4095)) {
11113
11114 28 
11115         `ASN__CTFAIL
11116 (
11117 ­p_key
11118
11119 td
11120
11121 ¥\8c
11122 ,
11123
11124 30 
11125 td
11126 ->
11127 Çme
11128
11129 __FILE__
11130
11131 __LINE__
11132 );
11133
11134 33 
11135         }
11136 }
11137
11138 39 
11139 a¢_³r_cÚ¡¿\9ats_t
11140  
11141 a¢_PER_ty³_ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡r_1
11142  
11143         gCC_NOTUSED
11144  = {
11145
11146 40 { 
11147 APC_CONSTRAINED
11148  | 
11149 APC_EXTENSIBLE
11150 , 12, 12, 0, 4095 } ,
11151
11152 41 { 
11153 APC_UNCONSTRAINED
11154 , -1, -1, 0, 0 },
11155
11156 44 \18cڡ 
11157 b\94_\8ev_\8fg_t
11158  
11159         ga¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
11160 [] = {
11161
11162 45 (
11163 ASN_TAG_CLASS_UNIVERSAL
11164  | (2 << 2))
11165
11166 47 
11167 a¢_TYPE_desü\9dtÜ_t
11168  
11169         ga¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ
11170  = {
11171
11172 50 &
11173 a¢_OP_N©iveIÁeg\94
11174 ,
11175
11176 51 
11177 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
11178 ,
11179
11180 52 \17(
11181 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
11182 )
11183
11184 53 /\17(
11185 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
11186 [0]),
11187
11188 54 
11189 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
11190 ,
11191
11192 55 \17(
11193 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
11194 )
11195
11196 56 /\17(
11197 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ_\8fgs_1
11198 [0]),
11199
11200 57 { 0, &
11201 a¢_PER_ty³_ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡r_1
11202
11203 ENB_UE_X2AP_ID_Ex\8bnsiÚ_cÚ¡¿\9at
11204  },
11205
11206         @ENB-UE-X2AP-ID.c
11207
11208\ 2
11209         ~"ENB-UE-X2AP-ID.h
11210 "
11211
11212 11 
11213         $ENB_UE_X2AP_ID_cÚ¡¿\9at
11214 (cڡ 
11215 a¢_TYPE_desü\9dtÜ_t
11216  *
11217 td
11218 , cڡ \1e*
11219 ¥\8c
11220 ,
11221
11222 12 
11223 a¢_­p_cÚ¡¿\9at_ç\9eed_f
11224  *
11225 ùç\9ecb
11226\1e*
11227 ­p_key
11228 ) {
11229
11230 13 \13
11231 v®ue
11232 ;
11233
11234 15 if(!
11235 ¥\8c
11236 ) {
11237
11238 16 
11239         `ASN__CTFAIL
11240 (
11241 ­p_key
11242
11243 td
11244
11245 ¥\8c
11246 ,
11247
11248 18 
11249 td
11250 ->
11251 Çme
11252
11253 __FILE__
11254
11255 __LINE__
11256 );
11257
11258 22 
11259 v®ue
11260  = *(cڡ \13*)
11261 ¥\8c
11262 ;
11263
11264 24 if((
11265 v®ue
11266  >= 0 && value <= 4095)) {
11267
11268 28 
11269         `ASN__CTFAIL
11270 (
11271 ­p_key
11272
11273 td
11274
11275 ¥\8c
11276 ,
11277
11278 30 
11279 td
11280 ->
11281 Çme
11282
11283 __FILE__
11284
11285 __LINE__
11286 );
11287
11288 33 
11289         }
11290 }
11291
11292 39 
11293 a¢_³r_cÚ¡¿\9ats_t
11294  
11295 a¢_PER_ty³_ENB_UE_X2AP_ID_cÚ¡r_1
11296  
11297         gCC_NOTUSED
11298  = {
11299
11300 40 { 
11301 APC_CONSTRAINED
11302 , 12, 12, 0, 4095 } ,
11303
11304 41 { 
11305 APC_UNCONSTRAINED
11306 , -1, -1, 0, 0 },
11307
11308 44 \18cڡ 
11309 b\94_\8ev_\8fg_t
11310  
11311         ga¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
11312 [] = {
11313
11314 45 (
11315 ASN_TAG_CLASS_UNIVERSAL
11316  | (2 << 2))
11317
11318 47 
11319 a¢_TYPE_desü\9dtÜ_t
11320  
11321         ga¢_DEF_ENB_UE_X2AP_ID
11322  = {
11323
11324 50 &
11325 a¢_OP_N©iveIÁeg\94
11326 ,
11327
11328 51 
11329 a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
11330 ,
11331
11332 52 \17(
11333 a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
11334 )
11335
11336 53 /\17(
11337 a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
11338 [0]),
11339
11340 54 
11341 a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
11342 ,
11343
11344 55 \17(
11345 a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
11346 )
11347
11348 56 /\17(
11349 a¢_DEF_ENB_UE_X2AP_ID_\8fgs_1
11350 [0]),
11351
11352 57 { 0, &
11353 a¢_PER_ty³_ENB_UE_X2AP_ID_cÚ¡r_1
11354
11355 ENB_UE_X2AP_ID_cÚ¡¿\9at
11356  },
11357
11358         @EUTRA-CGI.c
11359
11360\ 2
11361         ~"EUTRA-CGI.h
11362 "
11363
11364 10 
11365 a¢_TYPE_memb\94_t
11366  
11367         ga¢_MBR_EUTRA_CGI_1
11368 [] = {
11369
11370 11 { 
11371 ATF_NOFLAGS
11372 , 0, 
11373 off£tof
11374 (\19
11375 EUTRA_CGI
11376
11377 pLMNId\92t\99y
11378 ),
11379
11380 12 (
11381 ASN_TAG_CLASS_CONTEXT
11382  | (0 << 2)),
11383
11384 14 &
11385 a¢_DEF_PLMNId\92t\99y
11386 ,
11387
11388 20 { 
11389 ATF_NOFLAGS
11390 , 0, 
11391 off£tof
11392 (\19
11393 EUTRA_CGI
11394
11395 eUTRAC\96lId\92t\99y
11396 ),
11397
11398 21 (
11399 ASN_TAG_CLASS_CONTEXT
11400  | (1 << 2)),
11401
11402 23 &
11403 a¢_DEF_EUTRAC\96lId\92t\99y
11404 ,
11405
11406 30 \18cڡ 
11407 b\94_\8ev_\8fg_t
11408  
11409         ga¢_DEF_EUTRA_CGI_\8fgs_1
11410 [] = {
11411
11412 31 (
11413 ASN_TAG_CLASS_UNIVERSAL
11414  | (16 << 2))
11415
11416 33 \18cڡ 
11417 a¢_TYPE_\8fg2memb\94_t
11418  
11419         ga¢_MAP_EUTRA_CGI_\8fg2\96_1
11420 [] = {
11421
11422 34 { (
11423 ASN_TAG_CLASS_CONTEXT
11424  | (0 << 2)), 0, 0, 0 },
11425
11426 35 { (
11427 ASN_TAG_CLASS_CONTEXT
11428  | (1 << 2)), 1, 0, 0 }
11429
11430 37 
11431 a¢_SEQUENCE_¥ecifics_t
11432  
11433         ga¢_SPC_EUTRA_CGI_¥ecs_1
11434  = {
11435
11436 38 \17(\19
11437 EUTRA_CGI
11438 ),
11439
11440 39 
11441 off£tof
11442 (\19
11443 EUTRA_CGI
11444
11445 _a¢_ùx
11446 ),
11447
11448 40 
11449 a¢_MAP_EUTRA_CGI_\8fg2\96_1
11450 ,
11451
11452 45 
11453 a¢_TYPE_desü\9dtÜ_t
11454  
11455         ga¢_DEF_EUTRA_CGI
11456  = {
11457
11458 48 &
11459 a¢_OP_SEQUENCE
11460 ,
11461
11462 49 
11463 a¢_DEF_EUTRA_CGI_\8fgs_1
11464 ,
11465
11466 50 \17(
11467 a¢_DEF_EUTRA_CGI_\8fgs_1
11468 )
11469
11470 51 /\17(
11471 a¢_DEF_EUTRA_CGI_\8fgs_1
11472 [0]),
11473
11474 52 
11475 a¢_DEF_EUTRA_CGI_\8fgs_1
11476 ,
11477
11478 53 \17(
11479 a¢_DEF_EUTRA_CGI_\8fgs_1
11480 )
11481
11482 54 /\17(
11483 a¢_DEF_EUTRA_CGI_\8fgs_1
11484 [0]),
11485
11486 55 { 0, 0, 
11487 SEQUENCE_cÚ¡¿\9at
11488  },
11489
11490 56 
11491 a¢_MBR_EUTRA_CGI_1
11492 ,
11493
11494 58 &
11495 a¢_SPC_EUTRA_CGI_¥ecs_1
11496
11497
11498         @EUTRACellIdentity.c
11499
11500\ 2
11501         ~"EUTRAC\96lId\92t\99y.h
11502 "
11503
11504 11 
11505         $EUTRAC\96lId\92t\99y_cÚ¡¿\9at
11506 (cڡ 
11507 a¢_TYPE_desü\9dtÜ_t
11508  *
11509 td
11510 , cڡ \1e*
11511 ¥\8c
11512 ,
11513
11514 12 
11515 a¢_­p_cÚ¡¿\9at_ç\9eed_f
11516  *
11517 ùç\9ecb
11518\1e*
11519 ­p_key
11520 ) {
11521
11522 13 cڡ 
11523 BIT_STRING_t
11524  *
11525 ¡
11526  = (cÚ¡ BIT_STRING_\88*)
11527 ¥\8c
11528 ;
11529
11530 14 
11531 size_t
11532  
11533 size
11534 ;
11535
11536 16 if(!
11537 ¥\8c
11538 ) {
11539
11540 17 
11541         `ASN__CTFAIL
11542 (
11543 ­p_key
11544
11545 td
11546
11547 ¥\8c
11548 ,
11549
11550 19 
11551 td
11552 ->
11553 Çme
11554
11555 __FILE__
11556
11557 __LINE__
11558 );
11559
11560 23 if(
11561 ¡
11562 ->
11563 size
11564  > 0) {
11565
11566 25 
11567 size
11568  = 8 * 
11569 ¡
11570 ->siz\90- (¡->
11571 b\99s_unu£d
11572  & 0x07);
11573
11574 27 
11575 size
11576  = 0;
11577
11578 30 if((
11579 size
11580  == 28)) {
11581
11582 34 
11583         `ASN__CTFAIL
11584 (
11585 ­p_key
11586
11587 td
11588
11589 ¥\8c
11590 ,
11591
11592 36 
11593 td
11594 ->
11595 Çme
11596
11597 __FILE__
11598
11599 __LINE__
11600 );
11601
11602 39 
11603         }
11604 }
11605
11606 45 
11607 a¢_³r_cÚ¡¿\9ats_t
11608  
11609 a¢_PER_ty³_EUTRAC\96lId\92t\99y_cÚ¡r_1
11610  
11611         gCC_NOTUSED
11612  = {
11613
11614 46 { 
11615 APC_UNCONSTRAINED
11616 , -1, -1, 0, 0 },
11617
11618 47 { 
11619 APC_CONSTRAINED
11620 , 0, 0, 28, 28 } ,
11621
11622 50 \18cڡ 
11623 b\94_\8ev_\8fg_t
11624  
11625         ga¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
11626 [] = {
11627
11628 51 (
11629 ASN_TAG_CLASS_UNIVERSAL
11630  | (3 << 2))
11631
11632 53 
11633 a¢_TYPE_desü\9dtÜ_t
11634  
11635         ga¢_DEF_EUTRAC\96lId\92t\99y
11636  = {
11637
11638 56 &
11639 a¢_OP_BIT_STRING
11640 ,
11641
11642 57 
11643 a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
11644 ,
11645
11646 58 \17(
11647 a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
11648 )
11649
11650 59 /\17(
11651 a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
11652 [0]),
11653
11654 60 
11655 a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
11656 ,
11657
11658 61 \17(
11659 a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
11660 )
11661
11662 62 /\17(
11663 a¢_DEF_EUTRAC\96lId\92t\99y_\8fgs_1
11664 [0]),
11665
11666 63 { 0, &
11667 a¢_PER_ty³_EUTRAC\96lId\92t\99y_cÚ¡r_1
11668
11669 EUTRAC\96lId\92t\99y_cÚ¡¿\9at
11670  },
11671
11672 65 &
11673 a¢_SPC_BIT_STRING_¥ecs
11674
11675
11676         @FiveGS-TAC.c
11677
11678\ 2
11679         ~"FiveGS-TAC.h
11680 "
11681
11682 11 
11683         $FiveGS_TAC_cÚ¡¿\9at
11684 (cڡ 
11685 a¢_TYPE_desü\9dtÜ_t
11686  *
11687 td
11688 , cڡ \1e*
11689 ¥\8c
11690 ,
11691
11692 12 
11693 a¢_­p_cÚ¡¿\9at_ç\9eed_f
11694  *
11695 ùç\9ecb
11696\1e*
11697 ­p_key
11698 ) {
11699
11700 13 cڡ 
11701 OCTET_STRING_t
11702  *
11703 ¡
11704  = (cÚ¡ OCTET_STRING_\88*)
11705 ¥\8c
11706 ;
11707
11708 14 
11709 size_t
11710  
11711 size
11712 ;
11713
11714 16 if(!
11715 ¥\8c
11716 ) {
11717
11718 17 
11719         `ASN__CTFAIL
11720 (
11721 ­p_key
11722
11723 td
11724
11725 ¥\8c
11726 ,
11727
11728 19 
11729 td
11730 ->
11731 Çme
11732
11733 __FILE__
11734
11735 __LINE__
11736 );
11737
11738 23 
11739 size
11740  = 
11741 ¡
11742 ->size;
11743
11744 25 if((
11745 size
11746  == 3)) {
11747
11748 29 
11749         `ASN__CTFAIL
11750 (
11751 ­p_key
11752
11753 td
11754
11755 ¥\8c
11756 ,
11757
11758 31 
11759 td
11760 ->
11761 Çme
11762
11763 __FILE__
11764
11765 __LINE__
11766 );
11767
11768 34 
11769         }
11770 }
11771
11772 40 \18
11773 a¢_³r_cÚ¡¿\9ats_t
11774  
11775 a¢_PER_ty³_FiveGS_TAC_cÚ¡r_1
11776  
11777         gCC_NOTUSED
11778  = {
11779
11780 41 { 
11781 APC_UNCONSTRAINED
11782 , -1, -1, 0, 0 },
11783
11784 42 { 
11785 APC_CONSTRAINED
11786 , 0, 0, 3, 3 } ,
11787
11788 45 \18cڡ 
11789 b\94_\8ev_\8fg_t
11790  
11791         ga¢_DEF_FiveGS_TAC_\8fgs_1
11792 [] = {
11793
11794 46 (
11795 ASN_TAG_CLASS_UNIVERSAL
11796  | (4 << 2))
11797
11798 48 
11799 a¢_TYPE_desü\9dtÜ_t
11800  
11801         ga¢_DEF_FiveGS_TAC
11802  = {
11803
11804 51 &
11805 a¢_OP_OCTET_STRING
11806 ,
11807
11808 52 
11809 a¢_DEF_FiveGS_TAC_\8fgs_1
11810 ,
11811
11812 53 \17(
11813 a¢_DEF_FiveGS_TAC_\8fgs_1
11814 )
11815
11816 54 /\17(
11817 a¢_DEF_FiveGS_TAC_\8fgs_1
11818 [0]),
11819
11820 55 
11821 a¢_DEF_FiveGS_TAC_\8fgs_1
11822 ,
11823
11824 56 \17(
11825 a¢_DEF_FiveGS_TAC_\8fgs_1
11826 )
11827
11828 57 /\17(
11829 a¢_DEF_FiveGS_TAC_\8fgs_1
11830 [0]),
11831
11832 58 { 0, &
11833 a¢_PER_ty³_FiveGS_TAC_cÚ¡r_1
11834
11835 FiveGS_TAC_cÚ¡¿\9at
11836  },
11837
11838 60 &
11839 a¢_SPC_OCTET_STRING_¥ecs
11840
11841
11842         @FiveQI.c
11843
11844\ 2
11845         ~"FiveQI.h
11846 "
11847
11848 11 
11849         $FiveQI_cÚ¡¿\9at
11850 (cڡ 
11851 a¢_TYPE_desü\9dtÜ_t
11852  *
11853 td
11854 , cڡ \1e*
11855 ¥\8c
11856 ,
11857
11858 12 
11859 a¢_­p_cÚ¡¿\9at_ç\9eed_f
11860  *
11861 ùç\9ecb
11862\1e*
11863 ­p_key
11864 ) {
11865
11866 13 \13
11867 v®ue
11868 ;
11869
11870 15 if(!
11871 ¥\8c
11872 ) {
11873
11874 16 
11875         `ASN__CTFAIL
11876 (
11877 ­p_key
11878
11879 td
11880
11881 ¥\8c
11882 ,
11883
11884 18 
11885 td
11886 ->
11887 Çme
11888
11889 __FILE__
11890
11891 __LINE__
11892 );
11893
11894 22 
11895 v®ue
11896  = *(cڡ \13*)
11897 ¥\8c
11898 ;
11899
11900 24 if((
11901 v®ue
11902  >= 0 && value <= 255)) {
11903
11904 28 
11905         `ASN__CTFAIL
11906 (
11907 ­p_key
11908
11909 td
11910
11911 ¥\8c
11912 ,
11913
11914 30 
11915 td
11916 ->
11917 Çme
11918
11919 __FILE__
11920
11921 __LINE__
11922 );
11923
11924 33 
11925         }
11926 }
11927
11928 39 
11929 a¢_³r_cÚ¡¿\9ats_t
11930  
11931 a¢_PER_ty³_FiveQI_cÚ¡r_1
11932  
11933         gCC_NOTUSED
11934  = {
11935
11936 40 { 
11937 APC_CONSTRAINED
11938  | 
11939 APC_EXTENSIBLE
11940 , 8, 8, 0, 255 } ,
11941
11942 41 { 
11943 APC_UNCONSTRAINED
11944 , -1, -1, 0, 0 },
11945
11946 44 \18cڡ 
11947 b\94_\8ev_\8fg_t
11948  
11949         ga¢_DEF_FiveQI_\8fgs_1
11950 [] = {
11951
11952 45 (
11953 ASN_TAG_CLASS_UNIVERSAL
11954  | (2 << 2))
11955
11956 47 
11957 a¢_TYPE_desü\9dtÜ_t
11958  
11959         ga¢_DEF_FiveQI
11960  = {
11961
11962 50 &
11963 a¢_OP_N©iveIÁeg\94
11964 ,
11965
11966 51 
11967 a¢_DEF_FiveQI_\8fgs_1
11968 ,
11969
11970 52 \17(
11971 a¢_DEF_FiveQI_\8fgs_1
11972 )
11973
11974 53 /\17(
11975 a¢_DEF_FiveQI_\8fgs_1
11976 [0]),
11977
11978 54 
11979 a¢_DEF_FiveQI_\8fgs_1
11980 ,
11981
11982 55 \17(
11983 a¢_DEF_FiveQI_\8fgs_1
11984 )
11985
11986 56 /\17(
11987 a¢_DEF_FiveQI_\8fgs_1
11988 [0]),
11989
11990 57 { 0, &
11991 a¢_PER_ty³_FiveQI_cÚ¡r_1
11992
11993 FiveQI_cÚ¡¿\9at
11994  },
11995
11996         @FreqBandNrItem.c
11997
11998\ 2
11999         ~"F»qBªdNrI\8bm.h
12000 "
12001
12002 11 
12003         $memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
12004 (cڡ 
12005 a¢_TYPE_desü\9dtÜ_t
12006  *
12007 td
12008 , cڡ \1e*
12009 ¥\8c
12010 ,
12011
12012 12 
12013 a¢_­p_cÚ¡¿\9at_ç\9eed_f
12014  *
12015 ùç\9ecb
12016\1e*
12017 ­p_key
12018 ) {
12019
12020 13 \13
12021 v®ue
12022 ;
12023
12024 15 if(!
12025 ¥\8c
12026 ) {
12027
12028 16 
12029         `ASN__CTFAIL
12030 (
12031 ­p_key
12032
12033 td
12034
12035 ¥\8c
12036 ,
12037
12038 18 
12039 td
12040 ->
12041 Çme
12042
12043 __FILE__
12044
12045 __LINE__
12046 );
12047
12048 22 
12049 v®ue
12050  = *(cڡ \13*)
12051 ¥\8c
12052 ;
12053
12054 24 if((
12055 v®ue
12056  >= 1 && value <= 1024)) {
12057
12058 28 
12059         `ASN__CTFAIL
12060 (
12061 ­p_key
12062
12063 td
12064
12065 ¥\8c
12066 ,
12067
12068 30 
12069 td
12070 ->
12071 Çme
12072
12073 __FILE__
12074
12075 __LINE__
12076 );
12077
12078 33 
12079         }
12080 }
12081
12082 35 \18
12083 a¢_³r_cÚ¡¿\9ats_t
12084  
12085 a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
12086  
12087         gCC_NOTUSED
12088  = {
12089
12090 36 { 
12091 APC_CONSTRAINED
12092  | 
12093 APC_EXTENSIBLE
12094 , 10, 10, 1, 1024 } ,
12095
12096 37 { 
12097 APC_UNCONSTRAINED
12098 , -1, -1, 0, 0 },
12099
12100 40 \18
12101 a¢_TYPE_memb\94_t
12102  
12103         ga¢_MBR_F»qBªdNrI\8bm_1
12104 [] = {
12105
12106 41 { 
12107 ATF_NOFLAGS
12108 , 0, 
12109 off£tof
12110 (\19
12111 F»qBªdNrI\8bm
12112
12113 äeqBªdIndiÿtÜNr
12114 ),
12115
12116 42 (
12117 ASN_TAG_CLASS_CONTEXT
12118  | (0 << 2)),
12119
12120 44 &
12121 a¢_DEF_N©iveIÁeg\94
12122 ,
12123
12124 46 { 0, &
12125 a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
12126
12127 memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
12128  },
12129
12130 51 \18cڡ 
12131 b\94_\8ev_\8fg_t
12132  
12133         ga¢_DEF_F»qBªdNrI\8bm_\8fgs_1
12134 [] = {
12135
12136 52 (
12137 ASN_TAG_CLASS_UNIVERSAL
12138  | (16 << 2))
12139
12140 54 \18cڡ 
12141 a¢_TYPE_\8fg2memb\94_t
12142  
12143         ga¢_MAP_F»qBªdNrI\8bm_\8fg2\96_1
12144 [] = {
12145
12146 55 { (
12147 ASN_TAG_CLASS_CONTEXT
12148  | (0 << 2)), 0, 0, 0 }
12149
12150 57 \18
12151 a¢_SEQUENCE_¥ecifics_t
12152  
12153         ga¢_SPC_F»qBªdNrI\8bm_¥ecs_1
12154  = {
12155
12156 58 \17(\19
12157 F»qBªdNrI\8bm
12158 ),
12159
12160 59 
12161 off£tof
12162 (\19
12163 F»qBªdNrI\8bm
12164
12165 _a¢_ùx
12166 ),
12167
12168 60 
12169 a¢_MAP_F»qBªdNrI\8bm_\8fg2\96_1
12170 ,
12171
12172 65 
12173 a¢_TYPE_desü\9dtÜ_t
12174  
12175         ga¢_DEF_F»qBªdNrI\8bm
12176  = {
12177
12178 68 &
12179 a¢_OP_SEQUENCE
12180 ,
12181
12182 69 
12183 a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
12184 ,
12185
12186 70 \17(
12187 a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
12188 )
12189
12190 71 /\17(
12191 a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
12192 [0]),
12193
12194 72 
12195 a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
12196 ,
12197
12198 73 \17(
12199 a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
12200 )
12201
12202 74 /\17(
12203 a¢_DEF_F»qBªdNrI\8bm_\8fgs_1
12204 [0]),
12205
12206 75 { 0, 0, 
12207 SEQUENCE_cÚ¡¿\9at
12208  },
12209
12210 76 
12211 a¢_MBR_F»qBªdNrI\8bm_1
12212 ,
12213
12214 78 &
12215 a¢_SPC_F»qBªdNrI\8bm_¥ecs_1
12216
12217
12218         @GNB-CU-CP-UE-E1AP-ID.c
12219
12220\ 2
12221         ~"GNB-CU-CP-UE-E1AP-ID.h
12222 "
12223
12224 11 
12225         $GNB_CU_CP_UE_E1AP_ID_cÚ¡¿\9at
12226 (cڡ 
12227 a¢_TYPE_desü\9dtÜ_t
12228  *
12229 td
12230 , cڡ \1e*
12231 ¥\8c
12232 ,
12233
12234 12 
12235 a¢_­p_cÚ¡¿\9at_ç\9eed_f
12236  *
12237 ùç\9ecb
12238\1e*
12239 ­p_key
12240 ) {
12241
12242 14 if(!
12243 ¥\8c
12244 ) {
12245
12246 15 
12247         `ASN__CTFAIL
12248 (
12249 ­p_key
12250
12251 td
12252
12253 ¥\8c
12254 ,
12255
12256 17 
12257 td
12258 ->
12259 Çme
12260
12261 __FILE__
12262
12263 __LINE__
12264 );
12265
12266 24 
12267         }
12268 }
12269
12270 30 
12271 a¢_³r_cÚ¡¿\9ats_t
12272  
12273 a¢_PER_ty³_GNB_CU_CP_UE_E1AP_ID_cÚ¡r_1
12274  
12275         gCC_NOTUSED
12276  = {
12277
12278 31 { 
12279 APC_CONSTRAINED
12280 , 32, -1, 0, 4294967295 } ,
12281
12282 32 { 
12283 APC_UNCONSTRAINED
12284 , -1, -1, 0, 0 },
12285
12286 35 cڡ 
12287 a¢_INTEGER_¥ecifics_t
12288  
12289         ga¢_SPC_GNB_CU_CP_UE_E1AP_ID_¥ecs_1
12290  = {
12291
12292 40 \18cڡ 
12293 b\94_\8ev_\8fg_t
12294  
12295         ga¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
12296 [] = {
12297
12298 41 (
12299 ASN_TAG_CLASS_UNIVERSAL
12300  | (2 << 2))
12301
12302 43 
12303 a¢_TYPE_desü\9dtÜ_t
12304  
12305         ga¢_DEF_GNB_CU_CP_UE_E1AP_ID
12306  = {
12307
12308 46 &
12309 a¢_OP_N©iveIÁeg\94
12310 ,
12311
12312 47 
12313 a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
12314 ,
12315
12316 48 \17(
12317 a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
12318 )
12319
12320 49 /\17(
12321 a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
12322 [0]),
12323
12324 50 
12325 a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
12326 ,
12327
12328 51 \17(
12329 a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
12330 )
12331
12332 52 /\17(
12333 a¢_DEF_GNB_CU_CP_UE_E1AP_ID_\8fgs_1
12334 [0]),
12335
12336 53 { 0, &
12337 a¢_PER_ty³_GNB_CU_CP_UE_E1AP_ID_cÚ¡r_1
12338
12339 GNB_CU_CP_UE_E1AP_ID_cÚ¡¿\9at
12340  },
12341
12342 55 &
12343 a¢_SPC_GNB_CU_CP_UE_E1AP_ID_¥ecs_1
12344
12345
12346         @GNB-CU-UE-F1AP-ID.c
12347
12348\ 2
12349         ~"GNB-CU-UE-F1AP-ID.h
12350 "
12351
12352 11 
12353         $GNB_CU_UE_F1AP_ID_cÚ¡¿\9at
12354 (cڡ 
12355 a¢_TYPE_desü\9dtÜ_t
12356  *
12357 td
12358 , cڡ \1e*
12359 ¥\8c
12360 ,
12361
12362 12 
12363 a¢_­p_cÚ¡¿\9at_ç\9eed_f
12364  *
12365 ùç\9ecb
12366\1e*
12367 ­p_key
12368 ) {
12369
12370 14 if(!
12371 ¥\8c
12372 ) {
12373
12374 15 
12375         `ASN__CTFAIL
12376 (
12377 ­p_key
12378
12379 td
12380
12381 ¥\8c
12382 ,
12383
12384 17 
12385 td
12386 ->
12387 Çme
12388
12389 __FILE__
12390
12391 __LINE__
12392 );
12393
12394 24 
12395         }
12396 }
12397
12398 30 
12399 a¢_³r_cÚ¡¿\9ats_t
12400  
12401 a¢_PER_ty³_GNB_CU_UE_F1AP_ID_cÚ¡r_1
12402  
12403         gCC_NOTUSED
12404  = {
12405
12406 31 { 
12407 APC_CONSTRAINED
12408 , 32, -1, 0, 4294967295 } ,
12409
12410 32 { 
12411 APC_UNCONSTRAINED
12412 , -1, -1, 0, 0 },
12413
12414 35 cڡ 
12415 a¢_INTEGER_¥ecifics_t
12416  
12417         ga¢_SPC_GNB_CU_UE_F1AP_ID_¥ecs_1
12418  = {
12419
12420 40 \18cڡ 
12421 b\94_\8ev_\8fg_t
12422  
12423         ga¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
12424 [] = {
12425
12426 41 (
12427 ASN_TAG_CLASS_UNIVERSAL
12428  | (2 << 2))
12429
12430 43 
12431 a¢_TYPE_desü\9dtÜ_t
12432  
12433         ga¢_DEF_GNB_CU_UE_F1AP_ID
12434  = {
12435
12436 46 &
12437 a¢_OP_N©iveIÁeg\94
12438 ,
12439
12440 47 
12441 a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
12442 ,
12443
12444 48 \17(
12445 a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
12446 )
12447
12448 49 /\17(
12449 a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
12450 [0]),
12451
12452 50 
12453 a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
12454 ,
12455
12456 51 \17(
12457 a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
12458 )
12459
12460 52 /\17(
12461 a¢_DEF_GNB_CU_UE_F1AP_ID_\8fgs_1
12462 [0]),
12463
12464 53 { 0, &
12465 a¢_PER_ty³_GNB_CU_UE_F1AP_ID_cÚ¡r_1
12466
12467 GNB_CU_UE_F1AP_ID_cÚ¡¿\9at
12468  },
12469
12470 55 &
12471 a¢_SPC_GNB_CU_UE_F1AP_ID_¥ecs_1
12472
12473
12474         @GNB-CU-UP-ID.c
12475
12476\ 2
12477         ~"GNB-CU-UP-ID.h
12478 "
12479
12480 11 
12481         $GNB_CU_UP_ID_cÚ¡¿\9at
12482 (cڡ 
12483 a¢_TYPE_desü\9dtÜ_t
12484  *
12485 td
12486 , cڡ \1e*
12487 ¥\8c
12488 ,
12489
12490 12 
12491 a¢_­p_cÚ¡¿\9at_ç\9eed_f
12492  *
12493 ùç\9ecb
12494\1e*
12495 ­p_key
12496 ) {
12497
12498 13 cڡ 
12499 INTEGER_t
12500  *
12501 ¡
12502  = (cÚ¡ INTEGER_\88*)
12503 ¥\8c
12504 ;
12505
12506 14 \13
12507 v®ue
12508 ;
12509
12510 16 if(!
12511 ¥\8c
12512 ) {
12513
12514 17 
12515         `ASN__CTFAIL
12516 (
12517 ­p_key
12518
12519 td
12520
12521 ¥\8c
12522 ,
12523
12524 19 
12525 td
12526 ->
12527 Çme
12528
12529 __FILE__
12530
12531 __LINE__
12532 );
12533
12534 23 if(
12535         `a¢_INTEGER2lÚg
12536 (
12537 ¡
12538 , &
12539 v®ue
12540 )) {
12541
12542 24 
12543         `ASN__CTFAIL
12544 (
12545 ­p_key
12546
12547 td
12548
12549 ¥\8c
12550 ,
12551
12552 26 
12553 td
12554 ->
12555 Çme
12556
12557 __FILE__
12558
12559 __LINE__
12560 );
12561
12562 30 if((
12563 v®ue
12564  >= 0 && value <= 68719476735)) {
12565
12566 34 
12567         `ASN__CTFAIL
12568 (
12569 ­p_key
12570
12571 td
12572
12573 ¥\8c
12574 ,
12575
12576 36 
12577 td
12578 ->
12579 Çme
12580
12581 __FILE__
12582
12583 __LINE__
12584 );
12585
12586 39 
12587         }
12588 }
12589
12590 45 
12591 a¢_³r_cÚ¡¿\9ats_t
12592  
12593 a¢_PER_ty³_GNB_CU_UP_ID_cÚ¡r_1
12594  
12595         gCC_NOTUSED
12596  = {
12597
12598 46 { 
12599 APC_CONSTRAINED
12600 , 36, -1, 0, 68719476735 } ,
12601
12602 47 { 
12603 APC_UNCONSTRAINED
12604 , -1, -1, 0, 0 },
12605
12606 50 \18cڡ 
12607 b\94_\8ev_\8fg_t
12608  
12609         ga¢_DEF_GNB_CU_UP_ID_\8fgs_1
12610 [] = {
12611
12612 51 (
12613 ASN_TAG_CLASS_UNIVERSAL
12614  | (2 << 2))
12615
12616 53 
12617 a¢_TYPE_desü\9dtÜ_t
12618  
12619         ga¢_DEF_GNB_CU_UP_ID
12620  = {
12621
12622 56 &
12623 a¢_OP_INTEGER
12624 ,
12625
12626 57 
12627 a¢_DEF_GNB_CU_UP_ID_\8fgs_1
12628 ,
12629
12630 58 \17(
12631 a¢_DEF_GNB_CU_UP_ID_\8fgs_1
12632 )
12633
12634 59 /\17(
12635 a¢_DEF_GNB_CU_UP_ID_\8fgs_1
12636 [0]),
12637
12638 60 
12639 a¢_DEF_GNB_CU_UP_ID_\8fgs_1
12640 ,
12641
12642 61 \17(
12643 a¢_DEF_GNB_CU_UP_ID_\8fgs_1
12644 )
12645
12646 62 /\17(
12647 a¢_DEF_GNB_CU_UP_ID_\8fgs_1
12648 [0]),
12649
12650 63 { 0, &
12651 a¢_PER_ty³_GNB_CU_UP_ID_cÚ¡r_1
12652
12653 GNB_CU_UP_ID_cÚ¡¿\9at
12654  },
12655
12656         @GNB-DU-ID.c
12657
12658\ 2
12659         ~"GNB-DU-ID.h
12660 "
12661
12662 11 
12663         $GNB_DU_ID_cÚ¡¿\9at
12664 (cڡ 
12665 a¢_TYPE_desü\9dtÜ_t
12666  *
12667 td
12668 , cڡ \1e*
12669 ¥\8c
12670 ,
12671
12672 12 
12673 a¢_­p_cÚ¡¿\9at_ç\9eed_f
12674  *
12675 ùç\9ecb
12676\1e*
12677 ­p_key
12678 ) {
12679
12680 13 cڡ 
12681 INTEGER_t
12682  *
12683 ¡
12684  = (cÚ¡ INTEGER_\88*)
12685 ¥\8c
12686 ;
12687
12688 14 \13
12689 v®ue
12690 ;
12691
12692 16 if(!
12693 ¥\8c
12694 ) {
12695
12696 17 
12697         `ASN__CTFAIL
12698 (
12699 ­p_key
12700
12701 td
12702
12703 ¥\8c
12704 ,
12705
12706 19 
12707 td
12708 ->
12709 Çme
12710
12711 __FILE__
12712
12713 __LINE__
12714 );
12715
12716 23 if(
12717         `a¢_INTEGER2lÚg
12718 (
12719 ¡
12720 , &
12721 v®ue
12722 )) {
12723
12724 24 
12725         `ASN__CTFAIL
12726 (
12727 ­p_key
12728
12729 td
12730
12731 ¥\8c
12732 ,
12733
12734 26 
12735 td
12736 ->
12737 Çme
12738
12739 __FILE__
12740
12741 __LINE__
12742 );
12743
12744 30 if((
12745 v®ue
12746  >= 0 && value <= 68719476735)) {
12747
12748 34 
12749         `ASN__CTFAIL
12750 (
12751 ­p_key
12752
12753 td
12754
12755 ¥\8c
12756 ,
12757
12758 36 
12759 td
12760 ->
12761 Çme
12762
12763 __FILE__
12764
12765 __LINE__
12766 );
12767
12768 39 
12769         }
12770 }
12771
12772 45 
12773 a¢_³r_cÚ¡¿\9ats_t
12774  
12775 a¢_PER_ty³_GNB_DU_ID_cÚ¡r_1
12776  
12777         gCC_NOTUSED
12778  = {
12779
12780 46 { 
12781 APC_CONSTRAINED
12782 , 36, -1, 0, 68719476735 } ,
12783
12784 47 { 
12785 APC_UNCONSTRAINED
12786 , -1, -1, 0, 0 },
12787
12788 50 \18cڡ 
12789 b\94_\8ev_\8fg_t
12790  
12791         ga¢_DEF_GNB_DU_ID_\8fgs_1
12792 [] = {
12793
12794 51 (
12795 ASN_TAG_CLASS_UNIVERSAL
12796  | (2 << 2))
12797
12798 53 
12799 a¢_TYPE_desü\9dtÜ_t
12800  
12801         ga¢_DEF_GNB_DU_ID
12802  = {
12803
12804 56 &
12805 a¢_OP_INTEGER
12806 ,
12807
12808 57 
12809 a¢_DEF_GNB_DU_ID_\8fgs_1
12810 ,
12811
12812 58 \17(
12813 a¢_DEF_GNB_DU_ID_\8fgs_1
12814 )
12815
12816 59 /\17(
12817 a¢_DEF_GNB_DU_ID_\8fgs_1
12818 [0]),
12819
12820 60 
12821 a¢_DEF_GNB_DU_ID_\8fgs_1
12822 ,
12823
12824 61 \17(
12825 a¢_DEF_GNB_DU_ID_\8fgs_1
12826 )
12827
12828 62 /\17(
12829 a¢_DEF_GNB_DU_ID_\8fgs_1
12830 [0]),
12831
12832 63 { 0, &
12833 a¢_PER_ty³_GNB_DU_ID_cÚ¡r_1
12834
12835 GNB_DU_ID_cÚ¡¿\9at
12836  },
12837
12838         @GNB-ID.c
12839
12840\ 2
12841         ~"GNB-ID.h
12842 "
12843
12844 11 
12845         $memb_gNB_ID_cÚ¡¿\9at_1
12846 (cڡ 
12847 a¢_TYPE_desü\9dtÜ_t
12848  *
12849 td
12850 , cڡ \1e*
12851 ¥\8c
12852 ,
12853
12854 12 
12855 a¢_­p_cÚ¡¿\9at_ç\9eed_f
12856  *
12857 ùç\9ecb
12858\1e*
12859 ­p_key
12860 ) {
12861
12862 13 cڡ 
12863 BIT_STRING_t
12864  *
12865 ¡
12866  = (cÚ¡ BIT_STRING_\88*)
12867 ¥\8c
12868 ;
12869
12870 14 
12871 size_t
12872  
12873 size
12874 ;
12875
12876 16 if(!
12877 ¥\8c
12878 ) {
12879
12880 17 
12881         `ASN__CTFAIL
12882 (
12883 ­p_key
12884
12885 td
12886
12887 ¥\8c
12888 ,
12889
12890 19 
12891 td
12892 ->
12893 Çme
12894
12895 __FILE__
12896
12897 __LINE__
12898 );
12899
12900 23 if(
12901 ¡
12902 ->
12903 size
12904  > 0) {
12905
12906 25 
12907 size
12908  = 8 * 
12909 ¡
12910 ->siz\90- (¡->
12911 b\99s_unu£d
12912  & 0x07);
12913
12914 27 
12915 size
12916  = 0;
12917
12918 30 if((
12919 size
12920  >= 22 && size <= 32)) {
12921
12922 34 
12923         `ASN__CTFAIL
12924 (
12925 ­p_key
12926
12927 td
12928
12929 ¥\8c
12930 ,
12931
12932 36 
12933 td
12934 ->
12935 Çme
12936
12937 __FILE__
12938
12939 __LINE__
12940 );
12941
12942 39 
12943         }
12944 }
12945
12946 41 \18
12947 a¢_³r_cÚ¡¿\9ats_t
12948  
12949 a¢_PER_memb_gNB_ID_cÚ¡r_2
12950  
12951         gCC_NOTUSED
12952  = {
12953
12954 42 { 
12955 APC_UNCONSTRAINED
12956 , -1, -1, 0, 0 },
12957
12958 43 { 
12959 APC_CONSTRAINED
12960 , 4, 4, 22, 32 } ,
12961
12962 46 
12963 a¢_³r_cÚ¡¿\9ats_t
12964  
12965 a¢_PER_ty³_GNB_ID_cÚ¡r_1
12966  
12967         gCC_NOTUSED
12968  = {
12969
12970 47 { 
12971 APC_CONSTRAINED
12972  | 
12973 APC_EXTENSIBLE
12974 , 0, 0, 0, 0 } ,
12975
12976 48 { 
12977 APC_UNCONSTRAINED
12978 , -1, -1, 0, 0 },
12979
12980 51 
12981 a¢_TYPE_memb\94_t
12982  
12983         ga¢_MBR_GNB_ID_1
12984 [] = {
12985
12986 52 { 
12987 ATF_NOFLAGS
12988 , 0, 
12989 off£tof
12990 (\19
12991 GNB_ID
12992
12993 choiû
12994 .
12995 gNB_ID
12996 ),
12997
12998 53 (
12999 ASN_TAG_CLASS_CONTEXT
13000  | (0 << 2)),
13001
13002 55 &
13003 a¢_DEF_BIT_STRING
13004 ,
13005
13006 57 { 0, &
13007 a¢_PER_memb_gNB_ID_cÚ¡r_2
13008
13009 memb_gNB_ID_cÚ¡¿\9at_1
13010  },
13011
13012 62 \18cڡ 
13013 a¢_TYPE_\8fg2memb\94_t
13014  
13015         ga¢_MAP_GNB_ID_\8fg2\96_1
13016 [] = {
13017
13018 63 { (
13019 ASN_TAG_CLASS_CONTEXT
13020  | (0 << 2)), 0, 0, 0 }
13021
13022 65 
13023 a¢_CHOICE_¥ecifics_t
13024  
13025         ga¢_SPC_GNB_ID_¥ecs_1
13026  = {
13027
13028 66 \17(\19
13029 GNB_ID
13030 ),
13031
13032 67 
13033 off£tof
13034 (\19
13035 GNB_ID
13036
13037 _a¢_ùx
13038 ),
13039
13040 68 
13041 off£tof
13042 (\19
13043 GNB_ID
13044
13045 ´e£Á
13046 ),
13047
13048 69 \17(((\19
13049 GNB_ID
13050  *)0)->
13051 ´e£Á
13052 ),
13053
13054 70 
13055 a¢_MAP_GNB_ID_\8fg2\96_1
13056 ,
13057
13058 75 
13059 a¢_TYPE_desü\9dtÜ_t
13060  
13061         ga¢_DEF_GNB_ID
13062  = {
13063
13064 78 &
13065 a¢_OP_CHOICE
13066 ,
13067
13068 83 { 0, &
13069 a¢_PER_ty³_GNB_ID_cÚ¡r_1
13070
13071 CHOICE_cÚ¡¿\9at
13072  },
13073
13074 84 
13075 a¢_MBR_GNB_ID_1
13076 ,
13077
13078 86 &
13079 a¢_SPC_GNB_ID_¥ecs_1
13080
13081
13082         @GUAMI.c
13083
13084\ 2
13085         ~"GUAMI.h
13086 "
13087
13088 10 
13089 a¢_TYPE_memb\94_t
13090  
13091         ga¢_MBR_GUAMI_1
13092 [] = {
13093
13094 11 { 
13095 ATF_NOFLAGS
13096 , 0, 
13097 off£tof
13098 (\19
13099 GUAMI
13100
13101 pLMNId\92t\99y
13102 ),
13103
13104 12 (
13105 ASN_TAG_CLASS_CONTEXT
13106  | (0 << 2)),
13107
13108 14 &
13109 a¢_DEF_PLMNId\92t\99y
13110 ,
13111
13112 20 { 
13113 ATF_NOFLAGS
13114 , 0, 
13115 off£tof
13116 (\19
13117 GUAMI
13118
13119 aMFRegiÚID
13120 ),
13121
13122 21 (
13123 ASN_TAG_CLASS_CONTEXT
13124  | (1 << 2)),
13125
13126 23 &
13127 a¢_DEF_AMFRegiÚID
13128 ,
13129
13130 29 { 
13131 ATF_NOFLAGS
13132 , 0, 
13133 off£tof
13134 (\19
13135 GUAMI
13136
13137 aMFS\91ID
13138 ),
13139
13140 30 (
13141 ASN_TAG_CLASS_CONTEXT
13142  | (2 << 2)),
13143
13144 32 &
13145 a¢_DEF_AMFS\91ID
13146 ,
13147
13148 38 { 
13149 ATF_NOFLAGS
13150 , 0, 
13151 off£tof
13152 (\19
13153 GUAMI
13154
13155 aMFPo\9a\8br
13156 ),
13157
13158 39 (
13159 ASN_TAG_CLASS_CONTEXT
13160  | (3 << 2)),
13161
13162 41 &
13163 a¢_DEF_AMFPo\9a\8br
13164 ,
13165
13166 48 \18cڡ 
13167 b\94_\8ev_\8fg_t
13168  
13169         ga¢_DEF_GUAMI_\8fgs_1
13170 [] = {
13171
13172 49 (
13173 ASN_TAG_CLASS_UNIVERSAL
13174  | (16 << 2))
13175
13176 51 \18cڡ 
13177 a¢_TYPE_\8fg2memb\94_t
13178  
13179         ga¢_MAP_GUAMI_\8fg2\96_1
13180 [] = {
13181
13182 52 { (
13183 ASN_TAG_CLASS_CONTEXT
13184  | (0 << 2)), 0, 0, 0 },
13185
13186 53 { (
13187 ASN_TAG_CLASS_CONTEXT
13188  | (1 << 2)), 1, 0, 0 },
13189
13190 54 { (
13191 ASN_TAG_CLASS_CONTEXT
13192  | (2 << 2)), 2, 0, 0 },
13193
13194 55 { (
13195 ASN_TAG_CLASS_CONTEXT
13196  | (3 << 2)), 3, 0, 0 }
13197
13198 57 
13199 a¢_SEQUENCE_¥ecifics_t
13200  
13201         ga¢_SPC_GUAMI_¥ecs_1
13202  = {
13203
13204 58 \17(\19
13205 GUAMI
13206 ),
13207
13208 59 
13209 off£tof
13210 (\19
13211 GUAMI
13212
13213 _a¢_ùx
13214 ),
13215
13216 60 
13217 a¢_MAP_GUAMI_\8fg2\96_1
13218 ,
13219
13220 65 
13221 a¢_TYPE_desü\9dtÜ_t
13222  
13223         ga¢_DEF_GUAMI
13224  = {
13225
13226 68 &
13227 a¢_OP_SEQUENCE
13228 ,
13229
13230 69 
13231 a¢_DEF_GUAMI_\8fgs_1
13232 ,
13233
13234 70 \17(
13235 a¢_DEF_GUAMI_\8fgs_1
13236 )
13237
13238 71 /\17(
13239 a¢_DEF_GUAMI_\8fgs_1
13240 [0]),
13241
13242 72 
13243 a¢_DEF_GUAMI_\8fgs_1
13244 ,
13245
13246 73 \17(
13247 a¢_DEF_GUAMI_\8fgs_1
13248 )
13249
13250 74 /\17(
13251 a¢_DEF_GUAMI_\8fgs_1
13252 [0]),
13253
13254 75 { 0, 0, 
13255 SEQUENCE_cÚ¡¿\9at
13256  },
13257
13258 76 
13259 a¢_MBR_GUAMI_1
13260 ,
13261
13262 78 &
13263 a¢_SPC_GUAMI_¥ecs_1
13264
13265
13266         @GUMMEI.c
13267
13268\ 2
13269         ~"GUMMEI.h
13270 "
13271
13272 10 
13273 a¢_TYPE_memb\94_t
13274  
13275         ga¢_MBR_GUMMEI_1
13276 [] = {
13277
13278 11 { 
13279 ATF_NOFLAGS
13280 , 0, 
13281 off£tof
13282 (\19
13283 GUMMEI
13284
13285 pLMN_Id\92t\99y
13286 ),
13287
13288 12 (
13289 ASN_TAG_CLASS_CONTEXT
13290  | (0 << 2)),
13291
13292 14 &
13293 a¢_DEF_PLMNId\92t\99y
13294 ,
13295
13296 20 { 
13297 ATF_NOFLAGS
13298 , 0, 
13299 off£tof
13300 (\19
13301 GUMMEI
13302
13303 mME_Group_ID
13304 ),
13305
13306 21 (
13307 ASN_TAG_CLASS_CONTEXT
13308  | (1 << 2)),
13309
13310 23 &
13311 a¢_DEF_MME_Group_ID
13312 ,
13313
13314 29 { 
13315 ATF_NOFLAGS
13316 , 0, 
13317 off£tof
13318 (\19
13319 GUMMEI
13320
13321 mME_Code
13322 ),
13323
13324 30 (
13325 ASN_TAG_CLASS_CONTEXT
13326  | (2 << 2)),
13327
13328 32 &
13329 a¢_DEF_MME_Code
13330 ,
13331
13332 39 \18cڡ 
13333 b\94_\8ev_\8fg_t
13334  
13335         ga¢_DEF_GUMMEI_\8fgs_1
13336 [] = {
13337
13338 40 (
13339 ASN_TAG_CLASS_UNIVERSAL
13340  | (16 << 2))
13341
13342 42 \18cڡ 
13343 a¢_TYPE_\8fg2memb\94_t
13344  
13345         ga¢_MAP_GUMMEI_\8fg2\96_1
13346 [] = {
13347
13348 43 { (
13349 ASN_TAG_CLASS_CONTEXT
13350  | (0 << 2)), 0, 0, 0 },
13351
13352 44 { (
13353 ASN_TAG_CLASS_CONTEXT
13354  | (1 << 2)), 1, 0, 0 },
13355
13356 45 { (
13357 ASN_TAG_CLASS_CONTEXT
13358  | (2 << 2)), 2, 0, 0 }
13359
13360 47 
13361 a¢_SEQUENCE_¥ecifics_t
13362  
13363         ga¢_SPC_GUMMEI_¥ecs_1
13364  = {
13365
13366 48 \17(\19
13367 GUMMEI
13368 ),
13369
13370 49 
13371 off£tof
13372 (\19
13373 GUMMEI
13374
13375 _a¢_ùx
13376 ),
13377
13378 50 
13379 a¢_MAP_GUMMEI_\8fg2\96_1
13380 ,
13381
13382 55 
13383 a¢_TYPE_desü\9dtÜ_t
13384  
13385         ga¢_DEF_GUMMEI
13386  = {
13387
13388 58 &
13389 a¢_OP_SEQUENCE
13390 ,
13391
13392 59 
13393 a¢_DEF_GUMMEI_\8fgs_1
13394 ,
13395
13396 60 \17(
13397 a¢_DEF_GUMMEI_\8fgs_1
13398 )
13399
13400 61 /\17(
13401 a¢_DEF_GUMMEI_\8fgs_1
13402 [0]),
13403
13404 62 
13405 a¢_DEF_GUMMEI_\8fgs_1
13406 ,
13407
13408 63 \17(
13409 a¢_DEF_GUMMEI_\8fgs_1
13410 )
13411
13412 64 /\17(
13413 a¢_DEF_GUMMEI_\8fgs_1
13414 [0]),
13415
13416 65 { 0, 0, 
13417 SEQUENCE_cÚ¡¿\9at
13418  },
13419
13420 66 
13421 a¢_MBR_GUMMEI_1
13422 ,
13423
13424 68 &
13425 a¢_SPC_GUMMEI_¥ecs_1
13426
13427
13428         @GlobalENB-ID.c
13429
13430\ 2
13431         ~"Glob®ENB-ID.h
13432 "
13433
13434 10 
13435 a¢_TYPE_memb\94_t
13436  
13437         ga¢_MBR_Glob®ENB_ID_1
13438 [] = {
13439
13440 11 { 
13441 ATF_NOFLAGS
13442 , 0, 
13443 off£tof
13444 (\19
13445 Glob®ENB_ID
13446
13447 pLMNId\92t\99y
13448 ),
13449
13450 12 (
13451 ASN_TAG_CLASS_CONTEXT
13452  | (0 << 2)),
13453
13454 14 &
13455 a¢_DEF_PLMNId\92t\99y
13456 ,
13457
13458 20 { 
13459 ATF_NOFLAGS
13460 , 0, 
13461 off£tof
13462 (\19
13463 Glob®ENB_ID
13464
13465 eNB_ID
13466 ),
13467
13468 21 (
13469 ASN_TAG_CLASS_CONTEXT
13470  | (1 << 2)),
13471
13472 23 &
13473 a¢_DEF_ENB_ID
13474 ,
13475
13476 30 \18cڡ 
13477 b\94_\8ev_\8fg_t
13478  
13479         ga¢_DEF_Glob®ENB_ID_\8fgs_1
13480 [] = {
13481
13482 31 (
13483 ASN_TAG_CLASS_UNIVERSAL
13484  | (16 << 2))
13485
13486 33 \18cڡ 
13487 a¢_TYPE_\8fg2memb\94_t
13488  
13489         ga¢_MAP_Glob®ENB_ID_\8fg2\96_1
13490 [] = {
13491
13492 34 { (
13493 ASN_TAG_CLASS_CONTEXT
13494  | (0 << 2)), 0, 0, 0 },
13495
13496 35 { (
13497 ASN_TAG_CLASS_CONTEXT
13498  | (1 << 2)), 1, 0, 0 }
13499
13500 37 
13501 a¢_SEQUENCE_¥ecifics_t
13502  
13503         ga¢_SPC_Glob®ENB_ID_¥ecs_1
13504  = {
13505
13506 38 \17(\19
13507 Glob®ENB_ID
13508 ),
13509
13510 39 
13511 off£tof
13512 (\19
13513 Glob®ENB_ID
13514
13515 _a¢_ùx
13516 ),
13517
13518 40 
13519 a¢_MAP_Glob®ENB_ID_\8fg2\96_1
13520 ,
13521
13522 45 
13523 a¢_TYPE_desü\9dtÜ_t
13524  
13525         ga¢_DEF_Glob®ENB_ID
13526  = {
13527
13528 48 &
13529 a¢_OP_SEQUENCE
13530 ,
13531
13532 49 
13533 a¢_DEF_Glob®ENB_ID_\8fgs_1
13534 ,
13535
13536 50 \17(
13537 a¢_DEF_Glob®ENB_ID_\8fgs_1
13538 )
13539
13540 51 /\17(
13541 a¢_DEF_Glob®ENB_ID_\8fgs_1
13542 [0]),
13543
13544 52 
13545 a¢_DEF_Glob®ENB_ID_\8fgs_1
13546 ,
13547
13548 53 \17(
13549 a¢_DEF_Glob®ENB_ID_\8fgs_1
13550 )
13551
13552 54 /\17(
13553 a¢_DEF_Glob®ENB_ID_\8fgs_1
13554 [0]),
13555
13556 55 { 0, 0, 
13557 SEQUENCE_cÚ¡¿\9at
13558  },
13559
13560 56 
13561 a¢_MBR_Glob®ENB_ID_1
13562 ,
13563
13564 58 &
13565 a¢_SPC_Glob®ENB_ID_¥ecs_1
13566
13567
13568         @GlobalGNB-ID.c
13569
13570\ 2
13571         ~"Glob®GNB-ID.h
13572 "
13573
13574 10 
13575 a¢_TYPE_memb\94_t
13576  
13577         ga¢_MBR_Glob®GNB_ID_1
13578 [] = {
13579
13580 11 { 
13581 ATF_NOFLAGS
13582 , 0, 
13583 off£tof
13584 (\19
13585 Glob®GNB_ID
13586
13587 pLMNId\92t\99y
13588 ),
13589
13590 12 (
13591 ASN_TAG_CLASS_CONTEXT
13592  | (0 << 2)),
13593
13594 14 &
13595 a¢_DEF_PLMNId\92t\99y
13596 ,
13597
13598 20 { 
13599 ATF_NOFLAGS
13600 , 0, 
13601 off£tof
13602 (\19
13603 Glob®GNB_ID
13604
13605 gNB_ID
13606 ),
13607
13608 21 (
13609 ASN_TAG_CLASS_CONTEXT
13610  | (1 << 2)),
13611
13612 23 &
13613 a¢_DEF_GNB_ID
13614 ,
13615
13616 30 \18cڡ 
13617 b\94_\8ev_\8fg_t
13618  
13619         ga¢_DEF_Glob®GNB_ID_\8fgs_1
13620 [] = {
13621
13622 31 (
13623 ASN_TAG_CLASS_UNIVERSAL
13624  | (16 << 2))
13625
13626 33 \18cڡ 
13627 a¢_TYPE_\8fg2memb\94_t
13628  
13629         ga¢_MAP_Glob®GNB_ID_\8fg2\96_1
13630 [] = {
13631
13632 34 { (
13633 ASN_TAG_CLASS_CONTEXT
13634  | (0 << 2)), 0, 0, 0 },
13635
13636 35 { (
13637 ASN_TAG_CLASS_CONTEXT
13638  | (1 << 2)), 1, 0, 0 }
13639
13640 37 
13641 a¢_SEQUENCE_¥ecifics_t
13642  
13643         ga¢_SPC_Glob®GNB_ID_¥ecs_1
13644  = {
13645
13646 38 \17(\19
13647 Glob®GNB_ID
13648 ),
13649
13650 39 
13651 off£tof
13652 (\19
13653 Glob®GNB_ID
13654
13655 _a¢_ùx
13656 ),
13657
13658 40 
13659 a¢_MAP_Glob®GNB_ID_\8fg2\96_1
13660 ,
13661
13662 45 
13663 a¢_TYPE_desü\9dtÜ_t
13664  
13665         ga¢_DEF_Glob®GNB_ID
13666  = {
13667
13668 48 &
13669 a¢_OP_SEQUENCE
13670 ,
13671
13672 49 
13673 a¢_DEF_Glob®GNB_ID_\8fgs_1
13674 ,
13675
13676 50 \17(
13677 a¢_DEF_Glob®GNB_ID_\8fgs_1
13678 )
13679
13680 51 /\17(
13681 a¢_DEF_Glob®GNB_ID_\8fgs_1
13682 [0]),
13683
13684 52 
13685 a¢_DEF_Glob®GNB_ID_\8fgs_1
13686 ,
13687
13688 53 \17(
13689 a¢_DEF_Glob®GNB_ID_\8fgs_1
13690 )
13691
13692 54 /\17(
13693 a¢_DEF_Glob®GNB_ID_\8fgs_1
13694 [0]),
13695
13696 55 { 0, 0, 
13697 SEQUENCE_cÚ¡¿\9at
13698  },
13699
13700 56 
13701 a¢_MBR_Glob®GNB_ID_1
13702 ,
13703
13704 58 &
13705 a¢_SPC_Glob®GNB_ID_¥ecs_1
13706
13707
13708         @GlobalNGRANNodeID.c
13709
13710\ 2
13711         ~"Glob®NGRANNodeID.h
13712 "
13713
13714 10 \ 2
13715         ~"Glob®GNB-ID.h
13716 "
13717
13718 11 \ 2
13719         ~"Glob®NgENB-ID.h
13720 "
13721
13722 12 
13723 a¢_³r_cÚ¡¿\9ats_t
13724  
13725 a¢_PER_ty³_Glob®NGRANNodeID_cÚ¡r_1
13726  
13727         gCC_NOTUSED
13728  = {
13729
13730 13 { 
13731 APC_CONSTRAINED
13732  | 
13733 APC_EXTENSIBLE
13734 , 1, 1, 0, 1 } ,
13735
13736 14 { 
13737 APC_UNCONSTRAINED
13738 , -1, -1, 0, 0 },
13739
13740 17 
13741 a¢_TYPE_memb\94_t
13742  
13743         ga¢_MBR_Glob®NGRANNodeID_1
13744 [] = {
13745
13746 18 { 
13747 ATF_POINTER
13748 , 0, 
13749 off£tof
13750 (\19
13751 Glob®NGRANNodeID
13752
13753 choiû
13754 .
13755 gNB
13756 ),
13757
13758 19 (
13759 ASN_TAG_CLASS_CONTEXT
13760  | (0 << 2)),
13761
13762 21 &
13763 a¢_DEF_Glob®GNB_ID
13764 ,
13765
13766 27 { 
13767 ATF_POINTER
13768 , 0, 
13769 off£tof
13770 (\19
13771 Glob®NGRANNodeID
13772
13773 choiû
13774 .
13775 ng_eNB
13776 ),
13777
13778 28 (
13779 ASN_TAG_CLASS_CONTEXT
13780  | (1 << 2)),
13781
13782 30 &
13783 a¢_DEF_Glob®NgENB_ID
13784 ,
13785
13786 37 \18cڡ 
13787 a¢_TYPE_\8fg2memb\94_t
13788  
13789         ga¢_MAP_Glob®NGRANNodeID_\8fg2\96_1
13790 [] = {
13791
13792 38 { (
13793 ASN_TAG_CLASS_CONTEXT
13794  | (0 << 2)), 0, 0, 0 },
13795
13796 39 { (
13797 ASN_TAG_CLASS_CONTEXT
13798  | (1 << 2)), 1, 0, 0 }
13799
13800 41 
13801 a¢_CHOICE_¥ecifics_t
13802  
13803         ga¢_SPC_Glob®NGRANNodeID_¥ecs_1
13804  = {
13805
13806 42 \17(\19
13807 Glob®NGRANNodeID
13808 ),
13809
13810 43 
13811 off£tof
13812 (\19
13813 Glob®NGRANNodeID
13814
13815 _a¢_ùx
13816 ),
13817
13818 44 
13819 off£tof
13820 (\19
13821 Glob®NGRANNodeID
13822
13823 ´e£Á
13824 ),
13825
13826 45 \17(((\19
13827 Glob®NGRANNodeID
13828  *)0)->
13829 ´e£Á
13830 ),
13831
13832 46 
13833 a¢_MAP_Glob®NGRANNodeID_\8fg2\96_1
13834 ,
13835
13836 51 
13837 a¢_TYPE_desü\9dtÜ_t
13838  
13839         ga¢_DEF_Glob®NGRANNodeID
13840  = {
13841
13842 54 &
13843 a¢_OP_CHOICE
13844 ,
13845
13846 59 { 0, &
13847 a¢_PER_ty³_Glob®NGRANNodeID_cÚ¡r_1
13848
13849 CHOICE_cÚ¡¿\9at
13850  },
13851
13852 60 
13853 a¢_MBR_Glob®NGRANNodeID_1
13854 ,
13855
13856 62 &
13857 a¢_SPC_Glob®NGRANNodeID_¥ecs_1
13858
13859
13860         @GlobalNgENB-ID.c
13861
13862\ 2
13863         ~"Glob®NgENB-ID.h
13864 "
13865
13866 10 
13867 a¢_TYPE_memb\94_t
13868  
13869         ga¢_MBR_Glob®NgENB_ID_1
13870 [] = {
13871
13872 11 { 
13873 ATF_NOFLAGS
13874 , 0, 
13875 off£tof
13876 (\19
13877 Glob®NgENB_ID
13878
13879 pLMNId\92t\99y
13880 ),
13881
13882 12 (
13883 ASN_TAG_CLASS_CONTEXT
13884  | (0 << 2)),
13885
13886 14 &
13887 a¢_DEF_PLMNId\92t\99y
13888 ,
13889
13890 20 { 
13891 ATF_NOFLAGS
13892 , 0, 
13893 off£tof
13894 (\19
13895 Glob®NgENB_ID
13896
13897 ngENB_ID
13898 ),
13899
13900 21 (
13901 ASN_TAG_CLASS_CONTEXT
13902  | (1 << 2)),
13903
13904 23 &
13905 a¢_DEF_NgENB_ID
13906 ,
13907
13908 30 \18cڡ 
13909 b\94_\8ev_\8fg_t
13910  
13911         ga¢_DEF_Glob®NgENB_ID_\8fgs_1
13912 [] = {
13913
13914 31 (
13915 ASN_TAG_CLASS_UNIVERSAL
13916  | (16 << 2))
13917
13918 33 \18cڡ 
13919 a¢_TYPE_\8fg2memb\94_t
13920  
13921         ga¢_MAP_Glob®NgENB_ID_\8fg2\96_1
13922 [] = {
13923
13924 34 { (
13925 ASN_TAG_CLASS_CONTEXT
13926  | (0 << 2)), 0, 0, 0 },
13927
13928 35 { (
13929 ASN_TAG_CLASS_CONTEXT
13930  | (1 << 2)), 1, 0, 0 }
13931
13932 37 
13933 a¢_SEQUENCE_¥ecifics_t
13934  
13935         ga¢_SPC_Glob®NgENB_ID_¥ecs_1
13936  = {
13937
13938 38 \17(\19
13939 Glob®NgENB_ID
13940 ),
13941
13942 39 
13943 off£tof
13944 (\19
13945 Glob®NgENB_ID
13946
13947 _a¢_ùx
13948 ),
13949
13950 40 
13951 a¢_MAP_Glob®NgENB_ID_\8fg2\96_1
13952 ,
13953
13954 45 
13955 a¢_TYPE_desü\9dtÜ_t
13956  
13957         ga¢_DEF_Glob®NgENB_ID
13958  = {
13959
13960 48 &
13961 a¢_OP_SEQUENCE
13962 ,
13963
13964 49 
13965 a¢_DEF_Glob®NgENB_ID_\8fgs_1
13966 ,
13967
13968 50 \17(
13969 a¢_DEF_Glob®NgENB_ID_\8fgs_1
13970 )
13971
13972 51 /\17(
13973 a¢_DEF_Glob®NgENB_ID_\8fgs_1
13974 [0]),
13975
13976 52 
13977 a¢_DEF_Glob®NgENB_ID_\8fgs_1
13978 ,
13979
13980 53 \17(
13981 a¢_DEF_Glob®NgENB_ID_\8fgs_1
13982 )
13983
13984 54 /\17(
13985 a¢_DEF_Glob®NgENB_ID_\8fgs_1
13986 [0]),
13987
13988 55 { 0, 0, 
13989 SEQUENCE_cÚ¡¿\9at
13990  },
13991
13992 56 
13993 a¢_MBR_Glob®NgENB_ID_1
13994 ,
13995
13996 58 &
13997 a¢_SPC_Glob®NgENB_ID_¥ecs_1
13998
13999
14000         @GlobalenGNB-ID.c
14001
14002\ 2
14003         ~"Glob®\92GNB-ID.h
14004 "
14005
14006 10 
14007 a¢_TYPE_memb\94_t
14008  
14009         ga¢_MBR_Glob®\92GNB_ID_1
14010 [] = {
14011
14012 11 { 
14013 ATF_NOFLAGS
14014 , 0, 
14015 off£tof
14016 (\19
14017 Glob®\92GNB_ID
14018
14019 pLMN_Id\92t\99y
14020 ),
14021
14022 12 (
14023 ASN_TAG_CLASS_CONTEXT
14024  | (0 << 2)),
14025
14026 14 &
14027 a¢_DEF_PLMNId\92t\99y
14028 ,
14029
14030 20 { 
14031 ATF_NOFLAGS
14032 , 0, 
14033 off£tof
14034 (\19
14035 Glob®\92GNB_ID
14036
14037 \92_gNB_ID
14038 ),
14039
14040 21 (
14041 ASN_TAG_CLASS_CONTEXT
14042  | (1 << 2)),
14043
14044 23 &
14045 a¢_DEF_EN_GNB_ID
14046 ,
14047
14048 30 \18cڡ 
14049 b\94_\8ev_\8fg_t
14050  
14051         ga¢_DEF_Glob®\92GNB_ID_\8fgs_1
14052 [] = {
14053
14054 31 (
14055 ASN_TAG_CLASS_UNIVERSAL
14056  | (16 << 2))
14057
14058 33 \18cڡ 
14059 a¢_TYPE_\8fg2memb\94_t
14060  
14061         ga¢_MAP_Glob®\92GNB_ID_\8fg2\96_1
14062 [] = {
14063
14064 34 { (
14065 ASN_TAG_CLASS_CONTEXT
14066  | (0 << 2)), 0, 0, 0 },
14067
14068 35 { (
14069 ASN_TAG_CLASS_CONTEXT
14070  | (1 << 2)), 1, 0, 0 }
14071
14072 37 
14073 a¢_SEQUENCE_¥ecifics_t
14074  
14075         ga¢_SPC_Glob®\92GNB_ID_¥ecs_1
14076  = {
14077
14078 38 \17(\19
14079 Glob®\92GNB_ID
14080 ),
14081
14082 39 
14083 off£tof
14084 (\19
14085 Glob®\92GNB_ID
14086
14087 _a¢_ùx
14088 ),
14089
14090 40 
14091 a¢_MAP_Glob®\92GNB_ID_\8fg2\96_1
14092 ,
14093
14094 45 
14095 a¢_TYPE_desü\9dtÜ_t
14096  
14097         ga¢_DEF_Glob®\92GNB_ID
14098  = {
14099
14100 48 &
14101 a¢_OP_SEQUENCE
14102 ,
14103
14104 49 
14105 a¢_DEF_Glob®\92GNB_ID_\8fgs_1
14106 ,
14107
14108 50 \17(
14109 a¢_DEF_Glob®\92GNB_ID_\8fgs_1
14110 )
14111
14112 51 /\17(
14113 a¢_DEF_Glob®\92GNB_ID_\8fgs_1
14114 [0]),
14115
14116 52 
14117 a¢_DEF_Glob®\92GNB_ID_\8fgs_1
14118 ,
14119
14120 53 \17(
14121 a¢_DEF_Glob®\92GNB_ID_\8fgs_1
14122 )
14123
14124 54 /\17(
14125 a¢_DEF_Glob®\92GNB_ID_\8fgs_1
14126 [0]),
14127
14128 55 { 0, 0, 
14129 SEQUENCE_cÚ¡¿\9at
14130  },
14131
14132 56 
14133 a¢_MBR_Glob®\92GNB_ID_1
14134 ,
14135
14136 58 &
14137 a¢_SPC_Glob®\92GNB_ID_¥ecs_1
14138
14139
14140         @GranularityPeriod.c
14141
14142\ 2
14143         ~"G¿nuÏr\99yP\94iod.h
14144 "
14145
14146 11 
14147         $G¿nuÏr\99yP\94iod_cÚ¡¿\9at
14148 (cڡ 
14149 a¢_TYPE_desü\9dtÜ_t
14150  *
14151 td
14152 , cڡ \1e*
14153 ¥\8c
14154 ,
14155
14156 12 
14157 a¢_­p_cÚ¡¿\9at_ç\9eed_f
14158  *
14159 ùç\9ecb
14160\1e*
14161 ­p_key
14162 ) {
14163
14164 13 \1d\13
14165 v®ue
14166 ;
14167
14168 15 if(!
14169 ¥\8c
14170 ) {
14171
14172 16 
14173         `ASN__CTFAIL
14174 (
14175 ­p_key
14176
14177 td
14178
14179 ¥\8c
14180 ,
14181
14182 18 
14183 td
14184 ->
14185 Çme
14186
14187 __FILE__
14188
14189 __LINE__
14190 );
14191
14192 22 
14193 v®ue
14194  = *(cڡ \1d\13*)
14195 ¥\8c
14196 ;
14197
14198 24 if((
14199 v®ue
14200  >= 1 && value <= 4294967295)) {
14201
14202 28 
14203         `ASN__CTFAIL
14204 (
14205 ­p_key
14206
14207 td
14208
14209 ¥\8c
14210 ,
14211
14212 30 
14213 td
14214 ->
14215 Çme
14216
14217 __FILE__
14218
14219 __LINE__
14220 );
14221
14222 33 
14223         }
14224 }
14225
14226 39 
14227 a¢_³r_cÚ¡¿\9ats_t
14228  
14229 a¢_PER_ty³_G¿nuÏr\99yP\94iod_cÚ¡r_1
14230  
14231         gCC_NOTUSED
14232  = {
14233
14234 40 { 
14235 APC_CONSTRAINED
14236 , 32, -1, 1, 4294967295 } ,
14237
14238 41 { 
14239 APC_UNCONSTRAINED
14240 , -1, -1, 0, 0 },
14241
14242 44 cڡ 
14243 a¢_INTEGER_¥ecifics_t
14244  
14245         ga¢_SPC_G¿nuÏr\99yP\94iod_¥ecs_1
14246  = {
14247
14248 49 \18cڡ 
14249 b\94_\8ev_\8fg_t
14250  
14251         ga¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
14252 [] = {
14253
14254 50 (
14255 ASN_TAG_CLASS_UNIVERSAL
14256  | (2 << 2))
14257
14258 52 
14259 a¢_TYPE_desü\9dtÜ_t
14260  
14261         ga¢_DEF_G¿nuÏr\99yP\94iod
14262  = {
14263
14264 55 &
14265 a¢_OP_N©iveIÁeg\94
14266 ,
14267
14268 56 
14269 a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
14270 ,
14271
14272 57 \17(
14273 a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
14274 )
14275
14276 58 /\17(
14277 a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
14278 [0]),
14279
14280 59 
14281 a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
14282 ,
14283
14284 60 \17(
14285 a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
14286 )
14287
14288 61 /\17(
14289 a¢_DEF_G¿nuÏr\99yP\94iod_\8fgs_1
14290 [0]),
14291
14292 62 { 0, &
14293 a¢_PER_ty³_G¿nuÏr\99yP\94iod_cÚ¡r_1
14294
14295 G¿nuÏr\99yP\94iod_cÚ¡¿\9at
14296  },
14297
14298 64 &
14299 a¢_SPC_G¿nuÏr\99yP\94iod_¥ecs_1
14300
14301
14302         @GroupID.c
14303
14304\ 2
14305         ~"GroupID.h
14306 "
14307
14308 10 \18
14309 a¢_³r_cÚ¡¿\9ats_t
14310  
14311 a¢_PER_ty³_GroupID_cÚ¡r_1
14312  
14313         gCC_NOTUSED
14314  = {
14315
14316 11 { 
14317 APC_CONSTRAINED
14318  | 
14319 APC_EXTENSIBLE
14320 , 1, 1, 0, 1 } ,
14321
14322 12 { 
14323 APC_UNCONSTRAINED
14324 , -1, -1, 0, 0 },
14325
14326 15 \18
14327 a¢_TYPE_memb\94_t
14328  
14329         ga¢_MBR_GroupID_1
14330 [] = {
14331
14332 16 { 
14333 ATF_NOFLAGS
14334 , 0, 
14335 off£tof
14336 (\19
14337 GroupID
14338
14339 choiû
14340 .
14341 fiveGC
14342 ),
14343
14344 17 (
14345 ASN_TAG_CLASS_CONTEXT
14346  | (0 << 2)),
14347
14348 19 &
14349 a¢_DEF_FiveQI
14350 ,
14351
14352 25 { 
14353 ATF_NOFLAGS
14354 , 0, 
14355 off£tof
14356 (\19
14357 GroupID
14358
14359 choiû
14360 .
14361 ePC
14362 ),
14363
14364 26 (
14365 ASN_TAG_CLASS_CONTEXT
14366  | (1 << 2)),
14367
14368 28 &
14369 a¢_DEF_QCI
14370 ,
14371
14372 35 \18cڡ 
14373 a¢_TYPE_\8fg2memb\94_t
14374  
14375         ga¢_MAP_GroupID_\8fg2\96_1
14376 [] = {
14377
14378 36 { (
14379 ASN_TAG_CLASS_CONTEXT
14380  | (0 << 2)), 0, 0, 0 },
14381
14382 37 { (
14383 ASN_TAG_CLASS_CONTEXT
14384  | (1 << 2)), 1, 0, 0 }
14385
14386 39 \18
14387 a¢_CHOICE_¥ecifics_t
14388  
14389         ga¢_SPC_GroupID_¥ecs_1
14390  = {
14391
14392 40 \17(\19
14393 GroupID
14394 ),
14395
14396 41 
14397 off£tof
14398 (\19
14399 GroupID
14400
14401 _a¢_ùx
14402 ),
14403
14404 42 
14405 off£tof
14406 (\19
14407 GroupID
14408
14409 ´e£Á
14410 ),
14411
14412 43 \17(((\19
14413 GroupID
14414  *)0)->
14415 ´e£Á
14416 ),
14417
14418 44 
14419 a¢_MAP_GroupID_\8fg2\96_1
14420 ,
14421
14422 49 
14423 a¢_TYPE_desü\9dtÜ_t
14424  
14425         ga¢_DEF_GroupID
14426  = {
14427
14428 52 &
14429 a¢_OP_CHOICE
14430 ,
14431
14432 57 { 0, &
14433 a¢_PER_ty³_GroupID_cÚ¡r_1
14434
14435 CHOICE_cÚ¡¿\9at
14436  },
14437
14438 58 
14439 a¢_MBR_GroupID_1
14440 ,
14441
14442 60 &
14443 a¢_SPC_GroupID_¥ecs_1
14444
14445
14446         @INTEGER.c
14447
14448\ 2
14449         ~<a¢_\9a\8bº®.h
14450 >
14451
14452\ 2
14453         ~<INTEGER.h
14454 >
14455
14456\ 2
14457         ~<a¢_codecs_´im.h
14458 >
14459
14460\ 2
14461         ~<\94ºo.h
14462 >
14463
14464 14 \18cڡ 
14465 b\94_\8ev_\8fg_t
14466  
14467         ga¢_DEF_INTEGER_\8fgs
14468 [] = {
14469
14470 15 (
14471 ASN_TAG_CLASS_UNIVERSAL
14472  | (2 << 2))
14473
14474 17 
14475 a¢_TYPE_Ý\94©iÚ_t
14476  
14477         ga¢_OP_INTEGER
14478  = {
14479
14480 18 
14481 INTEGER_ä\93
14482 ,
14483
14484 19 
14485 INTEGER_´\9at
14486 ,
14487
14488 20 
14489 INTEGER_com·»
14490 ,
14491
14492 21 
14493 b\94_decode_´im\99ive
14494 ,
14495
14496 22 
14497 INTEGER_\92code_d\94
14498 ,
14499
14500 23 
14501 INTEGER_decode_x\94
14502 ,
14503
14504 24 
14505 INTEGER_\92code_x\94
14506 ,
14507
14508 25 #ifdeà 
14509 ASN_DISABLE_OER_SUPPORT
14510
14511
14512 29 
14513 INTEGER_decode_Ûr
14514 ,
14515
14516 30 
14517 INTEGER_\92code_Ûr
14518 ,
14519
14520 32 #ifdef 
14521 ASN_DISABLE_PER_SUPPORT
14522
14523
14524 38 
14525 INTEGER_decode_u³r
14526 ,
14527
14528 39 
14529 INTEGER_\92code_u³r
14530 ,
14531
14532 40 
14533 INTEGER_decode_­\94
14534 ,
14535
14536 41 
14537 INTEGER_\92code_­\94
14538 ,
14539
14540 43 
14541 INTEGER_¿ndom_f\9el
14542 ,
14543
14544 46 
14545 a¢_TYPE_desü\9dtÜ_t
14546  
14547         ga¢_DEF_INTEGER
14548  = {
14549
14550 49 &
14551 a¢_OP_INTEGER
14552 ,
14553
14554 50 
14555 a¢_DEF_INTEGER_\8fgs
14556 ,
14557
14558 51 \17(
14559 a¢_DEF_INTEGER_\8fgs
14560 ) / \17(asn_DEF_INTEGER_tags[0]),
14561
14562 52 
14563 a¢_DEF_INTEGER_\8fgs
14564 ,
14565
14566 53 \17(
14567 a¢_DEF_INTEGER_\8fgs
14568 ) / \17(asn_DEF_INTEGER_tags[0]),
14569
14570 54 { 0, 0, 
14571 a¢_g\92\94ic_no_cÚ¡¿\9at
14572  },
14573
14574 62 
14575 a¢_\92c_rv®_t
14576
14577
14578 63 
14579         $INTEGER_\92code_d\94
14580 (cڡ 
14581 a¢_TYPE_desü\9dtÜ_t
14582  *
14583 td
14584 , cڡ \1e*
14585 ¥\8c
14586 ,
14587
14588 64 \12
14589 \8fg_mode
14590
14591 b\94_\8ev_\8fg_t
14592  
14593 \8fg
14594
14595 a¢_­p_cÚsume_by\8bs_f
14596  *
14597 cb
14598 ,
14599
14600 65 \1e*
14601 ­p_key
14602 ) {
14603
14604 66 cڡ 
14605 INTEGER_t
14606  *
14607 ¡
14608  = (cÚ¡ INTEGER_\88*)
14609 ¥\8c
14610 ;
14611
14612 67 
14613 a¢_\92c_rv®_t
14614  
14615 rv®
14616 ;
14617
14618 68 
14619 INTEGER_t
14620  
14621 efãùive_\9a\8bg\94
14622 ;
14623
14624 70 
14625         `ASN_DEBUG
14626 ("%s %s\87s INTEGER (tm=%d)",
14627
14628 71 
14629 cb
14630 ?"Encod\9ag":"E¡im©\9ag", 
14631 td
14632 ->
14633 Çme
14634
14635 \8fg_mode
14636 );
14637
14638 77 if(
14639 ¡
14640 ->
14641 buf
14642 ) {
14643
14644 78 
14645 u\9at8_t
14646  *
14647 buf
14648  = 
14649 ¡
14650 ->buf;
14651
14652 79 
14653 u\9at8_t
14654  *
14655 \92d1
14656  = 
14657 buf
14658  + 
14659 ¡
14660 ->
14661 size
14662  - 1;
14663
14664 80 \12
14665 shiá
14666 ;
14667
14668 83 \ f
14669 buf
14670  < 
14671 \92d1
14672 ; buf++) {
14673
14674 91 \1a*
14675 buf
14676 ) {
14677
14678 92 \ 40x00: if((
14679 buf
14680 [1] & 0x80) == 0)
14681
14682 95 \ 40xff: if((
14683 buf
14684 [1] & 0x80))
14685
14686 103 
14687 shiá
14688  = 
14689 buf
14690  - 
14691 ¡
14692 ->buf;
14693
14694 104 if(
14695 shiá
14696 ) {
14697
14698 106 cڡ 
14699 u\9at8_t
14700  *
14701 c_buf
14702 ;
14703
14704 107 
14705 u\9at8_t
14706  *
14707 nc_buf
14708 ;
14709
14710 108 } 
14711 uncڡ
14712 ;
14713
14714 109 
14715 uncڡ
14716 .
14717 c_buf
14718  = 
14719 ¡
14720 ->
14721 buf
14722 ;
14723
14724 110 
14725 efãùive_\9a\8bg\94
14726 .
14727 buf
14728  = 
14729 uncڡ
14730 .
14731 nc_buf
14732  + 
14733 shiá
14734 ;
14735
14736 111 
14737 efãùive_\9a\8bg\94
14738 .
14739 size
14740  = 
14741 ¡
14742 ->siz\90
14743 shiá
14744 ;
14745
14746 113 
14747 ¡
14748  = &
14749 efãùive_\9a\8bg\94
14750 ;
14751
14752 117 
14753 rv®
14754  = 
14755         `d\94_\92code_´im\99ive
14756 (
14757 td
14758
14759 ¡
14760
14761 \8fg_mode
14762
14763 \8fg
14764
14765 cb
14766
14767 ­p_key
14768 );
14769
14770 118 if(
14771 rv®
14772 .
14773 ¡ruùu»_±r
14774  =ð&
14775 efãùive_\9a\8bg\94
14776 ) {
14777
14778 119 
14779 rv®
14780 .
14781 ¡ruùu»_±r
14782  = 
14783 ¥\8c
14784 ;
14785
14786 121 \15 
14787 rv®
14788 ;
14789
14790 122 
14791         }
14792 }
14793
14794 124 \18cڡ 
14795 a¢_INTEGER_\92um_m­_t
14796  *
14797 INTEGER_m­_\92um2v®ue
14798 (
14799
14800 125 cڡ 
14801 a¢_INTEGER_¥ecifics_t
14802  *
14803 ¥ecs
14804 , cڡ \ 5*
14805 l¡¬t
14806 ,
14807
14808 126 cڡ \ 5*
14809 l¡Ý
14810 );
14811
14812 131 \18
14813 ssize_t
14814
14815
14816 132 
14817         $INTEGER__dump
14818 (cڡ 
14819 a¢_TYPE_desü\9dtÜ_t
14820  *
14821 td
14822 , cڡ 
14823 INTEGER_t
14824  *
14825 ¡
14826
14827 a¢_­p_cÚsume_by\8bs_f
14828  *
14829 cb
14830\1e*
14831 ­p_key
14832\12
14833 ¶a\9aOrXER
14834 ) {
14835
14836 133 cڡ 
14837 a¢_INTEGER_¥ecifics_t
14838  *
14839 ¥ecs
14840  =
14841
14842 134 (cڡ 
14843 a¢_INTEGER_¥ecifics_t
14844  *)
14845 td
14846 ->
14847 ¥ecifics
14848 ;
14849
14850 135 \ 5
14851 sü©ch
14852 [32];
14853
14854 136 
14855 u\9at8_t
14856  *
14857 buf
14858  = 
14859 ¡
14860 ->buf;
14861
14862 137 
14863 u\9at8_t
14864  *
14865 buf_\92d
14866  = 
14867 ¡
14868 ->
14869 buf
14870  + st->
14871 size
14872 ;
14873
14874 138 
14875 \9atmax_t
14876  
14877 v®ue
14878 ;
14879
14880 139 
14881 ssize_t
14882  
14883 wrÙe
14884  = 0;
14885
14886 140 \ 5*
14887 p
14888 ;
14889
14890 141 \12
14891 »t
14892 ;
14893
14894 143 if(
14895 ¥ecs
14896  && s³cs->
14897 f\9bld_unsigÃd
14898 )
14899
14900 144 
14901 »t
14902  = 
14903         `a¢_INTEGER2umax
14904 (
14905 ¡
14906 , (
14907 u\9atmax_t
14908  *)&
14909 v®ue
14910 );
14911
14912 146 
14913 »t
14914  = 
14915         `a¢_INTEGER2imax
14916 (
14917 ¡
14918 , &
14919 v®ue
14920 );
14921
14922 149 if(
14923 »t
14924  == 0) {
14925
14926 150 cڡ 
14927 a¢_INTEGER_\92um_m­_t
14928  *
14929 \96
14930 ;
14931
14932 151 
14933 \96
14934  = (
14935 v®ue
14936  >ð0 || !
14937 ¥ecs
14938  || !¥ecs->
14939 f\9bld_unsigÃd
14940 )
14941
14942 152 ? 
14943         `INTEGER_m­_v®ue2\92um
14944 (
14945 ¥ecs
14946
14947 v®ue
14948 ) : 0;
14949
14950 153 if(
14951 \96
14952 ) {
14953
14954 154 if(
14955 ¶a\9aOrXER
14956  == 0)
14957
14958 155 \15 
14959         `a¢__fÜm©_to_ÿÎback
14960 (
14961 cb
14962
14963 ­p_key
14964 ,
14965
14966 156 "%" 
14967 ASN_PRIdMAX
14968  " (%s)", 
14969 v®ue
14970
14971 \96
14972 ->
14973 \92um_Çme
14974 );
14975
14976 158 \15 
14977         `a¢__fÜm©_to_ÿÎback
14978 (
14979 cb
14980
14981 ­p_key
14982 ,
14983
14984 159 "<%s/>", 
14985 \96
14986 ->
14987 \92um_Çme
14988 );
14989
14990 160 } \vif(
14991 ¶a\9aOrXER
14992  && 
14993 ¥ecs
14994  && s³cs->
14995 ¡riù_\92um\94©iÚ
14996 ) {
14997
14998 161 
14999         `ASN_DEBUG
15000 ("ASN.1 forbids dealing with "
15001
15002 163 
15003 \94ºo
15004  = 
15005 EPERM
15006 ;
15007
15008 166 \15 
15009         `a¢__fÜm©_to_ÿÎback
15010 (
15011 cb
15012
15013 ­p_key
15014 ,
15015
15016 167 (
15017 ¥ecs
15018  && s³cs->
15019 f\9bld_unsigÃd
15020 )
15021
15022 168 ? "%" 
15023 ASN_PRIuMAX
15024
15025
15026 169 : "%" 
15027 ASN_PRIdMAX
15028 ,
15029
15030 170 
15031 v®ue
15032 );
15033
15034 172 } \vif(
15035 ¶a\9aOrXER
15036  && 
15037 ¥ecs
15038  && s³cs->
15039 ¡riù_\92um\94©iÚ
15040 ) {
15041
15042 177 
15043         `ASN_DEBUG
15044 ("ASN.1 forbids dealing with "
15045
15046 179 
15047 \94ºo
15048  = 
15049 EPERM
15050 ;
15051
15052 185 \ f
15053 p
15054  = 
15055 sü©ch
15056
15057 buf
15058  < 
15059 buf_\92d
15060 ; buf++) {
15061
15062 186 cڡ \ 5* cڡ 
15063 h2c
15064  = "0123456789ABCDEF";
15065
15066 187 if((
15067 p
15068  - 
15069 sü©ch
15070 è>ð(
15071 ssize_t
15072 )(\17(scratch) - 4)) {
15073
15074 189 if(
15075         `cb
15076 (
15077 sü©ch
15078
15079 p
15080  - sü©ch, 
15081 ­p_key
15082 ) < 0)
15083
15084 191 
15085 wrÙe
15086  +ð
15087 p
15088  - 
15089 sü©ch
15090 ;
15091
15092 192 
15093 p
15094  = 
15095 sü©ch
15096 ;
15097
15098 194 *
15099 p
15100 ++ = 
15101 h2c
15102 [*
15103 buf
15104  >> 4];
15105
15106 195 *
15107 p
15108 ++ = 
15109 h2c
15110 [*
15111 buf
15112  & 0x0F];
15113
15114 196 *
15115 p
15116 ++ = 0x3a;
15117
15118 198 if(
15119 p
15120  !ð
15121 sü©ch
15122 )
15123
15124 199 
15125 p
15126 --;
15127
15128 201 
15129 wrÙe
15130  +ð
15131 p
15132  - 
15133 sü©ch
15134 ;
15135
15136 202 \15 (
15137         `cb
15138 (
15139 sü©ch
15140
15141 p
15142  - sü©ch, 
15143 ­p_key
15144 è< 0è? -1 : 
15145 wrÙe
15146 ;
15147
15148 203 
15149         }
15150 }
15151
15152 209 
15153         $INTEGER_´\9at
15154 (cڡ 
15155 a¢_TYPE_desü\9dtÜ_t
15156  *
15157 td
15158 , cڡ \1e*
15159 ¥\8c
15160\12
15161 \9eev\96
15162 ,
15163
15164 210 
15165 a¢_­p_cÚsume_by\8bs_f
15166  *
15167 cb
15168\1e*
15169 ­p_key
15170 ) {
15171
15172 211 cڡ 
15173 INTEGER_t
15174  *
15175 ¡
15176  = (cÚ¡ INTEGER_\88*)
15177 ¥\8c
15178 ;
15179
15180 212 
15181 ssize_t
15182  
15183 »t
15184 ;
15185
15186 214 (\1e)
15187 \9eev\96
15188 ;
15189
15190 216 if(!
15191 ¡
15192  || !¡->
15193 buf
15194 )
15195
15196 217 
15197 »t
15198  = 
15199         `cb
15200 ("<ab£Á>", 8, 
15201 ­p_key
15202 );
15203
15204 219 
15205 »t
15206  = 
15207         `INTEGER__dump
15208 (
15209 td
15210
15211 ¡
15212
15213 cb
15214
15215 ­p_key
15216 , 0);
15217
15218 221 \15 (
15219 »t
15220  < 0) ? -1 : 0;
15221
15222 222 
15223         }
15224 }
15225
15226 224 \19
15227         se2v_key
15228  {
15229
15230 225 cڡ \ 5*
15231         m¡¬t
15232 ;
15233
15234 226 cڡ \ 5*
15235         m¡Ý
15236 ;
15237
15238 227 cڡ 
15239 a¢_INTEGER_\92um_m­_t
15240  *
15241         mvem­
15242 ;
15243
15244 228 cڡ \1d\12*
15245         mevm­
15246 ;
15247
15248 231 
15249         $INTEGER__com·r_\92um2v®ue
15250 (cڡ \1e*
15251 kp
15252 , cڡ \1e*
15253 am
15254 ) {
15255
15256 232 cڡ \19
15257 e2v_key
15258  *
15259 key
15260  = (cڡ \19e2v_key *)
15261 kp
15262 ;
15263
15264 233 cڡ 
15265 a¢_INTEGER_\92um_m­_t
15266  *
15267 \96
15268  = (cÚ¡\87¢_INTEGER_\92um_m­_\88*)
15269 am
15270 ;
15271
15272 234 cڡ \ 5*
15273 ±r
15274 , *
15275 \92d
15276 , *
15277 Çme
15278 ;
15279
15280 237 
15281 \96
15282  = 
15283 key
15284 ->
15285 vem­
15286  + key->
15287 evm­
15288 [el - key->vemap];
15289
15290 240 \ f
15291 ±r
15292  = 
15293 key
15294 ->
15295 ¡¬t
15296
15297 \92d
15298  = key->
15299 ¡Ý
15300
15301 Çme
15302  = 
15303 \96
15304 ->
15305 \92um_Çme
15306 ;
15307
15308 241 
15309 ±r
15310  < 
15311 \92d
15312 ;\85\8c++, 
15313 Çme
15314 ++) {
15315
15316 242 if(*
15317 ±r
15318  !ð*
15319 Çme
15320  || !*name)
15321
15322 243 \15 *(cڡ \1d\ 5*)
15323 ±r
15324
15325
15326 244 - *(cڡ \1d\ 5*)
15327 Çme
15328 ;
15329
15330 246 \15 
15331 Çme
15332 [0] ? -1 : 0;
15333
15334 247 
15335         }
15336 }
15337
15338 249 \18cڡ 
15339 a¢_INTEGER_\92um_m­_t
15340  *
15341
15342 250 
15343         $INTEGER_m­_\92um2v®ue
15344 (cڡ 
15345 a¢_INTEGER_¥ecifics_t
15346  *
15347 ¥ecs
15348 , cڡ \ 5*
15349 l¡¬t
15350 ,
15351
15352 251 cڡ \ 5*
15353 l¡Ý
15354 ) {
15355
15356 252 cڡ 
15357 a¢_INTEGER_\92um_m­_t
15358  *
15359 \96_found
15360 ;
15361
15362 253 \12
15363 couÁ
15364  = 
15365 ¥ecs
15366  ? s³cs->
15367 m­_couÁ
15368  : 0;
15369
15370 254 \19
15371 e2v_key
15372  
15373 key
15374 ;
15375
15376 255 cڡ \ 5*
15377 Í
15378 ;
15379
15380 257 if(!
15381 couÁ
15382 è\15 
15383 NULL
15384 ;
15385
15386 261 \ f
15387 l¡¬t
15388 ++, 
15389 Í
15390  =\86¡¬t;\86°< 
15391 l¡Ý
15392 ;\86p++) {
15393
15394 262 \1a*
15395 Í
15396 ) {
15397
15398 271 if(
15399 Í
15400  =ð
15401 l¡Ý
15402 è\15 
15403 NULL
15404 ;
15405
15406 272 
15407 l¡Ý
15408  = 
15409 Í
15410 ;
15411
15412 274 
15413 key
15414 .
15415 ¡¬t
15416  = 
15417 l¡¬t
15418 ;
15419
15420 275 
15421 key
15422 .
15423 ¡Ý
15424  = 
15425 l¡Ý
15426 ;
15427
15428 276 
15429 key
15430 .
15431 vem­
15432  = 
15433 ¥ecs
15434 ->
15435 v®ue2\92um
15436 ;
15437
15438 277 
15439 key
15440 .
15441 evm­
15442  = 
15443 ¥ecs
15444 ->
15445 \92um2v®ue
15446 ;
15447
15448 278 
15449 \96_found
15450  = (
15451 a¢_INTEGER_\92um_m­_t
15452  *)
15453         `b£¬ch
15454 (&
15455 key
15456 ,
15457
15458 279 
15459 ¥ecs
15460 ->
15461 v®ue2\92um
15462
15463 couÁ
15464\17(specs->value2enum[0]),
15465
15466 280 
15467 INTEGER__com·r_\92um2v®ue
15468 );
15469
15470 281 if(
15471 \96_found
15472 ) {
15473
15474 283 
15475 \96_found
15476  = 
15477 key
15478 .
15479 vem­
15480  + key.
15481 evm­
15482 [el_found - key.vemap];
15483
15484 285 \15 
15485 \96_found
15486 ;
15487
15488 286 
15489         }
15490 }
15491
15492 289 
15493         $INTEGER__com·r_v®ue2\92um
15494 (cڡ \1e*
15495 kp
15496 , cڡ \1e*
15497 am
15498 ) {
15499
15500 290 \13
15501 a
15502  = *(cڡ \13*)
15503 kp
15504 ;
15505
15506 291 cڡ 
15507 a¢_INTEGER_\92um_m­_t
15508  *
15509 \96
15510  = (cÚ¡\87¢_INTEGER_\92um_m­_\88*)
15511 am
15512 ;
15513
15514 292 \13
15515 b
15516  = 
15517 \96
15518 ->
15519 Çt_v®ue
15520 ;
15521
15522 293 if(
15523 a
15524  < 
15525 b
15526\15 -1;
15527
15528 294 \vif(
15529 a
15530  =ð
15531 b
15532\15 0;
15533
15534 296 
15535         }
15536 }
15537
15538 298 cڡ 
15539 a¢_INTEGER_\92um_m­_t
15540  *
15541
15542 299 
15543         $INTEGER_m­_v®ue2\92um
15544 (cڡ 
15545 a¢_INTEGER_¥ecifics_t
15546  *
15547 ¥ecs
15548\13
15549 v®ue
15550 ) {
15551
15552 300 \12
15553 couÁ
15554  = 
15555 ¥ecs
15556  ? s³cs->
15557 m­_couÁ
15558  : 0;
15559
15560 301 if(!
15561 couÁ
15562\15 0;
15563
15564 302 \15 (
15565 a¢_INTEGER_\92um_m­_t
15566  *)
15567         `b£¬ch
15568 (&
15569 v®ue
15570
15571 ¥ecs
15572 ->
15573 v®ue2\92um
15574 ,
15575
15576 303 
15577 couÁ
15578\17(
15579 ¥ecs
15580 ->
15581 v®ue2\92um
15582 [0]),
15583
15584 304 
15585 INTEGER__com·r_v®ue2\92um
15586 );
15587
15588 305 
15589         }
15590 }
15591
15592 308 
15593         $INTEGER_¡_´\97Îoc
15594 (
15595 INTEGER_t
15596  *
15597 ¡
15598\12
15599 m\9a_size
15600 ) {
15601
15602 309 \1e*
15603 p
15604  = 
15605         `MALLOC
15606 (
15607 m\9a_size
15608  + 1);
15609
15610 310 if(
15611 p
15612 ) {
15613
15614 311 \1e*
15615 b
15616  = 
15617 ¡
15618 ->
15619 buf
15620 ;
15621
15622 312 
15623 ¡
15624 ->
15625 size
15626  = 0;
15627
15628 313 
15629 ¡
15630 ->
15631 buf
15632  = 
15633 p
15634 ;
15635
15636 314 
15637         `FREEMEM
15638 (
15639 b
15640 );
15641
15642 319 
15643         }
15644 }
15645
15646 324 \18\f
15647 x\94_pbd_rv®
15648
15649
15650 325 
15651         $INTEGER__x\94_body_decode
15652 (cڡ 
15653 a¢_TYPE_desü\9dtÜ_t
15654  *
15655 td
15656\1e*
15657 ¥\8c
15658 ,
15659
15660 326 cڡ \1e*
15661 chunk_buf
15662
15663 size_t
15664  
15665 chunk_size
15666 ) {
15667
15668 327 cڡ 
15669 a¢_INTEGER_¥ecifics_t
15670  *
15671 ¥ecs
15672  =
15673
15674 328 (cڡ 
15675 a¢_INTEGER_¥ecifics_t
15676  *)
15677 td
15678 ->
15679 ¥ecifics
15680 ;
15681
15682 329 
15683 INTEGER_t
15684  *
15685 ¡
15686  = (INTEGER_\88*)
15687 ¥\8c
15688 ;
15689
15690 330 
15691 \9atmax_t
15692  
15693 dec_v®ue
15694 ;
15695
15696 331 
15697 \9atmax_t
15698  
15699 hex_v®ue
15700  = 0;
15701
15702 332 cڡ \ 5*
15703 Í
15704 ;
15705
15706 333 cڡ \ 5*
15707 l¡¬t
15708  = (cڡ \ 5*)
15709 chunk_buf
15710 ;
15711
15712 334 cڡ \ 5*
15713 l¡Ý
15714  = 
15715 l¡¬t
15716  + 
15717 chunk_size
15718 ;
15719
15720 336 
15721 ST_LEADSPACE
15722 ,
15723
15724 337 
15725 ST_SKIPSPHEX
15726 ,
15727
15728 338 
15729 ST_WAITDIGITS
15730 ,
15731
15732 339 
15733 ST_DIGITS
15734 ,
15735
15736 340 
15737 ST_DIGITS_TRAILSPACE
15738 ,
15739
15740 341 
15741 ST_HEXDIGIT1
15742 ,
15743
15744 342 
15745 ST_HEXDIGIT2
15746 ,
15747
15748 343 
15749 ST_HEXDIGITS_TRAILSPACE
15750 ,
15751
15752 344 
15753 ST_HEXCOLON
15754 ,
15755
15756 345 
15757 ST_END_ENUM
15758 ,
15759
15760 346 
15761 ST_UNEXPECTED
15762
15763
15764 347 } 
15765 ¡©e
15766  = 
15767 ST_LEADSPACE
15768 ;
15769
15770 348 cڡ \ 5*
15771 dec_v®ue_¡¬t
15772  = 0;
15773
15774 349 cڡ \ 5*
15775 dec_v®ue_\92d
15776  = 0;
15777
15778 351 if(
15779 chunk_size
15780 )
15781
15782 352 
15783         `ASN_DEBUG
15784 ("INTEGER body %ld 0x%2x..0x%2x",
15785
15786 353 (\13)
15787 chunk_size
15788 , *
15789 l¡¬t
15790
15791 l¡Ý
15792 [-1]);
15793
15794 355 if(
15795         `INTEGER_¡_´\97Îoc
15796 (
15797 ¡
15798 , (
15799 chunk_size
15800 /3) + 1))
15801
15802 356 \15 
15803 XPBD_SYSTEM_FAILURE
15804 ;
15805
15806 362 \ f
15807 Í
15808  = 
15809 l¡¬t
15810 ;\86°< 
15811 l¡Ý
15812 ;\86p++) {
15813
15814 363 \12
15815 lv
15816  = *
15817 Í
15818 ;
15819
15820 364 \1a
15821 lv
15822 ) {
15823
15824 366 \1a
15825 ¡©e
15826 ) {
15827
15828 367 \ 4
15829 ST_LEADSPACE
15830 :
15831
15832 368 \ 4
15833 ST_DIGITS_TRAILSPACE
15834 :
15835
15836 369 \ 4
15837 ST_HEXDIGITS_TRAILSPACE
15838 :
15839
15840 370 \ 4
15841 ST_SKIPSPHEX
15842 :
15843
15844 372 \ 4
15845 ST_DIGITS
15846 :
15847
15848 373 
15849 dec_v®ue_\92d
15850  = 
15851 Í
15852 ;
15853
15854 374 
15855 ¡©e
15856  = 
15857 ST_DIGITS_TRAILSPACE
15858 ;
15859
15860 376 \ 4
15861 ST_HEXCOLON
15862 :
15863
15864 377 
15865 ¡©e
15866  = 
15867 ST_HEXDIGITS_TRAILSPACE
15868 ;
15869
15870 384 if(
15871 ¡©e
15872  =ð
15873 ST_LEADSPACE
15874 ) {
15875
15876 385 
15877 dec_v®ue
15878  = 0;
15879
15880 386 
15881 dec_v®ue_¡¬t
15882  = 
15883 Í
15884 ;
15885
15886 387 
15887 ¡©e
15888  = 
15889 ST_WAITDIGITS
15890 ;
15891
15892 392 if(
15893 ¡©e
15894  =ð
15895 ST_LEADSPACE
15896 ) {
15897
15898 393 
15899 dec_v®ue
15900  = 0;
15901
15902 394 
15903 dec_v®ue_¡¬t
15904  = 
15905 Í
15906 ;
15907
15908 395 
15909 ¡©e
15910  = 
15911 ST_WAITDIGITS
15912 ;
15913
15914 401 \1a
15915 ¡©e
15916 ) {
15917
15918 402 \ 4
15919 ST_DIGITS
15920\ 6;
15921
15922 403 \ 4
15923 ST_SKIPSPHEX
15924 :
15925
15926 404 \ 4
15927 ST_HEXDIGIT1
15928 :
15929
15930 405 
15931 hex_v®ue
15932  = (
15933 lv
15934  - 0x30) << 4;
15935
15936 406 
15937 ¡©e
15938  = 
15939 ST_HEXDIGIT2
15940 ;
15941
15942 408 \ 4
15943 ST_HEXDIGIT2
15944 :
15945
15946 409 
15947 hex_v®ue
15948  +ð(
15949 lv
15950  - 0x30);
15951
15952 410 
15953 ¡©e
15954  = 
15955 ST_HEXCOLON
15956 ;
15957
15958 411 
15959 ¡
15960 ->
15961 buf
15962 [¡->
15963 size
15964 ++] = (
15965 u\9at8_t
15966 )
15967 hex_v®ue
15968 ;
15969
15970 413 \ 4
15971 ST_HEXCOLON
15972 :
15973
15974 414 \15 
15975 XPBD_BROKEN_ENCODING
15976 ;
15977
15978 415 \ 4
15979 ST_LEADSPACE
15980 :
15981
15982 416 
15983 dec_v®ue
15984  = 0;
15985
15986 417 
15987 dec_v®ue_¡¬t
15988  = 
15989 Í
15990 ;
15991
15992 419 \ 4
15993 ST_WAITDIGITS
15994 :
15995
15996 420 
15997 ¡©e
15998  = 
15999 ST_DIGITS
16000 ;
16001
16002 427 if(
16003 ¡©e
16004  =ð
16005 ST_LEADSPACE
16006 ) {
16007
16008 428 cڡ 
16009 a¢_INTEGER_\92um_m­_t
16010  *
16011 \96
16012 ;
16013
16014 429 
16015 \96
16016  = 
16017         `INTEGER_m­_\92um2v®ue
16018 (
16019
16020 430 (cڡ 
16021 a¢_INTEGER_¥ecifics_t
16022  *)
16023
16024 431 
16025 td
16026 ->
16027 ¥ecifics
16028
16029 l¡¬t
16030
16031 l¡Ý
16032 );
16033
16034 432 if(
16035 \96
16036 ) {
16037
16038 433 
16039         `ASN_DEBUG
16040 ("Found \"%s\" => %ld",
16041
16042 434 
16043 \96
16044 ->
16045 \92um_Çme
16046 ,\83l->
16047 Çt_v®ue
16048 );
16049
16050 435 
16051 dec_v®ue
16052  = 
16053 \96
16054 ->
16055 Çt_v®ue
16056 ;
16057
16058 436 
16059 ¡©e
16060  = 
16061 ST_END_ENUM
16062 ;
16063
16064 437 
16065 Í
16066  = 
16067 l¡Ý
16068  - 1;
16069
16070 440 
16071         `ASN_DEBUG
16072 ("Unknown identifier for INTEGER");
16073
16074 442 \15 
16075 XPBD_BROKEN_ENCODING
16076 ;
16077
16078 444 if(
16079 ¡©e
16080  =ð
16081 ST_HEXCOLON
16082 ) {
16083
16084 446 
16085 ¡©e
16086  = 
16087 ST_HEXDIGIT1
16088 ;
16089
16090 448 } \vif(
16091 ¡©e
16092  =ð
16093 ST_DIGITS
16094 ) {
16095
16096 453 
16097         `ASN_DEBUG
16098 ("INTEGER\84e-evaluate\87s hex form");
16099
16100 454 
16101 ¡©e
16102  = 
16103 ST_SKIPSPHEX
16104 ;
16105
16106 455 
16107 dec_v®ue_¡¬t
16108  = 0;
16109
16110 456 
16111 Í
16112  = 
16113 l¡¬t
16114  - 1;
16115
16116 459 
16117         `ASN_DEBUG
16118 ("¡©\90%d\87\88%ld", 
16119 ¡©e
16120 , (\13)(
16121 Í
16122  - 
16123 l¡¬t
16124 ));
16125
16126 465 \1a
16127 ¡©e
16128 ) {
16129
16130 466 \ 4
16131 ST_SKIPSPHEX
16132 :
16133
16134 467 \ 4
16135 ST_LEADSPACE
16136 :
16137
16138 468 \ 4
16139 ST_HEXDIGIT1
16140 :
16141
16142 469 
16143 hex_v®ue
16144  = 
16145 lv
16146  - ((lv < 0x61) ? 0x41 : 0x61);
16147
16148 470 
16149 hex_v®ue
16150  += 10;
16151
16152 471 
16153 hex_v®ue
16154  <<= 4;
16155
16156 472 
16157 ¡©e
16158  = 
16159 ST_HEXDIGIT2
16160 ;
16161
16162 474 \ 4
16163 ST_HEXDIGIT2
16164 :
16165
16166 475 
16167 hex_v®ue
16168  +ð
16169 lv
16170  - ((lv < 0x61) ? 0x41 : 0x61);
16171
16172 476 
16173 hex_v®ue
16174  += 10;
16175
16176 477 
16177 ¡
16178 ->
16179 buf
16180 [¡->
16181 size
16182 ++] = (
16183 u\9at8_t
16184 )
16185 hex_v®ue
16186 ;
16187
16188 478 
16189 ¡©e
16190  = 
16191 ST_HEXCOLON
16192 ;
16193
16194 480 \ 4
16195 ST_DIGITS
16196 :
16197
16198 481 
16199         `ASN_DEBUG
16200 ("INTEGER\84e-evaluate\87s hex form");
16201
16202 482 
16203 ¡©e
16204  = 
16205 ST_SKIPSPHEX
16206 ;
16207
16208 483 
16209 dec_v®ue_¡¬t
16210  = 0;
16211
16212 484 
16213 Í
16214  = 
16215 l¡¬t
16216  - 1;
16217
16218 493 
16219         `ASN_DEBUG
16220 ("INTEGER :: Found\82on-numeric 0x%2x\87t %ld",
16221
16222 494 
16223 lv
16224 , (\13)(
16225 Í
16226  - 
16227 l¡¬t
16228 ));
16229
16230 495 
16231 ¡©e
16232  = 
16233 ST_UNEXPECTED
16234 ;
16235
16236 499 \1a
16237 ¡©e
16238 ) {
16239
16240 500 \ 4
16241 ST_END_ENUM
16242 :
16243
16244 503 \ 4
16245 ST_DIGITS
16246 :
16247
16248 504 
16249 dec_v®ue_\92d
16250  = 
16251 l¡Ý
16252 ;
16253
16254 506 \ 4
16255 ST_DIGITS_TRAILSPACE
16256 :
16257
16258 508 \1a
16259         `a¢_¡¹oimax_lim
16260 (
16261 dec_v®ue_¡¬t
16262 , &
16263 dec_v®ue_\92d
16264 , &
16265 dec_v®ue
16266 )) {
16267
16268 509 \ 4
16269 ASN_STRTOX_OK
16270 :
16271
16272 510 if(
16273 ¥ecs
16274  && s³cs->
16275 f\9bld_unsigÃd
16276  && (
16277 u\9atmax_t
16278 è
16279 dec_v®ue
16280  <ð
16281 ULONG_MAX
16282 ) {
16283
16284 512 } \vif(
16285 dec_v®ue
16286  >ð
16287 LONG_MIN
16288  && dec_v®u\90
16289 LONG_MAX
16290 ) {
16291
16292 519 
16293         `ASN_DEBUG
16294 ("INTEGER\83xceeds\86ong\84ange");
16295
16296 522 \ 4
16297 ASN_STRTOX_ERROR_RANGE
16298 :
16299
16300 523 
16301         `ASN_DEBUG
16302 ("INTEGER decod\90% h\99\84ªg\90lim\99", 
16303 td
16304 ->
16305 Çme
16306 );
16307
16308 524 \15 
16309 XPBD_DECODER_LIMIT
16310 ;
16311
16312 525 \ 4
16313 ASN_STRTOX_ERROR_INVAL
16314 :
16315
16316 526 \ 4
16317 ASN_STRTOX_EXPECT_MORE
16318 :
16319
16320 527 \ 4
16321 ASN_STRTOX_EXTRA_DATA
16322 :
16323
16324 528 \15 
16325 XPBD_BROKEN_ENCODING
16326 ;
16327
16328 531 \ 4
16329 ST_HEXCOLON
16330 :
16331
16332 532 \ 4
16333 ST_HEXDIGITS_TRAILSPACE
16334 :
16335
16336 533 
16337 ¡
16338 ->
16339 buf
16340 [¡->
16341 size
16342 ] = 0;
16343
16344 534 \15 
16345 XPBD_BODY_CONSUMED
16346 ;
16347
16348 535 \ 4
16349 ST_HEXDIGIT1
16350 :
16351
16352 536 \ 4
16353 ST_HEXDIGIT2
16354 :
16355
16356 537 \ 4
16357 ST_SKIPSPHEX
16358 :
16359
16360 538 \15 
16361 XPBD_BROKEN_ENCODING
16362 ;
16363
16364 539 \ 4
16365 ST_LEADSPACE
16366 :
16367
16368 541 \15 
16369 XPBD_NOT_BODY_IGNORE
16370 ;
16371
16372 542 \ 4
16373 ST_WAITDIGITS
16374 :
16375
16376 543 \ 4
16377 ST_UNEXPECTED
16378 :
16379
16380 544 
16381         `ASN_DEBUG
16382 ("INTEGER: NØu£fuÈdig\99 (¡©\90%d)", 
16383 ¡©e
16384 );
16385
16386 545 \15 
16387 XPBD_BROKEN_ENCODING
16388 ;
16389
16390 552 if(
16391         `a¢_imax2INTEGER
16392 (
16393 ¡
16394
16395 dec_v®ue
16396 )) {
16397
16398 553 
16399         `ASN_DEBUG
16400 ("INTEGER decod\90% cÚv\94siÚ fa\9eed", 
16401 td
16402 ->
16403 Çme
16404 );
16405
16406 554 \15 
16407 XPBD_SYSTEM_FAILURE
16408 ;
16409
16410 557 \15 
16411 XPBD_BODY_CONSUMED
16412 ;
16413
16414 558 
16415         }
16416 }
16417
16418 560 
16419 a¢_dec_rv®_t
16420
16421
16422 561 
16423         $INTEGER_decode_x\94
16424 (cڡ 
16425 a¢_codec_ùx_t
16426  *
16427 Ýt_codec_ùx
16428 ,
16429
16430 562 cڡ 
16431 a¢_TYPE_desü\9dtÜ_t
16432  *
16433 td
16434\1e**
16435 ¥\8c
16436 ,
16437
16438 563 cڡ \ 5*
16439 Ýt_mÇme
16440 , cڡ \1e*
16441 buf_±r
16442
16443 size_t
16444  
16445 size
16446 ) {
16447
16448 564 \15 
16449         `x\94_decode_´im\99ive
16450 (
16451 Ýt_codec_ùx
16452
16453 td
16454 ,
16455
16456 565 
16457 ¥\8c
16458\17(
16459 INTEGER_t
16460 ), 
16461 Ýt_mÇme
16462 ,
16463
16464 566 
16465 buf_±r
16466
16467 size
16468
16469 INTEGER__x\94_body_decode
16470 );
16471
16472 567 
16473         }
16474 }
16475
16476 569 
16477 a¢_\92c_rv®_t
16478
16479
16480 570 
16481         $INTEGER_\92code_x\94
16482 (cڡ 
16483 a¢_TYPE_desü\9dtÜ_t
16484  *
16485 td
16486 , cڡ \1e*
16487 ¥\8c
16488 ,
16489
16490 571 \12
16491 \9eev\96
16492\f
16493 x\94_\92cod\94_æags_e
16494  
16495 æags
16496 ,
16497
16498 572 
16499 a¢_­p_cÚsume_by\8bs_f
16500  *
16501 cb
16502\1e*
16503 ­p_key
16504 ) {
16505
16506 573 cڡ 
16507 INTEGER_t
16508  *
16509 ¡
16510  = (cÚ¡ INTEGER_\88*)
16511 ¥\8c
16512 ;
16513
16514 574 
16515 a¢_\92c_rv®_t
16516  
16517 \94
16518  = {0,0,0};
16519
16520 576 (\1e)
16521 \9eev\96
16522 ;
16523
16524 577 (\1e)
16525 æags
16526 ;
16527
16528 579 if(!
16529 ¡
16530  || !¡->
16531 buf
16532 )
16533
16534 580 
16535 ASN__ENCODE_FAILED
16536 ;
16537
16538 582 
16539 \94
16540 .
16541 \92coded
16542  = 
16543         `INTEGER__dump
16544 (
16545 td
16546
16547 ¡
16548
16549 cb
16550
16551 ­p_key
16552 , 1);
16553
16554 583 if(
16555 \94
16556 .
16557 \92coded
16558  < 0è
16559 ASN__ENCODE_FAILED
16560 ;
16561
16562 585 
16563         `ASN__ENCODED_OK
16564 (
16565 \94
16566 );
16567
16568 586 
16569         }
16570 }
16571
16572 588 #iâdef 
16573 ASN_DISABLE_PER_SUPPORT
16574
16575
16576 590 
16577 a¢_dec_rv®_t
16578
16579
16580 591 
16581         $INTEGER_decode_u³r
16582 (cڡ 
16583 a¢_codec_ùx_t
16584  *
16585 Ýt_codec_ùx
16586 ,
16587
16588 592 cڡ 
16589 a¢_TYPE_desü\9dtÜ_t
16590  *
16591 td
16592 ,
16593
16594 593 cڡ 
16595 a¢_³r_cÚ¡¿\9ats_t
16596  *
16597 cÚ¡¿\9ats
16598\1e**
16599 ¥\8c
16600 ,
16601
16602 594 
16603 a¢_³r_d©a_t
16604  *
16605 pd
16606 ) {
16607
16608 595 cڡ 
16609 a¢_INTEGER_¥ecifics_t
16610  *
16611 ¥ecs
16612  =
16613
16614 596 (cڡ 
16615 a¢_INTEGER_¥ecifics_t
16616  *)
16617 td
16618 ->
16619 ¥ecifics
16620 ;
16621
16622 597 
16623 a¢_dec_rv®_t
16624  
16625 rv®
16626  = { 
16627 RC_OK
16628 , 0 };
16629
16630 598 
16631 INTEGER_t
16632  *
16633 ¡
16634  = (INTEGER_\88*)*
16635 ¥\8c
16636 ;
16637
16638 599 cڡ 
16639 a¢_³r_cÚ¡¿\9at_t
16640  *
16641 ù
16642 ;
16643
16644 600 \12
16645 »³©
16646 ;
16647
16648 602 (\1e)
16649 Ýt_codec_ùx
16650 ;
16651
16652 604 if(!
16653 ¡
16654 ) {
16655
16656 605 
16657 ¡
16658  = (
16659 INTEGER_t
16660  *)(*
16661 ¥\8c
16662  = 
16663         `CALLOC
16664 (1, \17(*st)));
16665
16666 606 if(!
16667 ¡
16668 è
16669 ASN__DECODE_FAILED
16670 ;
16671
16672 609 if(!
16673 cÚ¡¿\9ats
16674 ècÚ¡¿\9at ð
16675 td
16676 ->
16677 \92cod\9ag_cÚ¡¿\9ats
16678 .
16679 ³r_cÚ¡¿\9ats
16680 ;
16681
16682 610 
16683 ù
16684  = 
16685 cÚ¡¿\9ats
16686  ? &cÚ¡¿\9ats->
16687 v®ue
16688  : 0;
16689
16690 612 if(
16691 ù
16692  && ct->
16693 æags
16694  & 
16695 APC_EXTENSIBLE
16696 ) {
16697
16698 613 \12
16699 \9aext
16700  = 
16701         `³r_g\91_ãw_b\99s
16702 (
16703 pd
16704 , 1);
16705
16706 614 if(
16707 \9aext
16708  < 0è
16709 ASN__DECODE_STARVED
16710 ;
16711
16712 615 if(
16713 \9aext
16714 è
16715 ù
16716  = 0;
16717
16718 618 
16719         `FREEMEM
16720 (
16721 ¡
16722 ->
16723 buf
16724 );
16725
16726 619 
16727 ¡
16728 ->
16729 buf
16730  = 0;
16731
16732 620 
16733 ¡
16734 ->
16735 size
16736  = 0;
16737
16738 621 if(
16739 ù
16740 ) {
16741
16742 622 if(
16743 ù
16744 ->
16745 æags
16746  & 
16747 APC_SEMI_CONSTRAINED
16748 ) {
16749
16750 623 
16751 ¡
16752 ->
16753 buf
16754  = (
16755 u\9at8_t
16756  *)
16757         `CALLOC
16758 (1, 2);
16759
16760 624 if(!
16761 ¡
16762 ->
16763 buf
16764 è
16765 ASN__DECODE_FAILED
16766 ;
16767
16768 625 
16769 ¡
16770 ->
16771 size
16772  = 1;
16773
16774 626 } \vif(
16775 ù
16776 ->
16777 æags
16778  & 
16779 APC_CONSTRAINED
16780  && ct->
16781 ¿nge_b\99s
16782  >= 0) {
16783
16784 627 
16785 size_t
16786  
16787 size
16788  = (
16789 ù
16790 ->
16791 ¿nge_b\99s
16792  + 7) >> 3;
16793
16794 628 
16795 ¡
16796 ->
16797 buf
16798  = (
16799 u\9at8_t
16800  *)
16801         `MALLOC
16802 (1 + 
16803 size
16804  + 1);
16805
16806 629 if(!
16807 ¡
16808 ->
16809 buf
16810 è
16811 ASN__DECODE_FAILED
16812 ;
16813
16814 630 
16815 ¡
16816 ->
16817 size
16818  = size;
16819
16820 635 if(
16821 ù
16822  && ct->
16823 æags
16824  !ð
16825 APC_UNCONSTRAINED
16826 ) {
16827
16828 637 
16829         `ASN_DEBUG
16830 ("IÁeg\94 w\99h\84ªg\90%d b\99s", 
16831 ù
16832 ->
16833 ¿nge_b\99s
16834 );
16835
16836 638 if(
16837 ù
16838 ->
16839 ¿nge_b\99s
16840  >= 0) {
16841
16842 639 if((
16843 size_t
16844 )
16845 ù
16846 ->
16847 ¿nge_b\99s
16848  > 8 * \17(\1d\13))
16849
16850 640 
16851 ASN__DECODE_FAILED
16852 ;
16853
16854 642 if(
16855 ¥ecs
16856  && s³cs->
16857 f\9bld_unsigÃd
16858 ) {
16859
16860 643 \1d\13
16861 uv®ue
16862  = 0;
16863
16864 644 if(
16865         `u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
16866 (
16867 pd
16868 ,
16869
16870 645 &
16871 uv®ue
16872
16873 ù
16874 ->
16875 ¿nge_b\99s
16876 ))
16877
16878 646 
16879 ASN__DECODE_STARVED
16880 ;
16881
16882 647 
16883         `ASN_DEBUG
16884 ("Got value %lu +\86ow %ld",
16885
16886 648 
16887 uv®ue
16888
16889 ù
16890 ->
16891 low\94_bound
16892 );
16893
16894 649 
16895 uv®ue
16896  +ð
16897 ù
16898 ->
16899 low\94_bound
16900 ;
16901
16902 650 if(
16903         `a¢_ulÚg2INTEGER
16904 (
16905 ¡
16906
16907 uv®ue
16908 ))
16909
16910 651 
16911 ASN__DECODE_FAILED
16912 ;
16913
16914 653 \1d\13
16915 uv®ue
16916  = 0;
16917
16918 654 \13
16919 sv®ue
16920 ;
16921
16922 655 if(
16923         `u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
16924 (
16925 pd
16926 ,
16927
16928 656 &
16929 uv®ue
16930
16931 ù
16932 ->
16933 ¿nge_b\99s
16934 ))
16935
16936 657 
16937 ASN__DECODE_STARVED
16938 ;
16939
16940 658 
16941         `ASN_DEBUG
16942 ("Got value %lu +\86ow %ld",
16943
16944 659 
16945 uv®ue
16946
16947 ù
16948 ->
16949 low\94_bound
16950 );
16951
16952 660 if(
16953         `³r_lÚg_¿nge_uÄeba£
16954 (
16955 uv®ue
16956
16957 ù
16958 ->
16959 low\94_bound
16960 ,
16961
16962 661 
16963 ù
16964 ->
16965\94_bound
16966 , &
16967 sv®ue
16968 )
16969
16970 662 || 
16971         `a¢_lÚg2INTEGER
16972 (
16973 ¡
16974
16975 sv®ue
16976 )) {
16977
16978 663 
16979 ASN__DECODE_FAILED
16980 ;
16981
16982 666 \15 
16983 rv®
16984 ;
16985
16986 669 
16987         `ASN_DEBUG
16988 ("Decod\9ag uncÚ¡¿\9aed iÁeg\94 %s", 
16989 td
16990 ->
16991 Çme
16992 );
16993
16994 674 
16995 ssize_t
16996  
16997 Ën
16998  = 0;
16999
17000 675 \1e*
17001 p
17002  = 
17003 NULL
17004 ;
17005
17006 676 \12
17007 »t
17008  = 0;
17009
17010 679 
17011 Ën
17012  = 
17013         `u³r_g\91_Ëngth
17014 (
17015 pd
17016 , -1, 0, &
17017 »³©
17018 );
17019
17020 680 if(
17021 Ën
17022  < 0è
17023 ASN__DECODE_STARVED
17024 ;
17025
17026 682 
17027 p
17028  = 
17029         `REALLOC
17030 (
17031 ¡
17032 ->
17033 buf
17034 , st->
17035 size
17036  + 
17037 Ën
17038  + 1);
17039
17040 683 if(!
17041 p
17042 è
17043 ASN__DECODE_FAILED
17044 ;
17045
17046 684 
17047 ¡
17048 ->
17049 buf
17050  = (
17051 u\9at8_t
17052  *)
17053 p
17054 ;
17055
17056 686 
17057 »t
17058  = 
17059         `³r_g\91_mªy_b\99s
17060 (
17061 pd
17062 , &
17063 ¡
17064 ->
17065 buf
17066 [¡->
17067 size
17068 ], 0, 8 * 
17069 Ën
17070 );
17071
17072 687 if(
17073 »t
17074  < 0è
17075 ASN__DECODE_STARVED
17076 ;
17077
17078 688 
17079 ¡
17080 ->
17081 size
17082  +ð
17083 Ën
17084 ;
17085
17086 689 } \1f
17087 »³©
17088 );
17089
17090 690 
17091 ¡
17092 ->
17093 buf
17094 [¡->
17095 size
17096 ] = 0;
17097
17098 693 if(
17099 ù
17100  && ct->
17101 low\94_bound
17102 ) {
17103
17104 697 \13
17105 v®ue
17106  = 0;
17107
17108 698 if(
17109         `a¢_INTEGER2lÚg
17110 (
17111 ¡
17112 , &
17113 v®ue
17114 ))
17115
17116 699 
17117 ASN__DECODE_FAILED
17118 ;
17119
17120 700 if(
17121         `a¢_imax2INTEGER
17122 (
17123 ¡
17124
17125 v®ue
17126  + 
17127 ù
17128 ->
17129 low\94_bound
17130 ))
17131
17132 701 
17133 ASN__DECODE_FAILED
17134 ;
17135
17136 704 \15 
17137 rv®
17138 ;
17139
17140 705 
17141         }
17142 }
17143
17144 707 
17145 a¢_\92c_rv®_t
17146
17147
17148 708 
17149         $INTEGER_\92code_u³r
17150 (cڡ 
17151 a¢_TYPE_desü\9dtÜ_t
17152  *
17153 td
17154 ,
17155
17156 709 cڡ 
17157 a¢_³r_cÚ¡¿\9ats_t
17158  *
17159 cÚ¡¿\9ats
17160 , cڡ \1e*
17161 ¥\8c
17162 ,
17163
17164 710 
17165 a¢_³r_ou\8d_t
17166  *
17167 po
17168 ) {
17169
17170 711 cڡ 
17171 a¢_INTEGER_¥ecifics_t
17172  *
17173 ¥ecs
17174  =
17175
17176 712 (cڡ 
17177 a¢_INTEGER_¥ecifics_t
17178  *)
17179 td
17180 ->
17181 ¥ecifics
17182 ;
17183
17184 713 
17185 a¢_\92c_rv®_t
17186  
17187 \94
17188  = {0,0,0};
17189
17190 714 cڡ 
17191 INTEGER_t
17192  *
17193 ¡
17194  = (cÚ¡ INTEGER_\88*)
17195 ¥\8c
17196 ;
17197
17198 715 cڡ 
17199 u\9at8_t
17200  *
17201 buf
17202 ;
17203
17204 716 cڡ 
17205 u\9at8_t
17206  *
17207 \92d
17208 ;
17209
17210 717 cڡ 
17211 a¢_³r_cÚ¡¿\9at_t
17212  *
17213 ù
17214 ;
17215
17216 718 \13
17217 v®ue
17218  = 0;
17219
17220 720 if(!
17221 ¡
17222  || st->
17223 size
17224  =ð0è
17225 ASN__ENCODE_FAILED
17226 ;
17227
17228 722 if(!
17229 cÚ¡¿\9ats
17230 ècÚ¡¿\9at ð
17231 td
17232 ->
17233 \92cod\9ag_cÚ¡¿\9ats
17234 .
17235 ³r_cÚ¡¿\9ats
17236 ;
17237
17238 723 
17239 ù
17240  = 
17241 cÚ¡¿\9ats
17242  ? &cÚ¡¿\9ats->
17243 v®ue
17244  : 0;
17245
17246 725 
17247 \94
17248 .
17249 \92coded
17250  = 0;
17251
17252 727 if(
17253 ù
17254 ) {
17255
17256 728 \12
17257 \9aext
17258  = 0;
17259
17260 729 if(
17261 ¥ecs
17262  && s³cs->
17263 f\9bld_unsigÃd
17264 ) {
17265
17266 730 \1d\13
17267 uv®
17268 ;
17269
17270 731 if(
17271         `a¢_INTEGER2ulÚg
17272 (
17273 ¡
17274 , &
17275 uv®
17276 ))
17277
17278 732 
17279 ASN__ENCODE_FAILED
17280 ;
17281
17282 734 if(
17283 ù
17284 ->
17285 æags
17286  & 
17287 APC_SEMI_CONSTRAINED
17288 ) {
17289
17290 735 if(
17291 uv®
17292  < (\1d\13)
17293 ù
17294 ->
17295 low\94_bound
17296 )
17297
17298 736 
17299 \9aext
17300  = 1;
17301
17302 737 } \vif(
17303 ù
17304 ->
17305 ¿nge_b\99s
17306  >= 0) {
17307
17308 738 if(
17309 uv®
17310  < (\1d\13)
17311 ù
17312 ->
17313 low\94_bound
17314
17315
17316 739 || 
17317 uv®
17318  > (\1d\13)
17319 ù
17320 ->
17321\94_bound
17322 )
17323
17324 740 
17325 \9aext
17326  = 1;
17327
17328 742 
17329         `ASN_DEBUG
17330 ("V®u\90%lu (%02x/%" 
17331 ASN_PRI_SIZE
17332  ")\86b %lu ub %lu %s",
17333
17334 743 
17335 uv®
17336
17337 ¡
17338 ->
17339 buf
17340 [0], st->
17341 size
17342 ,
17343
17344 744 
17345 ù
17346 ->
17347 low\94_bound
17348 , ct->
17349\94_bound
17350 ,
17351
17352 745 
17353 \9aext
17354  ? "ext" : "fix");
17355
17356 746 
17357 v®ue
17358  = 
17359 uv®
17360 ;
17361
17362 748 if(
17363         `a¢_INTEGER2lÚg
17364 (
17365 ¡
17366 , &
17367 v®ue
17368 ))
17369
17370 749 
17371 ASN__ENCODE_FAILED
17372 ;
17373
17374 751 if(
17375 ù
17376 ->
17377 æags
17378  & 
17379 APC_SEMI_CONSTRAINED
17380 ) {
17381
17382 752 if(
17383 v®ue
17384  < 
17385 ù
17386 ->
17387 low\94_bound
17388 )
17389
17390 753 
17391 \9aext
17392  = 1;
17393
17394 754 } \vif(
17395 ù
17396 ->
17397 ¿nge_b\99s
17398  >= 0) {
17399
17400 755 if(
17401 v®ue
17402  < 
17403 ù
17404 ->
17405 low\94_bound
17406
17407
17408 756 || 
17409 v®ue
17410  > 
17411 ù
17412 ->
17413\94_bound
17414 )
17415
17416 757 
17417 \9aext
17418  = 1;
17419
17420 759 
17421         `ASN_DEBUG
17422 ("V®u\90%ld (%02x/%" 
17423 ASN_PRI_SIZE
17424  ")\86b %ld ub %ld %s",
17425
17426 760 
17427 v®ue
17428
17429 ¡
17430 ->
17431 buf
17432 [0], st->
17433 size
17434 ,
17435
17436 761 
17437 ù
17438 ->
17439 low\94_bound
17440 , ct->
17441\94_bound
17442 ,
17443
17444 762 
17445 \9aext
17446  ? "ext" : "fix");
17447
17448 764 if(
17449 ù
17450 ->
17451 æags
17452  & 
17453 APC_EXTENSIBLE
17454 ) {
17455
17456 765 if(
17457         `³r_put_ãw_b\99s
17458 (
17459 po
17460
17461 \9aext
17462 , 1))
17463
17464 766 
17465 ASN__ENCODE_FAILED
17466 ;
17467
17468 767 if(
17469 \9aext
17470 è
17471 ù
17472  = 0;
17473
17474 768 } \vif(
17475 \9aext
17476 ) {
17477
17478 769 
17479 ASN__ENCODE_FAILED
17480 ;
17481
17482 775 if(
17483 ù
17484  && ct->
17485 ¿nge_b\99s
17486  >= 0) {
17487
17488 776 \1d\13
17489 v
17490 ;
17491
17492 778 
17493         `ASN_DEBUG
17494 ("Encoding integer %ld (%lu) with\84ange %d bits",
17495
17496 779 
17497 v®ue
17498 , v®u\90
17499 ù
17500 ->
17501 low\94_bound
17502 , ct->
17503 ¿nge_b\99s
17504 );
17505
17506 780 if(
17507 ¥ecs
17508  && s³cs->
17509 f\9bld_unsigÃd
17510 ) {
17511
17512 781 iàÐ((\1d\13)
17513 ù
17514 ->
17515 low\94_bound
17516  > (\1d\13)(ù->
17517\94_bound
17518 )
17519
17520 782 || ((\1d\13)
17521 v®ue
17522  < (\1d\13)
17523 ù
17524 ->
17525 low\94_bound
17526 ))
17527
17528 783 || ((\1d\13)
17529 v®ue
17530  > (\1d\13)
17531 ù
17532 ->
17533\94_bound
17534 )
17535
17536 785 
17537         `ASN_DEBUG
17538 ("Value %lu\81o-be-encoded is outside\81he bounds [%lu, %lu]!",
17539
17540 786 
17541 v®ue
17542
17543 ù
17544 ->
17545 low\94_bound
17546 , ct->
17547\94_bound
17548 );
17549
17550 787 
17551 ASN__ENCODE_FAILED
17552 ;
17553
17554 789 
17555 v
17556  = (\1d\13)
17557 v®ue
17558  - (\1d\13)
17559 ù
17560 ->
17561 low\94_bound
17562 ;
17563
17564 791 if(
17565         `³r_lÚg_¿nge_»ba£
17566 (
17567 v®ue
17568
17569 ù
17570 ->
17571 low\94_bound
17572 , ct->
17573\94_bound
17574 , &
17575 v
17576 )) {
17577
17578 792 
17579 ASN__ENCODE_FAILED
17580 ;
17581
17582 795 if(
17583         `u³r_put_cÚ¡¿\9aed_whÞe_numb\94_u
17584 (
17585 po
17586
17587 v
17588
17589 ù
17590 ->
17591 ¿nge_b\99s
17592 ))
17593
17594 796 
17595 ASN__ENCODE_FAILED
17596 ;
17597
17598 797 
17599         `ASN__ENCODED_OK
17600 (
17601 \94
17602 );
17603
17604 800 if(
17605 ù
17606  && ct->
17607 low\94_bound
17608 ) {
17609
17610 801 
17611         `ASN_DEBUG
17612 ("Adju¡\86ow\94 bound\81Ø%ld", 
17613 ù
17614 ->
17615 low\94_bound
17616 );
17617
17618 803 
17619 ASN__ENCODE_FAILED
17620 ;
17621
17622 806 \ f
17623 buf
17624  = 
17625 ¡
17626 ->buf, 
17627 \92d
17628  = st->buà+ st->
17629 size
17630 ; buf <\83nd;) {
17631
17632 807 \12
17633 Ãed_eom
17634  = 0;
17635
17636 808 
17637 ssize_t
17638  
17639 mayEncode
17640  = 
17641         `u³r_put_Ëngth
17642 (
17643 po
17644
17645 \92d
17646  - 
17647 buf
17648 , &
17649 Ãed_eom
17650 );
17651
17652 809 if(
17653 mayEncode
17654  < 0)
17655
17656 810 
17657 ASN__ENCODE_FAILED
17658 ;
17659
17660 811 if(
17661         `³r_put_mªy_b\99s
17662 (
17663 po
17664
17665 buf
17666 , 8 * 
17667 mayEncode
17668 ))
17669
17670 812 
17671 ASN__ENCODE_FAILED
17672 ;
17673
17674 813 
17675 buf
17676  +ð
17677 mayEncode
17678 ;
17679
17680 814 if(
17681 Ãed_eom
17682  && 
17683         `u³r_put_Ëngth
17684 (
17685 po
17686 , 0, 0)è
17687 ASN__ENCODE_FAILED
17688 ;
17689
17690 817 
17691         `ASN__ENCODED_OK
17692 (
17693 \94
17694 );
17695
17696 818 
17697         }
17698 }
17699
17700 820 
17701 a¢_dec_rv®_t
17702
17703
17704 821 
17705         $INTEGER_decode_­\94
17706 (cڡ 
17707 a¢_codec_ùx_t
17708  *
17709 Ýt_codec_ùx
17710 ,
17711
17712 822 cڡ 
17713 a¢_TYPE_desü\9dtÜ_t
17714  *
17715 td
17716 ,
17717
17718 823 cڡ 
17719 a¢_³r_cÚ¡¿\9ats_t
17720  *
17721 cÚ¡¿\9ats
17722\1e**
17723 ¥\8c
17724
17725 a¢_³r_d©a_t
17726  *
17727 pd
17728 ) {
17729
17730 824 cڡ 
17731 a¢_INTEGER_¥ecifics_t
17732  *
17733 ¥ecs
17734  = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
17735 td
17736 ->
17737 ¥ecifics
17738 ;
17739
17740 825 
17741 a¢_dec_rv®_t
17742  
17743 rv®
17744  = { 
17745 RC_OK
17746 , 0 };
17747
17748 826 
17749 INTEGER_t
17750  *
17751 ¡
17752  = (INTEGER_\88*)*
17753 ¥\8c
17754 ;
17755
17756 827 cڡ 
17757 a¢_³r_cÚ¡¿\9at_t
17758  *
17759 ù
17760 ;
17761
17762 828 \12
17763 »³©
17764 ;
17765
17766 830 (\1e)
17767 Ýt_codec_ùx
17768 ;
17769
17770 832 if(!
17771 ¡
17772 ) {
17773
17774 833 
17775 ¡
17776  = (
17777 INTEGER_t
17778  *)(*
17779 ¥\8c
17780  = 
17781         `CALLOC
17782 (1, \17(*st)));
17783
17784 834 if(!
17785 ¡
17786 è
17787 ASN__DECODE_FAILED
17788 ;
17789
17790 837 if(!
17791 cÚ¡¿\9ats
17792 ècÚ¡¿\9at ð
17793 td
17794 ->
17795 \92cod\9ag_cÚ¡¿\9ats
17796 .
17797 ³r_cÚ¡¿\9ats
17798 ;
17799
17800 838 
17801 ù
17802  = 
17803 cÚ¡¿\9ats
17804  ? &cÚ¡¿\9ats->
17805 v®ue
17806  : 0;
17807
17808 840 if(
17809 ù
17810  && ct->
17811 æags
17812  & 
17813 APC_EXTENSIBLE
17814 ) {
17815
17816 841 \12
17817 \9aext
17818  = 
17819         `³r_g\91_ãw_b\99s
17820 (
17821 pd
17822 , 1);
17823
17824 842 if(
17825 \9aext
17826  < 0è
17827 ASN__DECODE_STARVED
17828 ;
17829
17830 843 if(
17831 \9aext
17832 è
17833 ù
17834  = 0;
17835
17836 846 
17837         `FREEMEM
17838 (
17839 ¡
17840 ->
17841 buf
17842 );
17843
17844 847 
17845 ¡
17846 ->
17847 buf
17848  = 0;
17849
17850 848 
17851 ¡
17852 ->
17853 size
17854  = 0;
17855
17856 849 if(
17857 ù
17858 ) {
17859
17860 850 if(
17861 ù
17862 ->
17863 æags
17864  & 
17865 APC_SEMI_CONSTRAINED
17866 ) {
17867
17868 851 
17869 ¡
17870 ->
17871 buf
17872  = (
17873 u\9at8_t
17874  *)
17875         `CALLOC
17876 (1, 2);
17877
17878 852 if(!
17879 ¡
17880 ->
17881 buf
17882 è
17883 ASN__DECODE_FAILED
17884 ;
17885
17886 853 
17887 ¡
17888 ->
17889 size
17890  = 1;
17891
17892 854 } \vif(
17893 ù
17894 ->
17895 æags
17896  & 
17897 APC_CONSTRAINED
17898  && ct->
17899 ¿nge_b\99s
17900  >= 0) {
17901
17902 855 
17903 size_t
17904  
17905 size
17906  = (
17907 ù
17908 ->
17909 ¿nge_b\99s
17910  + 7) >> 3;
17911
17912 856 
17913 ¡
17914 ->
17915 buf
17916  = (
17917 u\9at8_t
17918  *)
17919         `MALLOC
17920 (1 + 
17921 size
17922  + 1);
17923
17924 857 if(!
17925 ¡
17926 ->
17927 buf
17928 è
17929 ASN__DECODE_FAILED
17930 ;
17931
17932 858 
17933 ¡
17934 ->
17935 size
17936  = size;
17937
17938 863 if(
17939 ù
17940  && ct->
17941 æags
17942  !ð
17943 APC_UNCONSTRAINED
17944 ) {
17945
17946 865 
17947         `ASN_DEBUG
17948 ("IÁeg\94 w\99h\84ªg\90%d b\99s", 
17949 ù
17950 ->
17951 ¿nge_b\99s
17952 );
17953
17954 866 if(
17955 ù
17956 ->
17957 ¿nge_b\99s
17958  >= 0) {
17959
17960 867 ià(
17961 ù
17962 ->
17963 ¿nge_b\99s
17964  > 16) {
17965
17966 868 \12
17967 max_¿nge_by\8bs
17968  = (
17969 ù
17970 ->
17971 ¿nge_b\99s
17972  >> 3) +
17973
17974 869 (((
17975 ù
17976 ->
17977 ¿nge_b\99s
17978  % 8) > 0) ? 1 : 0);
17979
17980 870 \12
17981 Ëngth
17982  = 0, 
17983 i
17984 ;
17985
17986 871 \13
17987 v®ue
17988  = 0;
17989
17990 873 \ f
17991 i
17992  = 1; ; i++) {
17993
17994 874 \12
17995\94
17996  = 1 << 
17997 i
17998 ;
17999
18000 875 ià(
18001\94
18002  >ð
18003 max_¿nge_by\8bs
18004 )
18005
18006 878 
18007         `ASN_DEBUG
18008 ("Cª\83ncod\90%d (%d by\8b\9a %d b\99s", 
18009 ù
18010 ->
18011 ¿nge_b\99s
18012 ,
18013
18014 879 
18015 max_¿nge_by\8bs
18016
18017 i
18018 );
18019
18020 881 ià((
18021 Ëngth
18022  = 
18023         `³r_g\91_ãw_b\99s
18024 (
18025 pd
18026
18027 i
18028 )) < 0)
18029
18030 882 
18031 ASN__DECODE_FAILED
18032 ;
18033
18034 885 
18035 Ëngth
18036  += 1;
18037
18038 886 
18039         `ASN_DEBUG
18040 ("GÙ\86\92gth %d", 
18041 Ëngth
18042 );
18043
18044 887 ià(
18045         `­\94_g\91_®ign
18046 (
18047 pd
18048 ) != 0)
18049
18050 888 
18051 ASN__DECODE_FAILED
18052 ;
18053
18054 889 \1f
18055 Ëngth
18056 --) {
18057
18058 890 \12
18059 buf
18060  = 
18061         `³r_g\91_ãw_b\99s
18062 (
18063 pd
18064 , 8);
18065
18066 891 ià(
18067 buf
18068  < 0)
18069
18070 892 
18071 ASN__DECODE_FAILED
18072 ;
18073
18074 893 
18075 v®ue
18076  +ð(((\13)
18077 buf
18078 è<< (8 * 
18079 Ëngth
18080 ));
18081
18082 896 
18083 v®ue
18084  +ð
18085 ù
18086 ->
18087 low\94_bound
18088 ;
18089
18090 897 if((
18091 ¥ecs
18092  && s³cs->
18093 f\9bld_unsigÃd
18094 )
18095
18096 898 ? 
18097         `a¢_u\9at642INTEGER
18098 (
18099 ¡
18100 , (\1d\13)
18101 v®ue
18102 )
18103
18104 899 : 
18105         `a¢_\9at642INTEGER
18106 (
18107 ¡
18108
18109 v®ue
18110 ))
18111
18112 900 
18113 ASN__DECODE_FAILED
18114 ;
18115
18116 901 
18117         `ASN_DEBUG
18118 ("Got value %ld +\86ow %ld",
18119
18120 902 
18121 v®ue
18122
18123 ù
18124 ->
18125 low\94_bound
18126 );
18127
18128 904 \13
18129 v®ue
18130  = 0;
18131
18132 905 ià(
18133 ù
18134 ->
18135 ¿nge_b\99s
18136  < 8) {
18137
18138 906 
18139 v®ue
18140  = 
18141         `³r_g\91_ãw_b\99s
18142 (
18143 pd
18144
18145 ù
18146 ->
18147 ¿nge_b\99s
18148 );
18149
18150 907 if(
18151 v®ue
18152  < 0è
18153 ASN__DECODE_STARVED
18154 ;
18155
18156 908 } \vià(
18157 ù
18158 ->
18159 ¿nge_b\99s
18160  == 8) {
18161
18162 909 ià(
18163         `­\94_g\91_®ign
18164 (
18165 pd
18166 ) < 0)
18167
18168 910 
18169 ASN__DECODE_FAILED
18170 ;
18171
18172 911 
18173 v®ue
18174  = 
18175         `³r_g\91_ãw_b\99s
18176 (
18177 pd
18178
18179 ù
18180 ->
18181 ¿nge_b\99s
18182 );
18183
18184 912 if(
18185 v®ue
18186  < 0è
18187 ASN__DECODE_STARVED
18188 ;
18189
18190 915 ià(
18191         `­\94_g\91_®ign
18192 (
18193 pd
18194 ) < 0)
18195
18196 916 
18197 ASN__DECODE_FAILED
18198 ;
18199
18200 917 
18201 v®ue
18202  = 
18203         `³r_g\91_ãw_b\99s
18204 (
18205 pd
18206 , 16);
18207
18208 918 if(
18209 v®ue
18210  < 0è
18211 ASN__DECODE_STARVED
18212 ;
18213
18214 920 
18215 v®ue
18216  +ð
18217 ù
18218 ->
18219 low\94_bound
18220 ;
18221
18222 921 if((
18223 ¥ecs
18224  && s³cs->
18225 f\9bld_unsigÃd
18226 )
18227
18228 922 ? 
18229         `a¢_ulÚg2INTEGER
18230 (
18231 ¡
18232
18233 v®ue
18234 )
18235
18236 923 : 
18237         `a¢_lÚg2INTEGER
18238 (
18239 ¡
18240
18241 v®ue
18242 ))
18243
18244 924 
18245 ASN__DECODE_FAILED
18246 ;
18247
18248 925 
18249         `ASN_DEBUG
18250 ("Got value %ld +\86ow %ld",
18251
18252 926 
18253 v®ue
18254
18255 ù
18256 ->
18257 low\94_bound
18258 );
18259
18260 928 \15 
18261 rv®
18262 ;
18263
18264 930 
18265 ASN__DECODE_FAILED
18266 ;
18267
18268 933 
18269         `ASN_DEBUG
18270 ("Decod\9ag uncÚ¡¿\9aed iÁeg\94 %s", 
18271 td
18272 ->
18273 Çme
18274 );
18275
18276 938 
18277 ssize_t
18278  
18279 Ën
18280 ;
18281
18282 939 \1e*
18283 p
18284 ;
18285
18286 940 \12
18287 »t
18288 ;
18289
18290 943 
18291 Ën
18292  = 
18293         `­\94_g\91_Ëngth
18294 (
18295 pd
18296 , -1, -1, &
18297 »³©
18298 );
18299
18300 944 if(
18301 Ën
18302  < 0è
18303 ASN__DECODE_STARVED
18304 ;
18305
18306 946 
18307 p
18308  = 
18309         `REALLOC
18310 (
18311 ¡
18312 ->
18313 buf
18314 , st->
18315 size
18316  + 
18317 Ën
18318  + 1);
18319
18320 947 if(!
18321 p
18322 è
18323 ASN__DECODE_FAILED
18324 ;
18325
18326 948 
18327 ¡
18328 ->
18329 buf
18330  = (
18331 u\9at8_t
18332  *)
18333 p
18334 ;
18335
18336 950 
18337 »t
18338  = 
18339         `³r_g\91_mªy_b\99s
18340 (
18341 pd
18342 , &
18343 ¡
18344 ->
18345 buf
18346 [¡->
18347 size
18348 ], 0, 8 * 
18349 Ën
18350 );
18351
18352 951 if(
18353 »t
18354  < 0è
18355 ASN__DECODE_STARVED
18356 ;
18357
18358 952 
18359 ¡
18360 ->
18361 size
18362  +ð
18363 Ën
18364 ;
18365
18366 953 } \1f
18367 »³©
18368 );
18369
18370 954 
18371 ¡
18372 ->
18373 buf
18374 [¡->
18375 size
18376 ] = 0;
18377
18378 957 if(
18379 ù
18380  && ct->
18381 low\94_bound
18382 ) {
18383
18384 961 \13
18385 v®ue
18386 ;
18387
18388 962 if(
18389         `a¢_INTEGER2lÚg
18390 (
18391 ¡
18392 , &
18393 v®ue
18394 ))
18395
18396 963 
18397 ASN__DECODE_FAILED
18398 ;
18399
18400 964 if(
18401         `a¢_lÚg2INTEGER
18402 (
18403 ¡
18404
18405 v®ue
18406  + 
18407 ù
18408 ->
18409 low\94_bound
18410 ))
18411
18412 965 
18413 ASN__DECODE_FAILED
18414 ;
18415
18416 968 \15 
18417 rv®
18418 ;
18419
18420 969 
18421         }
18422 }
18423
18424 971 
18425 a¢_\92c_rv®_t
18426
18427
18428 972 
18429         $INTEGER_\92code_­\94
18430 (cڡ 
18431 a¢_TYPE_desü\9dtÜ_t
18432  *
18433 td
18434 ,
18435
18436 973 cڡ 
18437 a¢_³r_cÚ¡¿\9ats_t
18438  *
18439 cÚ¡¿\9ats
18440 ,
18441
18442 974 cڡ \1e*
18443 ¥\8c
18444
18445 a¢_³r_ou\8d_t
18446  *
18447 po
18448 ) {
18449
18450 975 cڡ 
18451 a¢_INTEGER_¥ecifics_t
18452  *
18453 ¥ecs
18454  = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
18455 td
18456 ->
18457 ¥ecifics
18458 ;
18459
18460 976 
18461 a¢_\92c_rv®_t
18462  
18463 \94
18464  = {0,0,0};
18465
18466 977 cڡ 
18467 INTEGER_t
18468  *
18469 ¡
18470  = (cÚ¡ INTEGER_\88*)
18471 ¥\8c
18472 ;
18473
18474 978 cڡ 
18475 u\9at8_t
18476  *
18477 buf
18478 ;
18479
18480 979 cڡ 
18481 u\9at8_t
18482  *
18483 \92d
18484 ;
18485
18486 980 cڡ 
18487 a¢_³r_cÚ¡¿\9at_t
18488  *
18489 ù
18490 ;
18491
18492 981 \13
18493 v®ue
18494  = 0;
18495
18496 983 if(!
18497 ¡
18498  || st->
18499 size
18500  =ð0è
18501 ASN__ENCODE_FAILED
18502 ;
18503
18504 985 if(!
18505 cÚ¡¿\9ats
18506 ècÚ¡¿\9at ð
18507 td
18508 ->
18509 \92cod\9ag_cÚ¡¿\9ats
18510 .
18511 ³r_cÚ¡¿\9ats
18512 ;
18513
18514 986 
18515 ù
18516  = 
18517 cÚ¡¿\9ats
18518  ? &cÚ¡¿\9ats->
18519 v®ue
18520  : 0;
18521
18522 988 
18523 \94
18524 .
18525 \92coded
18526  = 0;
18527
18528 990 if(
18529 ù
18530 ) {
18531
18532 991 \12
18533 \9aext
18534  = 0;
18535
18536 992 if(
18537 ¥ecs
18538  && s³cs->
18539 f\9bld_unsigÃd
18540 ) {
18541
18542 993 \1d\13
18543 uv®
18544 ;
18545
18546 994 if(
18547         `a¢_INTEGER2ulÚg
18548 (
18549 ¡
18550 , &
18551 uv®
18552 ))
18553
18554 995 
18555 ASN__ENCODE_FAILED
18556 ;
18557
18558 997 if(
18559 ù
18560 ->
18561 æags
18562  & 
18563 APC_SEMI_CONSTRAINED
18564 ) {
18565
18566 998 if(
18567 uv®
18568  < (\1d\13)
18569 ù
18570 ->
18571 low\94_bound
18572 )
18573
18574 999 
18575 \9aext
18576  = 1;
18577
18578 1000 } \vif(
18579 ù
18580 ->
18581 ¿nge_b\99s
18582  >= 0) {
18583
18584 1001 if(
18585 uv®
18586  < (\1d\13)
18587 ù
18588 ->
18589 low\94_bound
18590
18591
18592 1002 || 
18593 uv®
18594  > (\1d\13)
18595 ù
18596 ->
18597\94_bound
18598 )
18599
18600 1003 
18601 \9aext
18602  = 1;
18603
18604 1005 
18605         `ASN_DEBUG
18606 ("Value %lu (%02x/%lu)\86b %ld ub %ld %s",
18607
18608 1006 
18609 uv®
18610
18611 ¡
18612 ->
18613 buf
18614 [0], st->
18615 size
18616 ,
18617
18618 1007 
18619 ù
18620 ->
18621 low\94_bound
18622 , ct->
18623\94_bound
18624 ,
18625
18626 1008 
18627 \9aext
18628  ? "ext" : "fix");
18629
18630 1009 
18631 v®ue
18632  = 
18633 uv®
18634 ;
18635
18636 1011 if(
18637         `a¢_INTEGER2lÚg
18638 (
18639 ¡
18640 , &
18641 v®ue
18642
18643 ASN__ENCODE_FAILED
18644 ;
18645
18646 1013 if(
18647 ù
18648 ->
18649 æags
18650  & 
18651 APC_SEMI_CONSTRAINED
18652 ) {
18653
18654 1014 if(
18655 v®ue
18656  < 
18657 ù
18658 ->
18659 low\94_bound
18660 )
18661
18662 1015 
18663 \9aext
18664  = 1;
18665
18666 1016 } \vif(
18667 ù
18668 ->
18669 ¿nge_b\99s
18670  >= 0) {
18671
18672 1017 if(
18673 v®ue
18674  < 
18675 ù
18676 ->
18677 low\94_bound
18678
18679
18680 1018 || 
18681 v®ue
18682  > 
18683 ù
18684 ->
18685\94_bound
18686 )
18687
18688 1019 
18689 \9aext
18690  = 1;
18691
18692 1021 
18693         `ASN_DEBUG
18694 ("Value %lu (%02x/%lu)\86b %ld ub %ld %s",
18695
18696 1022 
18697 v®ue
18698
18699 ¡
18700 ->
18701 buf
18702 [0], st->
18703 size
18704 ,
18705
18706 1023 
18707 ù
18708 ->
18709 low\94_bound
18710 , ct->
18711\94_bound
18712 ,
18713
18714 1024 
18715 \9aext
18716  ? "ext" : "fix");
18717
18718 1026 if(
18719 ù
18720 ->
18721 æags
18722  & 
18723 APC_EXTENSIBLE
18724 ) {
18725
18726 1027 if(
18727         `³r_put_ãw_b\99s
18728 (
18729 po
18730
18731 \9aext
18732 , 1))
18733
18734 1028 
18735 ASN__ENCODE_FAILED
18736 ;
18737
18738 1029 if(
18739 \9aext
18740 è
18741 ù
18742  = 0;
18743
18744 1030 } \vif(
18745 \9aext
18746 ) {
18747
18748 1031 
18749 ASN__ENCODE_FAILED
18750 ;
18751
18752 1036 if(
18753 ù
18754  && ct->
18755 ¿nge_b\99s
18756  >= 0) {
18757
18758 1037 \1d\13
18759 v
18760 ;
18761
18762 1040 
18763         `ASN_DEBUG
18764 ("Encoding integer %ld (%lu) with\84ange %d bits",
18765
18766 1041 
18767 v®ue
18768 , v®u\90
18769 ù
18770 ->
18771 low\94_bound
18772 , ct->
18773 ¿nge_b\99s
18774 );
18775
18776 1043 
18777 v
18778  = 
18779 v®ue
18780  - 
18781 ù
18782 ->
18783 low\94_bound
18784 ;
18785
18786 1046 ià(
18787 ù
18788 ->
18789 ¿nge_b\99s
18790  < 8) {
18791
18792 1047 if(
18793         `³r_put_ãw_b\99s
18794 (
18795 po
18796 , 0x00 | 
18797 v
18798
18799 ù
18800 ->
18801 ¿nge_b\99s
18802 ))
18803
18804 1048 
18805 ASN__ENCODE_FAILED
18806 ;
18807
18808 1049 } \vià(
18809 ù
18810 ->
18811 ¿nge_b\99s
18812  == 8) {
18813
18814 1050 if(
18815         `­\94_put_®ign
18816 (
18817 po
18818 ) < 0)
18819
18820 1051 
18821 ASN__ENCODE_FAILED
18822 ;
18823
18824 1052 if(
18825         `³r_put_ãw_b\99s
18826 (
18827 po
18828 , 0x00 | 
18829 v
18830
18831 ù
18832 ->
18833 ¿nge_b\99s
18834 ))
18835
18836 1053 
18837 ASN__ENCODE_FAILED
18838 ;
18839
18840 1054 } \vià(
18841 ù
18842 ->
18843 ¿nge_b\99s
18844  <= 16) {
18845
18846 1056 if(
18847         `­\94_put_®ign
18848 (
18849 po
18850 ) < 0)
18851
18852 1057 
18853 ASN__ENCODE_FAILED
18854 ;
18855
18856 1058 if(
18857         `³r_put_ãw_b\99s
18858 (
18859 po
18860 , 0x0000 | 
18861 v
18862 ,
18863
18864 1060 
18865 ASN__ENCODE_FAILED
18866 ;
18867
18868 1063 
18869 \9at64_t
18870  
18871 v64
18872  = 
18873 v
18874 ;
18875
18876 1064 \12
18877 i
18878
18879 j
18880 ;
18881
18882 1065 \12
18883 max_¿nge_by\8bs
18884  = (
18885 ù
18886 ->
18887 ¿nge_b\99s
18888  >> 3) +
18889
18890 1066 (((
18891 ù
18892 ->
18893 ¿nge_b\99s
18894  % 8) > 0) ? 1 : 0);
18895
18896 1068 \ f
18897 i
18898  = 1; ; i++) {
18899
18900 1069 \12
18901\94
18902  = 1 << 
18903 i
18904 ;
18905
18906 1070 ià(
18907\94
18908  >ð
18909 max_¿nge_by\8bs
18910 )
18911
18912 1074 \ f
18913 j
18914  = \17(
18915 \9at64_t
18916 ) -1; j != 0; j--) {
18917
18918 1075 
18919 \9at64_t
18920  
18921
18922 ;
18923
18924 1076 
18925
18926  = 
18927 v64
18928  >> (
18929 j
18930  * 8);
18931
18932 1077 ià(
18933
18934  != 0)
18935
18936 1082 ià(
18937         `³r_put_ãw_b\99s
18938 (
18939 po
18940
18941 j
18942
18943 i
18944 ))
18945
18946 1083 
18947 ASN__ENCODE_FAILED
18948 ;
18949
18950 1086 ià(
18951         `­\94_put_®ign
18952 (
18953 po
18954 ) < 0)
18955
18956 1087 
18957 ASN__ENCODE_FAILED
18958 ;
18959
18960 1089 \ f
18961 i
18962  = 0; i <ð
18963 j
18964 ; i++) {
18965
18966 1090 if(
18967         `³r_put_ãw_b\99s
18968 (
18969 po
18970 , (
18971 v64
18972  >> (8 * (
18973 j
18974  - 
18975 i
18976 ))) & 0xff, 8))
18977
18978 1091 
18979 ASN__ENCODE_FAILED
18980 ;
18981
18982 1094 
18983         `ASN__ENCODED_OK
18984 (
18985 \94
18986 );
18987
18988 1097 if(
18989 ù
18990  && ct->
18991 low\94_bound
18992 ) {
18993
18994 1098 
18995         `ASN_DEBUG
18996 ("Adju¡\86ow\94 bound\81Ø%ld", 
18997 ù
18998 ->
18999 low\94_bound
19000 );
19001
19002 1100 
19003 ASN__ENCODE_FAILED
19004 ;
19005
19006 1103 \ f
19007 buf
19008  = 
19009 ¡
19010 ->buf, 
19011 \92d
19012  = st->buà+ st->
19013 size
19014 ; buf <\83nd;) {
19015
19016 1104 
19017 ssize_t
19018  
19019 mayEncode
19020  = 
19021         `­\94_put_Ëngth
19022 (
19023 po
19024 , -1, 
19025 \92d
19026  - 
19027 buf
19028 );
19029
19030 1105 if(
19031 mayEncode
19032  < 0)
19033
19034 1106 
19035 ASN__ENCODE_FAILED
19036 ;
19037
19038 1107 if(
19039         `³r_put_mªy_b\99s
19040 (
19041 po
19042
19043 buf
19044 , 8 * 
19045 mayEncode
19046 ))
19047
19048 1108 
19049 ASN__ENCODE_FAILED
19050 ;
19051
19052 1109 
19053 buf
19054  +ð
19055 mayEncode
19056 ;
19057
19058 1112 
19059         `ASN__ENCODED_OK
19060 (
19061 \94
19062 );
19063
19064 1113 
19065         }
19066 }
19067
19068 1117 \18
19069 \9atmax_t
19070
19071
19072 1118 
19073         $a¢__\9a\8bg\94_cÚv\94t
19074 (cڡ 
19075 u\9at8_t
19076  *
19077 b
19078 , cÚ¡ u\9at8_\88*
19079 \92d
19080 ) {
19081
19082 1119 
19083 u\9atmax_t
19084  
19085 v®ue
19086 ;
19087
19088 1123 if((*
19089 b
19090  >> 7)) {
19091
19092 1124 
19093 v®ue
19094  = (
19095 u\9atmax_t
19096 )(-1);
19097
19098 1126 
19099 v®ue
19100  = 0;
19101
19102 1130 \ f
19103 b
19104  < 
19105 \92d
19106 ; b++) {
19107
19108 1131 
19109 v®ue
19110  = (v®u\90<< 8è| *
19111 b
19112 ;
19113
19114 1134 \15 
19115 v®ue
19116 ;
19117
19118 1135 
19119         }
19120 }
19121
19122 1138 
19123         $a¢_INTEGER2imax
19124 (cڡ 
19125 INTEGER_t
19126  *
19127 \9d\8c
19128
19129 \9atmax_t
19130  *
19131 ͌
19132 ) {
19133
19134 1139 
19135 u\9at8_t
19136  *
19137 b
19138 , *
19139 \92d
19140 ;
19141
19142 1140 
19143 size_t
19144  
19145 size
19146 ;
19147
19148 1143 if(!
19149 \9d\8c
19150  || !\9d\8c->
19151 buf
19152  || !
19153 ͌
19154 ) {
19155
19156 1144 
19157 \94ºo
19158  = 
19159 EINVAL
19160 ;
19161
19162 1149 
19163 b
19164  = 
19165 \9d\8c
19166 ->
19167 buf
19168 ;
19169
19170 1150 
19171 size
19172  = 
19173 \9d\8c
19174 ->size;
19175
19176 1151 
19177 \92d
19178  = 
19179 b
19180  + 
19181 size
19182 ;
19183
19184 1153 if(
19185 size
19186  > \17(
19187 \9atmax_t
19188 )) {
19189
19190 1154 
19191 u\9at8_t
19192  *
19193 \92d1
19194  = 
19195 \92d
19196  - 1;
19197
19198 1162 \ f
19199 b
19200  < 
19201 \92d1
19202 ; b++) {
19203
19204 1163 \1a*
19205 b
19206 ) {
19207
19208 1164 \ 40x00: if((
19209 b
19210 [1] & 0x80) == 0) \ 6\ 3;
19211
19212 1165 \ 40xff: if((
19213 b
19214 [1] & 0x80) != 0) \ 6\ 3;
19215
19216 1170 
19217 size
19218  = 
19219 \92d
19220  - 
19221 b
19222 ;
19223
19224 1171 if(
19225 size
19226  > \17(
19227 \9atmax_t
19228 )) {
19229
19230 1173 
19231 \94ºo
19232  = 
19233 ERANGE
19234 ;
19235
19236 1179 if(
19237 \92d
19238  =ð
19239 b
19240 ) {
19241
19242 1180 *
19243 ͌
19244  = 0;
19245
19246 1184 *
19247 ͌
19248  = 
19249         `a¢__\9a\8bg\94_cÚv\94t
19250 (
19251 b
19252
19253 \92d
19254 );
19255
19256 1186 
19257         }
19258 }
19259
19260 1190 
19261         $a¢_INTEGER2umax
19262 (cڡ 
19263 INTEGER_t
19264  *
19265 \9d\8c
19266
19267 u\9atmax_t
19268  *
19269 ͌
19270 ) {
19271
19272 1191 
19273 u\9at8_t
19274  *
19275 b
19276 , *
19277 \92d
19278 ;
19279
19280 1192 
19281 u\9atmax_t
19282  
19283 v®ue
19284 ;
19285
19286 1193 
19287 size_t
19288  
19289 size
19290 ;
19291
19292 1195 if(!
19293 \9d\8c
19294  || !\9d\8c->
19295 buf
19296  || !
19297 ͌
19298 ) {
19299
19300 1196 
19301 \94ºo
19302  = 
19303 EINVAL
19304 ;
19305
19306 1200 
19307 b
19308  = 
19309 \9d\8c
19310 ->
19311 buf
19312 ;
19313
19314 1201 
19315 size
19316  = 
19317 \9d\8c
19318 ->size;
19319
19320 1202 
19321 \92d
19322  = 
19323 b
19324  + 
19325 size
19326 ;
19327
19328 1205 \ f
19329 size
19330  > \17(
19331 v®ue
19332 ); 
19333 b
19334 ++, size--) {
19335
19336 1206 if(*
19337 b
19338 ) {
19339
19340 1208 
19341 \94ºo
19342  = 
19343 ERANGE
19344 ;
19345
19346 1214 \ f
19347 v®ue
19348  = 0; 
19349 b
19350  < 
19351 \92d
19352 ; b++)
19353
19354 1215 
19355 v®ue
19356  = (v®u\90<< 8è| *
19357 b
19358 ;
19359
19360 1217 *
19361 ͌
19362  = 
19363 v®ue
19364 ;
19365
19366 1219 
19367         }
19368 }
19369
19370 1222 
19371         $a¢_umax2INTEGER
19372 (
19373 INTEGER_t
19374  *
19375 ¡
19376
19377 u\9atmax_t
19378  
19379 v®ue
19380 ) {
19381
19382 1223 
19383 u\9at8_t
19384  *
19385 buf
19386 ;
19387
19388 1224 
19389 u\9at8_t
19390  *
19391 \92d
19392 ;
19393
19394 1225 
19395 u\9at8_t
19396  *
19397 b
19398 ;
19399
19400 1226 \12
19401 shr
19402 ;
19403
19404 1228 if(
19405 v®ue
19406  <ð((~(
19407 u\9atmax_t
19408 )0) >> 1)) {
19409
19410 1229 \15 
19411         `a¢_imax2INTEGER
19412 (
19413 ¡
19414
19415 v®ue
19416 );
19417
19418 1232 
19419 buf
19420  = (
19421 u\9at8_t
19422  *)
19423         `MALLOC
19424 (1 + \17(
19425 v®ue
19426 ));
19427
19428 1233 if(!
19429 buf
19430\15 -1;
19431
19432 1235 
19433 \92d
19434  = 
19435 buf
19436  + (\17(
19437 v®ue
19438 ) + 1);
19439
19440 1236 
19441 buf
19442 [0] = 0;
19443
19444 1237 \ f
19445 b
19446  = 
19447 buf
19448  + 1, 
19449 shr
19450  = (\17(
19451 v®ue
19452 è- 1è* 8; b < 
19453 \92d
19454 ; shr -= 8, b++)
19455
19456 1238 *
19457 b
19458  = (
19459 u\9at8_t
19460 )(
19461 v®ue
19462  >> 
19463 shr
19464 );
19465
19466 1240 if(
19467 ¡
19468 ->
19469 buf
19470 è
19471         `FREEMEM
19472 (st->buf);
19473
19474 1241 
19475 ¡
19476 ->
19477 buf
19478  = buf;
19479
19480 1242 
19481 ¡
19482 ->
19483 size
19484  = 1 + \17(
19485 v®ue
19486 );
19487
19488 1245 
19489         }
19490 }
19491
19492 1248 
19493         $a¢_imax2INTEGER
19494 (
19495 INTEGER_t
19496  *
19497 ¡
19498
19499 \9atmax_t
19500  
19501 v®ue
19502 ) {
19503
19504 1249 
19505 u\9at8_t
19506  *
19507 buf
19508 , *
19509 bp
19510 ;
19511
19512 1250 
19513 u\9at8_t
19514  *
19515 p
19516 ;
19517
19518 1251 
19519 u\9at8_t
19520  *
19521 p¡¬t
19522 ;
19523
19524 1252 
19525 u\9at8_t
19526  *
19527 ³nd1
19528 ;
19529
19530 1253 \12
19531 l\99\8eeEnd\9fn
19532  = 1;
19533
19534 1254 \12
19535 add
19536 ;
19537
19538 1256 if(!
19539 ¡
19540 ) {
19541
19542 1257 
19543 \94ºo
19544  = 
19545 EINVAL
19546 ;
19547
19548 1261 
19549 buf
19550  = (
19551 u\9at8_t
19552  *)(\13*)
19553         `MALLOC
19554 (\17(
19555 v®ue
19556 ));
19557
19558 1262 if(!
19559 buf
19560\15 -1;
19561
19562 1264 if(*(\ 5*)&
19563 l\99\8eeEnd\9fn
19564 ) {
19565
19566 1265 
19567 p¡¬t
19568  = (
19569 u\9at8_t
19570  *)&
19571 v®ue
19572  + \17(value) - 1;
19573
19574 1266 
19575 ³nd1
19576  = (
19577 u\9at8_t
19578  *)&
19579 v®ue
19580 ;
19581
19582 1267 
19583 add
19584  = -1;
19585
19586 1269 
19587 p¡¬t
19588  = (
19589 u\9at8_t
19590  *)&
19591 v®ue
19592 ;
19593
19594 1270 
19595 ³nd1
19596  = 
19597 p¡¬t
19598  + \17(
19599 v®ue
19600 ) - 1;
19601
19602 1271 
19603 add
19604  = 1;
19605
19606 1280 \ f
19607 p
19608  = 
19609 p¡¬t
19610 ;\85 !ð
19611 ³nd1
19612 ;\85 +ð
19613 add
19614 ) {
19615
19616 1281 \1a*
19617 p
19618 ) {
19619
19620 1282 \ 40x00: if((*(
19621 p
19622 +
19623 add
19624 ) & 0x80) == 0)
19625
19626 1285 \ 40xff: if((*(
19627 p
19628 +
19629 add
19630 ) & 0x80))
19631
19632 1292 \ f
19633 bp
19634  = 
19635 buf
19636
19637 ³nd1
19638  +ð
19639 add
19640
19641 p
19642  !=\85end1;\85 +=\87dd)
19643
19644 1293 *
19645 bp
19646 ++ = *
19647 p
19648 ;
19649
19650 1295 if(
19651 ¡
19652 ->
19653 buf
19654 è
19655         `FREEMEM
19656 (st->buf);
19657
19658 1296 
19659 ¡
19660 ->
19661 buf
19662  = buf;
19663
19664 1297 
19665 ¡
19666 ->
19667 size
19668  = 
19669 bp
19670  - 
19671 buf
19672 ;
19673
19674 1300 
19675         }
19676 }
19677
19678 1303 
19679         $a¢_INTEGER2lÚg
19680 (cڡ 
19681 INTEGER_t
19682  *
19683 \9d\8c
19684\13*
19685 l
19686 ) {
19687
19688 1304 
19689 \9atmax_t
19690  
19691 v
19692 ;
19693
19694 1305 if(
19695         `a¢_INTEGER2imax
19696 (
19697 \9d\8c
19698 , &
19699 v
19700 ) == 0) {
19701
19702 1306 if(
19703 v
19704  < 
19705 LONG_MIN
19706  || v > 
19707 LONG_MAX
19708 ) {
19709
19710 1307 
19711 \94ºo
19712  = 
19713 ERANGE
19714 ;
19715
19716 1310 *
19717 l
19718  = 
19719 v
19720 ;
19721
19722 1315 
19723         }
19724 }
19725
19726 1318 
19727         $a¢_INTEGER2ulÚg
19728 (cڡ 
19729 INTEGER_t
19730  *
19731 \9d\8c
19732\1d\13*
19733 l
19734 ) {
19735
19736 1319 
19737 u\9atmax_t
19738  
19739 v
19740 ;
19741
19742 1320 if(
19743         `a¢_INTEGER2umax
19744 (
19745 \9d\8c
19746 , &
19747 v
19748 ) == 0) {
19749
19750 1321 if(
19751 v
19752  > 
19753 ULONG_MAX
19754 ) {
19755
19756 1322 
19757 \94ºo
19758  = 
19759 ERANGE
19760 ;
19761
19762 1325 *
19763 l
19764  = 
19765 v
19766 ;
19767
19768 1330 
19769         }
19770 }
19771
19772 1333 
19773         $a¢_lÚg2INTEGER
19774 (
19775 INTEGER_t
19776  *
19777 ¡
19778\13
19779 v®ue
19780 ) {
19781
19782 1334 \15 
19783         `a¢_imax2INTEGER
19784 (
19785 ¡
19786
19787 v®ue
19788 );
19789
19790 1335 
19791         }
19792 }
19793
19794 1338 
19795         $a¢_ulÚg2INTEGER
19796 (
19797 INTEGER_t
19798  *
19799 ¡
19800\1d\13
19801 v®ue
19802 ) {
19803
19804 1339 \15 
19805         `a¢_imax2INTEGER
19806 (
19807 ¡
19808
19809 v®ue
19810 );
19811
19812 1340 
19813         }
19814 }
19815
19816 1344 
19817         $a¢_u\9at642INTEGER
19818 (
19819 INTEGER_t
19820  *
19821 ¡
19822
19823 u\9at64_t
19824  
19825 v®ue
19826 ) {
19827
19828 1345 
19829 u\9at8_t
19830  *
19831 buf
19832 ;
19833
19834 1346 
19835 u\9at8_t
19836  *
19837 \92d
19838 ;
19839
19840 1347 
19841 u\9at8_t
19842  *
19843 b
19844 ;
19845
19846 1348 \12
19847 shr
19848 ;
19849
19850 1350 if(
19851 v®ue
19852  <ð
19853 INT64_MAX
19854 )
19855
19856 1351 \15 
19857         `a¢_\9at642INTEGER
19858 (
19859 ¡
19860
19861 v®ue
19862 );
19863
19864 1353 
19865 buf
19866  = (
19867 u\9at8_t
19868  *)
19869         `MALLOC
19870 (1 + \17(
19871 v®ue
19872 ));
19873
19874 1354 if(!
19875 buf
19876\15 -1;
19877
19878 1356 
19879 \92d
19880  = 
19881 buf
19882  + (\17(
19883 v®ue
19884 ) + 1);
19885
19886 1357 
19887 buf
19888 [0] = 0;
19889
19890 1358 \ f
19891 b
19892  = 
19893 buf
19894  + 1, 
19895 shr
19896  = (\17(
19897 v®ue
19898 )-1)*8; b < 
19899 \92d
19900 ; shr -= 8, b++)
19901
19902 1359 *
19903 b
19904  = (
19905 u\9at8_t
19906 )(
19907 v®ue
19908  >> 
19909 shr
19910 );
19911
19912 1361 if(
19913 ¡
19914 ->
19915 buf
19916 è
19917         `FREEMEM
19918 (st->buf);
19919
19920 1362 
19921 ¡
19922 ->
19923 buf
19924  = buf;
19925
19926 1363 
19927 ¡
19928 ->
19929 size
19930  = 1 + \17(
19931 v®ue
19932 );
19933
19934 1366 
19935         }
19936 }
19937
19938 1369 
19939         $a¢_\9at642INTEGER
19940 (
19941 INTEGER_t
19942  *
19943 ¡
19944
19945 \9at64_t
19946  
19947 v®ue
19948 ) {
19949
19950 1370 
19951 u\9at8_t
19952  *
19953 buf
19954 , *
19955 bp
19956 ;
19957
19958 1371 
19959 u\9at8_t
19960  *
19961 p
19962 ;
19963
19964 1372 
19965 u\9at8_t
19966  *
19967 p¡¬t
19968 ;
19969
19970 1373 
19971 u\9at8_t
19972  *
19973 ³nd1
19974 ;
19975
19976 1374 \12
19977 l\99\8eeEnd\9fn
19978  = 1;
19979
19980 1375 \12
19981 add
19982 ;
19983
19984 1377 if(!
19985 ¡
19986 ) {
19987
19988 1378 
19989 \94ºo
19990  = 
19991 EINVAL
19992 ;
19993
19994 1382 
19995 buf
19996  = (
19997 u\9at8_t
19998  *)
19999         `MALLOC
20000 (\17(
20001 v®ue
20002 ));
20003
20004 1383 if(!
20005 buf
20006\15 -1;
20007
20008 1385 if(*(\ 5*)&
20009 l\99\8eeEnd\9fn
20010 ) {
20011
20012 1386 
20013 p¡¬t
20014  = (
20015 u\9at8_t
20016  *)&
20017 v®ue
20018  + \17(value) - 1;
20019
20020 1387 
20021 ³nd1
20022  = (
20023 u\9at8_t
20024  *)&
20025 v®ue
20026 ;
20027
20028 1388 
20029 add
20030  = -1;
20031
20032 1390 
20033 p¡¬t
20034  = (
20035 u\9at8_t
20036  *)&
20037 v®ue
20038 ;
20039
20040 1391 
20041 ³nd1
20042  = 
20043 p¡¬t
20044  + \17(
20045 v®ue
20046 ) - 1;
20047
20048 1392 
20049 add
20050  = 1;
20051
20052 1401 \ f
20053 p
20054  = 
20055 p¡¬t
20056 ;\85 !ð
20057 ³nd1
20058 ;\85 +ð
20059 add
20060 ) {
20061
20062 1402 \1a*
20063 p
20064 ) {
20065
20066 1403 \ 40x00: if((*(
20067 p
20068 +
20069 add
20070 ) & 0x80) == 0)
20071
20072 1406 \ 40xff: if((*(
20073 p
20074 +
20075 add
20076 ) & 0x80))
20077
20078 1413 \ f
20079 p¡¬t
20080  = 
20081 p
20082
20083 bp
20084  = 
20085 buf
20086
20087 ³nd1
20088  +ð
20089 add
20090 ;\85 !=\85end1;\85 +=\87dd)
20091
20092 1414 *
20093 bp
20094 ++ = *
20095 p
20096 ;
20097
20098 1416 if(
20099 ¡
20100 ->
20101 buf
20102 è
20103         `FREEMEM
20104 (st->buf);
20105
20106 1417 
20107 ¡
20108 ->
20109 buf
20110  = buf;
20111
20112 1418 
20113 ¡
20114 ->
20115 size
20116  = 
20117 bp
20118  - 
20119 buf
20120 ;
20121
20122 1421 
20123         }
20124 }
20125
20126 1429 \f
20127 a¢_¡¹ox_»suÉ_e
20128
20129
20130 1430 
20131         $a¢_¡¹oimax_lim
20132 (cڡ \ 5*
20133 ¡r
20134 , cڡ \ 5**
20135 \92d
20136
20137 \9atmax_t
20138  *
20139 \9a\8d
20140 ) {
20141
20142 1431 \12
20143 sign
20144  = 1;
20145
20146 1432 
20147 \9atmax_t
20148  
20149 v®ue
20150 ;
20151
20152 1434 \ 1
20153         #ASN1_INTMAX_MAX
20154  ((~(
20155 u\9atmax_t
20156 )0è>> 1)
20157
20158         )
20159
20160 1435 cڡ 
20161 \9atmax_t
20162  
20163\94_bound¬y
20164  = 
20165 ASN1_INTMAX_MAX
20166  / 10;
20167
20168 1436 
20169 \9atmax_t
20170  
20171 Ï¡_dig\99_max
20172  = 
20173 ASN1_INTMAX_MAX
20174  % 10;
20175
20176 1437 #undeà
20177 ASN1_INTMAX_MAX
20178
20179
20180 1439 if(
20181 ¡r
20182  >ð*
20183 \92d
20184 è\15 
20185 ASN_STRTOX_ERROR_INVAL
20186 ;
20187
20188 1441 \1a*
20189 ¡r
20190 ) {
20191
20192 1443 
20193 Ï¡_dig\99_max
20194 ++;
20195
20196 1444 
20197 sign
20198  = -1;
20199
20200 1447 
20201 ¡r
20202 ++;
20203
20204 1448 if(
20205 ¡r
20206  >ð*
20207 \92d
20208 ) {
20209
20210 1449 *
20211 \92d
20212  = 
20213 ¡r
20214 ;
20215
20216 1450 \15 
20217 ASN_STRTOX_EXPECT_MORE
20218 ;
20219
20220 1454 \ f
20221 v®ue
20222  = 0; 
20223 ¡r
20224  < (*
20225 \92d
20226 ); str++) {
20227
20228 1455 \1a*
20229 ¡r
20230 ) {
20231
20232 1458 \12
20233 d
20234  = *
20235 ¡r
20236  - '0';
20237
20238 1459 if(
20239 v®ue
20240  < 
20241\94_bound¬y
20242 ) {
20243
20244 1460 
20245 v®ue
20246  = v®u\90* 10 + 
20247 d
20248 ;
20249
20250 1461 } \vif(
20251 v®ue
20252  =ð
20253\94_bound¬y
20254 ) {
20255
20256 1462 if(
20257 d
20258  <ð
20259 Ï¡_dig\99_max
20260 ) {
20261
20262 1463 if(
20263 sign
20264  > 0) {
20265
20266 1464 
20267 v®ue
20268  = v®u\90* 10 + 
20269 d
20270 ;
20271
20272 1466 
20273 sign
20274  = 1;
20275
20276 1467 
20277 v®ue
20278  = -v®u\90* 10 - 
20279 d
20280 ;
20281
20282 1470 *
20283 \92d
20284  = 
20285 ¡r
20286 ;
20287
20288 1471 \15 
20289 ASN_STRTOX_ERROR_RANGE
20290 ;
20291
20292 1474 *
20293 \92d
20294  = 
20295 ¡r
20296 ;
20297
20298 1475 \15 
20299 ASN_STRTOX_ERROR_RANGE
20300 ;
20301
20302 1480 *
20303 \92d
20304  = 
20305 ¡r
20306 ;
20307
20308 1481 *
20309 \9a\8d
20310  = 
20311 sign
20312  * 
20313 v®ue
20314 ;
20315
20316 1482 \15 
20317 ASN_STRTOX_EXTRA_DATA
20318 ;
20319
20320 1486 *
20321 \92d
20322  = 
20323 ¡r
20324 ;
20325
20326 1487 *
20327 \9a\8d
20328  = 
20329 sign
20330  * 
20331 v®ue
20332 ;
20333
20334 1488 \15 
20335 ASN_STRTOX_OK
20336 ;
20337
20338 1489 
20339         }
20340 }
20341
20342 1497 \f
20343 a¢_¡¹ox_»suÉ_e
20344
20345
20346 1498 
20347         $a¢_¡¹oumax_lim
20348 (cڡ \ 5*
20349 ¡r
20350 , cڡ \ 5**
20351 \92d
20352
20353 u\9atmax_t
20354  *
20355 u\9a\8d
20356 ) {
20357
20358 1499 
20359 u\9atmax_t
20360  
20361 v®ue
20362 ;
20363
20364 1501 \ 1
20365         #ASN1_UINTMAX_MAX
20366  ((~(
20367 u\9atmax_t
20368 )0))
20369
20370         )
20371
20372 1502 cڡ 
20373 u\9atmax_t
20374  
20375\94_bound¬y
20376  = 
20377 ASN1_UINTMAX_MAX
20378  / 10;
20379
20380 1503 
20381 u\9atmax_t
20382  
20383 Ï¡_dig\99_max
20384  = 
20385 ASN1_UINTMAX_MAX
20386  % 10;
20387
20388 1504 #undeà
20389 ASN1_UINTMAX_MAX
20390
20391
20392 1506 if(
20393 ¡r
20394  >ð*
20395 \92d
20396 è\15 
20397 ASN_STRTOX_ERROR_INVAL
20398 ;
20399
20400 1508 \1a*
20401 ¡r
20402 ) {
20403
20404 1510 \15 
20405 ASN_STRTOX_ERROR_INVAL
20406 ;
20407
20408 1512 
20409 ¡r
20410 ++;
20411
20412 1513 if(
20413 ¡r
20414  >ð*
20415 \92d
20416 ) {
20417
20418 1514 *
20419 \92d
20420  = 
20421 ¡r
20422 ;
20423
20424 1515 \15 
20425 ASN_STRTOX_EXPECT_MORE
20426 ;
20427
20428 1519 \ f
20429 v®ue
20430  = 0; 
20431 ¡r
20432  < (*
20433 \92d
20434 ); str++) {
20435
20436 1520 \1a*
20437 ¡r
20438 ) {
20439
20440 1523 \1d\12
20441 d
20442  = *
20443 ¡r
20444  - '0';
20445
20446 1524 if(
20447 v®ue
20448  < 
20449\94_bound¬y
20450 ) {
20451
20452 1525 
20453 v®ue
20454  = v®u\90* 10 + 
20455 d
20456 ;
20457
20458 1526 } \vif(
20459 v®ue
20460  =ð
20461\94_bound¬y
20462 ) {
20463
20464 1527 if(
20465 d
20466  <ð
20467 Ï¡_dig\99_max
20468 ) {
20469
20470 1528 
20471 v®ue
20472  = v®u\90* 10 + 
20473 d
20474 ;
20475
20476 1530 *
20477 \92d
20478  = 
20479 ¡r
20480 ;
20481
20482 1531 \15 
20483 ASN_STRTOX_ERROR_RANGE
20484 ;
20485
20486 1534 *
20487 \92d
20488  = 
20489 ¡r
20490 ;
20491
20492 1535 \15 
20493 ASN_STRTOX_ERROR_RANGE
20494 ;
20495
20496 1540 *
20497 \92d
20498  = 
20499 ¡r
20500 ;
20501
20502 1541 *
20503 u\9a\8d
20504  = 
20505 v®ue
20506 ;
20507
20508 1542 \15 
20509 ASN_STRTOX_EXTRA_DATA
20510 ;
20511
20512 1546 *
20513 \92d
20514  = 
20515 ¡r
20516 ;
20517
20518 1547 *
20519 u\9a\8d
20520  = 
20521 v®ue
20522 ;
20523
20524 1548 \15 
20525 ASN_STRTOX_OK
20526 ;
20527
20528 1549 
20529         }
20530 }
20531
20532 1551 \f
20533 a¢_¡¹ox_»suÉ_e
20534
20535
20536 1552 
20537         $a¢_¡¹Þ_lim
20538 (cڡ \ 5*
20539 ¡r
20540 , cڡ \ 5**
20541 \92d
20542\13*
20543 Í
20544 ) {
20545
20546 1553 
20547 \9atmax_t
20548  
20549 v®ue
20550 ;
20551
20552 1554 \1a
20553         `a¢_¡¹oimax_lim
20554 (
20555 ¡r
20556
20557 \92d
20558 , &
20559 v®ue
20560 )) {
20561
20562 1555 \ 4
20563 ASN_STRTOX_ERROR_RANGE
20564 :
20565
20566 1556 \15 
20567 ASN_STRTOX_ERROR_RANGE
20568 ;
20569
20570 1557 \ 4
20571 ASN_STRTOX_ERROR_INVAL
20572 :
20573
20574 1558 \15 
20575 ASN_STRTOX_ERROR_INVAL
20576 ;
20577
20578 1559 \ 4
20579 ASN_STRTOX_EXPECT_MORE
20580 :
20581
20582 1560 \15 
20583 ASN_STRTOX_EXPECT_MORE
20584 ;
20585
20586 1561 \ 4
20587 ASN_STRTOX_OK
20588 :
20589
20590 1562 if(
20591 v®ue
20592  >ð
20593 LONG_MIN
20594  && v®u\90
20595 LONG_MAX
20596 ) {
20597
20598 1563 *
20599 Í
20600  = 
20601 v®ue
20602 ;
20603
20604 1564 \15 
20605 ASN_STRTOX_OK
20606 ;
20607
20608 1566 \15 
20609 ASN_STRTOX_ERROR_RANGE
20610 ;
20611
20612 1568 \ 4
20613 ASN_STRTOX_EXTRA_DATA
20614 :
20615
20616 1569 if(
20617 v®ue
20618  >ð
20619 LONG_MIN
20620  && v®u\90
20621 LONG_MAX
20622 ) {
20623
20624 1570 *
20625 Í
20626  = 
20627 v®ue
20628 ;
20629
20630 1571 \15 
20631 ASN_STRTOX_EXTRA_DATA
20632 ;
20633
20634 1573 \15 
20635 ASN_STRTOX_ERROR_RANGE
20636 ;
20637
20638 1577 
20639         `as£¹
20640 (!"Unreachable");
20641
20642 1578 \15 
20643 ASN_STRTOX_ERROR_INVAL
20644 ;
20645
20646 1579 
20647         }
20648 }
20649
20650 1581 \f
20651 a¢_¡¹ox_»suÉ_e
20652
20653
20654 1582 
20655         $a¢_¡¹oul_lim
20656 (cڡ \ 5*
20657 ¡r
20658 , cڡ \ 5**
20659 \92d
20660\1d\13*
20661
20662 ) {
20663
20664 1583 
20665 u\9atmax_t
20666  
20667 v®ue
20668 ;
20669
20670 1584 \1a
20671         `a¢_¡¹oumax_lim
20672 (
20673 ¡r
20674
20675 \92d
20676 , &
20677 v®ue
20678 )) {
20679
20680 1585 \ 4
20681 ASN_STRTOX_ERROR_RANGE
20682 :
20683
20684 1586 \15 
20685 ASN_STRTOX_ERROR_RANGE
20686 ;
20687
20688 1587 \ 4
20689 ASN_STRTOX_ERROR_INVAL
20690 :
20691
20692 1588 \15 
20693 ASN_STRTOX_ERROR_INVAL
20694 ;
20695
20696 1589 \ 4
20697 ASN_STRTOX_EXPECT_MORE
20698 :
20699
20700 1590 \15 
20701 ASN_STRTOX_EXPECT_MORE
20702 ;
20703
20704 1591 \ 4
20705 ASN_STRTOX_OK
20706 :
20707
20708 1592 if(
20709 v®ue
20710  <ð
20711 ULONG_MAX
20712 ) {
20713
20714 1593 *
20715
20716  = 
20717 v®ue
20718 ;
20719
20720 1594 \15 
20721 ASN_STRTOX_OK
20722 ;
20723
20724 1596 \15 
20725 ASN_STRTOX_ERROR_RANGE
20726 ;
20727
20728 1598 \ 4
20729 ASN_STRTOX_EXTRA_DATA
20730 :
20731
20732 1599 if(
20733 v®ue
20734  <ð
20735 ULONG_MAX
20736 ) {
20737
20738 1600 *
20739
20740  = 
20741 v®ue
20742 ;
20743
20744 1601 \15 
20745 ASN_STRTOX_EXTRA_DATA
20746 ;
20747
20748 1603 \15 
20749 ASN_STRTOX_ERROR_RANGE
20750 ;
20751
20752 1607 
20753         `as£¹
20754 (!"Unreachable");
20755
20756 1608 \15 
20757 ASN_STRTOX_ERROR_INVAL
20758 ;
20759
20760 1609 
20761         }
20762 }
20763
20764 1612 
20765         $INTEGER_com·»
20766 (cڡ 
20767 a¢_TYPE_desü\9dtÜ_t
20768  *
20769 td
20770 , cڡ \1e*
20771 ­\8c
20772 ,
20773
20774 1613 cڡ \1e*
20775 b±r
20776 ) {
20777
20778 1614 cڡ 
20779 INTEGER_t
20780  *
20781 a
20782  = 
20783 ­\8c
20784 ;
20785
20786 1615 cڡ 
20787 INTEGER_t
20788  *
20789 b
20790  = 
20791 b±r
20792 ;
20793
20794 1617 (\1e)
20795 td
20796 ;
20797
20798 1619 if(
20799 a
20800  && 
20801 b
20802 ) {
20803
20804 1620 if(
20805 a
20806 ->
20807 size
20808  && 
20809 b
20810 ->size) {
20811
20812 1621 \12
20813 sign_a
20814  = (
20815 a
20816 ->
20817 buf
20818 [0] & 0x80) ? -1 : 1;
20819
20820 1622 \12
20821 sign_b
20822  = (
20823 b
20824 ->
20825 buf
20826 [0] & 0x80) ? -1 : 1;
20827
20828 1624 if(
20829 sign_a
20830  < 
20831 sign_b
20832\15 -1;
20833
20834 1625 if(
20835 sign_a
20836  > 
20837 sign_b
20838\15 1;
20839
20840 1628 if(
20841 a
20842 ->
20843 size
20844  < 
20845 b
20846 ->size) {
20847
20848 1629 \15 -1 * 
20849 sign_a
20850 ;
20851
20852 1630 } \vif(
20853 a
20854 ->
20855 size
20856  > 
20857 b
20858 ->size) {
20859
20860 1631 \15 1 * 
20861 sign_b
20862 ;
20863
20864 1634 \15 
20865 sign_a
20866  * 
20867         `memcmp
20868 (
20869 a
20870 ->
20871 buf
20872
20873 b
20874 ->buf,\87->
20875 size
20876 );
20877
20878 1635 } \vif(
20879 a
20880 ->
20881 size
20882 ) {
20883
20884 1636 \12
20885 sign
20886  = (
20887 a
20888 ->
20889 buf
20890 [0] & 0x80) ? -1 : 1;
20891
20892 1637 \15 (1è* 
20893 sign
20894 ;
20895
20896 1638 } \vif(
20897 b
20898 ->
20899 size
20900 ) {
20901
20902 1639 \12
20903 sign
20904  = (
20905 a
20906 ->
20907 buf
20908 [0] & 0x80) ? -1 : 1;
20909
20910 1640 \15 (-1è* 
20911 sign
20912 ;
20913
20914 1644 } \vif(!
20915 a
20916  && !
20917 b
20918 ) {
20919
20920 1646 } \vif(!
20921 a
20922 ) {
20923
20924 1652 
20925         }
20926 }
20927
20928 1654 
20929 a¢_¿ndom_f\9el_»suÉ_t
20930
20931
20932 1655 
20933         $INTEGER_¿ndom_f\9el
20934 (cڡ 
20935 a¢_TYPE_desü\9dtÜ_t
20936  *
20937 td
20938\1e**
20939 ¥\8c
20940 ,
20941
20942 1656 cڡ 
20943 a¢_\92cod\9ag_cÚ¡¿\9ats_t
20944  *
20945 cÚ¡¿\9ats
20946 ,
20947
20948 1657 
20949 size_t
20950  
20951 max_Ëngth
20952 ) {
20953
20954 1658 cڡ 
20955 a¢_INTEGER_¥ecifics_t
20956  *
20957 ¥ecs
20958  =
20959
20960 1659 (cڡ 
20961 a¢_INTEGER_¥ecifics_t
20962  *)
20963 td
20964 ->
20965 ¥ecifics
20966 ;
20967
20968 1660 
20969 a¢_¿ndom_f\9el_»suÉ_t
20970  
20971 »suÉ_ok
20972  = {
20973 ARFILL_OK
20974 , 1};
20975
20976 1661 
20977 a¢_¿ndom_f\9el_»suÉ_t
20978  
20979 »suÉ_ç\9eed
20980  = {
20981 ARFILL_FAILED
20982 , 0};
20983
20984 1662 
20985 a¢_¿ndom_f\9el_»suÉ_t
20986  
20987 »suÉ_sk\9d³d
20988  = {
20989 ARFILL_SKIPPED
20990 , 0};
20991
20992 1663 
20993 INTEGER_t
20994  *
20995 ¡
20996  = *
20997 ¥\8c
20998 ;
20999
21000 1664 cڡ 
21001 a¢_INTEGER_\92um_m­_t
21002  *
21003 em­
21004 ;
21005
21006 1665 
21007 size_t
21008  
21009 em­_Ën
21010 ;
21011
21012 1666 
21013 \9atmax_t
21014  
21015 v®ue
21016 ;
21017
21018 1667 \12
21019 f\9ad_\9aside_m­
21020 ;
21021
21022 1669 if(
21023 max_Ëngth
21024  =ð0è\15 
21025 »suÉ_sk\9d³d
21026 ;
21027
21028 1671 if(
21029 ¡
21030  =ð
21031 NULL
21032 ) {
21033
21034 1672 
21035 ¡
21036  = (
21037 INTEGER_t
21038  *)
21039         `CALLOC
21040 (1, \17(*st));
21041
21042 1673 if(
21043 ¡
21044  =ð
21045 NULL
21046 ) {
21047
21048 1674 \15 
21049 »suÉ_ç\9eed
21050 ;
21051
21052 1678 if(
21053 ¥ecs
21054 ) {
21055
21056 1679 
21057 em­
21058  = 
21059 ¥ecs
21060 ->
21061 v®ue2\92um
21062 ;
21063
21064 1680 
21065 em­_Ën
21066  = 
21067 ¥ecs
21068 ->
21069 m­_couÁ
21070 ;
21071
21072 1681 if(
21073 ¥ecs
21074 ->
21075 ¡riù_\92um\94©iÚ
21076 ) {
21077
21078 1682 
21079 f\9ad_\9aside_m­
21080  = 
21081 em­_Ën
21082  > 0;
21083
21084 1684 
21085 f\9ad_\9aside_m­
21086  = 
21087 em­_Ën
21088  ? 
21089         `a¢_¿ndom_b\91w\93n
21090 (0, 1) : 0;
21091
21092 1687 
21093 em­
21094  = 0;
21095
21096 1688 
21097 em­_Ën
21098  = 0;
21099
21100 1689 
21101 f\9ad_\9aside_m­
21102  = 0;
21103
21104 1692 if(
21105 f\9ad_\9aside_m­
21106 ) {
21107
21108 1693 
21109         `as£¹
21110 (
21111 em­_Ën
21112  > 0);
21113
21114 1694 
21115 v®ue
21116  = 
21117 em­
21118 [
21119         `a¢_¿ndom_b\91w\93n
21120 (0, 
21121 em­_Ën
21122  - 1)].
21123 Çt_v®ue
21124 ;
21125
21126 1696 cڡ 
21127 a¢_³r_cÚ¡¿\9ats_t
21128  *
21129 ù
21130 ;
21131
21132 1698 \18cڡ \13
21133\9fÁs
21134 [] = {
21135
21136 1704 if(
21137 ¥ecs
21138  && s³cs->
21139 f\9bld_unsigÃd
21140 ) {
21141
21142 1705 
21143         `as£¹
21144 (
21145\9fÁs
21146 [18] == 0);
21147
21148 1706 
21149 v®ue
21150  = 
21151\9fÁs
21152 [
21153         `a¢_¿ndom_b\91w\93n
21154 (
21155
21156 1707 18, \17(
21157\9fÁs
21158 ) / \17(variants[0]) - 1)];
21159
21160 1709 
21161 v®ue
21162  = 
21163\9fÁs
21164 [
21165         `a¢_¿ndom_b\91w\93n
21166 (
21167
21168 1710 0, \17(
21169\9fÁs
21170 ) / \17(variants[0]) - 1)];
21171
21172 1713 if(!
21173 cÚ¡¿\9ats
21174 ècÚ¡¿\9at ð&
21175 td
21176 ->
21177 \92cod\9ag_cÚ¡¿\9ats
21178 ;
21179
21180 1714 
21181 ù
21182  = 
21183 cÚ¡¿\9ats
21184  ? cÚ¡¿\9ats->
21185 ³r_cÚ¡¿\9ats
21186  : 0;
21187
21188 1715 if(
21189 ù
21190  && (ù->
21191 v®ue
21192 .
21193 æags
21194  & 
21195 APC_CONSTRAINED
21196 )) {
21197
21198 1716 if(
21199 v®ue
21200  < 
21201 ù
21202 ->v®ue.
21203 low\94_bound
21204  || v®u\90> ct->v®ue.
21205\94_bound
21206 ) {
21207
21208 1717 
21209 v®ue
21210  = 
21211         `a¢_¿ndom_b\91w\93n
21212 (
21213 ù
21214 ->v®ue.
21215 low\94_bound
21216 ,
21217
21218 1718 
21219 ù
21220 ->
21221 v®ue
21222 .
21223\94_bound
21224 );
21225
21226 1723 if(
21227         `a¢_imax2INTEGER
21228 (
21229 ¡
21230
21231 v®ue
21232 )) {
21233
21234 1724 if(
21235 ¡
21236  =ð*
21237 ¥\8c
21238 ) {
21239
21240 1725 
21241         `ASN_STRUCT_RESET
21242 (*
21243 td
21244
21245 ¡
21246 );
21247
21248 1727 
21249         `ASN_STRUCT_FREE
21250 (*
21251 td
21252
21253 ¡
21254 );
21255
21256 1729 \15 
21257 »suÉ_ç\9eed
21258 ;
21259
21260 1731 *
21261 ¥\8c
21262  = 
21263 ¡
21264 ;
21265
21266 1732 
21267 »suÉ_ok
21268 .
21269 Ëngth
21270  = 
21271 ¡
21272 ->
21273 size
21274 ;
21275
21276 1733 \15 
21277 »suÉ_ok
21278 ;
21279
21280 1735 
21281         }
21282 }
21283
21284         @IndexToRFSP.c
21285
21286\ 2
21287         ~"IndexToRFSP.h
21288 "
21289
21290 11 
21291         $IndexToRFSP_cÚ¡¿\9at
21292 (cڡ 
21293 a¢_TYPE_desü\9dtÜ_t
21294  *
21295 td
21296 , cڡ \1e*
21297 ¥\8c
21298 ,
21299
21300 12 
21301 a¢_­p_cÚ¡¿\9at_ç\9eed_f
21302  *
21303 ùç\9ecb
21304\1e*
21305 ­p_key
21306 ) {
21307
21308 13 \13
21309 v®ue
21310 ;
21311
21312 15 if(!
21313 ¥\8c
21314 ) {
21315
21316 16 
21317         `ASN__CTFAIL
21318 (
21319 ­p_key
21320
21321 td
21322
21323 ¥\8c
21324 ,
21325
21326 18 
21327 td
21328 ->
21329 Çme
21330
21331 __FILE__
21332
21333 __LINE__
21334 );
21335
21336 22 
21337 v®ue
21338  = *(cڡ \13*)
21339 ¥\8c
21340 ;
21341
21342 24 if((
21343 v®ue
21344  >= 1 && value <= 256)) {
21345
21346 28 
21347         `ASN__CTFAIL
21348 (
21349 ­p_key
21350
21351 td
21352
21353 ¥\8c
21354 ,
21355
21356 30 
21357 td
21358 ->
21359 Çme
21360
21361 __FILE__
21362
21363 __LINE__
21364 );
21365
21366 33 
21367         }
21368 }
21369
21370 39 \18
21371 a¢_³r_cÚ¡¿\9ats_t
21372  
21373 a¢_PER_ty³_IndexToRFSP_cÚ¡r_1
21374  
21375         gCC_NOTUSED
21376  = {
21377
21378 40 { 
21379 APC_CONSTRAINED
21380  | 
21381 APC_EXTENSIBLE
21382 , 8, 8, 1, 256 } ,
21383
21384 41 { 
21385 APC_UNCONSTRAINED
21386 , -1, -1, 0, 0 },
21387
21388 44 \18cڡ 
21389 b\94_\8ev_\8fg_t
21390  
21391         ga¢_DEF_IndexToRFSP_\8fgs_1
21392 [] = {
21393
21394 45 (
21395 ASN_TAG_CLASS_UNIVERSAL
21396  | (2 << 2))
21397
21398 47 
21399 a¢_TYPE_desü\9dtÜ_t
21400  
21401         ga¢_DEF_IndexToRFSP
21402  = {
21403
21404 50 &
21405 a¢_OP_N©iveIÁeg\94
21406 ,
21407
21408 51 
21409 a¢_DEF_IndexToRFSP_\8fgs_1
21410 ,
21411
21412 52 \17(
21413 a¢_DEF_IndexToRFSP_\8fgs_1
21414 )
21415
21416 53 /\17(
21417 a¢_DEF_IndexToRFSP_\8fgs_1
21418 [0]),
21419
21420 54 
21421 a¢_DEF_IndexToRFSP_\8fgs_1
21422 ,
21423
21424 55 \17(
21425 a¢_DEF_IndexToRFSP_\8fgs_1
21426 )
21427
21428 56 /\17(
21429 a¢_DEF_IndexToRFSP_\8fgs_1
21430 [0]),
21431
21432 57 { 0, &
21433 a¢_PER_ty³_IndexToRFSP_cÚ¡r_1
21434
21435 IndexToRFSP_cÚ¡¿\9at
21436  },
21437
21438         @Interface-MessageID.c
21439
21440\ 2
21441         ~"IÁ\94çû-Mes§geID.h
21442 "
21443
21444 14 \18
21445 a¢_³r_cÚ¡¿\9ats_t
21446  
21447 a¢_PER_ty³_mes§geTy³_cÚ¡r_3
21448  
21449         gCC_NOTUSED
21450  = {
21451
21452 15 { 
21453 APC_CONSTRAINED
21454  | 
21455 APC_EXTENSIBLE
21456 , 2, 2, 0, 2 } ,
21457
21458 16 { 
21459 APC_UNCONSTRAINED
21460 , -1, -1, 0, 0 },
21461
21462 19 \18cڡ 
21463 a¢_INTEGER_\92um_m­_t
21464  
21465         ga¢_MAP_mes§geTy³_v®ue2\92um_3
21466 [] = {
21467
21468 25 \18cڡ \1d\12
21469         ga¢_MAP_mes§geTy³_\92um2v®ue_3
21470 [] = {
21471
21472 31 \18cڡ 
21473 a¢_INTEGER_¥ecifics_t
21474  
21475         ga¢_SPC_mes§geTy³_¥ecs_3
21476  = {
21477
21478 32 
21479 a¢_MAP_mes§geTy³_v®ue2\92um_3
21480 ,
21481
21482 33 
21483 a¢_MAP_mes§geTy³_\92um2v®ue_3
21484 ,
21485
21486 40 \18cڡ 
21487 b\94_\8ev_\8fg_t
21488  
21489         ga¢_DEF_mes§geTy³_\8fgs_3
21490 [] = {
21491
21492 41 (
21493 ASN_TAG_CLASS_CONTEXT
21494  | (1 << 2)),
21495
21496 42 (
21497 ASN_TAG_CLASS_UNIVERSAL
21498  | (10 << 2))
21499
21500 45 
21501 a¢_TYPE_desü\9dtÜ_t
21502  
21503         ga¢_DEF_mes§geTy³_3
21504  = {
21505
21506 48 &
21507 a¢_OP_N©iveEnum\94©ed
21508 ,
21509
21510 49 
21511 a¢_DEF_mes§geTy³_\8fgs_3
21512 ,
21513
21514 50 \17(
21515 a¢_DEF_mes§geTy³_\8fgs_3
21516 )
21517
21518 51 /\17(
21519 a¢_DEF_mes§geTy³_\8fgs_3
21520 [0]) - 1,
21521
21522 52 
21523 a¢_DEF_mes§geTy³_\8fgs_3
21524 ,
21525
21526 53 \17(
21527 a¢_DEF_mes§geTy³_\8fgs_3
21528 )
21529
21530 54 /\17(
21531 a¢_DEF_mes§geTy³_\8fgs_3
21532 [0]),
21533
21534 55 { 0, &
21535 a¢_PER_ty³_mes§geTy³_cÚ¡r_3
21536
21537 N©iveEnum\94©ed_cÚ¡¿\9at
21538  },
21539
21540 57 &
21541 a¢_SPC_mes§geTy³_¥ecs_3
21542
21543
21544 60 \18
21545 a¢_TYPE_memb\94_t
21546  
21547         ga¢_MBR_IÁ\94çû_Mes§geID_1
21548 [] = {
21549
21550 61 { 
21551 ATF_NOFLAGS
21552 , 0, 
21553 off£tof
21554 (\19
21555\94çû_Mes§geID
21556
21557 \9a\8brçûProûdu»ID
21558 ),
21559
21560 62 (
21561 ASN_TAG_CLASS_CONTEXT
21562  | (0 << 2)),
21563
21564 64 &
21565 a¢_DEF_N©iveIÁeg\94
21566 ,
21567
21568 70 { 
21569 ATF_NOFLAGS
21570 , 0, 
21571 off£tof
21572 (\19
21573\94çû_Mes§geID
21574
21575 mes§geTy³
21576 ),
21577
21578 71 (
21579 ASN_TAG_CLASS_CONTEXT
21580  | (1 << 2)),
21581
21582 73 &
21583 a¢_DEF_mes§geTy³_3
21584 ,
21585
21586 80 \18cڡ 
21587 b\94_\8ev_\8fg_t
21588  
21589         ga¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
21590 [] = {
21591
21592 81 (
21593 ASN_TAG_CLASS_UNIVERSAL
21594  | (16 << 2))
21595
21596 83 \18cڡ 
21597 a¢_TYPE_\8fg2memb\94_t
21598  
21599         ga¢_MAP_IÁ\94çû_Mes§geID_\8fg2\96_1
21600 [] = {
21601
21602 84 { (
21603 ASN_TAG_CLASS_CONTEXT
21604  | (0 << 2)), 0, 0, 0 },
21605
21606 85 { (
21607 ASN_TAG_CLASS_CONTEXT
21608  | (1 << 2)), 1, 0, 0 }
21609
21610 87 \18
21611 a¢_SEQUENCE_¥ecifics_t
21612  
21613         ga¢_SPC_IÁ\94çû_Mes§geID_¥ecs_1
21614  = {
21615
21616 88 \17(\19
21617\94çû_Mes§geID
21618 ),
21619
21620 89 
21621 off£tof
21622 (\19
21623\94çû_Mes§geID
21624
21625 _a¢_ùx
21626 ),
21627
21628 90 
21629 a¢_MAP_IÁ\94çû_Mes§geID_\8fg2\96_1
21630 ,
21631
21632 95 
21633 a¢_TYPE_desü\9dtÜ_t
21634  
21635         ga¢_DEF_IÁ\94çû_Mes§geID
21636  = {
21637
21638 98 &
21639 a¢_OP_SEQUENCE
21640 ,
21641
21642 99 
21643 a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
21644 ,
21645
21646 100 \17(
21647 a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
21648 )
21649
21650 101 /\17(
21651 a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
21652 [0]),
21653
21654 102 
21655 a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
21656 ,
21657
21658 103 \17(
21659 a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
21660 )
21661
21662 104 /\17(
21663 a¢_DEF_IÁ\94çû_Mes§geID_\8fgs_1
21664 [0]),
21665
21666 105 { 0, 0, 
21667 SEQUENCE_cÚ¡¿\9at
21668  },
21669
21670 106 
21671 a¢_MBR_IÁ\94çû_Mes§geID_1
21672 ,
21673
21674 108 &
21675 a¢_SPC_IÁ\94çû_Mes§geID_¥ecs_1
21676
21677
21678         @InterfaceID-E1.c
21679
21680\ 2
21681         ~"IÁ\94çûID-E1.h
21682 "
21683
21684 10 
21685 a¢_TYPE_memb\94_t
21686  
21687         ga¢_MBR_IÁ\94çûID_E1_1
21688 [] = {
21689
21690 11 { 
21691 ATF_NOFLAGS
21692 , 0, 
21693 off£tof
21694 (\19
21695\94çûID_E1
21696
21697 glob®GNB_ID
21698 ),
21699
21700 12 (
21701 ASN_TAG_CLASS_CONTEXT
21702  | (0 << 2)),
21703
21704 14 &
21705 a¢_DEF_Glob®GNB_ID
21706 ,
21707
21708 20 { 
21709 ATF_NOFLAGS
21710 , 0, 
21711 off£tof
21712 (\19
21713\94çûID_E1
21714
21715 gNB_CU_UP_ID
21716 ),
21717
21718 21 (
21719 ASN_TAG_CLASS_CONTEXT
21720  | (1 << 2)),
21721
21722 23 &
21723 a¢_DEF_GNB_CU_UP_ID
21724 ,
21725
21726 30 \18cڡ 
21727 b\94_\8ev_\8fg_t
21728  
21729         ga¢_DEF_IÁ\94çûID_E1_\8fgs_1
21730 [] = {
21731
21732 31 (
21733 ASN_TAG_CLASS_UNIVERSAL
21734  | (16 << 2))
21735
21736 33 \18cڡ 
21737 a¢_TYPE_\8fg2memb\94_t
21738  
21739         ga¢_MAP_IÁ\94çûID_E1_\8fg2\96_1
21740 [] = {
21741
21742 34 { (
21743 ASN_TAG_CLASS_CONTEXT
21744  | (0 << 2)), 0, 0, 0 },
21745
21746 35 { (
21747 ASN_TAG_CLASS_CONTEXT
21748  | (1 << 2)), 1, 0, 0 }
21749
21750 37 
21751 a¢_SEQUENCE_¥ecifics_t
21752  
21753         ga¢_SPC_IÁ\94çûID_E1_¥ecs_1
21754  = {
21755
21756 38 \17(\19
21757\94çûID_E1
21758 ),
21759
21760 39 
21761 off£tof
21762 (\19
21763\94çûID_E1
21764
21765 _a¢_ùx
21766 ),
21767
21768 40 
21769 a¢_MAP_IÁ\94çûID_E1_\8fg2\96_1
21770 ,
21771
21772 45 
21773 a¢_TYPE_desü\9dtÜ_t
21774  
21775         ga¢_DEF_IÁ\94çûID_E1
21776  = {
21777
21778 48 &
21779 a¢_OP_SEQUENCE
21780 ,
21781
21782 49 
21783 a¢_DEF_IÁ\94çûID_E1_\8fgs_1
21784 ,
21785
21786 50 \17(
21787 a¢_DEF_IÁ\94çûID_E1_\8fgs_1
21788 )
21789
21790 51 /\17(
21791 a¢_DEF_IÁ\94çûID_E1_\8fgs_1
21792 [0]),
21793
21794 52 
21795 a¢_DEF_IÁ\94çûID_E1_\8fgs_1
21796 ,
21797
21798 53 \17(
21799 a¢_DEF_IÁ\94çûID_E1_\8fgs_1
21800 )
21801
21802 54 /\17(
21803 a¢_DEF_IÁ\94çûID_E1_\8fgs_1
21804 [0]),
21805
21806 55 { 0, 0, 
21807 SEQUENCE_cÚ¡¿\9at
21808  },
21809
21810 56 
21811 a¢_MBR_IÁ\94çûID_E1_1
21812 ,
21813
21814 58 &
21815 a¢_SPC_IÁ\94çûID_E1_¥ecs_1
21816
21817
21818         @InterfaceID-F1.c
21819
21820\ 2
21821         ~"IÁ\94çûID-F1.h
21822 "
21823
21824 10 
21825 a¢_TYPE_memb\94_t
21826  
21827         ga¢_MBR_IÁ\94çûID_F1_1
21828 [] = {
21829
21830 11 { 
21831 ATF_NOFLAGS
21832 , 0, 
21833 off£tof
21834 (\19
21835\94çûID_F1
21836
21837 glob®GNB_ID
21838 ),
21839
21840 12 (
21841 ASN_TAG_CLASS_CONTEXT
21842  | (0 << 2)),
21843
21844 14 &
21845 a¢_DEF_Glob®GNB_ID
21846 ,
21847
21848 20 { 
21849 ATF_NOFLAGS
21850 , 0, 
21851 off£tof
21852 (\19
21853\94çûID_F1
21854
21855 gNB_DU_ID
21856 ),
21857
21858 21 (
21859 ASN_TAG_CLASS_CONTEXT
21860  | (1 << 2)),
21861
21862 23 &
21863 a¢_DEF_GNB_DU_ID
21864 ,
21865
21866 30 \18cڡ 
21867 b\94_\8ev_\8fg_t
21868  
21869         ga¢_DEF_IÁ\94çûID_F1_\8fgs_1
21870 [] = {
21871
21872 31 (
21873 ASN_TAG_CLASS_UNIVERSAL
21874  | (16 << 2))
21875
21876 33 \18cڡ 
21877 a¢_TYPE_\8fg2memb\94_t
21878  
21879         ga¢_MAP_IÁ\94çûID_F1_\8fg2\96_1
21880 [] = {
21881
21882 34 { (
21883 ASN_TAG_CLASS_CONTEXT
21884  | (0 << 2)), 0, 0, 0 },
21885
21886 35 { (
21887 ASN_TAG_CLASS_CONTEXT
21888  | (1 << 2)), 1, 0, 0 }
21889
21890 37 
21891 a¢_SEQUENCE_¥ecifics_t
21892  
21893         ga¢_SPC_IÁ\94çûID_F1_¥ecs_1
21894  = {
21895
21896 38 \17(\19
21897\94çûID_F1
21898 ),
21899
21900 39 
21901 off£tof
21902 (\19
21903\94çûID_F1
21904
21905 _a¢_ùx
21906 ),
21907
21908 40 
21909 a¢_MAP_IÁ\94çûID_F1_\8fg2\96_1
21910 ,
21911
21912 45 
21913 a¢_TYPE_desü\9dtÜ_t
21914  
21915         ga¢_DEF_IÁ\94çûID_F1
21916  = {
21917
21918 48 &
21919 a¢_OP_SEQUENCE
21920 ,
21921
21922 49 
21923 a¢_DEF_IÁ\94çûID_F1_\8fgs_1
21924 ,
21925
21926 50 \17(
21927 a¢_DEF_IÁ\94çûID_F1_\8fgs_1
21928 )
21929
21930 51 /\17(
21931 a¢_DEF_IÁ\94çûID_F1_\8fgs_1
21932 [0]),
21933
21934 52 
21935 a¢_DEF_IÁ\94çûID_F1_\8fgs_1
21936 ,
21937
21938 53 \17(
21939 a¢_DEF_IÁ\94çûID_F1_\8fgs_1
21940 )
21941
21942 54 /\17(
21943 a¢_DEF_IÁ\94çûID_F1_\8fgs_1
21944 [0]),
21945
21946 55 { 0, 0, 
21947 SEQUENCE_cÚ¡¿\9at
21948  },
21949
21950 56 
21951 a¢_MBR_IÁ\94çûID_F1_1
21952 ,
21953
21954 58 &
21955 a¢_SPC_IÁ\94çûID_F1_¥ecs_1
21956
21957
21958         @InterfaceID-NG.c
21959
21960\ 2
21961         ~"IÁ\94çûID-NG.h
21962 "
21963
21964 10 
21965 a¢_TYPE_memb\94_t
21966  
21967         ga¢_MBR_IÁ\94çûID_NG_1
21968 [] = {
21969
21970 11 { 
21971 ATF_NOFLAGS
21972 , 0, 
21973 off£tof
21974 (\19
21975\94çûID_NG
21976
21977 guami
21978 ),
21979
21980 12 (
21981 ASN_TAG_CLASS_CONTEXT
21982  | (0 << 2)),
21983
21984 14 &
21985 a¢_DEF_GUAMI
21986 ,
21987
21988 21 \18cڡ 
21989 b\94_\8ev_\8fg_t
21990  
21991         ga¢_DEF_IÁ\94çûID_NG_\8fgs_1
21992 [] = {
21993
21994 22 (
21995 ASN_TAG_CLASS_UNIVERSAL
21996  | (16 << 2))
21997
21998 24 \18cڡ 
21999 a¢_TYPE_\8fg2memb\94_t
22000  
22001         ga¢_MAP_IÁ\94çûID_NG_\8fg2\96_1
22002 [] = {
22003
22004 25 { (
22005 ASN_TAG_CLASS_CONTEXT
22006  | (0 << 2)), 0, 0, 0 }
22007
22008 27 
22009 a¢_SEQUENCE_¥ecifics_t
22010  
22011         ga¢_SPC_IÁ\94çûID_NG_¥ecs_1
22012  = {
22013
22014 28 \17(\19
22015\94çûID_NG
22016 ),
22017
22018 29 
22019 off£tof
22020 (\19
22021\94çûID_NG
22022
22023 _a¢_ùx
22024 ),
22025
22026 30 
22027 a¢_MAP_IÁ\94çûID_NG_\8fg2\96_1
22028 ,
22029
22030 35 
22031 a¢_TYPE_desü\9dtÜ_t
22032  
22033         ga¢_DEF_IÁ\94çûID_NG
22034  = {
22035
22036 38 &
22037 a¢_OP_SEQUENCE
22038 ,
22039
22040 39 
22041 a¢_DEF_IÁ\94çûID_NG_\8fgs_1
22042 ,
22043
22044 40 \17(
22045 a¢_DEF_IÁ\94çûID_NG_\8fgs_1
22046 )
22047
22048 41 /\17(
22049 a¢_DEF_IÁ\94çûID_NG_\8fgs_1
22050 [0]),
22051
22052 42 
22053 a¢_DEF_IÁ\94çûID_NG_\8fgs_1
22054 ,
22055
22056 43 \17(
22057 a¢_DEF_IÁ\94çûID_NG_\8fgs_1
22058 )
22059
22060 44 /\17(
22061 a¢_DEF_IÁ\94çûID_NG_\8fgs_1
22062 [0]),
22063
22064 45 { 0, 0, 
22065 SEQUENCE_cÚ¡¿\9at
22066  },
22067
22068 46 
22069 a¢_MBR_IÁ\94çûID_NG_1
22070 ,
22071
22072 48 &
22073 a¢_SPC_IÁ\94çûID_NG_¥ecs_1
22074
22075
22076         @InterfaceID-S1.c
22077
22078\ 2
22079         ~"IÁ\94çûID-S1.h
22080 "
22081
22082 10 
22083 a¢_TYPE_memb\94_t
22084  
22085         ga¢_MBR_IÁ\94çûID_S1_1
22086 [] = {
22087
22088 11 { 
22089 ATF_NOFLAGS
22090 , 0, 
22091 off£tof
22092 (\19
22093\94çûID_S1
22094
22095 gUMMEI
22096 ),
22097
22098 12 (
22099 ASN_TAG_CLASS_CONTEXT
22100  | (0 << 2)),
22101
22102 14 &
22103 a¢_DEF_GUMMEI
22104 ,
22105
22106 21 \18cڡ 
22107 b\94_\8ev_\8fg_t
22108  
22109         ga¢_DEF_IÁ\94çûID_S1_\8fgs_1
22110 [] = {
22111
22112 22 (
22113 ASN_TAG_CLASS_UNIVERSAL
22114  | (16 << 2))
22115
22116 24 \18cڡ 
22117 a¢_TYPE_\8fg2memb\94_t
22118  
22119         ga¢_MAP_IÁ\94çûID_S1_\8fg2\96_1
22120 [] = {
22121
22122 25 { (
22123 ASN_TAG_CLASS_CONTEXT
22124  | (0 << 2)), 0, 0, 0 }
22125
22126 27 
22127 a¢_SEQUENCE_¥ecifics_t
22128  
22129         ga¢_SPC_IÁ\94çûID_S1_¥ecs_1
22130  = {
22131
22132 28 \17(\19
22133\94çûID_S1
22134 ),
22135
22136 29 
22137 off£tof
22138 (\19
22139\94çûID_S1
22140
22141 _a¢_ùx
22142 ),
22143
22144 30 
22145 a¢_MAP_IÁ\94çûID_S1_\8fg2\96_1
22146 ,
22147
22148 35 
22149 a¢_TYPE_desü\9dtÜ_t
22150  
22151         ga¢_DEF_IÁ\94çûID_S1
22152  = {
22153
22154 38 &
22155 a¢_OP_SEQUENCE
22156 ,
22157
22158 39 
22159 a¢_DEF_IÁ\94çûID_S1_\8fgs_1
22160 ,
22161
22162 40 \17(
22163 a¢_DEF_IÁ\94çûID_S1_\8fgs_1
22164 )
22165
22166 41 /\17(
22167 a¢_DEF_IÁ\94çûID_S1_\8fgs_1
22168 [0]),
22169
22170 42 
22171 a¢_DEF_IÁ\94çûID_S1_\8fgs_1
22172 ,
22173
22174 43 \17(
22175 a¢_DEF_IÁ\94çûID_S1_\8fgs_1
22176 )
22177
22178 44 /\17(
22179 a¢_DEF_IÁ\94çûID_S1_\8fgs_1
22180 [0]),
22181
22182 45 { 0, 0, 
22183 SEQUENCE_cÚ¡¿\9at
22184  },
22185
22186 46 
22187 a¢_MBR_IÁ\94çûID_S1_1
22188 ,
22189
22190 48 &
22191 a¢_SPC_IÁ\94çûID_S1_¥ecs_1
22192
22193
22194         @InterfaceID-W1.c
22195
22196\ 2
22197         ~"IÁ\94çûID-W1.h
22198 "
22199
22200 10 
22201 a¢_TYPE_memb\94_t
22202  
22203         ga¢_MBR_IÁ\94çûID_W1_1
22204 [] = {
22205
22206 11 { 
22207 ATF_NOFLAGS
22208 , 0, 
22209 off£tof
22210 (\19
22211\94çûID_W1
22212
22213 glob®_ng_eNB_ID
22214 ),
22215
22216 12 (
22217 ASN_TAG_CLASS_CONTEXT
22218  | (0 << 2)),
22219
22220 14 &
22221 a¢_DEF_Glob®NgENB_ID
22222 ,
22223
22224 20 { 
22225 ATF_NOFLAGS
22226 , 0, 
22227 off£tof
22228 (\19
22229\94çûID_W1
22230
22231 ng_eNB_DU_ID
22232 ),
22233
22234 21 (
22235 ASN_TAG_CLASS_CONTEXT
22236  | (1 << 2)),
22237
22238 23 &
22239 a¢_DEF_NGENB_DU_ID
22240 ,
22241
22242 30 \18cڡ 
22243 b\94_\8ev_\8fg_t
22244  
22245         ga¢_DEF_IÁ\94çûID_W1_\8fgs_1
22246 [] = {
22247
22248 31 (
22249 ASN_TAG_CLASS_UNIVERSAL
22250  | (16 << 2))
22251
22252 33 \18cڡ 
22253 a¢_TYPE_\8fg2memb\94_t
22254  
22255         ga¢_MAP_IÁ\94çûID_W1_\8fg2\96_1
22256 [] = {
22257
22258 34 { (
22259 ASN_TAG_CLASS_CONTEXT
22260  | (0 << 2)), 0, 0, 0 },
22261
22262 35 { (
22263 ASN_TAG_CLASS_CONTEXT
22264  | (1 << 2)), 1, 0, 0 }
22265
22266 37 
22267 a¢_SEQUENCE_¥ecifics_t
22268  
22269         ga¢_SPC_IÁ\94çûID_W1_¥ecs_1
22270  = {
22271
22272 38 \17(\19
22273\94çûID_W1
22274 ),
22275
22276 39 
22277 off£tof
22278 (\19
22279\94çûID_W1
22280
22281 _a¢_ùx
22282 ),
22283
22284 40 
22285 a¢_MAP_IÁ\94çûID_W1_\8fg2\96_1
22286 ,
22287
22288 45 
22289 a¢_TYPE_desü\9dtÜ_t
22290  
22291         ga¢_DEF_IÁ\94çûID_W1
22292  = {
22293
22294 48 &
22295 a¢_OP_SEQUENCE
22296 ,
22297
22298 49 
22299 a¢_DEF_IÁ\94çûID_W1_\8fgs_1
22300 ,
22301
22302 50 \17(
22303 a¢_DEF_IÁ\94çûID_W1_\8fgs_1
22304 )
22305
22306 51 /\17(
22307 a¢_DEF_IÁ\94çûID_W1_\8fgs_1
22308 [0]),
22309
22310 52 
22311 a¢_DEF_IÁ\94çûID_W1_\8fgs_1
22312 ,
22313
22314 53 \17(
22315 a¢_DEF_IÁ\94çûID_W1_\8fgs_1
22316 )
22317
22318 54 /\17(
22319 a¢_DEF_IÁ\94çûID_W1_\8fgs_1
22320 [0]),
22321
22322 55 { 0, 0, 
22323 SEQUENCE_cÚ¡¿\9at
22324  },
22325
22326 56 
22327 a¢_MBR_IÁ\94çûID_W1_1
22328 ,
22329
22330 58 &
22331 a¢_SPC_IÁ\94çûID_W1_¥ecs_1
22332
22333
22334         @InterfaceID-X2.c
22335
22336\ 2
22337         ~"IÁ\94çûID-X2.h
22338 "
22339
22340 10 \ 2
22341         ~"Glob®ENB-ID.h
22342 "
22343
22344 11 \ 2
22345         ~"Glob®\92GNB-ID.h
22346 "
22347
22348 12 \18
22349 a¢_³r_cÚ¡¿\9ats_t
22350  
22351 a¢_PER_ty³_nodeTy³_cÚ¡r_2
22352  
22353         gCC_NOTUSED
22354  = {
22355
22356 13 { 
22357 APC_CONSTRAINED
22358  | 
22359 APC_EXTENSIBLE
22360 , 1, 1, 0, 1 } ,
22361
22362 14 { 
22363 APC_UNCONSTRAINED
22364 , -1, -1, 0, 0 },
22365
22366 17 \18
22367 a¢_TYPE_memb\94_t
22368  
22369         ga¢_MBR_nodeTy³_2
22370 [] = {
22371
22372 18 { 
22373 ATF_POINTER
22374 , 0, 
22375 off£tof
22376 (\19
22377\94çûID_X2__nodeTy³
22378
22379 choiû
22380 .
22381 glob®_eNB_ID
22382 ),
22383
22384 19 (
22385 ASN_TAG_CLASS_CONTEXT
22386  | (0 << 2)),
22387
22388 21 &
22389 a¢_DEF_Glob®ENB_ID
22390 ,
22391
22392 27 { 
22393 ATF_POINTER
22394 , 0, 
22395 off£tof
22396 (\19
22397\94çûID_X2__nodeTy³
22398
22399 choiû
22400 .
22401 glob®_\92_gNB_ID
22402 ),
22403
22404 28 (
22405 ASN_TAG_CLASS_CONTEXT
22406  | (1 << 2)),
22407
22408 30 &
22409 a¢_DEF_Glob®\92GNB_ID
22410 ,
22411
22412 37 \18cڡ 
22413 a¢_TYPE_\8fg2memb\94_t
22414  
22415         ga¢_MAP_nodeTy³_\8fg2\96_2
22416 [] = {
22417
22418 38 { (
22419 ASN_TAG_CLASS_CONTEXT
22420  | (0 << 2)), 0, 0, 0 },
22421
22422 39 { (
22423 ASN_TAG_CLASS_CONTEXT
22424  | (1 << 2)), 1, 0, 0 }
22425
22426 41 \18
22427 a¢_CHOICE_¥ecifics_t
22428  
22429         ga¢_SPC_nodeTy³_¥ecs_2
22430  = {
22431
22432 42 \17(\19
22433\94çûID_X2__nodeTy³
22434 ),
22435
22436 43 
22437 off£tof
22438 (\19
22439\94çûID_X2__nodeTy³
22440
22441 _a¢_ùx
22442 ),
22443
22444 44 
22445 off£tof
22446 (\19
22447\94çûID_X2__nodeTy³
22448
22449 ´e£Á
22450 ),
22451
22452 45 \17(((\19
22453\94çûID_X2__nodeTy³
22454  *)0)->
22455 ´e£Á
22456 ),
22457
22458 46 
22459 a¢_MAP_nodeTy³_\8fg2\96_2
22460 ,
22461
22462 52 
22463 a¢_TYPE_desü\9dtÜ_t
22464  
22465         ga¢_DEF_nodeTy³_2
22466  = {
22467
22468 55 &
22469 a¢_OP_CHOICE
22470 ,
22471
22472 60 { 0, &
22473 a¢_PER_ty³_nodeTy³_cÚ¡r_2
22474
22475 CHOICE_cÚ¡¿\9at
22476  },
22477
22478 61 
22479 a¢_MBR_nodeTy³_2
22480 ,
22481
22482 63 &
22483 a¢_SPC_nodeTy³_¥ecs_2
22484
22485
22486 66 
22487 a¢_TYPE_memb\94_t
22488  
22489         ga¢_MBR_IÁ\94çûID_X2_1
22490 [] = {
22491
22492 67 { 
22493 ATF_NOFLAGS
22494 , 0, 
22495 off£tof
22496 (\19
22497\94çûID_X2
22498
22499 nodeTy³
22500 ),
22501
22502 68 (
22503 ASN_TAG_CLASS_CONTEXT
22504  | (0 << 2)),
22505
22506 70 &
22507 a¢_DEF_nodeTy³_2
22508 ,
22509
22510 77 \18cڡ 
22511 b\94_\8ev_\8fg_t
22512  
22513         ga¢_DEF_IÁ\94çûID_X2_\8fgs_1
22514 [] = {
22515
22516 78 (
22517 ASN_TAG_CLASS_UNIVERSAL
22518  | (16 << 2))
22519
22520 80 \18cڡ 
22521 a¢_TYPE_\8fg2memb\94_t
22522  
22523         ga¢_MAP_IÁ\94çûID_X2_\8fg2\96_1
22524 [] = {
22525
22526 81 { (
22527 ASN_TAG_CLASS_CONTEXT
22528  | (0 << 2)), 0, 0, 0 }
22529
22530 83 
22531 a¢_SEQUENCE_¥ecifics_t
22532  
22533         ga¢_SPC_IÁ\94çûID_X2_¥ecs_1
22534  = {
22535
22536 84 \17(\19
22537\94çûID_X2
22538 ),
22539
22540 85 
22541 off£tof
22542 (\19
22543\94çûID_X2
22544
22545 _a¢_ùx
22546 ),
22547
22548 86 
22549 a¢_MAP_IÁ\94çûID_X2_\8fg2\96_1
22550 ,
22551
22552 91 
22553 a¢_TYPE_desü\9dtÜ_t
22554  
22555         ga¢_DEF_IÁ\94çûID_X2
22556  = {
22557
22558 94 &
22559 a¢_OP_SEQUENCE
22560 ,
22561
22562 95 
22563 a¢_DEF_IÁ\94çûID_X2_\8fgs_1
22564 ,
22565
22566 96 \17(
22567 a¢_DEF_IÁ\94çûID_X2_\8fgs_1
22568 )
22569
22570 97 /\17(
22571 a¢_DEF_IÁ\94çûID_X2_\8fgs_1
22572 [0]),
22573
22574 98 
22575 a¢_DEF_IÁ\94çûID_X2_\8fgs_1
22576 ,
22577
22578 99 \17(
22579 a¢_DEF_IÁ\94çûID_X2_\8fgs_1
22580 )
22581
22582 100 /\17(
22583 a¢_DEF_IÁ\94çûID_X2_\8fgs_1
22584 [0]),
22585
22586 101 { 0, 0, 
22587 SEQUENCE_cÚ¡¿\9at
22588  },
22589
22590 102 
22591 a¢_MBR_IÁ\94çûID_X2_1
22592 ,
22593
22594 104 &
22595 a¢_SPC_IÁ\94çûID_X2_¥ecs_1
22596
22597
22598         @InterfaceID-Xn.c
22599
22600\ 2
22601         ~"IÁ\94çûID-Xn.h
22602 "
22603
22604 10 
22605 a¢_TYPE_memb\94_t
22606  
22607         ga¢_MBR_IÁ\94çûID_Xn_1
22608 [] = {
22609
22610 11 { 
22611 ATF_NOFLAGS
22612 , 0, 
22613 off£tof
22614 (\19
22615\94çûID_Xn
22616
22617 glob®_NG_RAN_ID
22618 ),
22619
22620 12 (
22621 ASN_TAG_CLASS_CONTEXT
22622  | (0 << 2)),
22623
22624 14 &
22625 a¢_DEF_Glob®NGRANNodeID
22626 ,
22627
22628 21 \18cڡ 
22629 b\94_\8ev_\8fg_t
22630  
22631         ga¢_DEF_IÁ\94çûID_Xn_\8fgs_1
22632 [] = {
22633
22634 22 (
22635 ASN_TAG_CLASS_UNIVERSAL
22636  | (16 << 2))
22637
22638 24 \18cڡ 
22639 a¢_TYPE_\8fg2memb\94_t
22640  
22641         ga¢_MAP_IÁ\94çûID_Xn_\8fg2\96_1
22642 [] = {
22643
22644 25 { (
22645 ASN_TAG_CLASS_CONTEXT
22646  | (0 << 2)), 0, 0, 0 }
22647
22648 27 
22649 a¢_SEQUENCE_¥ecifics_t
22650  
22651         ga¢_SPC_IÁ\94çûID_Xn_¥ecs_1
22652  = {
22653
22654 28 \17(\19
22655\94çûID_Xn
22656 ),
22657
22658 29 
22659 off£tof
22660 (\19
22661\94çûID_Xn
22662
22663 _a¢_ùx
22664 ),
22665
22666 30 
22667 a¢_MAP_IÁ\94çûID_Xn_\8fg2\96_1
22668 ,
22669
22670 35 
22671 a¢_TYPE_desü\9dtÜ_t
22672  
22673         ga¢_DEF_IÁ\94çûID_Xn
22674  = {
22675
22676 38 &
22677 a¢_OP_SEQUENCE
22678 ,
22679
22680 39 
22681 a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
22682 ,
22683
22684 40 \17(
22685 a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
22686 )
22687
22688 41 /\17(
22689 a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
22690 [0]),
22691
22692 42 
22693 a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
22694 ,
22695
22696 43 \17(
22697 a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
22698 )
22699
22700 44 /\17(
22701 a¢_DEF_IÁ\94çûID_Xn_\8fgs_1
22702 [0]),
22703
22704 45 { 0, 0, 
22705 SEQUENCE_cÚ¡¿\9at
22706  },
22707
22708 46 
22709 a¢_MBR_IÁ\94çûID_Xn_1
22710 ,
22711
22712 48 &
22713 a¢_SPC_IÁ\94çûID_Xn_¥ecs_1
22714
22715
22716         @InterfaceIdentifier.c
22717
22718\ 2
22719         ~"IÁ\94çûId\92tif\9br.h
22720 "
22721
22722 10 \ 2
22723         ~"IÁ\94çûID-NG.h
22724 "
22725
22726 11 \ 2
22727         ~"IÁ\94çûID-Xn.h
22728 "
22729
22730 12 \ 2
22731         ~"IÁ\94çûID-F1.h
22732 "
22733
22734 13 \ 2
22735         ~"IÁ\94çûID-E1.h
22736 "
22737
22738 14 \ 2
22739         ~"IÁ\94çûID-S1.h
22740 "
22741
22742 15 \ 2
22743         ~"IÁ\94çûID-X2.h
22744 "
22745
22746 16 \ 2
22747         ~"IÁ\94çûID-W1.h
22748 "
22749
22750 17 \18
22751 a¢_³r_cÚ¡¿\9ats_t
22752  
22753 a¢_PER_ty³_IÁ\94çûId\92tif\9br_cÚ¡r_1
22754  
22755         gCC_NOTUSED
22756  = {
22757
22758 18 { 
22759 APC_CONSTRAINED
22760  | 
22761 APC_EXTENSIBLE
22762 , 3, 3, 0, 6 } ,
22763
22764 19 { 
22765 APC_UNCONSTRAINED
22766 , -1, -1, 0, 0 },
22767
22768 22 \18
22769 a¢_TYPE_memb\94_t
22770  
22771         ga¢_MBR_IÁ\94çûId\92tif\9br_1
22772 [] = {
22773
22774 23 { 
22775 ATF_POINTER
22776 , 0, 
22777 off£tof
22778 (\19
22779\94çûId\92tif\9br
22780
22781 choiû
22782 .
22783 nG
22784 ),
22785
22786 24 (
22787 ASN_TAG_CLASS_CONTEXT
22788  | (0 << 2)),
22789
22790 26 &
22791 a¢_DEF_IÁ\94çûID_NG
22792 ,
22793
22794 32 { 
22795 ATF_POINTER
22796 , 0, 
22797 off£tof
22798 (\19
22799\94çûId\92tif\9br
22800
22801 choiû
22802 .
22803 xN
22804 ),
22805
22806 33 (
22807 ASN_TAG_CLASS_CONTEXT
22808  | (1 << 2)),
22809
22810 35 &
22811 a¢_DEF_IÁ\94çûID_Xn
22812 ,
22813
22814 41 { 
22815 ATF_POINTER
22816 , 0, 
22817 off£tof
22818 (\19
22819\94çûId\92tif\9br
22820
22821 choiû
22822 .
22823 f1
22824 ),
22825
22826 42 (
22827 ASN_TAG_CLASS_CONTEXT
22828  | (2 << 2)),
22829
22830 44 &
22831 a¢_DEF_IÁ\94çûID_F1
22832 ,
22833
22834 50 { 
22835 ATF_POINTER
22836 , 0, 
22837 off£tof
22838 (\19
22839\94çûId\92tif\9br
22840
22841 choiû
22842 .
22843 e1
22844 ),
22845
22846 51 (
22847 ASN_TAG_CLASS_CONTEXT
22848  | (3 << 2)),
22849
22850 53 &
22851 a¢_DEF_IÁ\94çûID_E1
22852 ,
22853
22854 59 { 
22855 ATF_POINTER
22856 , 0, 
22857 off£tof
22858 (\19
22859\94çûId\92tif\9br
22860
22861 choiû
22862 .
22863 s1
22864 ),
22865
22866 60 (
22867 ASN_TAG_CLASS_CONTEXT
22868  | (4 << 2)),
22869
22870 62 &
22871 a¢_DEF_IÁ\94çûID_S1
22872 ,
22873
22874 68 { 
22875 ATF_POINTER
22876 , 0, 
22877 off£tof
22878 (\19
22879\94çûId\92tif\9br
22880
22881 choiû
22882 .
22883 x2
22884 ),
22885
22886 69 (
22887 ASN_TAG_CLASS_CONTEXT
22888  | (5 << 2)),
22889
22890 71 &
22891 a¢_DEF_IÁ\94çûID_X2
22892 ,
22893
22894 77 { 
22895 ATF_POINTER
22896 , 0, 
22897 off£tof
22898 (\19
22899\94çûId\92tif\9br
22900
22901 choiû
22902 .
22903 w1
22904 ),
22905
22906 78 (
22907 ASN_TAG_CLASS_CONTEXT
22908  | (6 << 2)),
22909
22910 80 &
22911 a¢_DEF_IÁ\94çûID_W1
22912 ,
22913
22914 87 \18cڡ 
22915 a¢_TYPE_\8fg2memb\94_t
22916  
22917         ga¢_MAP_IÁ\94çûId\92tif\9br_\8fg2\96_1
22918 [] = {
22919
22920 88 { (
22921 ASN_TAG_CLASS_CONTEXT
22922  | (0 << 2)), 0, 0, 0 },
22923
22924 89 { (
22925 ASN_TAG_CLASS_CONTEXT
22926  | (1 << 2)), 1, 0, 0 },
22927
22928 90 { (
22929 ASN_TAG_CLASS_CONTEXT
22930  | (2 << 2)), 2, 0, 0 },
22931
22932 91 { (
22933 ASN_TAG_CLASS_CONTEXT
22934  | (3 << 2)), 3, 0, 0 },
22935
22936 92 { (
22937 ASN_TAG_CLASS_CONTEXT
22938  | (4 << 2)), 4, 0, 0 },
22939
22940 93 { (
22941 ASN_TAG_CLASS_CONTEXT
22942  | (5 << 2)), 5, 0, 0 },
22943
22944 94 { (
22945 ASN_TAG_CLASS_CONTEXT
22946  | (6 << 2)), 6, 0, 0 }
22947
22948 96 \18
22949 a¢_CHOICE_¥ecifics_t
22950  
22951         ga¢_SPC_IÁ\94çûId\92tif\9br_¥ecs_1
22952  = {
22953
22954 97 \17(\19
22955\94çûId\92tif\9br
22956 ),
22957
22958 98 
22959 off£tof
22960 (\19
22961\94çûId\92tif\9br
22962
22963 _a¢_ùx
22964 ),
22965
22966 99 
22967 off£tof
22968 (\19
22969\94çûId\92tif\9br
22970
22971 ´e£Á
22972 ),
22973
22974 100 \17(((\19
22975\94çûId\92tif\9br
22976  *)0)->
22977 ´e£Á
22978 ),
22979
22980 101 
22981 a¢_MAP_IÁ\94çûId\92tif\9br_\8fg2\96_1
22982 ,
22983
22984 106 
22985 a¢_TYPE_desü\9dtÜ_t
22986  
22987         ga¢_DEF_IÁ\94çûId\92tif\9br
22988  = {
22989
22990 109 &
22991 a¢_OP_CHOICE
22992 ,
22993
22994 114 { 0, &
22995 a¢_PER_ty³_IÁ\94çûId\92tif\9br_cÚ¡r_1
22996
22997 CHOICE_cÚ¡¿\9at
22998  },
22999
23000 115 
23001 a¢_MBR_IÁ\94çûId\92tif\9br_1
23002 ,
23003
23004 117 &
23005 a¢_SPC_IÁ\94çûId\92tif\9br_¥ecs_1
23006
23007
23008         @InterfaceType.c
23009
23010\ 2
23011         ~"IÁ\94çûTy³.h
23012 "
23013
23014 14 \18
23015 a¢_³r_cÚ¡¿\9ats_t
23016  
23017 a¢_PER_ty³_IÁ\94çûTy³_cÚ¡r_1
23018  
23019         gCC_NOTUSED
23020  = {
23021
23022 15 { 
23023 APC_CONSTRAINED
23024  | 
23025 APC_EXTENSIBLE
23026 , 3, 3, 0, 6 } ,
23027
23028 16 { 
23029 APC_UNCONSTRAINED
23030 , -1, -1, 0, 0 },
23031
23032 19 \18cڡ 
23033 a¢_INTEGER_\92um_m­_t
23034  
23035         ga¢_MAP_IÁ\94çûTy³_v®ue2\92um_1
23036 [] = {
23037
23038 29 \18cڡ \1d\12
23039         ga¢_MAP_IÁ\94çûTy³_\92um2v®ue_1
23040 [] = {
23041
23042 39 \18cڡ 
23043 a¢_INTEGER_¥ecifics_t
23044  
23045         ga¢_SPC_IÁ\94çûTy³_¥ecs_1
23046  = {
23047
23048 40 
23049 a¢_MAP_IÁ\94çûTy³_v®ue2\92um_1
23050 ,
23051
23052 41 
23053 a¢_MAP_IÁ\94çûTy³_\92um2v®ue_1
23054 ,
23055
23056 48 \18cڡ 
23057 b\94_\8ev_\8fg_t
23058  
23059         ga¢_DEF_IÁ\94çûTy³_\8fgs_1
23060 [] = {
23061
23062 49 (
23063 ASN_TAG_CLASS_UNIVERSAL
23064  | (10 << 2))
23065
23066 51 
23067 a¢_TYPE_desü\9dtÜ_t
23068  
23069         ga¢_DEF_IÁ\94çûTy³
23070  = {
23071
23072 54 &
23073 a¢_OP_N©iveEnum\94©ed
23074 ,
23075
23076 55 
23077 a¢_DEF_IÁ\94çûTy³_\8fgs_1
23078 ,
23079
23080 56 \17(
23081 a¢_DEF_IÁ\94çûTy³_\8fgs_1
23082 )
23083
23084 57 /\17(
23085 a¢_DEF_IÁ\94çûTy³_\8fgs_1
23086 [0]),
23087
23088 58 
23089 a¢_DEF_IÁ\94çûTy³_\8fgs_1
23090 ,
23091
23092 59 \17(
23093 a¢_DEF_IÁ\94çûTy³_\8fgs_1
23094 )
23095
23096 60 /\17(
23097 a¢_DEF_IÁ\94çûTy³_\8fgs_1
23098 [0]),
23099
23100 61 { 0, &
23101 a¢_PER_ty³_IÁ\94çûTy³_cÚ¡r_1
23102
23103 N©iveEnum\94©ed_cÚ¡¿\9at
23104  },
23105
23106 63 &
23107 a¢_SPC_IÁ\94çûTy³_¥ecs_1
23108
23109
23110         @LabelInfoItem.c
23111
23112\ 2
23113         ~"Lab\96InfoI\8bm.h
23114 "
23115
23116 10 
23117 a¢_TYPE_memb\94_t
23118  
23119         ga¢_MBR_Lab\96InfoI\8bm_1
23120 [] = {
23121
23122 11 { 
23123 ATF_NOFLAGS
23124 , 0, 
23125 off£tof
23126 (\19
23127 Lab\96InfoI\8bm
23128
23129 m\97sLab\96
23130 ),
23131
23132 12 (
23133 ASN_TAG_CLASS_CONTEXT
23134  | (0 << 2)),
23135
23136 14 &
23137 a¢_DEF_M\97su»m\92tLab\96
23138 ,
23139
23140 21 \18cڡ 
23141 b\94_\8ev_\8fg_t
23142  
23143         ga¢_DEF_Lab\96InfoI\8bm_\8fgs_1
23144 [] = {
23145
23146 22 (
23147 ASN_TAG_CLASS_UNIVERSAL
23148  | (16 << 2))
23149
23150 24 \18cڡ 
23151 a¢_TYPE_\8fg2memb\94_t
23152  
23153         ga¢_MAP_Lab\96InfoI\8bm_\8fg2\96_1
23154 [] = {
23155
23156 25 { (
23157 ASN_TAG_CLASS_CONTEXT
23158  | (0 << 2)), 0, 0, 0 }
23159
23160 27 
23161 a¢_SEQUENCE_¥ecifics_t
23162  
23163         ga¢_SPC_Lab\96InfoI\8bm_¥ecs_1
23164  = {
23165
23166 28 \17(\19
23167 Lab\96InfoI\8bm
23168 ),
23169
23170 29 
23171 off£tof
23172 (\19
23173 Lab\96InfoI\8bm
23174
23175 _a¢_ùx
23176 ),
23177
23178 30 
23179 a¢_MAP_Lab\96InfoI\8bm_\8fg2\96_1
23180 ,
23181
23182 35 
23183 a¢_TYPE_desü\9dtÜ_t
23184  
23185         ga¢_DEF_Lab\96InfoI\8bm
23186  = {
23187
23188 38 &
23189 a¢_OP_SEQUENCE
23190 ,
23191
23192 39 
23193 a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
23194 ,
23195
23196 40 \17(
23197 a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
23198 )
23199
23200 41 /\17(
23201 a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
23202 [0]),
23203
23204 42 
23205 a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
23206 ,
23207
23208 43 \17(
23209 a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
23210 )
23211
23212 44 /\17(
23213 a¢_DEF_Lab\96InfoI\8bm_\8fgs_1
23214 [0]),
23215
23216 45 { 0, 0, 
23217 SEQUENCE_cÚ¡¿\9at
23218  },
23219
23220 46 
23221 a¢_MBR_Lab\96InfoI\8bm_1
23222 ,
23223
23224 48 &
23225 a¢_SPC_Lab\96InfoI\8bm_¥ecs_1
23226
23227
23228         @LabelInfoList.c
23229
23230\ 2
23231         ~"Lab\96InfoLi¡.h
23232 "
23233
23234 10 \ 2
23235         ~"Lab\96InfoI\8bm.h
23236 "
23237
23238 11 
23239 a¢_³r_cÚ¡¿\9ats_t
23240  
23241 a¢_PER_ty³_Lab\96InfoLi¡_cÚ¡r_1
23242  
23243         gCC_NOTUSED
23244  = {
23245
23246 12 { 
23247 APC_UNCONSTRAINED
23248 , -1, -1, 0, 0 },
23249
23250 13 { 
23251 APC_CONSTRAINED
23252 , 31, -1, 1, 2147483647 } ,
23253
23254 16 
23255 a¢_TYPE_memb\94_t
23256  
23257         ga¢_MBR_Lab\96InfoLi¡_1
23258 [] = {
23259
23260 17 { 
23261 ATF_POINTER
23262 , 0, 0,
23263
23264 18 (
23265 ASN_TAG_CLASS_UNIVERSAL
23266  | (16 << 2)),
23267
23268 20 &
23269 a¢_DEF_Lab\96InfoI\8bm
23270 ,
23271
23272 27 \18cڡ 
23273 b\94_\8ev_\8fg_t
23274  
23275         ga¢_DEF_Lab\96InfoLi¡_\8fgs_1
23276 [] = {
23277
23278 28 (
23279 ASN_TAG_CLASS_UNIVERSAL
23280  | (16 << 2))
23281
23282 30 
23283 a¢_SET_OF_¥ecifics_t
23284  
23285         ga¢_SPC_Lab\96InfoLi¡_¥ecs_1
23286  = {
23287
23288 31 \17(\19
23289 Lab\96InfoLi¡
23290 ),
23291
23292 32 
23293 off£tof
23294 (\19
23295 Lab\96InfoLi¡
23296
23297 _a¢_ùx
23298 ),
23299
23300 35 
23301 a¢_TYPE_desü\9dtÜ_t
23302  
23303         ga¢_DEF_Lab\96InfoLi¡
23304  = {
23305
23306 38 &
23307 a¢_OP_SEQUENCE_OF
23308 ,
23309
23310 39 
23311 a¢_DEF_Lab\96InfoLi¡_\8fgs_1
23312 ,
23313
23314 40 \17(
23315 a¢_DEF_Lab\96InfoLi¡_\8fgs_1
23316 )
23317
23318 41 /\17(
23319 a¢_DEF_Lab\96InfoLi¡_\8fgs_1
23320 [0]),
23321
23322 42 
23323 a¢_DEF_Lab\96InfoLi¡_\8fgs_1
23324 ,
23325
23326 43 \17(
23327 a¢_DEF_Lab\96InfoLi¡_\8fgs_1
23328 )
23329
23330 44 /\17(
23331 a¢_DEF_Lab\96InfoLi¡_\8fgs_1
23332 [0]),
23333
23334 45 { 0, &
23335 a¢_PER_ty³_Lab\96InfoLi¡_cÚ¡r_1
23336
23337 SEQUENCE_OF_cÚ¡¿\9at
23338  },
23339
23340 46 
23341 a¢_MBR_Lab\96InfoLi¡_1
23342 ,
23343
23344 48 &
23345 a¢_SPC_Lab\96InfoLi¡_¥ecs_1
23346
23347
23348         @MME-Code.c
23349
23350\ 2
23351         ~"MME-Code.h
23352 "
23353
23354 11 
23355         $MME_Code_cÚ¡¿\9at
23356 (cڡ 
23357 a¢_TYPE_desü\9dtÜ_t
23358  *
23359 td
23360 , cڡ \1e*
23361 ¥\8c
23362 ,
23363
23364 12 
23365 a¢_­p_cÚ¡¿\9at_ç\9eed_f
23366  *
23367 ùç\9ecb
23368\1e*
23369 ­p_key
23370 ) {
23371
23372 13 cڡ 
23373 OCTET_STRING_t
23374  *
23375 ¡
23376  = (cÚ¡ OCTET_STRING_\88*)
23377 ¥\8c
23378 ;
23379
23380 14 
23381 size_t
23382  
23383 size
23384 ;
23385
23386 16 if(!
23387 ¥\8c
23388 ) {
23389
23390 17 
23391         `ASN__CTFAIL
23392 (
23393 ­p_key
23394
23395 td
23396
23397 ¥\8c
23398 ,
23399
23400 19 
23401 td
23402 ->
23403 Çme
23404
23405 __FILE__
23406
23407 __LINE__
23408 );
23409
23410 23 
23411 size
23412  = 
23413 ¡
23414 ->size;
23415
23416 25 if((
23417 size
23418  == 1)) {
23419
23420 29 
23421         `ASN__CTFAIL
23422 (
23423 ­p_key
23424
23425 td
23426
23427 ¥\8c
23428 ,
23429
23430 31 
23431 td
23432 ->
23433 Çme
23434
23435 __FILE__
23436
23437 __LINE__
23438 );
23439
23440 34 
23441         }
23442 }
23443
23444 40 
23445 a¢_³r_cÚ¡¿\9ats_t
23446  
23447 a¢_PER_ty³_MME_Code_cÚ¡r_1
23448  
23449         gCC_NOTUSED
23450  = {
23451
23452 41 { 
23453 APC_UNCONSTRAINED
23454 , -1, -1, 0, 0 },
23455
23456 42 { 
23457 APC_CONSTRAINED
23458 , 0, 0, 1, 1 } ,
23459
23460 45 \18cڡ 
23461 b\94_\8ev_\8fg_t
23462  
23463         ga¢_DEF_MME_Code_\8fgs_1
23464 [] = {
23465
23466 46 (
23467 ASN_TAG_CLASS_UNIVERSAL
23468  | (4 << 2))
23469
23470 48 
23471 a¢_TYPE_desü\9dtÜ_t
23472  
23473         ga¢_DEF_MME_Code
23474  = {
23475
23476 51 &
23477 a¢_OP_OCTET_STRING
23478 ,
23479
23480 52 
23481 a¢_DEF_MME_Code_\8fgs_1
23482 ,
23483
23484 53 \17(
23485 a¢_DEF_MME_Code_\8fgs_1
23486 )
23487
23488 54 /\17(
23489 a¢_DEF_MME_Code_\8fgs_1
23490 [0]),
23491
23492 55 
23493 a¢_DEF_MME_Code_\8fgs_1
23494 ,
23495
23496 56 \17(
23497 a¢_DEF_MME_Code_\8fgs_1
23498 )
23499
23500 57 /\17(
23501 a¢_DEF_MME_Code_\8fgs_1
23502 [0]),
23503
23504 58 { 0, &
23505 a¢_PER_ty³_MME_Code_cÚ¡r_1
23506
23507 MME_Code_cÚ¡¿\9at
23508  },
23509
23510 60 &
23511 a¢_SPC_OCTET_STRING_¥ecs
23512
23513
23514         @MME-Group-ID.c
23515
23516\ 2
23517         ~"MME-Group-ID.h
23518 "
23519
23520 11 
23521         $MME_Group_ID_cÚ¡¿\9at
23522 (cڡ 
23523 a¢_TYPE_desü\9dtÜ_t
23524  *
23525 td
23526 , cڡ \1e*
23527 ¥\8c
23528 ,
23529
23530 12 
23531 a¢_­p_cÚ¡¿\9at_ç\9eed_f
23532  *
23533 ùç\9ecb
23534\1e*
23535 ­p_key
23536 ) {
23537
23538 13 cڡ 
23539 OCTET_STRING_t
23540  *
23541 ¡
23542  = (cÚ¡ OCTET_STRING_\88*)
23543 ¥\8c
23544 ;
23545
23546 14 
23547 size_t
23548  
23549 size
23550 ;
23551
23552 16 if(!
23553 ¥\8c
23554 ) {
23555
23556 17 
23557         `ASN__CTFAIL
23558 (
23559 ­p_key
23560
23561 td
23562
23563 ¥\8c
23564 ,
23565
23566 19 
23567 td
23568 ->
23569 Çme
23570
23571 __FILE__
23572
23573 __LINE__
23574 );
23575
23576 23 
23577 size
23578  = 
23579 ¡
23580 ->size;
23581
23582 25 if((
23583 size
23584  == 2)) {
23585
23586 29 
23587         `ASN__CTFAIL
23588 (
23589 ­p_key
23590
23591 td
23592
23593 ¥\8c
23594 ,
23595
23596 31 
23597 td
23598 ->
23599 Çme
23600
23601 __FILE__
23602
23603 __LINE__
23604 );
23605
23606 34 
23607         }
23608 }
23609
23610 40 
23611 a¢_³r_cÚ¡¿\9ats_t
23612  
23613 a¢_PER_ty³_MME_Group_ID_cÚ¡r_1
23614  
23615         gCC_NOTUSED
23616  = {
23617
23618 41 { 
23619 APC_UNCONSTRAINED
23620 , -1, -1, 0, 0 },
23621
23622 42 { 
23623 APC_CONSTRAINED
23624 , 0, 0, 2, 2 } ,
23625
23626 45 \18cڡ 
23627 b\94_\8ev_\8fg_t
23628  
23629         ga¢_DEF_MME_Group_ID_\8fgs_1
23630 [] = {
23631
23632 46 (
23633 ASN_TAG_CLASS_UNIVERSAL
23634  | (4 << 2))
23635
23636 48 
23637 a¢_TYPE_desü\9dtÜ_t
23638  
23639         ga¢_DEF_MME_Group_ID
23640  = {
23641
23642 51 &
23643 a¢_OP_OCTET_STRING
23644 ,
23645
23646 52 
23647 a¢_DEF_MME_Group_ID_\8fgs_1
23648 ,
23649
23650 53 \17(
23651 a¢_DEF_MME_Group_ID_\8fgs_1
23652 )
23653
23654 54 /\17(
23655 a¢_DEF_MME_Group_ID_\8fgs_1
23656 [0]),
23657
23658 55 
23659 a¢_DEF_MME_Group_ID_\8fgs_1
23660 ,
23661
23662 56 \17(
23663 a¢_DEF_MME_Group_ID_\8fgs_1
23664 )
23665
23666 57 /\17(
23667 a¢_DEF_MME_Group_ID_\8fgs_1
23668 [0]),
23669
23670 58 { 0, &
23671 a¢_PER_ty³_MME_Group_ID_cÚ¡r_1
23672
23673 MME_Group_ID_cÚ¡¿\9at
23674  },
23675
23676 60 &
23677 a¢_SPC_OCTET_STRING_¥ecs
23678
23679
23680         @MME-UE-S1AP-ID.c
23681
23682\ 2
23683         ~"MME-UE-S1AP-ID.h
23684 "
23685
23686 11 
23687         $MME_UE_S1AP_ID_cÚ¡¿\9at
23688 (cڡ 
23689 a¢_TYPE_desü\9dtÜ_t
23690  *
23691 td
23692 , cڡ \1e*
23693 ¥\8c
23694 ,
23695
23696 12 
23697 a¢_­p_cÚ¡¿\9at_ç\9eed_f
23698  *
23699 ùç\9ecb
23700\1e*
23701 ­p_key
23702 ) {
23703
23704 14 if(!
23705 ¥\8c
23706 ) {
23707
23708 15 
23709         `ASN__CTFAIL
23710 (
23711 ­p_key
23712
23713 td
23714
23715 ¥\8c
23716 ,
23717
23718 17 
23719 td
23720 ->
23721 Çme
23722
23723 __FILE__
23724
23725 __LINE__
23726 );
23727
23728 24 
23729         }
23730 }
23731
23732 30 
23733 a¢_³r_cÚ¡¿\9ats_t
23734  
23735 a¢_PER_ty³_MME_UE_S1AP_ID_cÚ¡r_1
23736  
23737         gCC_NOTUSED
23738  = {
23739
23740 31 { 
23741 APC_CONSTRAINED
23742 , 32, -1, 0, 4294967295 } ,
23743
23744 32 { 
23745 APC_UNCONSTRAINED
23746 , -1, -1, 0, 0 },
23747
23748 35 cڡ 
23749 a¢_INTEGER_¥ecifics_t
23750  
23751         ga¢_SPC_MME_UE_S1AP_ID_¥ecs_1
23752  = {
23753
23754 40 \18cڡ 
23755 b\94_\8ev_\8fg_t
23756  
23757         ga¢_DEF_MME_UE_S1AP_ID_\8fgs_1
23758 [] = {
23759
23760 41 (
23761 ASN_TAG_CLASS_UNIVERSAL
23762  | (2 << 2))
23763
23764 43 
23765 a¢_TYPE_desü\9dtÜ_t
23766  
23767         ga¢_DEF_MME_UE_S1AP_ID
23768  = {
23769
23770 46 &
23771 a¢_OP_N©iveIÁeg\94
23772 ,
23773
23774 47 
23775 a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
23776 ,
23777
23778 48 \17(
23779 a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
23780 )
23781
23782 49 /\17(
23783 a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
23784 [0]),
23785
23786 50 
23787 a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
23788 ,
23789
23790 51 \17(
23791 a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
23792 )
23793
23794 52 /\17(
23795 a¢_DEF_MME_UE_S1AP_ID_\8fgs_1
23796 [0]),
23797
23798 53 { 0, &
23799 a¢_PER_ty³_MME_UE_S1AP_ID_cÚ¡r_1
23800
23801 MME_UE_S1AP_ID_cÚ¡¿\9at
23802  },
23803
23804 55 &
23805 a¢_SPC_MME_UE_S1AP_ID_¥ecs_1
23806
23807
23808         @MatchingCondItem.c
23809
23810\ 2
23811         ~"M©ch\9agCÚdI\8bm.h
23812 "
23813
23814 10 \ 2
23815         ~"M\97su»m\92tLab\96.h
23816 "
23817
23818 11 \ 2
23819         ~"Te¡CÚdInfo.h
23820 "
23821
23822 12 
23823 a¢_³r_cÚ¡¿\9ats_t
23824  
23825 a¢_PER_ty³_M©ch\9agCÚdI\8bm_cÚ¡r_1
23826  
23827         gCC_NOTUSED
23828  = {
23829
23830 13 { 
23831 APC_CONSTRAINED
23832  | 
23833 APC_EXTENSIBLE
23834 , 1, 1, 0, 1 } ,
23835
23836 14 { 
23837 APC_UNCONSTRAINED
23838 , -1, -1, 0, 0 },
23839
23840 17 
23841 a¢_TYPE_memb\94_t
23842  
23843         ga¢_MBR_M©ch\9agCÚdI\8bm_1
23844 [] = {
23845
23846 18 { 
23847 ATF_POINTER
23848 , 0, 
23849 off£tof
23850 (\19
23851 M©ch\9agCÚdI\8bm
23852
23853 choiû
23854 .
23855 m\97sLab\96
23856 ),
23857
23858 19 (
23859 ASN_TAG_CLASS_CONTEXT
23860  | (0 << 2)),
23861
23862 21 &
23863 a¢_DEF_M\97su»m\92tLab\96
23864 ,
23865
23866 27 { 
23867 ATF_POINTER
23868 , 0, 
23869 off£tof
23870 (\19
23871 M©ch\9agCÚdI\8bm
23872
23873 choiû
23874 .
23875 \8b¡CÚdInfo
23876 ),
23877
23878 28 (
23879 ASN_TAG_CLASS_CONTEXT
23880  | (1 << 2)),
23881
23882 30 &
23883 a¢_DEF_Te¡CÚdInfo
23884 ,
23885
23886 37 \18cڡ 
23887 a¢_TYPE_\8fg2memb\94_t
23888  
23889         ga¢_MAP_M©ch\9agCÚdI\8bm_\8fg2\96_1
23890 [] = {
23891
23892 38 { (
23893 ASN_TAG_CLASS_CONTEXT
23894  | (0 << 2)), 0, 0, 0 },
23895
23896 39 { (
23897 ASN_TAG_CLASS_CONTEXT
23898  | (1 << 2)), 1, 0, 0 }
23899
23900 41 
23901 a¢_CHOICE_¥ecifics_t
23902  
23903         ga¢_SPC_M©ch\9agCÚdI\8bm_¥ecs_1
23904  = {
23905
23906 42 \17(\19
23907 M©ch\9agCÚdI\8bm
23908 ),
23909
23910 43 
23911 off£tof
23912 (\19
23913 M©ch\9agCÚdI\8bm
23914
23915 _a¢_ùx
23916 ),
23917
23918 44 
23919 off£tof
23920 (\19
23921 M©ch\9agCÚdI\8bm
23922
23923 ´e£Á
23924 ),
23925
23926 45 \17(((\19
23927 M©ch\9agCÚdI\8bm
23928  *)0)->
23929 ´e£Á
23930 ),
23931
23932 46 
23933 a¢_MAP_M©ch\9agCÚdI\8bm_\8fg2\96_1
23934 ,
23935
23936 51 
23937 a¢_TYPE_desü\9dtÜ_t
23938  
23939         ga¢_DEF_M©ch\9agCÚdI\8bm
23940  = {
23941
23942 54 &
23943 a¢_OP_CHOICE
23944 ,
23945
23946 59 { 0, &
23947 a¢_PER_ty³_M©ch\9agCÚdI\8bm_cÚ¡r_1
23948
23949 CHOICE_cÚ¡¿\9at
23950  },
23951
23952 60 
23953 a¢_MBR_M©ch\9agCÚdI\8bm_1
23954 ,
23955
23956 62 &
23957 a¢_SPC_M©ch\9agCÚdI\8bm_¥ecs_1
23958
23959
23960         @MatchingCondList.c
23961
23962\ 2
23963         ~"M©ch\9agCÚdLi¡.h
23964 "
23965
23966 10 \ 2
23967         ~"M©ch\9agCÚdI\8bm.h
23968 "
23969
23970 11 
23971 a¢_³r_cÚ¡¿\9ats_t
23972  
23973 a¢_PER_ty³_M©ch\9agCÚdLi¡_cÚ¡r_1
23974  
23975         gCC_NOTUSED
23976  = {
23977
23978 12 { 
23979 APC_UNCONSTRAINED
23980 , -1, -1, 0, 0 },
23981
23982 13 { 
23983 APC_CONSTRAINED
23984 , 15, 15, 1, 32768 } ,
23985
23986 16 
23987 a¢_TYPE_memb\94_t
23988  
23989         ga¢_MBR_M©ch\9agCÚdLi¡_1
23990 [] = {
23991
23992 17 { 
23993 ATF_POINTER
23994 , 0, 0,
23995
23996 20 &
23997 a¢_DEF_M©ch\9agCÚdI\8bm
23998 ,
23999
24000 27 \18cڡ 
24001 b\94_\8ev_\8fg_t
24002  
24003         ga¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
24004 [] = {
24005
24006 28 (
24007 ASN_TAG_CLASS_UNIVERSAL
24008  | (16 << 2))
24009
24010 30 
24011 a¢_SET_OF_¥ecifics_t
24012  
24013         ga¢_SPC_M©ch\9agCÚdLi¡_¥ecs_1
24014  = {
24015
24016 31 \17(\19
24017 M©ch\9agCÚdLi¡
24018 ),
24019
24020 32 
24021 off£tof
24022 (\19
24023 M©ch\9agCÚdLi¡
24024
24025 _a¢_ùx
24026 ),
24027
24028 35 
24029 a¢_TYPE_desü\9dtÜ_t
24030  
24031         ga¢_DEF_M©ch\9agCÚdLi¡
24032  = {
24033
24034 38 &
24035 a¢_OP_SEQUENCE_OF
24036 ,
24037
24038 39 
24039 a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
24040 ,
24041
24042 40 \17(
24043 a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
24044 )
24045
24046 41 /\17(
24047 a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
24048 [0]),
24049
24050 42 
24051 a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
24052 ,
24053
24054 43 \17(
24055 a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
24056 )
24057
24058 44 /\17(
24059 a¢_DEF_M©ch\9agCÚdLi¡_\8fgs_1
24060 [0]),
24061
24062 45 { 0, &
24063 a¢_PER_ty³_M©ch\9agCÚdLi¡_cÚ¡r_1
24064
24065 SEQUENCE_OF_cÚ¡¿\9at
24066  },
24067
24068 46 
24069 a¢_MBR_M©ch\9agCÚdLi¡_1
24070 ,
24071
24072 48 &
24073 a¢_SPC_M©ch\9agCÚdLi¡_¥ecs_1
24074
24075
24076         @MatchingUEidItem.c
24077
24078\ 2
24079         ~"M©ch\9agUEidI\8bm.h
24080 "
24081
24082 10 
24083 a¢_TYPE_memb\94_t
24084  
24085         ga¢_MBR_M©ch\9agUEidI\8bm_1
24086 [] = {
24087
24088 11 { 
24089 ATF_NOFLAGS
24090 , 0, 
24091 off£tof
24092 (\19
24093 M©ch\9agUEidI\8bm
24094
24095 ueID
24096 ),
24097
24098 12 (
24099 ASN_TAG_CLASS_CONTEXT
24100  | (0 << 2)),
24101
24102 14 &
24103 a¢_DEF_UEID
24104 ,
24105
24106 21 \18cڡ 
24107 b\94_\8ev_\8fg_t
24108  
24109         ga¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
24110 [] = {
24111
24112 22 (
24113 ASN_TAG_CLASS_UNIVERSAL
24114  | (16 << 2))
24115
24116 24 \18cڡ 
24117 a¢_TYPE_\8fg2memb\94_t
24118  
24119         ga¢_MAP_M©ch\9agUEidI\8bm_\8fg2\96_1
24120 [] = {
24121
24122 25 { (
24123 ASN_TAG_CLASS_CONTEXT
24124  | (0 << 2)), 0, 0, 0 }
24125
24126 27 
24127 a¢_SEQUENCE_¥ecifics_t
24128  
24129         ga¢_SPC_M©ch\9agUEidI\8bm_¥ecs_1
24130  = {
24131
24132 28 \17(\19
24133 M©ch\9agUEidI\8bm
24134 ),
24135
24136 29 
24137 off£tof
24138 (\19
24139 M©ch\9agUEidI\8bm
24140
24141 _a¢_ùx
24142 ),
24143
24144 30 
24145 a¢_MAP_M©ch\9agUEidI\8bm_\8fg2\96_1
24146 ,
24147
24148 35 
24149 a¢_TYPE_desü\9dtÜ_t
24150  
24151         ga¢_DEF_M©ch\9agUEidI\8bm
24152  = {
24153
24154 38 &
24155 a¢_OP_SEQUENCE
24156 ,
24157
24158 39 
24159 a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
24160 ,
24161
24162 40 \17(
24163 a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
24164 )
24165
24166 41 /\17(
24167 a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
24168 [0]),
24169
24170 42 
24171 a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
24172 ,
24173
24174 43 \17(
24175 a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
24176 )
24177
24178 44 /\17(
24179 a¢_DEF_M©ch\9agUEidI\8bm_\8fgs_1
24180 [0]),
24181
24182 45 { 0, 0, 
24183 SEQUENCE_cÚ¡¿\9at
24184  },
24185
24186 46 
24187 a¢_MBR_M©ch\9agUEidI\8bm_1
24188 ,
24189
24190 48 &
24191 a¢_SPC_M©ch\9agUEidI\8bm_¥ecs_1
24192
24193
24194         @MatchingUEidList.c
24195
24196\ 2
24197         ~"M©ch\9agUEidLi¡.h
24198 "
24199
24200 10 \ 2
24201         ~"M©ch\9agUEidI\8bm.h
24202 "
24203
24204 11 
24205 a¢_³r_cÚ¡¿\9ats_t
24206  
24207 a¢_PER_ty³_M©ch\9agUEidLi¡_cÚ¡r_1
24208  
24209         gCC_NOTUSED
24210  = {
24211
24212 12 { 
24213 APC_UNCONSTRAINED
24214 , -1, -1, 0, 0 },
24215
24216 13 { 
24217 APC_CONSTRAINED
24218 , 16, 16, 1, 65535 } ,
24219
24220 16 
24221 a¢_TYPE_memb\94_t
24222  
24223         ga¢_MBR_M©ch\9agUEidLi¡_1
24224 [] = {
24225
24226 17 { 
24227 ATF_POINTER
24228 , 0, 0,
24229
24230 18 (
24231 ASN_TAG_CLASS_UNIVERSAL
24232  | (16 << 2)),
24233
24234 20 &
24235 a¢_DEF_M©ch\9agUEidI\8bm
24236 ,
24237
24238 27 \18cڡ 
24239 b\94_\8ev_\8fg_t
24240  
24241         ga¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
24242 [] = {
24243
24244 28 (
24245 ASN_TAG_CLASS_UNIVERSAL
24246  | (16 << 2))
24247
24248 30 
24249 a¢_SET_OF_¥ecifics_t
24250  
24251         ga¢_SPC_M©ch\9agUEidLi¡_¥ecs_1
24252  = {
24253
24254 31 \17(\19
24255 M©ch\9agUEidLi¡
24256 ),
24257
24258 32 
24259 off£tof
24260 (\19
24261 M©ch\9agUEidLi¡
24262
24263 _a¢_ùx
24264 ),
24265
24266 35 
24267 a¢_TYPE_desü\9dtÜ_t
24268  
24269         ga¢_DEF_M©ch\9agUEidLi¡
24270  = {
24271
24272 38 &
24273 a¢_OP_SEQUENCE_OF
24274 ,
24275
24276 39 
24277 a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
24278 ,
24279
24280 40 \17(
24281 a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
24282 )
24283
24284 41 /\17(
24285 a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
24286 [0]),
24287
24288 42 
24289 a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
24290 ,
24291
24292 43 \17(
24293 a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
24294 )
24295
24296 44 /\17(
24297 a¢_DEF_M©ch\9agUEidLi¡_\8fgs_1
24298 [0]),
24299
24300 45 { 0, &
24301 a¢_PER_ty³_M©ch\9agUEidLi¡_cÚ¡r_1
24302
24303 SEQUENCE_OF_cÚ¡¿\9at
24304  },
24305
24306 46 
24307 a¢_MBR_M©ch\9agUEidLi¡_1
24308 ,
24309
24310 48 &
24311 a¢_SPC_M©ch\9agUEidLi¡_¥ecs_1
24312
24313
24314         @MeasurementCondItem.c
24315
24316\ 2
24317         ~"M\97su»m\92tCÚdI\8bm.h
24318 "
24319
24320 10 
24321 a¢_TYPE_memb\94_t
24322  
24323         ga¢_MBR_M\97su»m\92tCÚdI\8bm_1
24324 [] = {
24325
24326 11 { 
24327 ATF_NOFLAGS
24328 , 0, 
24329 off£tof
24330 (\19
24331 M\97su»m\92tCÚdI\8bm
24332
24333 m\97sTy³
24334 ),
24335
24336 12 (
24337 ASN_TAG_CLASS_CONTEXT
24338  | (0 << 2)),
24339
24340 14 &
24341 a¢_DEF_M\97su»m\92tTy³
24342 ,
24343
24344 20 { 
24345 ATF_NOFLAGS
24346 , 0, 
24347 off£tof
24348 (\19
24349 M\97su»m\92tCÚdI\8bm
24350
24351 m©ch\9agCÚd
24352 ),
24353
24354 21 (
24355 ASN_TAG_CLASS_CONTEXT
24356  | (1 << 2)),
24357
24358 23 &
24359 a¢_DEF_M©ch\9agCÚdLi¡
24360 ,
24361
24362 30 \18cڡ 
24363 b\94_\8ev_\8fg_t
24364  
24365         ga¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
24366 [] = {
24367
24368 31 (
24369 ASN_TAG_CLASS_UNIVERSAL
24370  | (16 << 2))
24371
24372 33 \18cڡ 
24373 a¢_TYPE_\8fg2memb\94_t
24374  
24375         ga¢_MAP_M\97su»m\92tCÚdI\8bm_\8fg2\96_1
24376 [] = {
24377
24378 34 { (
24379 ASN_TAG_CLASS_CONTEXT
24380  | (0 << 2)), 0, 0, 0 },
24381
24382 35 { (
24383 ASN_TAG_CLASS_CONTEXT
24384  | (1 << 2)), 1, 0, 0 }
24385
24386 37 
24387 a¢_SEQUENCE_¥ecifics_t
24388  
24389         ga¢_SPC_M\97su»m\92tCÚdI\8bm_¥ecs_1
24390  = {
24391
24392 38 \17(\19
24393 M\97su»m\92tCÚdI\8bm
24394 ),
24395
24396 39 
24397 off£tof
24398 (\19
24399 M\97su»m\92tCÚdI\8bm
24400
24401 _a¢_ùx
24402 ),
24403
24404 40 
24405 a¢_MAP_M\97su»m\92tCÚdI\8bm_\8fg2\96_1
24406 ,
24407
24408 45 
24409 a¢_TYPE_desü\9dtÜ_t
24410  
24411         ga¢_DEF_M\97su»m\92tCÚdI\8bm
24412  = {
24413
24414 48 &
24415 a¢_OP_SEQUENCE
24416 ,
24417
24418 49 
24419 a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
24420 ,
24421
24422 50 \17(
24423 a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
24424 )
24425
24426 51 /\17(
24427 a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
24428 [0]),
24429
24430 52 
24431 a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
24432 ,
24433
24434 53 \17(
24435 a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
24436 )
24437
24438 54 /\17(
24439 a¢_DEF_M\97su»m\92tCÚdI\8bm_\8fgs_1
24440 [0]),
24441
24442 55 { 0, 0, 
24443 SEQUENCE_cÚ¡¿\9at
24444  },
24445
24446 56 
24447 a¢_MBR_M\97su»m\92tCÚdI\8bm_1
24448 ,
24449
24450 58 &
24451 a¢_SPC_M\97su»m\92tCÚdI\8bm_¥ecs_1
24452
24453
24454         @MeasurementCondList.c
24455
24456\ 2
24457         ~"M\97su»m\92tCÚdLi¡.h
24458 "
24459
24460 10 \ 2
24461         ~"M\97su»m\92tCÚdI\8bm.h
24462 "
24463
24464 11 
24465 a¢_³r_cÚ¡¿\9ats_t
24466  
24467 a¢_PER_ty³_M\97su»m\92tCÚdLi¡_cÚ¡r_1
24468  
24469         gCC_NOTUSED
24470  = {
24471
24472 12 { 
24473 APC_UNCONSTRAINED
24474 , -1, -1, 0, 0 },
24475
24476 13 { 
24477 APC_CONSTRAINED
24478 , 16, 16, 1, 65535 } ,
24479
24480 16 
24481 a¢_TYPE_memb\94_t
24482  
24483         ga¢_MBR_M\97su»m\92tCÚdLi¡_1
24484 [] = {
24485
24486 17 { 
24487 ATF_POINTER
24488 , 0, 0,
24489
24490 18 (
24491 ASN_TAG_CLASS_UNIVERSAL
24492  | (16 << 2)),
24493
24494 20 &
24495 a¢_DEF_M\97su»m\92tCÚdI\8bm
24496 ,
24497
24498 27 \18cڡ 
24499 b\94_\8ev_\8fg_t
24500  
24501         ga¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
24502 [] = {
24503
24504 28 (
24505 ASN_TAG_CLASS_UNIVERSAL
24506  | (16 << 2))
24507
24508 30 
24509 a¢_SET_OF_¥ecifics_t
24510  
24511         ga¢_SPC_M\97su»m\92tCÚdLi¡_¥ecs_1
24512  = {
24513
24514 31 \17(\19
24515 M\97su»m\92tCÚdLi¡
24516 ),
24517
24518 32 
24519 off£tof
24520 (\19
24521 M\97su»m\92tCÚdLi¡
24522
24523 _a¢_ùx
24524 ),
24525
24526 35 
24527 a¢_TYPE_desü\9dtÜ_t
24528  
24529         ga¢_DEF_M\97su»m\92tCÚdLi¡
24530  = {
24531
24532 38 &
24533 a¢_OP_SEQUENCE_OF
24534 ,
24535
24536 39 
24537 a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
24538 ,
24539
24540 40 \17(
24541 a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
24542 )
24543
24544 41 /\17(
24545 a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
24546 [0]),
24547
24548 42 
24549 a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
24550 ,
24551
24552 43 \17(
24553 a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
24554 )
24555
24556 44 /\17(
24557 a¢_DEF_M\97su»m\92tCÚdLi¡_\8fgs_1
24558 [0]),
24559
24560 45 { 0, &
24561 a¢_PER_ty³_M\97su»m\92tCÚdLi¡_cÚ¡r_1
24562
24563 SEQUENCE_OF_cÚ¡¿\9at
24564  },
24565
24566 46 
24567 a¢_MBR_M\97su»m\92tCÚdLi¡_1
24568 ,
24569
24570 48 &
24571 a¢_SPC_M\97su»m\92tCÚdLi¡_¥ecs_1
24572
24573
24574         @MeasurementCondUEidItem.c
24575
24576\ 2
24577         ~"M\97su»m\92tCÚdUEidI\8bm.h
24578 "
24579
24580 10 \ 2
24581         ~"M©ch\9agUEidLi¡.h
24582 "
24583
24584 11 
24585 a¢_TYPE_memb\94_t
24586  
24587         ga¢_MBR_M\97su»m\92tCÚdUEidI\8bm_1
24588 [] = {
24589
24590 12 { 
24591 ATF_NOFLAGS
24592 , 0, 
24593 off£tof
24594 (\19
24595 M\97su»m\92tCÚdUEidI\8bm
24596
24597 m\97sTy³
24598 ),
24599
24600 13 (
24601 ASN_TAG_CLASS_CONTEXT
24602  | (0 << 2)),
24603
24604 15 &
24605 a¢_DEF_M\97su»m\92tTy³
24606 ,
24607
24608 21 { 
24609 ATF_NOFLAGS
24610 , 0, 
24611 off£tof
24612 (\19
24613 M\97su»m\92tCÚdUEidI\8bm
24614
24615 m©ch\9agCÚd
24616 ),
24617
24618 22 (
24619 ASN_TAG_CLASS_CONTEXT
24620  | (1 << 2)),
24621
24622 24 &
24623 a¢_DEF_M©ch\9agCÚdLi¡
24624 ,
24625
24626 30 { 
24627 ATF_POINTER
24628 , 1, 
24629 off£tof
24630 (\19
24631 M\97su»m\92tCÚdUEidI\8bm
24632
24633 m©ch\9agUEidLi¡
24634 ),
24635
24636 31 (
24637 ASN_TAG_CLASS_CONTEXT
24638  | (2 << 2)),
24639
24640 33 &
24641 a¢_DEF_M©ch\9agUEidLi¡
24642 ,
24643
24644 40 \18cڡ \12
24645         ga¢_MAP_M\97su»m\92tCÚdUEidI\8bm_oms_1
24646 [] = { 2 };
24647
24648 41 \18cڡ 
24649 b\94_\8ev_\8fg_t
24650  
24651         ga¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
24652 [] = {
24653
24654 42 (
24655 ASN_TAG_CLASS_UNIVERSAL
24656  | (16 << 2))
24657
24658 44 \18cڡ 
24659 a¢_TYPE_\8fg2memb\94_t
24660  
24661         ga¢_MAP_M\97su»m\92tCÚdUEidI\8bm_\8fg2\96_1
24662 [] = {
24663
24664 45 { (
24665 ASN_TAG_CLASS_CONTEXT
24666  | (0 << 2)), 0, 0, 0 },
24667
24668 46 { (
24669 ASN_TAG_CLASS_CONTEXT
24670  | (1 << 2)), 1, 0, 0 },
24671
24672 47 { (
24673 ASN_TAG_CLASS_CONTEXT
24674  | (2 << 2)), 2, 0, 0 }
24675
24676 49 
24677 a¢_SEQUENCE_¥ecifics_t
24678  
24679         ga¢_SPC_M\97su»m\92tCÚdUEidI\8bm_¥ecs_1
24680  = {
24681
24682 50 \17(\19
24683 M\97su»m\92tCÚdUEidI\8bm
24684 ),
24685
24686 51 
24687 off£tof
24688 (\19
24689 M\97su»m\92tCÚdUEidI\8bm
24690
24691 _a¢_ùx
24692 ),
24693
24694 52 
24695 a¢_MAP_M\97su»m\92tCÚdUEidI\8bm_\8fg2\96_1
24696 ,
24697
24698 54 
24699 a¢_MAP_M\97su»m\92tCÚdUEidI\8bm_oms_1
24700 ,
24701
24702 58 
24703 a¢_TYPE_desü\9dtÜ_t
24704  
24705         ga¢_DEF_M\97su»m\92tCÚdUEidI\8bm
24706  = {
24707
24708 61 &
24709 a¢_OP_SEQUENCE
24710 ,
24711
24712 62 
24713 a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
24714 ,
24715
24716 63 \17(
24717 a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
24718 )
24719
24720 64 /\17(
24721 a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
24722 [0]),
24723
24724 65 
24725 a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
24726 ,
24727
24728 66 \17(
24729 a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
24730 )
24731
24732 67 /\17(
24733 a¢_DEF_M\97su»m\92tCÚdUEidI\8bm_\8fgs_1
24734 [0]),
24735
24736 68 { 0, 0, 
24737 SEQUENCE_cÚ¡¿\9at
24738  },
24739
24740 69 
24741 a¢_MBR_M\97su»m\92tCÚdUEidI\8bm_1
24742 ,
24743
24744 71 &
24745 a¢_SPC_M\97su»m\92tCÚdUEidI\8bm_¥ecs_1
24746
24747
24748         @MeasurementCondUEidList.c
24749
24750\ 2
24751         ~"M\97su»m\92tCÚdUEidLi¡.h
24752 "
24753
24754 10 \ 2
24755         ~"M\97su»m\92tCÚdUEidI\8bm.h
24756 "
24757
24758 11 
24759 a¢_³r_cÚ¡¿\9ats_t
24760  
24761 a¢_PER_ty³_M\97su»m\92tCÚdUEidLi¡_cÚ¡r_1
24762  
24763         gCC_NOTUSED
24764  = {
24765
24766 12 { 
24767 APC_UNCONSTRAINED
24768 , -1, -1, 0, 0 },
24769
24770 13 { 
24771 APC_CONSTRAINED
24772 , 16, 16, 1, 65535 } ,
24773
24774 16 
24775 a¢_TYPE_memb\94_t
24776  
24777         ga¢_MBR_M\97su»m\92tCÚdUEidLi¡_1
24778 [] = {
24779
24780 17 { 
24781 ATF_POINTER
24782 , 0, 0,
24783
24784 18 (
24785 ASN_TAG_CLASS_UNIVERSAL
24786  | (16 << 2)),
24787
24788 20 &
24789 a¢_DEF_M\97su»m\92tCÚdUEidI\8bm
24790 ,
24791
24792 27 \18cڡ 
24793 b\94_\8ev_\8fg_t
24794  
24795         ga¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
24796 [] = {
24797
24798 28 (
24799 ASN_TAG_CLASS_UNIVERSAL
24800  | (16 << 2))
24801
24802 30 
24803 a¢_SET_OF_¥ecifics_t
24804  
24805         ga¢_SPC_M\97su»m\92tCÚdUEidLi¡_¥ecs_1
24806  = {
24807
24808 31 \17(\19
24809 M\97su»m\92tCÚdUEidLi¡
24810 ),
24811
24812 32 
24813 off£tof
24814 (\19
24815 M\97su»m\92tCÚdUEidLi¡
24816
24817 _a¢_ùx
24818 ),
24819
24820 35 
24821 a¢_TYPE_desü\9dtÜ_t
24822  
24823         ga¢_DEF_M\97su»m\92tCÚdUEidLi¡
24824  = {
24825
24826 38 &
24827 a¢_OP_SEQUENCE_OF
24828 ,
24829
24830 39 
24831 a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
24832 ,
24833
24834 40 \17(
24835 a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
24836 )
24837
24838 41 /\17(
24839 a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
24840 [0]),
24841
24842 42 
24843 a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
24844 ,
24845
24846 43 \17(
24847 a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
24848 )
24849
24850 44 /\17(
24851 a¢_DEF_M\97su»m\92tCÚdUEidLi¡_\8fgs_1
24852 [0]),
24853
24854 45 { 0, &
24855 a¢_PER_ty³_M\97su»m\92tCÚdUEidLi¡_cÚ¡r_1
24856
24857 SEQUENCE_OF_cÚ¡¿\9at
24858  },
24859
24860 46 
24861 a¢_MBR_M\97su»m\92tCÚdUEidLi¡_1
24862 ,
24863
24864 48 &
24865 a¢_SPC_M\97su»m\92tCÚdUEidLi¡_¥ecs_1
24866
24867
24868         @MeasurementData.c
24869
24870\ 2
24871         ~"M\97su»m\92tD©a.h
24872 "
24873
24874 10 \ 2
24875         ~"M\97su»m\92tD©aI\8bm.h
24876 "
24877
24878 11 
24879 a¢_³r_cÚ¡¿\9ats_t
24880  
24881 a¢_PER_ty³_M\97su»m\92tD©a_cÚ¡r_1
24882  
24883         gCC_NOTUSED
24884  = {
24885
24886 12 { 
24887 APC_UNCONSTRAINED
24888 , -1, -1, 0, 0 },
24889
24890 13 { 
24891 APC_CONSTRAINED
24892 , 16, 16, 1, 65535 } ,
24893
24894 16 
24895 a¢_TYPE_memb\94_t
24896  
24897         ga¢_MBR_M\97su»m\92tD©a_1
24898 [] = {
24899
24900 17 { 
24901 ATF_POINTER
24902 , 0, 0,
24903
24904 18 (
24905 ASN_TAG_CLASS_UNIVERSAL
24906  | (16 << 2)),
24907
24908 20 &
24909 a¢_DEF_M\97su»m\92tD©aI\8bm
24910 ,
24911
24912 27 \18cڡ 
24913 b\94_\8ev_\8fg_t
24914  
24915         ga¢_DEF_M\97su»m\92tD©a_\8fgs_1
24916 [] = {
24917
24918 28 (
24919 ASN_TAG_CLASS_UNIVERSAL
24920  | (16 << 2))
24921
24922 30 
24923 a¢_SET_OF_¥ecifics_t
24924  
24925         ga¢_SPC_M\97su»m\92tD©a_¥ecs_1
24926  = {
24927
24928 31 \17(\19
24929 M\97su»m\92tD©a
24930 ),
24931
24932 32 
24933 off£tof
24934 (\19
24935 M\97su»m\92tD©a
24936
24937 _a¢_ùx
24938 ),
24939
24940 35 
24941 a¢_TYPE_desü\9dtÜ_t
24942  
24943         ga¢_DEF_M\97su»m\92tD©a
24944  = {
24945
24946 38 &
24947 a¢_OP_SEQUENCE_OF
24948 ,
24949
24950 39 
24951 a¢_DEF_M\97su»m\92tD©a_\8fgs_1
24952 ,
24953
24954 40 \17(
24955 a¢_DEF_M\97su»m\92tD©a_\8fgs_1
24956 )
24957
24958 41 /\17(
24959 a¢_DEF_M\97su»m\92tD©a_\8fgs_1
24960 [0]),
24961
24962 42 
24963 a¢_DEF_M\97su»m\92tD©a_\8fgs_1
24964 ,
24965
24966 43 \17(
24967 a¢_DEF_M\97su»m\92tD©a_\8fgs_1
24968 )
24969
24970 44 /\17(
24971 a¢_DEF_M\97su»m\92tD©a_\8fgs_1
24972 [0]),
24973
24974 45 { 0, &
24975 a¢_PER_ty³_M\97su»m\92tD©a_cÚ¡r_1
24976
24977 SEQUENCE_OF_cÚ¡¿\9at
24978  },
24979
24980 46 
24981 a¢_MBR_M\97su»m\92tD©a_1
24982 ,
24983
24984 48 &
24985 a¢_SPC_M\97su»m\92tD©a_¥ecs_1
24986
24987
24988         @MeasurementDataItem.c
24989
24990\ 2
24991         ~"M\97su»m\92tD©aI\8bm.h
24992 "
24993
24994 14 \18
24995 a¢_³r_cÚ¡¿\9ats_t
24996  
24997 a¢_PER_ty³_\9acom¶\91eFÏg_cÚ¡r_3
24998  
24999         gCC_NOTUSED
25000  = {
25001
25002 15 { 
25003 APC_CONSTRAINED
25004  | 
25005 APC_EXTENSIBLE
25006 , 0, 0, 0, 0 } ,
25007
25008 16 { 
25009 APC_UNCONSTRAINED
25010 , -1, -1, 0, 0 },
25011
25012 19 \18cڡ 
25013 a¢_INTEGER_\92um_m­_t
25014  
25015         ga¢_MAP_\9acom¶\91eFÏg_v®ue2\92um_3
25016 [] = {
25017
25018 23 \18cڡ \1d\12
25019         ga¢_MAP_\9acom¶\91eFÏg_\92um2v®ue_3
25020 [] = {
25021
25022 27 \18cڡ 
25023 a¢_INTEGER_¥ecifics_t
25024  
25025         ga¢_SPC_\9acom¶\91eFÏg_¥ecs_3
25026  = {
25027
25028 28 
25029 a¢_MAP_\9acom¶\91eFÏg_v®ue2\92um_3
25030 ,
25031
25032 29 
25033 a¢_MAP_\9acom¶\91eFÏg_\92um2v®ue_3
25034 ,
25035
25036 36 \18cڡ 
25037 b\94_\8ev_\8fg_t
25038  
25039         ga¢_DEF_\9acom¶\91eFÏg_\8fgs_3
25040 [] = {
25041
25042 37 (
25043 ASN_TAG_CLASS_CONTEXT
25044  | (1 << 2)),
25045
25046 38 (
25047 ASN_TAG_CLASS_UNIVERSAL
25048  | (10 << 2))
25049
25050 41 
25051 a¢_TYPE_desü\9dtÜ_t
25052  
25053         ga¢_DEF_\9acom¶\91eFÏg_3
25054  = {
25055
25056 44 &
25057 a¢_OP_N©iveEnum\94©ed
25058 ,
25059
25060 45 
25061 a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
25062 ,
25063
25064 46 \17(
25065 a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
25066 )
25067
25068 47 /\17(
25069 a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
25070 [0]) - 1,
25071
25072 48 
25073 a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
25074 ,
25075
25076 49 \17(
25077 a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
25078 )
25079
25080 50 /\17(
25081 a¢_DEF_\9acom¶\91eFÏg_\8fgs_3
25082 [0]),
25083
25084 51 { 0, &
25085 a¢_PER_ty³_\9acom¶\91eFÏg_cÚ¡r_3
25086
25087 N©iveEnum\94©ed_cÚ¡¿\9at
25088  },
25089
25090 53 &
25091 a¢_SPC_\9acom¶\91eFÏg_¥ecs_3
25092
25093
25094 56 
25095 a¢_TYPE_memb\94_t
25096  
25097         ga¢_MBR_M\97su»m\92tD©aI\8bm_1
25098 [] = {
25099
25100 57 { 
25101 ATF_NOFLAGS
25102 , 0, 
25103 off£tof
25104 (\19
25105 M\97su»m\92tD©aI\8bm
25106
25107 m\97sRecÜd
25108 ),
25109
25110 58 (
25111 ASN_TAG_CLASS_CONTEXT
25112  | (0 << 2)),
25113
25114 60 &
25115 a¢_DEF_M\97su»m\92tRecÜd
25116 ,
25117
25118 66 { 
25119 ATF_POINTER
25120 , 1, 
25121 off£tof
25122 (\19
25123 M\97su»m\92tD©aI\8bm
25124
25125 \9acom¶\91eFÏg
25126 ),
25127
25128 67 (
25129 ASN_TAG_CLASS_CONTEXT
25130  | (1 << 2)),
25131
25132 69 &
25133 a¢_DEF_\9acom¶\91eFÏg_3
25134 ,
25135
25136 76 \18cڡ \12
25137         ga¢_MAP_M\97su»m\92tD©aI\8bm_oms_1
25138 [] = { 1 };
25139
25140 77 \18cڡ 
25141 b\94_\8ev_\8fg_t
25142  
25143         ga¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
25144 [] = {
25145
25146 78 (
25147 ASN_TAG_CLASS_UNIVERSAL
25148  | (16 << 2))
25149
25150 80 \18cڡ 
25151 a¢_TYPE_\8fg2memb\94_t
25152  
25153         ga¢_MAP_M\97su»m\92tD©aI\8bm_\8fg2\96_1
25154 [] = {
25155
25156 81 { (
25157 ASN_TAG_CLASS_CONTEXT
25158  | (0 << 2)), 0, 0, 0 },
25159
25160 82 { (
25161 ASN_TAG_CLASS_CONTEXT
25162  | (1 << 2)), 1, 0, 0 }
25163
25164 84 
25165 a¢_SEQUENCE_¥ecifics_t
25166  
25167         ga¢_SPC_M\97su»m\92tD©aI\8bm_¥ecs_1
25168  = {
25169
25170 85 \17(\19
25171 M\97su»m\92tD©aI\8bm
25172 ),
25173
25174 86 
25175 off£tof
25176 (\19
25177 M\97su»m\92tD©aI\8bm
25178
25179 _a¢_ùx
25180 ),
25181
25182 87 
25183 a¢_MAP_M\97su»m\92tD©aI\8bm_\8fg2\96_1
25184 ,
25185
25186 89 
25187 a¢_MAP_M\97su»m\92tD©aI\8bm_oms_1
25188 ,
25189
25190 93 
25191 a¢_TYPE_desü\9dtÜ_t
25192  
25193         ga¢_DEF_M\97su»m\92tD©aI\8bm
25194  = {
25195
25196 96 &
25197 a¢_OP_SEQUENCE
25198 ,
25199
25200 97 
25201 a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
25202 ,
25203
25204 98 \17(
25205 a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
25206 )
25207
25208 99 /\17(
25209 a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
25210 [0]),
25211
25212 100 
25213 a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
25214 ,
25215
25216 101 \17(
25217 a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
25218 )
25219
25220 102 /\17(
25221 a¢_DEF_M\97su»m\92tD©aI\8bm_\8fgs_1
25222 [0]),
25223
25224 103 { 0, 0, 
25225 SEQUENCE_cÚ¡¿\9at
25226  },
25227
25228 104 
25229 a¢_MBR_M\97su»m\92tD©aI\8bm_1
25230 ,
25231
25232 106 &
25233 a¢_SPC_M\97su»m\92tD©aI\8bm_¥ecs_1
25234
25235
25236         @MeasurementInfo-Action-Item.c
25237
25238\ 2
25239         ~"M\97su»m\92tInfo-AùiÚ-I\8bm.h
25240 "
25241
25242 10 
25243 a¢_TYPE_memb\94_t
25244  
25245         ga¢_MBR_M\97su»m\92tInfo_AùiÚ_I\8bm_1
25246 [] = {
25247
25248 11 { 
25249 ATF_NOFLAGS
25250 , 0, 
25251 off£tof
25252 (\19
25253 M\97su»m\92tInfo_AùiÚ_I\8bm
25254
25255 m\97sName
25256 ),
25257
25258 12 (
25259 ASN_TAG_CLASS_CONTEXT
25260  | (0 << 2)),
25261
25262 14 &
25263 a¢_DEF_M\97su»m\92tTy³Name
25264 ,
25265
25266 20 { 
25267 ATF_POINTER
25268 , 1, 
25269 off£tof
25270 (\19
25271 M\97su»m\92tInfo_AùiÚ_I\8bm
25272
25273 m\97sID
25274 ),
25275
25276 21 (
25277 ASN_TAG_CLASS_CONTEXT
25278  | (1 << 2)),
25279
25280 23 &
25281 a¢_DEF_M\97su»m\92tTy³ID
25282 ,
25283
25284 30 \18cڡ \12
25285         ga¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_oms_1
25286 [] = { 1 };
25287
25288 31 \18cڡ 
25289 b\94_\8ev_\8fg_t
25290  
25291         ga¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
25292 [] = {
25293
25294 32 (
25295 ASN_TAG_CLASS_UNIVERSAL
25296  | (16 << 2))
25297
25298 34 \18cڡ 
25299 a¢_TYPE_\8fg2memb\94_t
25300  
25301         ga¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fg2\96_1
25302 [] = {
25303
25304 35 { (
25305 ASN_TAG_CLASS_CONTEXT
25306  | (0 << 2)), 0, 0, 0 },
25307
25308 36 { (
25309 ASN_TAG_CLASS_CONTEXT
25310  | (1 << 2)), 1, 0, 0 }
25311
25312 38 
25313 a¢_SEQUENCE_¥ecifics_t
25314  
25315         ga¢_SPC_M\97su»m\92tInfo_AùiÚ_I\8bm_¥ecs_1
25316  = {
25317
25318 39 \17(\19
25319 M\97su»m\92tInfo_AùiÚ_I\8bm
25320 ),
25321
25322 40 
25323 off£tof
25324 (\19
25325 M\97su»m\92tInfo_AùiÚ_I\8bm
25326
25327 _a¢_ùx
25328 ),
25329
25330 41 
25331 a¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fg2\96_1
25332 ,
25333
25334 43 
25335 a¢_MAP_M\97su»m\92tInfo_AùiÚ_I\8bm_oms_1
25336 ,
25337
25338 47 
25339 a¢_TYPE_desü\9dtÜ_t
25340  
25341         ga¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm
25342  = {
25343
25344 50 &
25345 a¢_OP_SEQUENCE
25346 ,
25347
25348 51 
25349 a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
25350 ,
25351
25352 52 \17(
25353 a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
25354 )
25355
25356 53 /\17(
25357 a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
25358 [0]),
25359
25360 54 
25361 a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
25362 ,
25363
25364 55 \17(
25365 a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
25366 )
25367
25368 56 /\17(
25369 a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm_\8fgs_1
25370 [0]),
25371
25372 57 { 0, 0, 
25373 SEQUENCE_cÚ¡¿\9at
25374  },
25375
25376 58 
25377 a¢_MBR_M\97su»m\92tInfo_AùiÚ_I\8bm_1
25378 ,
25379
25380 60 &
25381 a¢_SPC_M\97su»m\92tInfo_AùiÚ_I\8bm_¥ecs_1
25382
25383
25384         @MeasurementInfo-Action-List.c
25385
25386\ 2
25387         ~"M\97su»m\92tInfo-AùiÚ-Li¡.h
25388 "
25389
25390 10 \ 2
25391         ~"M\97su»m\92tInfo-AùiÚ-I\8bm.h
25392 "
25393
25394 11 
25395 a¢_³r_cÚ¡¿\9ats_t
25396  
25397 a¢_PER_ty³_M\97su»m\92tInfo_AùiÚ_Li¡_cÚ¡r_1
25398  
25399         gCC_NOTUSED
25400  = {
25401
25402 12 { 
25403 APC_UNCONSTRAINED
25404 , -1, -1, 0, 0 },
25405
25406 13 { 
25407 APC_CONSTRAINED
25408 , 16, 16, 1, 65535 } ,
25409
25410 16 
25411 a¢_TYPE_memb\94_t
25412  
25413         ga¢_MBR_M\97su»m\92tInfo_AùiÚ_Li¡_1
25414 [] = {
25415
25416 17 { 
25417 ATF_POINTER
25418 , 0, 0,
25419
25420 18 (
25421 ASN_TAG_CLASS_UNIVERSAL
25422  | (16 << 2)),
25423
25424 20 &
25425 a¢_DEF_M\97su»m\92tInfo_AùiÚ_I\8bm
25426 ,
25427
25428 27 \18cڡ 
25429 b\94_\8ev_\8fg_t
25430  
25431         ga¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
25432 [] = {
25433
25434 28 (
25435 ASN_TAG_CLASS_UNIVERSAL
25436  | (16 << 2))
25437
25438 30 
25439 a¢_SET_OF_¥ecifics_t
25440  
25441         ga¢_SPC_M\97su»m\92tInfo_AùiÚ_Li¡_¥ecs_1
25442  = {
25443
25444 31 \17(\19
25445 M\97su»m\92tInfo_AùiÚ_Li¡
25446 ),
25447
25448 32 
25449 off£tof
25450 (\19
25451 M\97su»m\92tInfo_AùiÚ_Li¡
25452
25453 _a¢_ùx
25454 ),
25455
25456 35 
25457 a¢_TYPE_desü\9dtÜ_t
25458  
25459         ga¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡
25460  = {
25461
25462 38 &
25463 a¢_OP_SEQUENCE_OF
25464 ,
25465
25466 39 
25467 a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
25468 ,
25469
25470 40 \17(
25471 a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
25472 )
25473
25474 41 /\17(
25475 a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
25476 [0]),
25477
25478 42 
25479 a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
25480 ,
25481
25482 43 \17(
25483 a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
25484 )
25485
25486 44 /\17(
25487 a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡_\8fgs_1
25488 [0]),
25489
25490 45 { 0, &
25491 a¢_PER_ty³_M\97su»m\92tInfo_AùiÚ_Li¡_cÚ¡r_1
25492
25493 SEQUENCE_OF_cÚ¡¿\9at
25494  },
25495
25496 46 
25497 a¢_MBR_M\97su»m\92tInfo_AùiÚ_Li¡_1
25498 ,
25499
25500 48 &
25501 a¢_SPC_M\97su»m\92tInfo_AùiÚ_Li¡_¥ecs_1
25502
25503
25504         @MeasurementInfoItem.c
25505
25506\ 2
25507         ~"M\97su»m\92tInfoI\8bm.h
25508 "
25509
25510 10 
25511 a¢_TYPE_memb\94_t
25512  
25513         ga¢_MBR_M\97su»m\92tInfoI\8bm_1
25514 [] = {
25515
25516 11 { 
25517 ATF_NOFLAGS
25518 , 0, 
25519 off£tof
25520 (\19
25521 M\97su»m\92tInfoI\8bm
25522
25523 m\97sTy³
25524 ),
25525
25526 12 (
25527 ASN_TAG_CLASS_CONTEXT
25528  | (0 << 2)),
25529
25530 14 &
25531 a¢_DEF_M\97su»m\92tTy³
25532 ,
25533
25534 20 { 
25535 ATF_NOFLAGS
25536 , 0, 
25537 off£tof
25538 (\19
25539 M\97su»m\92tInfoI\8bm
25540
25541 Ïb\96InfoLi¡
25542 ),
25543
25544 21 (
25545 ASN_TAG_CLASS_CONTEXT
25546  | (1 << 2)),
25547
25548 23 &
25549 a¢_DEF_Lab\96InfoLi¡
25550 ,
25551
25552 30 \18cڡ 
25553 b\94_\8ev_\8fg_t
25554  
25555         ga¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
25556 [] = {
25557
25558 31 (
25559 ASN_TAG_CLASS_UNIVERSAL
25560  | (16 << 2))
25561
25562 33 \18cڡ 
25563 a¢_TYPE_\8fg2memb\94_t
25564  
25565         ga¢_MAP_M\97su»m\92tInfoI\8bm_\8fg2\96_1
25566 [] = {
25567
25568 34 { (
25569 ASN_TAG_CLASS_CONTEXT
25570  | (0 << 2)), 0, 0, 0 },
25571
25572 35 { (
25573 ASN_TAG_CLASS_CONTEXT
25574  | (1 << 2)), 1, 0, 0 }
25575
25576 37 
25577 a¢_SEQUENCE_¥ecifics_t
25578  
25579         ga¢_SPC_M\97su»m\92tInfoI\8bm_¥ecs_1
25580  = {
25581
25582 38 \17(\19
25583 M\97su»m\92tInfoI\8bm
25584 ),
25585
25586 39 
25587 off£tof
25588 (\19
25589 M\97su»m\92tInfoI\8bm
25590
25591 _a¢_ùx
25592 ),
25593
25594 40 
25595 a¢_MAP_M\97su»m\92tInfoI\8bm_\8fg2\96_1
25596 ,
25597
25598 45 
25599 a¢_TYPE_desü\9dtÜ_t
25600  
25601         ga¢_DEF_M\97su»m\92tInfoI\8bm
25602  = {
25603
25604 48 &
25605 a¢_OP_SEQUENCE
25606 ,
25607
25608 49 
25609 a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
25610 ,
25611
25612 50 \17(
25613 a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
25614 )
25615
25616 51 /\17(
25617 a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
25618 [0]),
25619
25620 52 
25621 a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
25622 ,
25623
25624 53 \17(
25625 a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
25626 )
25627
25628 54 /\17(
25629 a¢_DEF_M\97su»m\92tInfoI\8bm_\8fgs_1
25630 [0]),
25631
25632 55 { 0, 0, 
25633 SEQUENCE_cÚ¡¿\9at
25634  },
25635
25636 56 
25637 a¢_MBR_M\97su»m\92tInfoI\8bm_1
25638 ,
25639
25640 58 &
25641 a¢_SPC_M\97su»m\92tInfoI\8bm_¥ecs_1
25642
25643
25644         @MeasurementInfoList.c
25645
25646\ 2
25647         ~"M\97su»m\92tInfoLi¡.h
25648 "
25649
25650 10 \ 2
25651         ~"M\97su»m\92tInfoI\8bm.h
25652 "
25653
25654 11 
25655 a¢_³r_cÚ¡¿\9ats_t
25656  
25657 a¢_PER_ty³_M\97su»m\92tInfoLi¡_cÚ¡r_1
25658  
25659         gCC_NOTUSED
25660  = {
25661
25662 12 { 
25663 APC_UNCONSTRAINED
25664 , -1, -1, 0, 0 },
25665
25666 13 { 
25667 APC_CONSTRAINED
25668 , 16, 16, 1, 65535 } ,
25669
25670 16 
25671 a¢_TYPE_memb\94_t
25672  
25673         ga¢_MBR_M\97su»m\92tInfoLi¡_1
25674 [] = {
25675
25676 17 { 
25677 ATF_POINTER
25678 , 0, 0,
25679
25680 18 (
25681 ASN_TAG_CLASS_UNIVERSAL
25682  | (16 << 2)),
25683
25684 20 &
25685 a¢_DEF_M\97su»m\92tInfoI\8bm
25686 ,
25687
25688 27 \18cڡ 
25689 b\94_\8ev_\8fg_t
25690  
25691         ga¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
25692 [] = {
25693
25694 28 (
25695 ASN_TAG_CLASS_UNIVERSAL
25696  | (16 << 2))
25697
25698 30 
25699 a¢_SET_OF_¥ecifics_t
25700  
25701         ga¢_SPC_M\97su»m\92tInfoLi¡_¥ecs_1
25702  = {
25703
25704 31 \17(\19
25705 M\97su»m\92tInfoLi¡
25706 ),
25707
25708 32 
25709 off£tof
25710 (\19
25711 M\97su»m\92tInfoLi¡
25712
25713 _a¢_ùx
25714 ),
25715
25716 35 
25717 a¢_TYPE_desü\9dtÜ_t
25718  
25719         ga¢_DEF_M\97su»m\92tInfoLi¡
25720  = {
25721
25722 38 &
25723 a¢_OP_SEQUENCE_OF
25724 ,
25725
25726 39 
25727 a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
25728 ,
25729
25730 40 \17(
25731 a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
25732 )
25733
25734 41 /\17(
25735 a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
25736 [0]),
25737
25738 42 
25739 a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
25740 ,
25741
25742 43 \17(
25743 a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
25744 )
25745
25746 44 /\17(
25747 a¢_DEF_M\97su»m\92tInfoLi¡_\8fgs_1
25748 [0]),
25749
25750 45 { 0, &
25751 a¢_PER_ty³_M\97su»m\92tInfoLi¡_cÚ¡r_1
25752
25753 SEQUENCE_OF_cÚ¡¿\9at
25754  },
25755
25756 46 
25757 a¢_MBR_M\97su»m\92tInfoLi¡_1
25758 ,
25759
25760 48 &
25761 a¢_SPC_M\97su»m\92tInfoLi¡_¥ecs_1
25762
25763
25764         @MeasurementLabel.c
25765
25766\ 2
25767         ~"M\97su»m\92tLab\96.h
25768 "
25769
25770 10 \ 2
25771         ~"S-NSSAI.h
25772 "
25773
25774 40 
25775         $memb_aRPmax_cÚ¡¿\9at_1
25776 (cڡ 
25777 a¢_TYPE_desü\9dtÜ_t
25778  *
25779 td
25780 , cڡ \1e*
25781 ¥\8c
25782 ,
25783
25784 41 
25785 a¢_­p_cÚ¡¿\9at_ç\9eed_f
25786  *
25787 ùç\9ecb
25788\1e*
25789 ­p_key
25790 ) {
25791
25792 42 \13
25793 v®ue
25794 ;
25795
25796 44 if(!
25797 ¥\8c
25798 ) {
25799
25800 45 
25801         `ASN__CTFAIL
25802 (
25803 ­p_key
25804
25805 td
25806
25807 ¥\8c
25808 ,
25809
25810 47 
25811 td
25812 ->
25813 Çme
25814
25815 __FILE__
25816
25817 __LINE__
25818 );
25819
25820 51 
25821 v®ue
25822  = *(cڡ \13*)
25823 ¥\8c
25824 ;
25825
25826 53 if((
25827 v®ue
25828  >= 1 && value <= 15)) {
25829
25830 57 
25831         `ASN__CTFAIL
25832 (
25833 ­p_key
25834
25835 td
25836
25837 ¥\8c
25838 ,
25839
25840 59 
25841 td
25842 ->
25843 Çme
25844
25845 __FILE__
25846
25847 __LINE__
25848 );
25849
25850 62 
25851         }
25852 }
25853
25854 65 
25855         $memb_aRPm\9a_cÚ¡¿\9at_1
25856 (cڡ 
25857 a¢_TYPE_desü\9dtÜ_t
25858  *
25859 td
25860 , cڡ \1e*
25861 ¥\8c
25862 ,
25863
25864 66 
25865 a¢_­p_cÚ¡¿\9at_ç\9eed_f
25866  *
25867 ùç\9ecb
25868\1e*
25869 ­p_key
25870 ) {
25871
25872 67 \13
25873 v®ue
25874 ;
25875
25876 69 if(!
25877 ¥\8c
25878 ) {
25879
25880 70 
25881         `ASN__CTFAIL
25882 (
25883 ­p_key
25884
25885 td
25886
25887 ¥\8c
25888 ,
25889
25890 72 
25891 td
25892 ->
25893 Çme
25894
25895 __FILE__
25896
25897 __LINE__
25898 );
25899
25900 76 
25901 v®ue
25902  = *(cڡ \13*)
25903 ¥\8c
25904 ;
25905
25906 78 if((
25907 v®ue
25908  >= 1 && value <= 15)) {
25909
25910 82 
25911         `ASN__CTFAIL
25912 (
25913 ­p_key
25914
25915 td
25916
25917 ¥\8c
25918 ,
25919
25920 84 
25921 td
25922 ->
25923 Çme
25924
25925 __FILE__
25926
25927 __LINE__
25928 );
25929
25930 87 
25931         }
25932 }
25933
25934 90 
25935         $memb_b\99¿\8bRªge_cÚ¡¿\9at_1
25936 (cڡ 
25937 a¢_TYPE_desü\9dtÜ_t
25938  *
25939 td
25940 , cڡ \1e*
25941 ¥\8c
25942 ,
25943
25944 91 
25945 a¢_­p_cÚ¡¿\9at_ç\9eed_f
25946  *
25947 ùç\9ecb
25948\1e*
25949 ­p_key
25950 ) {
25951
25952 92 \13
25953 v®ue
25954 ;
25955
25956 94 if(!
25957 ¥\8c
25958 ) {
25959
25960 95 
25961         `ASN__CTFAIL
25962 (
25963 ­p_key
25964
25965 td
25966
25967 ¥\8c
25968 ,
25969
25970 97 
25971 td
25972 ->
25973 Çme
25974
25975 __FILE__
25976
25977 __LINE__
25978 );
25979
25980 101 
25981 v®ue
25982  = *(cڡ \13*)
25983 ¥\8c
25984 ;
25985
25986 103 if((
25987 v®ue
25988  >= 1 && value <= 65535)) {
25989
25990 107 
25991         `ASN__CTFAIL
25992 (
25993 ­p_key
25994
25995 td
25996
25997 ¥\8c
25998 ,
25999
26000 109 
26001 td
26002 ->
26003 Çme
26004
26005 __FILE__
26006
26007 __LINE__
26008 );
26009
26010 112 
26011         }
26012 }
26013
26014 115 
26015         $memb_Ïy\94MU_MIMO_cÚ¡¿\9at_1
26016 (cڡ 
26017 a¢_TYPE_desü\9dtÜ_t
26018  *
26019 td
26020 , cڡ \1e*
26021 ¥\8c
26022 ,
26023
26024 116 
26025 a¢_­p_cÚ¡¿\9at_ç\9eed_f
26026  *
26027 ùç\9ecb
26028\1e*
26029 ­p_key
26030 ) {
26031
26032 117 \13
26033 v®ue
26034 ;
26035
26036 119 if(!
26037 ¥\8c
26038 ) {
26039
26040 120 
26041         `ASN__CTFAIL
26042 (
26043 ­p_key
26044
26045 td
26046
26047 ¥\8c
26048 ,
26049
26050 122 
26051 td
26052 ->
26053 Çme
26054
26055 __FILE__
26056
26057 __LINE__
26058 );
26059
26060 126 
26061 v®ue
26062  = *(cڡ \13*)
26063 ¥\8c
26064 ;
26065
26066 128 if((
26067 v®ue
26068  >= 1 && value <= 65535)) {
26069
26070 132 
26071         `ASN__CTFAIL
26072 (
26073 ­p_key
26074
26075 td
26076
26077 ¥\8c
26078 ,
26079
26080 134 
26081 td
26082 ->
26083 Çme
26084
26085 __FILE__
26086
26087 __LINE__
26088 );
26089
26090 137 
26091         }
26092 }
26093
26094 140 
26095         $memb_di¡B\9aX_cÚ¡¿\9at_1
26096 (cڡ 
26097 a¢_TYPE_desü\9dtÜ_t
26098  *
26099 td
26100 , cڡ \1e*
26101 ¥\8c
26102 ,
26103
26104 141 
26105 a¢_­p_cÚ¡¿\9at_ç\9eed_f
26106  *
26107 ùç\9ecb
26108\1e*
26109 ­p_key
26110 ) {
26111
26112 142 \13
26113 v®ue
26114 ;
26115
26116 144 if(!
26117 ¥\8c
26118 ) {
26119
26120 145 
26121         `ASN__CTFAIL
26122 (
26123 ­p_key
26124
26125 td
26126
26127 ¥\8c
26128 ,
26129
26130 147 
26131 td
26132 ->
26133 Çme
26134
26135 __FILE__
26136
26137 __LINE__
26138 );
26139
26140 151 
26141 v®ue
26142  = *(cڡ \13*)
26143 ¥\8c
26144 ;
26145
26146 153 if((
26147 v®ue
26148  >= 1 && value <= 65535)) {
26149
26150 157 
26151         `ASN__CTFAIL
26152 (
26153 ­p_key
26154
26155 td
26156
26157 ¥\8c
26158 ,
26159
26160 159 
26161 td
26162 ->
26163 Çme
26164
26165 __FILE__
26166
26167 __LINE__
26168 );
26169
26170 162 
26171         }
26172 }
26173
26174 165 
26175         $memb_di¡B\9aY_cÚ¡¿\9at_1
26176 (cڡ 
26177 a¢_TYPE_desü\9dtÜ_t
26178  *
26179 td
26180 , cڡ \1e*
26181 ¥\8c
26182 ,
26183
26184 166 
26185 a¢_­p_cÚ¡¿\9at_ç\9eed_f
26186  *
26187 ùç\9ecb
26188\1e*
26189 ­p_key
26190 ) {
26191
26192 167 \13
26193 v®ue
26194 ;
26195
26196 169 if(!
26197 ¥\8c
26198 ) {
26199
26200 170 
26201         `ASN__CTFAIL
26202 (
26203 ­p_key
26204
26205 td
26206
26207 ¥\8c
26208 ,
26209
26210 172 
26211 td
26212 ->
26213 Çme
26214
26215 __FILE__
26216
26217 __LINE__
26218 );
26219
26220 176 
26221 v®ue
26222  = *(cڡ \13*)
26223 ¥\8c
26224 ;
26225
26226 178 if((
26227 v®ue
26228  >= 1 && value <= 65535)) {
26229
26230 182 
26231         `ASN__CTFAIL
26232 (
26233 ­p_key
26234
26235 td
26236
26237 ¥\8c
26238 ,
26239
26240 184 
26241 td
26242 ->
26243 Çme
26244
26245 __FILE__
26246
26247 __LINE__
26248 );
26249
26250 187 
26251         }
26252 }
26253
26254 190 
26255         $memb_di¡B\9aZ_cÚ¡¿\9at_1
26256 (cڡ 
26257 a¢_TYPE_desü\9dtÜ_t
26258  *
26259 td
26260 , cڡ \1e*
26261 ¥\8c
26262 ,
26263
26264 191 
26265 a¢_­p_cÚ¡¿\9at_ç\9eed_f
26266  *
26267 ùç\9ecb
26268\1e*
26269 ­p_key
26270 ) {
26271
26272 192 \13
26273 v®ue
26274 ;
26275
26276 194 if(!
26277 ¥\8c
26278 ) {
26279
26280 195 
26281         `ASN__CTFAIL
26282 (
26283 ­p_key
26284
26285 td
26286
26287 ¥\8c
26288 ,
26289
26290 197 
26291 td
26292 ->
26293 Çme
26294
26295 __FILE__
26296
26297 __LINE__
26298 );
26299
26300 201 
26301 v®ue
26302  = *(cڡ \13*)
26303 ¥\8c
26304 ;
26305
26306 203 if((
26307 v®ue
26308  >= 1 && value <= 65535)) {
26309
26310 207 
26311         `ASN__CTFAIL
26312 (
26313 ­p_key
26314
26315 td
26316
26317 ¥\8c
26318 ,
26319
26320 209 
26321 td
26322 ->
26323 Çme
26324
26325 __FILE__
26326
26327 __LINE__
26328 );
26329
26330 212 
26331         }
26332 }
26333
26334 214 \18
26335 a¢_³r_cÚ¡¿\9ats_t
26336  
26337 a¢_PER_ty³_noLab\96_cÚ¡r_2
26338  
26339         gCC_NOTUSED
26340  = {
26341
26342 215 { 
26343 APC_CONSTRAINED
26344  | 
26345 APC_EXTENSIBLE
26346 , 0, 0, 0, 0 } ,
26347
26348 216 { 
26349 APC_UNCONSTRAINED
26350 , -1, -1, 0, 0 },
26351
26352 219 \18
26353 a¢_³r_cÚ¡¿\9ats_t
26354  
26355 a¢_PER_ty³_sUM_cÚ¡r_16
26356  
26357         gCC_NOTUSED
26358  = {
26359
26360 220 { 
26361 APC_CONSTRAINED
26362  | 
26363 APC_EXTENSIBLE
26364 , 0, 0, 0, 0 } ,
26365
26366 221 { 
26367 APC_UNCONSTRAINED
26368 , -1, -1, 0, 0 },
26369
26370 224 \18
26371 a¢_³r_cÚ¡¿\9ats_t
26372  
26373 a¢_PER_ty³_´eLab\96Ov\94ride_cÚ¡r_22
26374  
26375         gCC_NOTUSED
26376  = {
26377
26378 225 { 
26379 APC_CONSTRAINED
26380  | 
26381 APC_EXTENSIBLE
26382 , 0, 0, 0, 0 } ,
26383
26384 226 { 
26385 APC_UNCONSTRAINED
26386 , -1, -1, 0, 0 },
26387
26388 229 \18
26389 a¢_³r_cÚ¡¿\9ats_t
26390  
26391 a¢_PER_ty³_¡¬tEndInd_cÚ¡r_25
26392  
26393         gCC_NOTUSED
26394  = {
26395
26396 230 { 
26397 APC_CONSTRAINED
26398  | 
26399 APC_EXTENSIBLE
26400 , 1, 1, 0, 1 } ,
26401
26402 231 { 
26403 APC_UNCONSTRAINED
26404 , -1, -1, 0, 0 },
26405
26406 234 \18
26407 a¢_³r_cÚ¡¿\9ats_t
26408  
26409 a¢_PER_ty³_m\9a_cÚ¡r_29
26410  
26411         gCC_NOTUSED
26412  = {
26413
26414 235 { 
26415 APC_CONSTRAINED
26416  | 
26417 APC_EXTENSIBLE
26418 , 0, 0, 0, 0 } ,
26419
26420 236 { 
26421 APC_UNCONSTRAINED
26422 , -1, -1, 0, 0 },
26423
26424 239 \18
26425 a¢_³r_cÚ¡¿\9ats_t
26426  
26427 a¢_PER_ty³_max_cÚ¡r_32
26428  
26429         gCC_NOTUSED
26430  = {
26431
26432 240 { 
26433 APC_CONSTRAINED
26434  | 
26435 APC_EXTENSIBLE
26436 , 0, 0, 0, 0 } ,
26437
26438 241 { 
26439 APC_UNCONSTRAINED
26440 , -1, -1, 0, 0 },
26441
26442 244 \18
26443 a¢_³r_cÚ¡¿\9ats_t
26444  
26445 a¢_PER_ty³_avg_cÚ¡r_35
26446  
26447         gCC_NOTUSED
26448  = {
26449
26450 245 { 
26451 APC_CONSTRAINED
26452  | 
26453 APC_EXTENSIBLE
26454 , 0, 0, 0, 0 } ,
26455
26456 246 { 
26457 APC_UNCONSTRAINED
26458 , -1, -1, 0, 0 },
26459
26460 249 \18
26461 a¢_³r_cÚ¡¿\9ats_t
26462  
26463 a¢_PER_memb_aRPmax_cÚ¡r_12
26464  
26465         gCC_NOTUSED
26466  = {
26467
26468 250 { 
26469 APC_CONSTRAINED
26470  | 
26471 APC_EXTENSIBLE
26472 , 4, 4, 1, 15 } ,
26473
26474 251 { 
26475 APC_UNCONSTRAINED
26476 , -1, -1, 0, 0 },
26477
26478 254 \18
26479 a¢_³r_cÚ¡¿\9ats_t
26480  
26481 a¢_PER_memb_aRPm\9a_cÚ¡r_13
26482  
26483         gCC_NOTUSED
26484  = {
26485
26486 255 { 
26487 APC_CONSTRAINED
26488  | 
26489 APC_EXTENSIBLE
26490 , 4, 4, 1, 15 } ,
26491
26492 256 { 
26493 APC_UNCONSTRAINED
26494 , -1, -1, 0, 0 },
26495
26496 259 \18
26497 a¢_³r_cÚ¡¿\9ats_t
26498  
26499 a¢_PER_memb_b\99¿\8bRªge_cÚ¡r_14
26500  
26501         gCC_NOTUSED
26502  = {
26503
26504 260 { 
26505 APC_CONSTRAINED
26506  | 
26507 APC_EXTENSIBLE
26508 , 16, 16, 1, 65535 } ,
26509
26510 261 { 
26511 APC_UNCONSTRAINED
26512 , -1, -1, 0, 0 },
26513
26514 264 \18
26515 a¢_³r_cÚ¡¿\9ats_t
26516  
26517 a¢_PER_memb_Ïy\94MU_MIMO_cÚ¡r_15
26518  
26519         gCC_NOTUSED
26520  = {
26521
26522 265 { 
26523 APC_CONSTRAINED
26524  | 
26525 APC_EXTENSIBLE
26526 , 16, 16, 1, 65535 } ,
26527
26528 266 { 
26529 APC_UNCONSTRAINED
26530 , -1, -1, 0, 0 },
26531
26532 269 \18
26533 a¢_³r_cÚ¡¿\9ats_t
26534  
26535 a¢_PER_memb_di¡B\9aX_cÚ¡r_19
26536  
26537         gCC_NOTUSED
26538  = {
26539
26540 270 { 
26541 APC_CONSTRAINED
26542  | 
26543 APC_EXTENSIBLE
26544 , 16, 16, 1, 65535 } ,
26545
26546 271 { 
26547 APC_UNCONSTRAINED
26548 , -1, -1, 0, 0 },
26549
26550 274 \18
26551 a¢_³r_cÚ¡¿\9ats_t
26552  
26553 a¢_PER_memb_di¡B\9aY_cÚ¡r_20
26554  
26555         gCC_NOTUSED
26556  = {
26557
26558 275 { 
26559 APC_CONSTRAINED
26560  | 
26561 APC_EXTENSIBLE
26562 , 16, 16, 1, 65535 } ,
26563
26564 276 { 
26565 APC_UNCONSTRAINED
26566 , -1, -1, 0, 0 },
26567
26568 279 \18
26569 a¢_³r_cÚ¡¿\9ats_t
26570  
26571 a¢_PER_memb_di¡B\9aZ_cÚ¡r_21
26572  
26573         gCC_NOTUSED
26574  = {
26575
26576 280 { 
26577 APC_CONSTRAINED
26578  | 
26579 APC_EXTENSIBLE
26580 , 16, 16, 1, 65535 } ,
26581
26582 281 { 
26583 APC_UNCONSTRAINED
26584 , -1, -1, 0, 0 },
26585
26586 284 \18cڡ 
26587 a¢_INTEGER_\92um_m­_t
26588  
26589         ga¢_MAP_noLab\96_v®ue2\92um_2
26590 [] = {
26591
26592 288 \18cڡ \1d\12
26593         ga¢_MAP_noLab\96_\92um2v®ue_2
26594 [] = {
26595
26596 292 \18cڡ 
26597 a¢_INTEGER_¥ecifics_t
26598  
26599         ga¢_SPC_noLab\96_¥ecs_2
26600  = {
26601
26602 293 
26603 a¢_MAP_noLab\96_v®ue2\92um_2
26604 ,
26605
26606 294 
26607 a¢_MAP_noLab\96_\92um2v®ue_2
26608 ,
26609
26610 301 \18cڡ 
26611 b\94_\8ev_\8fg_t
26612  
26613         ga¢_DEF_noLab\96_\8fgs_2
26614 [] = {
26615
26616 302 (
26617 ASN_TAG_CLASS_CONTEXT
26618  | (0 << 2)),
26619
26620 303 (
26621 ASN_TAG_CLASS_UNIVERSAL
26622  | (10 << 2))
26623
26624 306 
26625 a¢_TYPE_desü\9dtÜ_t
26626  
26627         ga¢_DEF_noLab\96_2
26628  = {
26629
26630 309 &
26631 a¢_OP_N©iveEnum\94©ed
26632 ,
26633
26634 310 
26635 a¢_DEF_noLab\96_\8fgs_2
26636 ,
26637
26638 311 \17(
26639 a¢_DEF_noLab\96_\8fgs_2
26640 )
26641
26642 312 /\17(
26643 a¢_DEF_noLab\96_\8fgs_2
26644 [0]) - 1,
26645
26646 313 
26647 a¢_DEF_noLab\96_\8fgs_2
26648 ,
26649
26650 314 \17(
26651 a¢_DEF_noLab\96_\8fgs_2
26652 )
26653
26654 315 /\17(
26655 a¢_DEF_noLab\96_\8fgs_2
26656 [0]),
26657
26658 316 { 0, &
26659 a¢_PER_ty³_noLab\96_cÚ¡r_2
26660
26661 N©iveEnum\94©ed_cÚ¡¿\9at
26662  },
26663
26664 318 &
26665 a¢_SPC_noLab\96_¥ecs_2
26666
26667
26668 321 \18cڡ 
26669 a¢_INTEGER_\92um_m­_t
26670  
26671         ga¢_MAP_sUM_v®ue2\92um_16
26672 [] = {
26673
26674 325 \18cڡ \1d\12
26675         ga¢_MAP_sUM_\92um2v®ue_16
26676 [] = {
26677
26678 329 \18cڡ 
26679 a¢_INTEGER_¥ecifics_t
26680  
26681         ga¢_SPC_sUM_¥ecs_16
26682  = {
26683
26684 330 
26685 a¢_MAP_sUM_v®ue2\92um_16
26686 ,
26687
26688 331 
26689 a¢_MAP_sUM_\92um2v®ue_16
26690 ,
26691
26692 338 \18cڡ 
26693 b\94_\8ev_\8fg_t
26694  
26695         ga¢_DEF_sUM_\8fgs_16
26696 [] = {
26697
26698 339 (
26699 ASN_TAG_CLASS_CONTEXT
26700  | (12 << 2)),
26701
26702 340 (
26703 ASN_TAG_CLASS_UNIVERSAL
26704  | (10 << 2))
26705
26706 343 
26707 a¢_TYPE_desü\9dtÜ_t
26708  
26709         ga¢_DEF_sUM_16
26710  = {
26711
26712 346 &
26713 a¢_OP_N©iveEnum\94©ed
26714 ,
26715
26716 347 
26717 a¢_DEF_sUM_\8fgs_16
26718 ,
26719
26720 348 \17(
26721 a¢_DEF_sUM_\8fgs_16
26722 )
26723
26724 349 /\17(
26725 a¢_DEF_sUM_\8fgs_16
26726 [0]) - 1,
26727
26728 350 
26729 a¢_DEF_sUM_\8fgs_16
26730 ,
26731
26732 351 \17(
26733 a¢_DEF_sUM_\8fgs_16
26734 )
26735
26736 352 /\17(
26737 a¢_DEF_sUM_\8fgs_16
26738 [0]),
26739
26740 353 { 0, &
26741 a¢_PER_ty³_sUM_cÚ¡r_16
26742
26743 N©iveEnum\94©ed_cÚ¡¿\9at
26744  },
26745
26746 355 &
26747 a¢_SPC_sUM_¥ecs_16
26748
26749
26750 358 \18cڡ 
26751 a¢_INTEGER_\92um_m­_t
26752  
26753         ga¢_MAP_´eLab\96Ov\94ride_v®ue2\92um_22
26754 [] = {
26755
26756 362 \18cڡ \1d\12
26757         ga¢_MAP_´eLab\96Ov\94ride_\92um2v®ue_22
26758 [] = {
26759
26760 366 \18cڡ 
26761 a¢_INTEGER_¥ecifics_t
26762  
26763         ga¢_SPC_´eLab\96Ov\94ride_¥ecs_22
26764  = {
26765
26766 367 
26767 a¢_MAP_´eLab\96Ov\94ride_v®ue2\92um_22
26768 ,
26769
26770 368 
26771 a¢_MAP_´eLab\96Ov\94ride_\92um2v®ue_22
26772 ,
26773
26774 375 \18cڡ 
26775 b\94_\8ev_\8fg_t
26776  
26777         ga¢_DEF_´eLab\96Ov\94ride_\8fgs_22
26778 [] = {
26779
26780 376 (
26781 ASN_TAG_CLASS_CONTEXT
26782  | (16 << 2)),
26783
26784 377 (
26785 ASN_TAG_CLASS_UNIVERSAL
26786  | (10 << 2))
26787
26788 380 
26789 a¢_TYPE_desü\9dtÜ_t
26790  
26791         ga¢_DEF_´eLab\96Ov\94ride_22
26792  = {
26793
26794 383 &
26795 a¢_OP_N©iveEnum\94©ed
26796 ,
26797
26798 384 
26799 a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
26800 ,
26801
26802 385 \17(
26803 a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
26804 )
26805
26806 386 /\17(
26807 a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
26808 [0]) - 1,
26809
26810 387 
26811 a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
26812 ,
26813
26814 388 \17(
26815 a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
26816 )
26817
26818 389 /\17(
26819 a¢_DEF_´eLab\96Ov\94ride_\8fgs_22
26820 [0]),
26821
26822 390 { 0, &
26823 a¢_PER_ty³_´eLab\96Ov\94ride_cÚ¡r_22
26824
26825 N©iveEnum\94©ed_cÚ¡¿\9at
26826  },
26827
26828 392 &
26829 a¢_SPC_´eLab\96Ov\94ride_¥ecs_22
26830
26831
26832 395 \18cڡ 
26833 a¢_INTEGER_\92um_m­_t
26834  
26835         ga¢_MAP_¡¬tEndInd_v®ue2\92um_25
26836 [] = {
26837
26838 400 \18cڡ \1d\12
26839         ga¢_MAP_¡¬tEndInd_\92um2v®ue_25
26840 [] = {
26841
26842 405 \18cڡ 
26843 a¢_INTEGER_¥ecifics_t
26844  
26845         ga¢_SPC_¡¬tEndInd_¥ecs_25
26846  = {
26847
26848 406 
26849 a¢_MAP_¡¬tEndInd_v®ue2\92um_25
26850 ,
26851
26852 407 
26853 a¢_MAP_¡¬tEndInd_\92um2v®ue_25
26854 ,
26855
26856 414 \18cڡ 
26857 b\94_\8ev_\8fg_t
26858  
26859         ga¢_DEF_¡¬tEndInd_\8fgs_25
26860 [] = {
26861
26862 415 (
26863 ASN_TAG_CLASS_CONTEXT
26864  | (17 << 2)),
26865
26866 416 (
26867 ASN_TAG_CLASS_UNIVERSAL
26868  | (10 << 2))
26869
26870 419 
26871 a¢_TYPE_desü\9dtÜ_t
26872  
26873         ga¢_DEF_¡¬tEndInd_25
26874  = {
26875
26876 422 &
26877 a¢_OP_N©iveEnum\94©ed
26878 ,
26879
26880 423 
26881 a¢_DEF_¡¬tEndInd_\8fgs_25
26882 ,
26883
26884 424 \17(
26885 a¢_DEF_¡¬tEndInd_\8fgs_25
26886 )
26887
26888 425 /\17(
26889 a¢_DEF_¡¬tEndInd_\8fgs_25
26890 [0]) - 1,
26891
26892 426 
26893 a¢_DEF_¡¬tEndInd_\8fgs_25
26894 ,
26895
26896 427 \17(
26897 a¢_DEF_¡¬tEndInd_\8fgs_25
26898 )
26899
26900 428 /\17(
26901 a¢_DEF_¡¬tEndInd_\8fgs_25
26902 [0]),
26903
26904 429 { 0, &
26905 a¢_PER_ty³_¡¬tEndInd_cÚ¡r_25
26906
26907 N©iveEnum\94©ed_cÚ¡¿\9at
26908  },
26909
26910 431 &
26911 a¢_SPC_¡¬tEndInd_¥ecs_25
26912
26913
26914 434 \18cڡ 
26915 a¢_INTEGER_\92um_m­_t
26916  
26917         ga¢_MAP_m\9a_v®ue2\92um_29
26918 [] = {
26919
26920 438 \18cڡ \1d\12
26921         ga¢_MAP_m\9a_\92um2v®ue_29
26922 [] = {
26923
26924 442 \18cڡ 
26925 a¢_INTEGER_¥ecifics_t
26926  
26927         ga¢_SPC_m\9a_¥ecs_29
26928  = {
26929
26930 443 
26931 a¢_MAP_m\9a_v®ue2\92um_29
26932 ,
26933
26934 444 
26935 a¢_MAP_m\9a_\92um2v®ue_29
26936 ,
26937
26938 451 \18cڡ 
26939 b\94_\8ev_\8fg_t
26940  
26941         ga¢_DEF_m\9a_\8fgs_29
26942 [] = {
26943
26944 452 (
26945 ASN_TAG_CLASS_CONTEXT
26946  | (18 << 2)),
26947
26948 453 (
26949 ASN_TAG_CLASS_UNIVERSAL
26950  | (10 << 2))
26951
26952 456 
26953 a¢_TYPE_desü\9dtÜ_t
26954  
26955         ga¢_DEF_m\9a_29
26956  = {
26957
26958 459 &
26959 a¢_OP_N©iveEnum\94©ed
26960 ,
26961
26962 460 
26963 a¢_DEF_m\9a_\8fgs_29
26964 ,
26965
26966 461 \17(
26967 a¢_DEF_m\9a_\8fgs_29
26968 )
26969
26970 462 /\17(
26971 a¢_DEF_m\9a_\8fgs_29
26972 [0]) - 1,
26973
26974 463 
26975 a¢_DEF_m\9a_\8fgs_29
26976 ,
26977
26978 464 \17(
26979 a¢_DEF_m\9a_\8fgs_29
26980 )
26981
26982 465 /\17(
26983 a¢_DEF_m\9a_\8fgs_29
26984 [0]),
26985
26986 466 { 0, &
26987 a¢_PER_ty³_m\9a_cÚ¡r_29
26988
26989 N©iveEnum\94©ed_cÚ¡¿\9at
26990  },
26991
26992 468 &
26993 a¢_SPC_m\9a_¥ecs_29
26994
26995
26996 471 \18cڡ 
26997 a¢_INTEGER_\92um_m­_t
26998  
26999         ga¢_MAP_max_v®ue2\92um_32
27000 [] = {
27001
27002 475 \18cڡ \1d\12
27003         ga¢_MAP_max_\92um2v®ue_32
27004 [] = {
27005
27006 479 \18cڡ 
27007 a¢_INTEGER_¥ecifics_t
27008  
27009         ga¢_SPC_max_¥ecs_32
27010  = {
27011
27012 480 
27013 a¢_MAP_max_v®ue2\92um_32
27014 ,
27015
27016 481 
27017 a¢_MAP_max_\92um2v®ue_32
27018 ,
27019
27020 488 \18cڡ 
27021 b\94_\8ev_\8fg_t
27022  
27023         ga¢_DEF_max_\8fgs_32
27024 [] = {
27025
27026 489 (
27027 ASN_TAG_CLASS_CONTEXT
27028  | (19 << 2)),
27029
27030 490 (
27031 ASN_TAG_CLASS_UNIVERSAL
27032  | (10 << 2))
27033
27034 493 
27035 a¢_TYPE_desü\9dtÜ_t
27036  
27037         ga¢_DEF_max_32
27038  = {
27039
27040 496 &
27041 a¢_OP_N©iveEnum\94©ed
27042 ,
27043
27044 497 
27045 a¢_DEF_max_\8fgs_32
27046 ,
27047
27048 498 \17(
27049 a¢_DEF_max_\8fgs_32
27050 )
27051
27052 499 /\17(
27053 a¢_DEF_max_\8fgs_32
27054 [0]) - 1,
27055
27056 500 
27057 a¢_DEF_max_\8fgs_32
27058 ,
27059
27060 501 \17(
27061 a¢_DEF_max_\8fgs_32
27062 )
27063
27064 502 /\17(
27065 a¢_DEF_max_\8fgs_32
27066 [0]),
27067
27068 503 { 0, &
27069 a¢_PER_ty³_max_cÚ¡r_32
27070
27071 N©iveEnum\94©ed_cÚ¡¿\9at
27072  },
27073
27074 505 &
27075 a¢_SPC_max_¥ecs_32
27076
27077
27078 508 \18cڡ 
27079 a¢_INTEGER_\92um_m­_t
27080  
27081         ga¢_MAP_avg_v®ue2\92um_35
27082 [] = {
27083
27084 512 \18cڡ \1d\12
27085         ga¢_MAP_avg_\92um2v®ue_35
27086 [] = {
27087
27088 516 \18cڡ 
27089 a¢_INTEGER_¥ecifics_t
27090  
27091         ga¢_SPC_avg_¥ecs_35
27092  = {
27093
27094 517 
27095 a¢_MAP_avg_v®ue2\92um_35
27096 ,
27097
27098 518 
27099 a¢_MAP_avg_\92um2v®ue_35
27100 ,
27101
27102 525 \18cڡ 
27103 b\94_\8ev_\8fg_t
27104  
27105         ga¢_DEF_avg_\8fgs_35
27106 [] = {
27107
27108 526 (
27109 ASN_TAG_CLASS_CONTEXT
27110  | (20 << 2)),
27111
27112 527 (
27113 ASN_TAG_CLASS_UNIVERSAL
27114  | (10 << 2))
27115
27116 530 
27117 a¢_TYPE_desü\9dtÜ_t
27118  
27119         ga¢_DEF_avg_35
27120  = {
27121
27122 533 &
27123 a¢_OP_N©iveEnum\94©ed
27124 ,
27125
27126 534 
27127 a¢_DEF_avg_\8fgs_35
27128 ,
27129
27130 535 \17(
27131 a¢_DEF_avg_\8fgs_35
27132 )
27133
27134 536 /\17(
27135 a¢_DEF_avg_\8fgs_35
27136 [0]) - 1,
27137
27138 537 
27139 a¢_DEF_avg_\8fgs_35
27140 ,
27141
27142 538 \17(
27143 a¢_DEF_avg_\8fgs_35
27144 )
27145
27146 539 /\17(
27147 a¢_DEF_avg_\8fgs_35
27148 [0]),
27149
27150 540 { 0, &
27151 a¢_PER_ty³_avg_cÚ¡r_35
27152
27153 N©iveEnum\94©ed_cÚ¡¿\9at
27154  },
27155
27156 542 &
27157 a¢_SPC_avg_¥ecs_35
27158
27159
27160 545 
27161 a¢_TYPE_memb\94_t
27162  
27163         ga¢_MBR_M\97su»m\92tLab\96_1
27164 [] = {
27165
27166 546 { 
27167 ATF_POINTER
27168 , 21, 
27169 off£tof
27170 (\19
27171 M\97su»m\92tLab\96
27172
27173 noLab\96
27174 ),
27175
27176 547 (
27177 ASN_TAG_CLASS_CONTEXT
27178  | (0 << 2)),
27179
27180 549 &
27181 a¢_DEF_noLab\96_2
27182 ,
27183
27184 555 { 
27185 ATF_POINTER
27186 , 20, 
27187 off£tof
27188 (\19
27189 M\97su»m\92tLab\96
27190
27191 ¶mnID
27192 ),
27193
27194 556 (
27195 ASN_TAG_CLASS_CONTEXT
27196  | (1 << 2)),
27197
27198 558 &
27199 a¢_DEF_PLMNId\92t\99y
27200 ,
27201
27202 564 { 
27203 ATF_POINTER
27204 , 19, 
27205 off£tof
27206 (\19
27207 M\97su»m\92tLab\96
27208
27209 ¦iûID
27210 ),
27211
27212 565 (
27213 ASN_TAG_CLASS_CONTEXT
27214  | (2 << 2)),
27215
27216 567 &
27217 a¢_DEF_S_NSSAI
27218 ,
27219
27220 573 { 
27221 ATF_POINTER
27222 , 18, 
27223 off£tof
27224 (\19
27225 M\97su»m\92tLab\96
27226
27227 fiveQI
27228 ),
27229
27230 574 (
27231 ASN_TAG_CLASS_CONTEXT
27232  | (3 << 2)),
27233
27234 576 &
27235 a¢_DEF_FiveQI
27236 ,
27237
27238 582 { 
27239 ATF_POINTER
27240 , 17, 
27241 off£tof
27242 (\19
27243 M\97su»m\92tLab\96
27244
27245 qFI
27246 ),
27247
27248 583 (
27249 ASN_TAG_CLASS_CONTEXT
27250  | (4 << 2)),
27251
27252 585 &
27253 a¢_DEF_QosFlowId\92tif\9br
27254 ,
27255
27256 591 { 
27257 ATF_POINTER
27258 , 16, 
27259 off£tof
27260 (\19
27261 M\97su»m\92tLab\96
27262
27263 qCI
27264 ),
27265
27266 592 (
27267 ASN_TAG_CLASS_CONTEXT
27268  | (5 << 2)),
27269
27270 594 &
27271 a¢_DEF_QCI
27272 ,
27273
27274 600 { 
27275 ATF_POINTER
27276 , 15, 
27277 off£tof
27278 (\19
27279 M\97su»m\92tLab\96
27280
27281 qCImax
27282 ),
27283
27284 601 (
27285 ASN_TAG_CLASS_CONTEXT
27286  | (6 << 2)),
27287
27288 603 &
27289 a¢_DEF_QCI
27290 ,
27291
27292 609 { 
27293 ATF_POINTER
27294 , 14, 
27295 off£tof
27296 (\19
27297 M\97su»m\92tLab\96
27298
27299 qCIm\9a
27300 ),
27301
27302 610 (
27303 ASN_TAG_CLASS_CONTEXT
27304  | (7 << 2)),
27305
27306 612 &
27307 a¢_DEF_QCI
27308 ,
27309
27310 618 { 
27311 ATF_POINTER
27312 , 13, 
27313 off£tof
27314 (\19
27315 M\97su»m\92tLab\96
27316
27317 aRPmax
27318 ),
27319
27320 619 (
27321 ASN_TAG_CLASS_CONTEXT
27322  | (8 << 2)),
27323
27324 621 &
27325 a¢_DEF_N©iveIÁeg\94
27326 ,
27327
27328 623 { 0, &
27329 a¢_PER_memb_aRPmax_cÚ¡r_12
27330
27331 memb_aRPmax_cÚ¡¿\9at_1
27332  },
27333
27334 627 { 
27335 ATF_POINTER
27336 , 12, 
27337 off£tof
27338 (\19
27339 M\97su»m\92tLab\96
27340
27341 aRPm\9a
27342 ),
27343
27344 628 (
27345 ASN_TAG_CLASS_CONTEXT
27346  | (9 << 2)),
27347
27348 630 &
27349 a¢_DEF_N©iveIÁeg\94
27350 ,
27351
27352 632 { 0, &
27353 a¢_PER_memb_aRPm\9a_cÚ¡r_13
27354
27355 memb_aRPm\9a_cÚ¡¿\9at_1
27356  },
27357
27358 636 { 
27359 ATF_POINTER
27360 , 11, 
27361 off£tof
27362 (\19
27363 M\97su»m\92tLab\96
27364
27365 b\99¿\8bRªge
27366 ),
27367
27368 637 (
27369 ASN_TAG_CLASS_CONTEXT
27370  | (10 << 2)),
27371
27372 639 &
27373 a¢_DEF_N©iveIÁeg\94
27374 ,
27375
27376 641 { 0, &
27377 a¢_PER_memb_b\99¿\8bRªge_cÚ¡r_14
27378
27379 memb_b\99¿\8bRªge_cÚ¡¿\9at_1
27380  },
27381
27382 645 { 
27383 ATF_POINTER
27384 , 10, 
27385 off£tof
27386 (\19
27387 M\97su»m\92tLab\96
27388
27389 Ïy\94MU_MIMO
27390 ),
27391
27392 646 (
27393 ASN_TAG_CLASS_CONTEXT
27394  | (11 << 2)),
27395
27396 648 &
27397 a¢_DEF_N©iveIÁeg\94
27398 ,
27399
27400 650 { 0, &
27401 a¢_PER_memb_Ïy\94MU_MIMO_cÚ¡r_15
27402
27403 memb_Ïy\94MU_MIMO_cÚ¡¿\9at_1
27404  },
27405
27406 654 { 
27407 ATF_POINTER
27408 , 9, 
27409 off£tof
27410 (\19
27411 M\97su»m\92tLab\96
27412
27413 sUM
27414 ),
27415
27416 655 (
27417 ASN_TAG_CLASS_CONTEXT
27418  | (12 << 2)),
27419
27420 657 &
27421 a¢_DEF_sUM_16
27422 ,
27423
27424 663 { 
27425 ATF_POINTER
27426 , 8, 
27427 off£tof
27428 (\19
27429 M\97su»m\92tLab\96
27430
27431 di¡B\9aX
27432 ),
27433
27434 664 (
27435 ASN_TAG_CLASS_CONTEXT
27436  | (13 << 2)),
27437
27438 666 &
27439 a¢_DEF_N©iveIÁeg\94
27440 ,
27441
27442 668 { 0, &
27443 a¢_PER_memb_di¡B\9aX_cÚ¡r_19
27444
27445 memb_di¡B\9aX_cÚ¡¿\9at_1
27446  },
27447
27448 672 { 
27449 ATF_POINTER
27450 , 7, 
27451 off£tof
27452 (\19
27453 M\97su»m\92tLab\96
27454
27455 di¡B\9aY
27456 ),
27457
27458 673 (
27459 ASN_TAG_CLASS_CONTEXT
27460  | (14 << 2)),
27461
27462 675 &
27463 a¢_DEF_N©iveIÁeg\94
27464 ,
27465
27466 677 { 0, &
27467 a¢_PER_memb_di¡B\9aY_cÚ¡r_20
27468
27469 memb_di¡B\9aY_cÚ¡¿\9at_1
27470  },
27471
27472 681 { 
27473 ATF_POINTER
27474 , 6, 
27475 off£tof
27476 (\19
27477 M\97su»m\92tLab\96
27478
27479 di¡B\9aZ
27480 ),
27481
27482 682 (
27483 ASN_TAG_CLASS_CONTEXT
27484  | (15 << 2)),
27485
27486 684 &
27487 a¢_DEF_N©iveIÁeg\94
27488 ,
27489
27490 686 { 0, &
27491 a¢_PER_memb_di¡B\9aZ_cÚ¡r_21
27492
27493 memb_di¡B\9aZ_cÚ¡¿\9at_1
27494  },
27495
27496 690 { 
27497 ATF_POINTER
27498 , 5, 
27499 off£tof
27500 (\19
27501 M\97su»m\92tLab\96
27502
27503 ´eLab\96Ov\94ride
27504 ),
27505
27506 691 (
27507 ASN_TAG_CLASS_CONTEXT
27508  | (16 << 2)),
27509
27510 693 &
27511 a¢_DEF_´eLab\96Ov\94ride_22
27512 ,
27513
27514 699 { 
27515 ATF_POINTER
27516 , 4, 
27517 off£tof
27518 (\19
27519 M\97su»m\92tLab\96
27520
27521 ¡¬tEndInd
27522 ),
27523
27524 700 (
27525 ASN_TAG_CLASS_CONTEXT
27526  | (17 << 2)),
27527
27528 702 &
27529 a¢_DEF_¡¬tEndInd_25
27530 ,
27531
27532 708 { 
27533 ATF_POINTER
27534 , 3, 
27535 off£tof
27536 (\19
27537 M\97su»m\92tLab\96
27538
27539 m\9a
27540 ),
27541
27542 709 (
27543 ASN_TAG_CLASS_CONTEXT
27544  | (18 << 2)),
27545
27546 711 &
27547 a¢_DEF_m\9a_29
27548 ,
27549
27550 717 { 
27551 ATF_POINTER
27552 , 2, 
27553 off£tof
27554 (\19
27555 M\97su»m\92tLab\96
27556
27557 max
27558 ),
27559
27560 718 (
27561 ASN_TAG_CLASS_CONTEXT
27562  | (19 << 2)),
27563
27564 720 &
27565 a¢_DEF_max_32
27566 ,
27567
27568 726 { 
27569 ATF_POINTER
27570 , 1, 
27571 off£tof
27572 (\19
27573 M\97su»m\92tLab\96
27574
27575 avg
27576 ),
27577
27578 727 (
27579 ASN_TAG_CLASS_CONTEXT
27580  | (20 << 2)),
27581
27582 729 &
27583 a¢_DEF_avg_35
27584 ,
27585
27586 736 \18cڡ \12
27587         ga¢_MAP_M\97su»m\92tLab\96_oms_1
27588 [] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
27589
27590 737 \18cڡ 
27591 b\94_\8ev_\8fg_t
27592  
27593         ga¢_DEF_M\97su»m\92tLab\96_\8fgs_1
27594 [] = {
27595
27596 738 (
27597 ASN_TAG_CLASS_UNIVERSAL
27598  | (16 << 2))
27599
27600 740 \18cڡ 
27601 a¢_TYPE_\8fg2memb\94_t
27602  
27603         ga¢_MAP_M\97su»m\92tLab\96_\8fg2\96_1
27604 [] = {
27605
27606 741 { (
27607 ASN_TAG_CLASS_CONTEXT
27608  | (0 << 2)), 0, 0, 0 },
27609
27610 742 { (
27611 ASN_TAG_CLASS_CONTEXT
27612  | (1 << 2)), 1, 0, 0 },
27613
27614 743 { (
27615 ASN_TAG_CLASS_CONTEXT
27616  | (2 << 2)), 2, 0, 0 },
27617
27618 744 { (
27619 ASN_TAG_CLASS_CONTEXT
27620  | (3 << 2)), 3, 0, 0 },
27621
27622 745 { (
27623 ASN_TAG_CLASS_CONTEXT
27624  | (4 << 2)), 4, 0, 0 },
27625
27626 746 { (
27627 ASN_TAG_CLASS_CONTEXT
27628  | (5 << 2)), 5, 0, 0 },
27629
27630 747 { (
27631 ASN_TAG_CLASS_CONTEXT
27632  | (6 << 2)), 6, 0, 0 },
27633
27634 748 { (
27635 ASN_TAG_CLASS_CONTEXT
27636  | (7 << 2)), 7, 0, 0 },
27637
27638 749 { (
27639 ASN_TAG_CLASS_CONTEXT
27640  | (8 << 2)), 8, 0, 0 },
27641
27642 750 { (
27643 ASN_TAG_CLASS_CONTEXT
27644  | (9 << 2)), 9, 0, 0 },
27645
27646 751 { (
27647 ASN_TAG_CLASS_CONTEXT
27648  | (10 << 2)), 10, 0, 0 },
27649
27650 752 { (
27651 ASN_TAG_CLASS_CONTEXT
27652  | (11 << 2)), 11, 0, 0 },
27653
27654 753 { (
27655 ASN_TAG_CLASS_CONTEXT
27656  | (12 << 2)), 12, 0, 0 },
27657
27658 754 { (
27659 ASN_TAG_CLASS_CONTEXT
27660  | (13 << 2)), 13, 0, 0 },
27661
27662 755 { (
27663 ASN_TAG_CLASS_CONTEXT
27664  | (14 << 2)), 14, 0, 0 },
27665
27666 756 { (
27667 ASN_TAG_CLASS_CONTEXT
27668  | (15 << 2)), 15, 0, 0 },
27669
27670 757 { (
27671 ASN_TAG_CLASS_CONTEXT
27672  | (16 << 2)), 16, 0, 0 },
27673
27674 758 { (
27675 ASN_TAG_CLASS_CONTEXT
27676  | (17 << 2)), 17, 0, 0 },
27677
27678 759 { (
27679 ASN_TAG_CLASS_CONTEXT
27680  | (18 << 2)), 18, 0, 0 },
27681
27682 760 { (
27683 ASN_TAG_CLASS_CONTEXT
27684  | (19 << 2)), 19, 0, 0 },
27685
27686 761 { (
27687 ASN_TAG_CLASS_CONTEXT
27688  | (20 << 2)), 20, 0, 0 }
27689
27690 763 
27691 a¢_SEQUENCE_¥ecifics_t
27692  
27693         ga¢_SPC_M\97su»m\92tLab\96_¥ecs_1
27694  = {
27695
27696 764 \17(\19
27697 M\97su»m\92tLab\96
27698 ),
27699
27700 765 
27701 off£tof
27702 (\19
27703 M\97su»m\92tLab\96
27704
27705 _a¢_ùx
27706 ),
27707
27708 766 
27709 a¢_MAP_M\97su»m\92tLab\96_\8fg2\96_1
27710 ,
27711
27712 768 
27713 a¢_MAP_M\97su»m\92tLab\96_oms_1
27714 ,
27715
27716 772 
27717 a¢_TYPE_desü\9dtÜ_t
27718  
27719         ga¢_DEF_M\97su»m\92tLab\96
27720  = {
27721
27722 775 &
27723 a¢_OP_SEQUENCE
27724 ,
27725
27726 776 
27727 a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
27728 ,
27729
27730 777 \17(
27731 a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
27732 )
27733
27734 778 /\17(
27735 a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
27736 [0]),
27737
27738 779 
27739 a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
27740 ,
27741
27742 780 \17(
27743 a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
27744 )
27745
27746 781 /\17(
27747 a¢_DEF_M\97su»m\92tLab\96_\8fgs_1
27748 [0]),
27749
27750 782 { 0, 0, 
27751 SEQUENCE_cÚ¡¿\9at
27752  },
27753
27754 783 
27755 a¢_MBR_M\97su»m\92tLab\96_1
27756 ,
27757
27758 785 &
27759 a¢_SPC_M\97su»m\92tLab\96_¥ecs_1
27760
27761
27762         @MeasurementRecord.c
27763
27764\ 2
27765         ~"M\97su»m\92tRecÜd.h
27766 "
27767
27768 10 \ 2
27769         ~"M\97su»m\92tRecÜdI\8bm.h
27770 "
27771
27772 11 
27773 a¢_³r_cÚ¡¿\9ats_t
27774  
27775 a¢_PER_ty³_M\97su»m\92tRecÜd_cÚ¡r_1
27776  
27777         gCC_NOTUSED
27778  = {
27779
27780 12 { 
27781 APC_UNCONSTRAINED
27782 , -1, -1, 0, 0 },
27783
27784 13 { 
27785 APC_CONSTRAINED
27786 , 31, -1, 1, 2147483647 } ,
27787
27788 16 
27789 a¢_TYPE_memb\94_t
27790  
27791         ga¢_MBR_M\97su»m\92tRecÜd_1
27792 [] = {
27793
27794 17 { 
27795 ATF_POINTER
27796 , 0, 0,
27797
27798 20 &
27799 a¢_DEF_M\97su»m\92tRecÜdI\8bm
27800 ,
27801
27802 27 \18cڡ 
27803 b\94_\8ev_\8fg_t
27804  
27805         ga¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
27806 [] = {
27807
27808 28 (
27809 ASN_TAG_CLASS_UNIVERSAL
27810  | (16 << 2))
27811
27812 30 
27813 a¢_SET_OF_¥ecifics_t
27814  
27815         ga¢_SPC_M\97su»m\92tRecÜd_¥ecs_1
27816  = {
27817
27818 31 \17(\19
27819 M\97su»m\92tRecÜd
27820 ),
27821
27822 32 
27823 off£tof
27824 (\19
27825 M\97su»m\92tRecÜd
27826
27827 _a¢_ùx
27828 ),
27829
27830 35 
27831 a¢_TYPE_desü\9dtÜ_t
27832  
27833         ga¢_DEF_M\97su»m\92tRecÜd
27834  = {
27835
27836 38 &
27837 a¢_OP_SEQUENCE_OF
27838 ,
27839
27840 39 
27841 a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
27842 ,
27843
27844 40 \17(
27845 a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
27846 )
27847
27848 41 /\17(
27849 a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
27850 [0]),
27851
27852 42 
27853 a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
27854 ,
27855
27856 43 \17(
27857 a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
27858 )
27859
27860 44 /\17(
27861 a¢_DEF_M\97su»m\92tRecÜd_\8fgs_1
27862 [0]),
27863
27864 45 { 0, &
27865 a¢_PER_ty³_M\97su»m\92tRecÜd_cÚ¡r_1
27866
27867 SEQUENCE_OF_cÚ¡¿\9at
27868  },
27869
27870 46 
27871 a¢_MBR_M\97su»m\92tRecÜd_1
27872 ,
27873
27874 48 &
27875 a¢_SPC_M\97su»m\92tRecÜd_¥ecs_1
27876
27877
27878         @MeasurementRecordItem.c
27879
27880\ 2
27881         ~"M\97su»m\92tRecÜdI\8bm.h
27882 "
27883
27884 11 
27885         $\9a\8bg\94_2_cÚ¡¿\9at
27886 (cڡ 
27887 a¢_TYPE_desü\9dtÜ_t
27888  *
27889 td
27890 , cڡ \1e*
27891 ¥\8c
27892 ,
27893
27894 12 
27895 a¢_­p_cÚ¡¿\9at_ç\9eed_f
27896  *
27897 ùç\9ecb
27898\1e*
27899 ­p_key
27900 ) {
27901
27902 14 if(!
27903 ¥\8c
27904 ) {
27905
27906 15 
27907         `ASN__CTFAIL
27908 (
27909 ­p_key
27910
27911 td
27912
27913 ¥\8c
27914 ,
27915
27916 17 
27917 td
27918 ->
27919 Çme
27920
27921 __FILE__
27922
27923 __LINE__
27924 );
27925
27926 24 
27927         }
27928 }
27929
27930 31 
27931         $memb_\9a\8bg\94_cÚ¡¿\9at_1
27932 (cڡ 
27933 a¢_TYPE_desü\9dtÜ_t
27934  *
27935 td
27936 , cڡ \1e*
27937 ¥\8c
27938 ,
27939
27940 32 
27941 a¢_­p_cÚ¡¿\9at_ç\9eed_f
27942  *
27943 ùç\9ecb
27944\1e*
27945 ­p_key
27946 ) {
27947
27948 34 if(!
27949 ¥\8c
27950 ) {
27951
27952 35 
27953         `ASN__CTFAIL
27954 (
27955 ­p_key
27956
27957 td
27958
27959 ¥\8c
27960 ,
27961
27962 37 
27963 td
27964 ->
27965 Çme
27966
27967 __FILE__
27968
27969 __LINE__
27970 );
27971
27972 44 
27973         }
27974 }
27975
27976 46 \18
27977 a¢_³r_cÚ¡¿\9ats_t
27978  
27979 a¢_PER_ty³_\9a\8bg\94_cÚ¡r_2
27980  
27981         gCC_NOTUSED
27982  = {
27983
27984 47 { 
27985 APC_CONSTRAINED
27986 , 32, -1, 0, 4294967295 } ,
27987
27988 48 { 
27989 APC_UNCONSTRAINED
27990 , -1, -1, 0, 0 },
27991
27992 51 \18
27993 a¢_³r_cÚ¡¿\9ats_t
27994  
27995 a¢_PER_memb_\9a\8bg\94_cÚ¡r_2
27996  
27997         gCC_NOTUSED
27998  = {
27999
28000 52 { 
28001 APC_CONSTRAINED
28002 , 32, -1, 0, 4294967295 } ,
28003
28004 53 { 
28005 APC_UNCONSTRAINED
28006 , -1, -1, 0, 0 },
28007
28008 56 
28009 a¢_³r_cÚ¡¿\9ats_t
28010  
28011 a¢_PER_ty³_M\97su»m\92tRecÜdI\8bm_cÚ¡r_1
28012  
28013         gCC_NOTUSED
28014  = {
28015
28016 57 { 
28017 APC_CONSTRAINED
28018  | 
28019 APC_EXTENSIBLE
28020 , 2, 2, 0, 2 } ,
28021
28022 58 { 
28023 APC_UNCONSTRAINED
28024 , -1, -1, 0, 0 },
28025
28026 61 \18cڡ 
28027 a¢_INTEGER_¥ecifics_t
28028  
28029         ga¢_SPC_\9a\8bg\94_¥ecs_2
28030  = {
28031
28032 66 \18cڡ 
28033 b\94_\8ev_\8fg_t
28034  
28035         ga¢_DEF_\9a\8bg\94_\8fgs_2
28036 [] = {
28037
28038 67 (
28039 ASN_TAG_CLASS_CONTEXT
28040  | (0 << 2)),
28041
28042 68 (
28043 ASN_TAG_CLASS_UNIVERSAL
28044  | (2 << 2))
28045
28046 71 
28047 a¢_TYPE_desü\9dtÜ_t
28048  
28049         ga¢_DEF_\9a\8bg\94_2
28050  = {
28051
28052 74 &
28053 a¢_OP_N©iveIÁeg\94
28054 ,
28055
28056 75 
28057 a¢_DEF_\9a\8bg\94_\8fgs_2
28058 ,
28059
28060 76 \17(
28061 a¢_DEF_\9a\8bg\94_\8fgs_2
28062 )
28063
28064 77 /\17(
28065 a¢_DEF_\9a\8bg\94_\8fgs_2
28066 [0]) - 1,
28067
28068 78 
28069 a¢_DEF_\9a\8bg\94_\8fgs_2
28070 ,
28071
28072 79 \17(
28073 a¢_DEF_\9a\8bg\94_\8fgs_2
28074 )
28075
28076 80 /\17(
28077 a¢_DEF_\9a\8bg\94_\8fgs_2
28078 [0]),
28079
28080 81 { 0, &
28081 a¢_PER_ty³_\9a\8bg\94_cÚ¡r_2
28082
28083 \9a\8bg\94_2_cÚ¡¿\9at
28084  },
28085
28086 83 &
28087 a¢_SPC_\9a\8bg\94_¥ecs_2
28088
28089
28090 86 
28091 a¢_TYPE_memb\94_t
28092  
28093         ga¢_MBR_M\97su»m\92tRecÜdI\8bm_1
28094 [] = {
28095
28096 87 { 
28097 ATF_NOFLAGS
28098 , 0, 
28099 off£tof
28100 (\19
28101 M\97su»m\92tRecÜdI\8bm
28102
28103 choiû
28104 .
28105 \9a\8bg\94
28106 ),
28107
28108 88 (
28109 ASN_TAG_CLASS_CONTEXT
28110  | (0 << 2)),
28111
28112 90 &
28113 a¢_DEF_\9a\8bg\94_2
28114 ,
28115
28116 92 { 0, &
28117 a¢_PER_memb_\9a\8bg\94_cÚ¡r_2
28118
28119 memb_\9a\8bg\94_cÚ¡¿\9at_1
28120  },
28121
28122 96 { 
28123 ATF_NOFLAGS
28124 , 0, 
28125 off£tof
28126 (\19
28127 M\97su»m\92tRecÜdI\8bm
28128
28129 choiû
28130 .
28131 »®
28132 ),
28133
28134 97 (
28135 ASN_TAG_CLASS_CONTEXT
28136  | (1 << 2)),
28137
28138 99 &
28139 a¢_DEF_N©iveR\97l
28140 ,
28141
28142 105 { 
28143 ATF_NOFLAGS
28144 , 0, 
28145 off£tof
28146 (\19
28147 M\97su»m\92tRecÜdI\8bm
28148
28149 choiû
28150 .
28151 noV®ue
28152 ),
28153
28154 106 (
28155 ASN_TAG_CLASS_CONTEXT
28156  | (2 << 2)),
28157
28158 108 &
28159 a¢_DEF_NULL
28160 ,
28161
28162 115 \18cڡ 
28163 a¢_TYPE_\8fg2memb\94_t
28164  
28165         ga¢_MAP_M\97su»m\92tRecÜdI\8bm_\8fg2\96_1
28166 [] = {
28167
28168 116 { (
28169 ASN_TAG_CLASS_CONTEXT
28170  | (0 << 2)), 0, 0, 0 },
28171
28172 117 { (
28173 ASN_TAG_CLASS_CONTEXT
28174  | (1 << 2)), 1, 0, 0 },
28175
28176 118 { (
28177 ASN_TAG_CLASS_CONTEXT
28178  | (2 << 2)), 2, 0, 0 }
28179
28180 120 
28181 a¢_CHOICE_¥ecifics_t
28182  
28183         ga¢_SPC_M\97su»m\92tRecÜdI\8bm_¥ecs_1
28184  = {
28185
28186 121 \17(\19
28187 M\97su»m\92tRecÜdI\8bm
28188 ),
28189
28190 122 
28191 off£tof
28192 (\19
28193 M\97su»m\92tRecÜdI\8bm
28194
28195 _a¢_ùx
28196 ),
28197
28198 123 
28199 off£tof
28200 (\19
28201 M\97su»m\92tRecÜdI\8bm
28202
28203 ´e£Á
28204 ),
28205
28206 124 \17(((\19
28207 M\97su»m\92tRecÜdI\8bm
28208  *)0)->
28209 ´e£Á
28210 ),
28211
28212 125 
28213 a¢_MAP_M\97su»m\92tRecÜdI\8bm_\8fg2\96_1
28214 ,
28215
28216 130 
28217 a¢_TYPE_desü\9dtÜ_t
28218  
28219         ga¢_DEF_M\97su»m\92tRecÜdI\8bm
28220  = {
28221
28222 133 &
28223 a¢_OP_CHOICE
28224 ,
28225
28226 138 { 0, &
28227 a¢_PER_ty³_M\97su»m\92tRecÜdI\8bm_cÚ¡r_1
28228
28229 CHOICE_cÚ¡¿\9at
28230  },
28231
28232 139 
28233 a¢_MBR_M\97su»m\92tRecÜdI\8bm_1
28234 ,
28235
28236 141 &
28237 a¢_SPC_M\97su»m\92tRecÜdI\8bm_¥ecs_1
28238
28239
28240         @MeasurementType.c
28241
28242\ 2
28243         ~"M\97su»m\92tTy³.h
28244 "
28245
28246 10 
28247 a¢_³r_cÚ¡¿\9ats_t
28248  
28249 a¢_PER_ty³_M\97su»m\92tTy³_cÚ¡r_1
28250  
28251         gCC_NOTUSED
28252  = {
28253
28254 11 { 
28255 APC_CONSTRAINED
28256  | 
28257 APC_EXTENSIBLE
28258 , 1, 1, 0, 1 } ,
28259
28260 12 { 
28261 APC_UNCONSTRAINED
28262 , -1, -1, 0, 0 },
28263
28264 15 
28265 a¢_TYPE_memb\94_t
28266  
28267         ga¢_MBR_M\97su»m\92tTy³_1
28268 [] = {
28269
28270 16 { 
28271 ATF_NOFLAGS
28272 , 0, 
28273 off£tof
28274 (\19
28275 M\97su»m\92tTy³
28276
28277 choiû
28278 .
28279 m\97sName
28280 ),
28281
28282 17 (
28283 ASN_TAG_CLASS_CONTEXT
28284  | (0 << 2)),
28285
28286 19 &
28287 a¢_DEF_M\97su»m\92tTy³Name
28288 ,
28289
28290 25 { 
28291 ATF_NOFLAGS
28292 , 0, 
28293 off£tof
28294 (\19
28295 M\97su»m\92tTy³
28296
28297 choiû
28298 .
28299 m\97sID
28300 ),
28301
28302 26 (
28303 ASN_TAG_CLASS_CONTEXT
28304  | (1 << 2)),
28305
28306 28 &
28307 a¢_DEF_M\97su»m\92tTy³ID
28308 ,
28309
28310 35 \18cڡ 
28311 a¢_TYPE_\8fg2memb\94_t
28312  
28313         ga¢_MAP_M\97su»m\92tTy³_\8fg2\96_1
28314 [] = {
28315
28316 36 { (
28317 ASN_TAG_CLASS_CONTEXT
28318  | (0 << 2)), 0, 0, 0 },
28319
28320 37 { (
28321 ASN_TAG_CLASS_CONTEXT
28322  | (1 << 2)), 1, 0, 0 }
28323
28324 39 
28325 a¢_CHOICE_¥ecifics_t
28326  
28327         ga¢_SPC_M\97su»m\92tTy³_¥ecs_1
28328  = {
28329
28330 40 \17(\19
28331 M\97su»m\92tTy³
28332 ),
28333
28334 41 
28335 off£tof
28336 (\19
28337 M\97su»m\92tTy³
28338
28339 _a¢_ùx
28340 ),
28341
28342 42 
28343 off£tof
28344 (\19
28345 M\97su»m\92tTy³
28346
28347 ´e£Á
28348 ),
28349
28350 43 \17(((\19
28351 M\97su»m\92tTy³
28352  *)0)->
28353 ´e£Á
28354 ),
28355
28356 44 
28357 a¢_MAP_M\97su»m\92tTy³_\8fg2\96_1
28358 ,
28359
28360 49 
28361 a¢_TYPE_desü\9dtÜ_t
28362  
28363         ga¢_DEF_M\97su»m\92tTy³
28364  = {
28365
28366 52 &
28367 a¢_OP_CHOICE
28368 ,
28369
28370 57 { 0, &
28371 a¢_PER_ty³_M\97su»m\92tTy³_cÚ¡r_1
28372
28373 CHOICE_cÚ¡¿\9at
28374  },
28375
28376 58 
28377 a¢_MBR_M\97su»m\92tTy³_1
28378 ,
28379
28380 60 &
28381 a¢_SPC_M\97su»m\92tTy³_¥ecs_1
28382
28383
28384         @MeasurementTypeID.c
28385
28386\ 2
28387         ~"M\97su»m\92tTy³ID.h
28388 "
28389
28390 11 
28391         $M\97su»m\92tTy³ID_cÚ¡¿\9at
28392 (cڡ 
28393 a¢_TYPE_desü\9dtÜ_t
28394  *
28395 td
28396 , cڡ \1e*
28397 ¥\8c
28398 ,
28399
28400 12 
28401 a¢_­p_cÚ¡¿\9at_ç\9eed_f
28402  *
28403 ùç\9ecb
28404\1e*
28405 ­p_key
28406 ) {
28407
28408 13 \13
28409 v®ue
28410 ;
28411
28412 15 if(!
28413 ¥\8c
28414 ) {
28415
28416 16 
28417         `ASN__CTFAIL
28418 (
28419 ­p_key
28420
28421 td
28422
28423 ¥\8c
28424 ,
28425
28426 18 
28427 td
28428 ->
28429 Çme
28430
28431 __FILE__
28432
28433 __LINE__
28434 );
28435
28436 22 
28437 v®ue
28438  = *(cڡ \13*)
28439 ¥\8c
28440 ;
28441
28442 24 if((
28443 v®ue
28444  >= 1 && value <= 65536)) {
28445
28446 28 
28447         `ASN__CTFAIL
28448 (
28449 ­p_key
28450
28451 td
28452
28453 ¥\8c
28454 ,
28455
28456 30 
28457 td
28458 ->
28459 Çme
28460
28461 __FILE__
28462
28463 __LINE__
28464 );
28465
28466 33 
28467         }
28468 }
28469
28470 39 
28471 a¢_³r_cÚ¡¿\9ats_t
28472  
28473 a¢_PER_ty³_M\97su»m\92tTy³ID_cÚ¡r_1
28474  
28475         gCC_NOTUSED
28476  = {
28477
28478 40 { 
28479 APC_CONSTRAINED
28480  | 
28481 APC_EXTENSIBLE
28482 , 16, -1, 1, 65536 } ,
28483
28484 41 { 
28485 APC_UNCONSTRAINED
28486 , -1, -1, 0, 0 },
28487
28488 44 \18cڡ 
28489 b\94_\8ev_\8fg_t
28490  
28491         ga¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
28492 [] = {
28493
28494 45 (
28495 ASN_TAG_CLASS_UNIVERSAL
28496  | (2 << 2))
28497
28498 47 
28499 a¢_TYPE_desü\9dtÜ_t
28500  
28501         ga¢_DEF_M\97su»m\92tTy³ID
28502  = {
28503
28504 50 &
28505 a¢_OP_N©iveIÁeg\94
28506 ,
28507
28508 51 
28509 a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
28510 ,
28511
28512 52 \17(
28513 a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
28514 )
28515
28516 53 /\17(
28517 a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
28518 [0]),
28519
28520 54 
28521 a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
28522 ,
28523
28524 55 \17(
28525 a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
28526 )
28527
28528 56 /\17(
28529 a¢_DEF_M\97su»m\92tTy³ID_\8fgs_1
28530 [0]),
28531
28532 57 { 0, &
28533 a¢_PER_ty³_M\97su»m\92tTy³ID_cÚ¡r_1
28534
28535 M\97su»m\92tTy³ID_cÚ¡¿\9at
28536  },
28537
28538         @MeasurementTypeName.c
28539
28540\ 2
28541         ~"M\97su»m\92tTy³Name.h
28542 "
28543
28544 10 \18cڡ \12
28545         g³rm\99\8bd_®phab\91_\8fbË_1
28546 [256] = {
28547
28548 20 \18cڡ \12
28549         g³rm\99\8bd_®phab\91_code2v®ue_1
28550 [74] = {
28551
28552 28 \18\12
28553         $check_³rm\99\8bd_®phab\91_1
28554 (cڡ \1e*
28555 ¥\8c
28556 ) {
28557
28558 29 cڡ \12*
28559 \8f
28560  = 
28561 ³rm\99\8bd_®phab\91_\8fbË_1
28562 ;
28563
28564 31 cڡ 
28565 Pr\9a\8fbËS\8c\9ag_t
28566  *
28567 ¡
28568  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
28569 ¥\8c
28570 ;
28571
28572 32 cڡ 
28573 u\9at8_t
28574  *
28575 ch
28576  = 
28577 ¡
28578 ->
28579 buf
28580 ;
28581
28582 33 cڡ 
28583 u\9at8_t
28584  *
28585 \92d
28586  = 
28587 ch
28588  + 
28589 ¡
28590 ->
28591 size
28592 ;
28593
28594 35 \ f
28595 ch
28596  < 
28597 \92d
28598 ; ch++) {
28599
28600 36 
28601 u\9at8_t
28602  
28603 cv
28604  = *
28605 ch
28606 ;
28607
28608 37 if(!
28609 \8f
28610 [
28611 cv
28612 ]) \15 -1;
28613
28614 40 
28615         }
28616 }
28617
28618 43 
28619         $M\97su»m\92tTy³Name_cÚ¡¿\9at
28620 (cڡ 
28621 a¢_TYPE_desü\9dtÜ_t
28622  *
28623 td
28624 , cڡ \1e*
28625 ¥\8c
28626 ,
28627
28628 44 
28629 a¢_­p_cÚ¡¿\9at_ç\9eed_f
28630  *
28631 ùç\9ecb
28632\1e*
28633 ­p_key
28634 ) {
28635
28636 45 cڡ 
28637 Pr\9a\8fbËS\8c\9ag_t
28638  *
28639 ¡
28640  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
28641 ¥\8c
28642 ;
28643
28644 46 
28645 size_t
28646  
28647 size
28648 ;
28649
28650 48 if(!
28651 ¥\8c
28652 ) {
28653
28654 49 
28655         `ASN__CTFAIL
28656 (
28657 ­p_key
28658
28659 td
28660
28661 ¥\8c
28662 ,
28663
28664 51 
28665 td
28666 ->
28667 Çme
28668
28669 __FILE__
28670
28671 __LINE__
28672 );
28673
28674 55 
28675 size
28676  = 
28677 ¡
28678 ->size;
28679
28680 57 if((
28681 size
28682  >= 1 && size <= 150)
28683
28684 58 && !
28685         `check_³rm\99\8bd_®phab\91_1
28686 (
28687 ¡
28688 )) {
28689
28690 62 
28691         `ASN__CTFAIL
28692 (
28693 ­p_key
28694
28695 td
28696
28697 ¥\8c
28698 ,
28699
28700 64 
28701 td
28702 ->
28703 Çme
28704
28705 __FILE__
28706
28707 __LINE__
28708 );
28709
28710 67 
28711         }
28712 }
28713
28714 69 \18\12
28715         $a¢_PER_MAP_M\97su»m\92tTy³Name_1_v2c
28716 (\1d\12
28717 v®ue
28718 ) {
28719
28720 70 if(
28721 v®ue
28722  >ð\17(
28723 ³rm\99\8bd_®phab\91_\8fbË_1
28724 )/\17(permitted_alphabet_table_1[0]))
28725
28726 72 \15 
28727 ³rm\99\8bd_®phab\91_\8fbË_1
28728 [
28729 v®ue
28730 ] - 1;
28731
28732 73 
28733         }
28734 }
28735
28736 74 \18\12
28737         $a¢_PER_MAP_M\97su»m\92tTy³Name_1_c2v
28738 (\1d\12
28739 code
28740 ) {
28741
28742 75 if(
28743 code
28744  >ð\17(
28745 ³rm\99\8bd_®phab\91_code2v®ue_1
28746 )/\17(permitted_alphabet_code2value_1[0]))
28747
28748 77 \15 
28749 ³rm\99\8bd_®phab\91_code2v®ue_1
28750 [
28751 code
28752 ];
28753
28754 78 
28755         }
28756 }
28757
28758 83 
28759 a¢_³r_cÚ¡¿\9ats_t
28760  
28761 a¢_PER_ty³_M\97su»m\92tTy³Name_cÚ¡r_1
28762  
28763         gCC_NOTUSED
28764  = {
28765
28766 84 { 
28767 APC_CONSTRAINED
28768 , 7, 7, 32, 122 } ,
28769
28770 85 { 
28771 APC_CONSTRAINED
28772  | 
28773 APC_EXTENSIBLE
28774 , 8, 8, 1, 150 } ,
28775
28776 86 
28777 a¢_PER_MAP_M\97su»m\92tTy³Name_1_v2c
28778 ,
28779
28780 87 
28781 a¢_PER_MAP_M\97su»m\92tTy³Name_1_c2v
28782
28783
28784 89 \18cڡ 
28785 b\94_\8ev_\8fg_t
28786  
28787         ga¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
28788 [] = {
28789
28790 90 (
28791 ASN_TAG_CLASS_UNIVERSAL
28792  | (19 << 2))
28793
28794 92 
28795 a¢_TYPE_desü\9dtÜ_t
28796  
28797         ga¢_DEF_M\97su»m\92tTy³Name
28798  = {
28799
28800 95 &
28801 a¢_OP_Pr\9a\8fbËS\8c\9ag
28802 ,
28803
28804 96 
28805 a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
28806 ,
28807
28808 97 \17(
28809 a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
28810 )
28811
28812 98 /\17(
28813 a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
28814 [0]),
28815
28816 99 
28817 a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
28818 ,
28819
28820 100 \17(
28821 a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
28822 )
28823
28824 101 /\17(
28825 a¢_DEF_M\97su»m\92tTy³Name_\8fgs_1
28826 [0]),
28827
28828 102 { 0, &
28829 a¢_PER_ty³_M\97su»m\92tTy³Name_cÚ¡r_1
28830
28831 M\97su»m\92tTy³Name_cÚ¡¿\9at
28832  },
28833
28834         @NG-RANnodeUEXnAPID.c
28835
28836\ 2
28837         ~"NG-RANnodeUEXnAPID.h
28838 "
28839
28840 11 
28841         $NG_RANnodeUEXnAPID_cÚ¡¿\9at
28842 (cڡ 
28843 a¢_TYPE_desü\9dtÜ_t
28844  *
28845 td
28846 , cڡ \1e*
28847 ¥\8c
28848 ,
28849
28850 12 
28851 a¢_­p_cÚ¡¿\9at_ç\9eed_f
28852  *
28853 ùç\9ecb
28854\1e*
28855 ­p_key
28856 ) {
28857
28858 14 if(!
28859 ¥\8c
28860 ) {
28861
28862 15 
28863         `ASN__CTFAIL
28864 (
28865 ­p_key
28866
28867 td
28868
28869 ¥\8c
28870 ,
28871
28872 17 
28873 td
28874 ->
28875 Çme
28876
28877 __FILE__
28878
28879 __LINE__
28880 );
28881
28882 24 
28883         }
28884 }
28885
28886 30 
28887 a¢_³r_cÚ¡¿\9ats_t
28888  
28889 a¢_PER_ty³_NG_RANnodeUEXnAPID_cÚ¡r_1
28890  
28891         gCC_NOTUSED
28892  = {
28893
28894 31 { 
28895 APC_CONSTRAINED
28896 , 32, -1, 0, 4294967295 } ,
28897
28898 32 { 
28899 APC_UNCONSTRAINED
28900 , -1, -1, 0, 0 },
28901
28902 35 cڡ 
28903 a¢_INTEGER_¥ecifics_t
28904  
28905         ga¢_SPC_NG_RANnodeUEXnAPID_¥ecs_1
28906  = {
28907
28908 40 \18cڡ 
28909 b\94_\8ev_\8fg_t
28910  
28911         ga¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
28912 [] = {
28913
28914 41 (
28915 ASN_TAG_CLASS_UNIVERSAL
28916  | (2 << 2))
28917
28918 43 
28919 a¢_TYPE_desü\9dtÜ_t
28920  
28921         ga¢_DEF_NG_RANnodeUEXnAPID
28922  = {
28923
28924 46 &
28925 a¢_OP_N©iveIÁeg\94
28926 ,
28927
28928 47 
28929 a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
28930 ,
28931
28932 48 \17(
28933 a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
28934 )
28935
28936 49 /\17(
28937 a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
28938 [0]),
28939
28940 50 
28941 a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
28942 ,
28943
28944 51 \17(
28945 a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
28946 )
28947
28948 52 /\17(
28949 a¢_DEF_NG_RANnodeUEXnAPID_\8fgs_1
28950 [0]),
28951
28952 53 { 0, &
28953 a¢_PER_ty³_NG_RANnodeUEXnAPID_cÚ¡r_1
28954
28955 NG_RANnodeUEXnAPID_cÚ¡¿\9at
28956  },
28957
28958 55 &
28959 a¢_SPC_NG_RANnodeUEXnAPID_¥ecs_1
28960
28961
28962         @NGENB-CU-UE-W1AP-ID.c
28963
28964\ 2
28965         ~"NGENB-CU-UE-W1AP-ID.h
28966 "
28967
28968 11 
28969         $NGENB_CU_UE_W1AP_ID_cÚ¡¿\9at
28970 (cڡ 
28971 a¢_TYPE_desü\9dtÜ_t
28972  *
28973 td
28974 , cڡ \1e*
28975 ¥\8c
28976 ,
28977
28978 12 
28979 a¢_­p_cÚ¡¿\9at_ç\9eed_f
28980  *
28981 ùç\9ecb
28982\1e*
28983 ­p_key
28984 ) {
28985
28986 14 if(!
28987 ¥\8c
28988 ) {
28989
28990 15 
28991         `ASN__CTFAIL
28992 (
28993 ­p_key
28994
28995 td
28996
28997 ¥\8c
28998 ,
28999
29000 17 
29001 td
29002 ->
29003 Çme
29004
29005 __FILE__
29006
29007 __LINE__
29008 );
29009
29010 24 
29011         }
29012 }
29013
29014 30 
29015 a¢_³r_cÚ¡¿\9ats_t
29016  
29017 a¢_PER_ty³_NGENB_CU_UE_W1AP_ID_cÚ¡r_1
29018  
29019         gCC_NOTUSED
29020  = {
29021
29022 31 { 
29023 APC_CONSTRAINED
29024 , 32, -1, 0, 4294967295 } ,
29025
29026 32 { 
29027 APC_UNCONSTRAINED
29028 , -1, -1, 0, 0 },
29029
29030 35 cڡ 
29031 a¢_INTEGER_¥ecifics_t
29032  
29033         ga¢_SPC_NGENB_CU_UE_W1AP_ID_¥ecs_1
29034  = {
29035
29036 40 \18cڡ 
29037 b\94_\8ev_\8fg_t
29038  
29039         ga¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
29040 [] = {
29041
29042 41 (
29043 ASN_TAG_CLASS_UNIVERSAL
29044  | (2 << 2))
29045
29046 43 
29047 a¢_TYPE_desü\9dtÜ_t
29048  
29049         ga¢_DEF_NGENB_CU_UE_W1AP_ID
29050  = {
29051
29052 46 &
29053 a¢_OP_N©iveIÁeg\94
29054 ,
29055
29056 47 
29057 a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
29058 ,
29059
29060 48 \17(
29061 a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
29062 )
29063
29064 49 /\17(
29065 a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
29066 [0]),
29067
29068 50 
29069 a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
29070 ,
29071
29072 51 \17(
29073 a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
29074 )
29075
29076 52 /\17(
29077 a¢_DEF_NGENB_CU_UE_W1AP_ID_\8fgs_1
29078 [0]),
29079
29080 53 { 0, &
29081 a¢_PER_ty³_NGENB_CU_UE_W1AP_ID_cÚ¡r_1
29082
29083 NGENB_CU_UE_W1AP_ID_cÚ¡¿\9at
29084  },
29085
29086 55 &
29087 a¢_SPC_NGENB_CU_UE_W1AP_ID_¥ecs_1
29088
29089
29090         @NGENB-DU-ID.c
29091
29092\ 2
29093         ~"NGENB-DU-ID.h
29094 "
29095
29096 11 
29097         $NGENB_DU_ID_cÚ¡¿\9at
29098 (cڡ 
29099 a¢_TYPE_desü\9dtÜ_t
29100  *
29101 td
29102 , cڡ \1e*
29103 ¥\8c
29104 ,
29105
29106 12 
29107 a¢_­p_cÚ¡¿\9at_ç\9eed_f
29108  *
29109 ùç\9ecb
29110\1e*
29111 ­p_key
29112 ) {
29113
29114 13 cڡ 
29115 INTEGER_t
29116  *
29117 ¡
29118  = (cÚ¡ INTEGER_\88*)
29119 ¥\8c
29120 ;
29121
29122 14 \13
29123 v®ue
29124 ;
29125
29126 16 if(!
29127 ¥\8c
29128 ) {
29129
29130 17 
29131         `ASN__CTFAIL
29132 (
29133 ­p_key
29134
29135 td
29136
29137 ¥\8c
29138 ,
29139
29140 19 
29141 td
29142 ->
29143 Çme
29144
29145 __FILE__
29146
29147 __LINE__
29148 );
29149
29150 23 if(
29151         `a¢_INTEGER2lÚg
29152 (
29153 ¡
29154 , &
29155 v®ue
29156 )) {
29157
29158 24 
29159         `ASN__CTFAIL
29160 (
29161 ­p_key
29162
29163 td
29164
29165 ¥\8c
29166 ,
29167
29168 26 
29169 td
29170 ->
29171 Çme
29172
29173 __FILE__
29174
29175 __LINE__
29176 );
29177
29178 30 if((
29179 v®ue
29180  >= 0 && value <= 68719476735)) {
29181
29182 34 
29183         `ASN__CTFAIL
29184 (
29185 ­p_key
29186
29187 td
29188
29189 ¥\8c
29190 ,
29191
29192 36 
29193 td
29194 ->
29195 Çme
29196
29197 __FILE__
29198
29199 __LINE__
29200 );
29201
29202 39 
29203         }
29204 }
29205
29206 45 
29207 a¢_³r_cÚ¡¿\9ats_t
29208  
29209 a¢_PER_ty³_NGENB_DU_ID_cÚ¡r_1
29210  
29211         gCC_NOTUSED
29212  = {
29213
29214 46 { 
29215 APC_CONSTRAINED
29216 , 36, -1, 0, 68719476735 } ,
29217
29218 47 { 
29219 APC_UNCONSTRAINED
29220 , -1, -1, 0, 0 },
29221
29222 50 \18cڡ 
29223 b\94_\8ev_\8fg_t
29224  
29225         ga¢_DEF_NGENB_DU_ID_\8fgs_1
29226 [] = {
29227
29228 51 (
29229 ASN_TAG_CLASS_UNIVERSAL
29230  | (2 << 2))
29231
29232 53 
29233 a¢_TYPE_desü\9dtÜ_t
29234  
29235         ga¢_DEF_NGENB_DU_ID
29236  = {
29237
29238 56 &
29239 a¢_OP_INTEGER
29240 ,
29241
29242 57 
29243 a¢_DEF_NGENB_DU_ID_\8fgs_1
29244 ,
29245
29246 58 \17(
29247 a¢_DEF_NGENB_DU_ID_\8fgs_1
29248 )
29249
29250 59 /\17(
29251 a¢_DEF_NGENB_DU_ID_\8fgs_1
29252 [0]),
29253
29254 60 
29255 a¢_DEF_NGENB_DU_ID_\8fgs_1
29256 ,
29257
29258 61 \17(
29259 a¢_DEF_NGENB_DU_ID_\8fgs_1
29260 )
29261
29262 62 /\17(
29263 a¢_DEF_NGENB_DU_ID_\8fgs_1
29264 [0]),
29265
29266 63 { 0, &
29267 a¢_PER_ty³_NGENB_DU_ID_cÚ¡r_1
29268
29269 NGENB_DU_ID_cÚ¡¿\9at
29270  },
29271
29272         @NR-ARFCN.c
29273
29274\ 2
29275         ~"NR-ARFCN.h
29276 "
29277
29278 11 
29279         $memb_nRARFCN_cÚ¡¿\9at_1
29280 (cڡ 
29281 a¢_TYPE_desü\9dtÜ_t
29282  *
29283 td
29284 , cڡ \1e*
29285 ¥\8c
29286 ,
29287
29288 12 
29289 a¢_­p_cÚ¡¿\9at_ç\9eed_f
29290  *
29291 ùç\9ecb
29292\1e*
29293 ­p_key
29294 ) {
29295
29296 13 \13
29297 v®ue
29298 ;
29299
29300 15 if(!
29301 ¥\8c
29302 ) {
29303
29304 16 
29305         `ASN__CTFAIL
29306 (
29307 ­p_key
29308
29309 td
29310
29311 ¥\8c
29312 ,
29313
29314 18 
29315 td
29316 ->
29317 Çme
29318
29319 __FILE__
29320
29321 __LINE__
29322 );
29323
29324 22 
29325 v®ue
29326  = *(cڡ \13*)
29327 ¥\8c
29328 ;
29329
29330 24 if((
29331 v®ue
29332  >= 0 && value <= 3279165)) {
29333
29334 28 
29335         `ASN__CTFAIL
29336 (
29337 ­p_key
29338
29339 td
29340
29341 ¥\8c
29342 ,
29343
29344 30 
29345 td
29346 ->
29347 Çme
29348
29349 __FILE__
29350
29351 __LINE__
29352 );
29353
29354 33 
29355         }
29356 }
29357
29358 35 \18
29359 a¢_³r_cÚ¡¿\9ats_t
29360  
29361 a¢_PER_memb_nRARFCN_cÚ¡r_2
29362  
29363         gCC_NOTUSED
29364  = {
29365
29366 36 { 
29367 APC_CONSTRAINED
29368 , 22, -1, 0, 3279165 } ,
29369
29370 37 { 
29371 APC_UNCONSTRAINED
29372 , -1, -1, 0, 0 },
29373
29374 40 
29375 a¢_TYPE_memb\94_t
29376  
29377         ga¢_MBR_NR_ARFCN_1
29378 [] = {
29379
29380 41 { 
29381 ATF_NOFLAGS
29382 , 0, 
29383 off£tof
29384 (\19
29385 NR_ARFCN
29386
29387 nRARFCN
29388 ),
29389
29390 42 (
29391 ASN_TAG_CLASS_CONTEXT
29392  | (0 << 2)),
29393
29394 44 &
29395 a¢_DEF_N©iveIÁeg\94
29396 ,
29397
29398 46 { 0, &
29399 a¢_PER_memb_nRARFCN_cÚ¡r_2
29400
29401 memb_nRARFCN_cÚ¡¿\9at_1
29402  },
29403
29404 51 \18cڡ 
29405 b\94_\8ev_\8fg_t
29406  
29407         ga¢_DEF_NR_ARFCN_\8fgs_1
29408 [] = {
29409
29410 52 (
29411 ASN_TAG_CLASS_UNIVERSAL
29412  | (16 << 2))
29413
29414 54 \18cڡ 
29415 a¢_TYPE_\8fg2memb\94_t
29416  
29417         ga¢_MAP_NR_ARFCN_\8fg2\96_1
29418 [] = {
29419
29420 55 { (
29421 ASN_TAG_CLASS_CONTEXT
29422  | (0 << 2)), 0, 0, 0 }
29423
29424 57 
29425 a¢_SEQUENCE_¥ecifics_t
29426  
29427         ga¢_SPC_NR_ARFCN_¥ecs_1
29428  = {
29429
29430 58 \17(\19
29431 NR_ARFCN
29432 ),
29433
29434 59 
29435 off£tof
29436 (\19
29437 NR_ARFCN
29438
29439 _a¢_ùx
29440 ),
29441
29442 60 
29443 a¢_MAP_NR_ARFCN_\8fg2\96_1
29444 ,
29445
29446 65 
29447 a¢_TYPE_desü\9dtÜ_t
29448  
29449         ga¢_DEF_NR_ARFCN
29450  = {
29451
29452 68 &
29453 a¢_OP_SEQUENCE
29454 ,
29455
29456 69 
29457 a¢_DEF_NR_ARFCN_\8fgs_1
29458 ,
29459
29460 70 \17(
29461 a¢_DEF_NR_ARFCN_\8fgs_1
29462 )
29463
29464 71 /\17(
29465 a¢_DEF_NR_ARFCN_\8fgs_1
29466 [0]),
29467
29468 72 
29469 a¢_DEF_NR_ARFCN_\8fgs_1
29470 ,
29471
29472 73 \17(
29473 a¢_DEF_NR_ARFCN_\8fgs_1
29474 )
29475
29476 74 /\17(
29477 a¢_DEF_NR_ARFCN_\8fgs_1
29478 [0]),
29479
29480 75 { 0, 0, 
29481 SEQUENCE_cÚ¡¿\9at
29482  },
29483
29484 76 
29485 a¢_MBR_NR_ARFCN_1
29486 ,
29487
29488 78 &
29489 a¢_SPC_NR_ARFCN_¥ecs_1
29490
29491
29492         @NR-CGI.c
29493
29494\ 2
29495         ~"NR-CGI.h
29496 "
29497
29498 10 
29499 a¢_TYPE_memb\94_t
29500  
29501         ga¢_MBR_NR_CGI_1
29502 [] = {
29503
29504 11 { 
29505 ATF_NOFLAGS
29506 , 0, 
29507 off£tof
29508 (\19
29509 NR_CGI
29510
29511 pLMNId\92t\99y
29512 ),
29513
29514 12 (
29515 ASN_TAG_CLASS_CONTEXT
29516  | (0 << 2)),
29517
29518 14 &
29519 a¢_DEF_PLMNId\92t\99y
29520 ,
29521
29522 20 { 
29523 ATF_NOFLAGS
29524 , 0, 
29525 off£tof
29526 (\19
29527 NR_CGI
29528
29529 nRC\96lId\92t\99y
29530 ),
29531
29532 21 (
29533 ASN_TAG_CLASS_CONTEXT
29534  | (1 << 2)),
29535
29536 23 &
29537 a¢_DEF_NRC\96lId\92t\99y
29538 ,
29539
29540 30 \18cڡ 
29541 b\94_\8ev_\8fg_t
29542  
29543         ga¢_DEF_NR_CGI_\8fgs_1
29544 [] = {
29545
29546 31 (
29547 ASN_TAG_CLASS_UNIVERSAL
29548  | (16 << 2))
29549
29550 33 \18cڡ 
29551 a¢_TYPE_\8fg2memb\94_t
29552  
29553         ga¢_MAP_NR_CGI_\8fg2\96_1
29554 [] = {
29555
29556 34 { (
29557 ASN_TAG_CLASS_CONTEXT
29558  | (0 << 2)), 0, 0, 0 },
29559
29560 35 { (
29561 ASN_TAG_CLASS_CONTEXT
29562  | (1 << 2)), 1, 0, 0 }
29563
29564 37 
29565 a¢_SEQUENCE_¥ecifics_t
29566  
29567         ga¢_SPC_NR_CGI_¥ecs_1
29568  = {
29569
29570 38 \17(\19
29571 NR_CGI
29572 ),
29573
29574 39 
29575 off£tof
29576 (\19
29577 NR_CGI
29578
29579 _a¢_ùx
29580 ),
29581
29582 40 
29583 a¢_MAP_NR_CGI_\8fg2\96_1
29584 ,
29585
29586 45 
29587 a¢_TYPE_desü\9dtÜ_t
29588  
29589         ga¢_DEF_NR_CGI
29590  = {
29591
29592 48 &
29593 a¢_OP_SEQUENCE
29594 ,
29595
29596 49 
29597 a¢_DEF_NR_CGI_\8fgs_1
29598 ,
29599
29600 50 \17(
29601 a¢_DEF_NR_CGI_\8fgs_1
29602 )
29603
29604 51 /\17(
29605 a¢_DEF_NR_CGI_\8fgs_1
29606 [0]),
29607
29608 52 
29609 a¢_DEF_NR_CGI_\8fgs_1
29610 ,
29611
29612 53 \17(
29613 a¢_DEF_NR_CGI_\8fgs_1
29614 )
29615
29616 54 /\17(
29617 a¢_DEF_NR_CGI_\8fgs_1
29618 [0]),
29619
29620 55 { 0, 0, 
29621 SEQUENCE_cÚ¡¿\9at
29622  },
29623
29624 56 
29625 a¢_MBR_NR_CGI_1
29626 ,
29627
29628 58 &
29629 a¢_SPC_NR_CGI_¥ecs_1
29630
29631
29632         @NR-PCI.c
29633
29634\ 2
29635         ~"NR-PCI.h
29636 "
29637
29638 11 
29639         $NR_PCI_cÚ¡¿\9at
29640 (cڡ 
29641 a¢_TYPE_desü\9dtÜ_t
29642  *
29643 td
29644 , cڡ \1e*
29645 ¥\8c
29646 ,
29647
29648 12 
29649 a¢_­p_cÚ¡¿\9at_ç\9eed_f
29650  *
29651 ùç\9ecb
29652\1e*
29653 ­p_key
29654 ) {
29655
29656 13 \13
29657 v®ue
29658 ;
29659
29660 15 if(!
29661 ¥\8c
29662 ) {
29663
29664 16 
29665         `ASN__CTFAIL
29666 (
29667 ­p_key
29668
29669 td
29670
29671 ¥\8c
29672 ,
29673
29674 18 
29675 td
29676 ->
29677 Çme
29678
29679 __FILE__
29680
29681 __LINE__
29682 );
29683
29684 22 
29685 v®ue
29686  = *(cڡ \13*)
29687 ¥\8c
29688 ;
29689
29690 24 if((
29691 v®ue
29692  >= 0 && value <= 1007)) {
29693
29694 28 
29695         `ASN__CTFAIL
29696 (
29697 ­p_key
29698
29699 td
29700
29701 ¥\8c
29702 ,
29703
29704 30 
29705 td
29706 ->
29707 Çme
29708
29709 __FILE__
29710
29711 __LINE__
29712 );
29713
29714 33 
29715         }
29716 }
29717
29718 39 
29719 a¢_³r_cÚ¡¿\9ats_t
29720  
29721 a¢_PER_ty³_NR_PCI_cÚ¡r_1
29722  
29723         gCC_NOTUSED
29724  = {
29725
29726 40 { 
29727 APC_CONSTRAINED
29728 , 10, 10, 0, 1007 } ,
29729
29730 41 { 
29731 APC_UNCONSTRAINED
29732 , -1, -1, 0, 0 },
29733
29734 44 \18cڡ 
29735 b\94_\8ev_\8fg_t
29736  
29737         ga¢_DEF_NR_PCI_\8fgs_1
29738 [] = {
29739
29740 45 (
29741 ASN_TAG_CLASS_UNIVERSAL
29742  | (2 << 2))
29743
29744 47 
29745 a¢_TYPE_desü\9dtÜ_t
29746  
29747         ga¢_DEF_NR_PCI
29748  = {
29749
29750 50 &
29751 a¢_OP_N©iveIÁeg\94
29752 ,
29753
29754 51 
29755 a¢_DEF_NR_PCI_\8fgs_1
29756 ,
29757
29758 52 \17(
29759 a¢_DEF_NR_PCI_\8fgs_1
29760 )
29761
29762 53 /\17(
29763 a¢_DEF_NR_PCI_\8fgs_1
29764 [0]),
29765
29766 54 
29767 a¢_DEF_NR_PCI_\8fgs_1
29768 ,
29769
29770 55 \17(
29771 a¢_DEF_NR_PCI_\8fgs_1
29772 )
29773
29774 56 /\17(
29775 a¢_DEF_NR_PCI_\8fgs_1
29776 [0]),
29777
29778 57 { 0, &
29779 a¢_PER_ty³_NR_PCI_cÚ¡r_1
29780
29781 NR_PCI_cÚ¡¿\9at
29782  },
29783
29784         @NRCellIdentity.c
29785
29786\ 2
29787         ~"NRC\96lId\92t\99y.h
29788 "
29789
29790 11 
29791         $NRC\96lId\92t\99y_cÚ¡¿\9at
29792 (cڡ 
29793 a¢_TYPE_desü\9dtÜ_t
29794  *
29795 td
29796 , cڡ \1e*
29797 ¥\8c
29798 ,
29799
29800 12 
29801 a¢_­p_cÚ¡¿\9at_ç\9eed_f
29802  *
29803 ùç\9ecb
29804\1e*
29805 ­p_key
29806 ) {
29807
29808 13 cڡ 
29809 BIT_STRING_t
29810  *
29811 ¡
29812  = (cÚ¡ BIT_STRING_\88*)
29813 ¥\8c
29814 ;
29815
29816 14 
29817 size_t
29818  
29819 size
29820 ;
29821
29822 16 if(!
29823 ¥\8c
29824 ) {
29825
29826 17 
29827         `ASN__CTFAIL
29828 (
29829 ­p_key
29830
29831 td
29832
29833 ¥\8c
29834 ,
29835
29836 19 
29837 td
29838 ->
29839 Çme
29840
29841 __FILE__
29842
29843 __LINE__
29844 );
29845
29846 23 if(
29847 ¡
29848 ->
29849 size
29850  > 0) {
29851
29852 25 
29853 size
29854  = 8 * 
29855 ¡
29856 ->siz\90- (¡->
29857 b\99s_unu£d
29858  & 0x07);
29859
29860 27 
29861 size
29862  = 0;
29863
29864 30 if((
29865 size
29866  == 36)) {
29867
29868 34 
29869         `ASN__CTFAIL
29870 (
29871 ­p_key
29872
29873 td
29874
29875 ¥\8c
29876 ,
29877
29878 36 
29879 td
29880 ->
29881 Çme
29882
29883 __FILE__
29884
29885 __LINE__
29886 );
29887
29888 39 
29889         }
29890 }
29891
29892 45 
29893 a¢_³r_cÚ¡¿\9ats_t
29894  
29895 a¢_PER_ty³_NRC\96lId\92t\99y_cÚ¡r_1
29896  
29897         gCC_NOTUSED
29898  = {
29899
29900 46 { 
29901 APC_UNCONSTRAINED
29902 , -1, -1, 0, 0 },
29903
29904 47 { 
29905 APC_CONSTRAINED
29906 , 0, 0, 36, 36 } ,
29907
29908 50 \18cڡ 
29909 b\94_\8ev_\8fg_t
29910  
29911         ga¢_DEF_NRC\96lId\92t\99y_\8fgs_1
29912 [] = {
29913
29914 51 (
29915 ASN_TAG_CLASS_UNIVERSAL
29916  | (3 << 2))
29917
29918 53 
29919 a¢_TYPE_desü\9dtÜ_t
29920  
29921         ga¢_DEF_NRC\96lId\92t\99y
29922  = {
29923
29924 56 &
29925 a¢_OP_BIT_STRING
29926 ,
29927
29928 57 
29929 a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
29930 ,
29931
29932 58 \17(
29933 a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
29934 )
29935
29936 59 /\17(
29937 a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
29938 [0]),
29939
29940 60 
29941 a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
29942 ,
29943
29944 61 \17(
29945 a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
29946 )
29947
29948 62 /\17(
29949 a¢_DEF_NRC\96lId\92t\99y_\8fgs_1
29950 [0]),
29951
29952 63 { 0, &
29953 a¢_PER_ty³_NRC\96lId\92t\99y_cÚ¡r_1
29954
29955 NRC\96lId\92t\99y_cÚ¡¿\9at
29956  },
29957
29958 65 &
29959 a¢_SPC_BIT_STRING_¥ecs
29960
29961
29962         @NRFrequencyBand-List.c
29963
29964\ 2
29965         ~"NRF»qu\92cyBªd-Li¡.h
29966 "
29967
29968 10 \ 2
29969         ~"NRF»qu\92cyBªdI\8bm.h
29970 "
29971
29972 11 
29973 a¢_³r_cÚ¡¿\9ats_t
29974  
29975 a¢_PER_ty³_NRF»qu\92cyBªd_Li¡_cÚ¡r_1
29976  
29977         gCC_NOTUSED
29978  = {
29979
29980 12 { 
29981 APC_UNCONSTRAINED
29982 , -1, -1, 0, 0 },
29983
29984 13 { 
29985 APC_CONSTRAINED
29986 , 5, 5, 1, 32 } ,
29987
29988 16 
29989 a¢_TYPE_memb\94_t
29990  
29991         ga¢_MBR_NRF»qu\92cyBªd_Li¡_1
29992 [] = {
29993
29994 17 { 
29995 ATF_POINTER
29996 , 0, 0,
29997
29998 18 (
29999 ASN_TAG_CLASS_UNIVERSAL
30000  | (16 << 2)),
30001
30002 20 &
30003 a¢_DEF_NRF»qu\92cyBªdI\8bm
30004 ,
30005
30006 27 \18cڡ 
30007 b\94_\8ev_\8fg_t
30008  
30009         ga¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
30010 [] = {
30011
30012 28 (
30013 ASN_TAG_CLASS_UNIVERSAL
30014  | (16 << 2))
30015
30016 30 
30017 a¢_SET_OF_¥ecifics_t
30018  
30019         ga¢_SPC_NRF»qu\92cyBªd_Li¡_¥ecs_1
30020  = {
30021
30022 31 \17(\19
30023 NRF»qu\92cyBªd_Li¡
30024 ),
30025
30026 32 
30027 off£tof
30028 (\19
30029 NRF»qu\92cyBªd_Li¡
30030
30031 _a¢_ùx
30032 ),
30033
30034 35 
30035 a¢_TYPE_desü\9dtÜ_t
30036  
30037         ga¢_DEF_NRF»qu\92cyBªd_Li¡
30038  = {
30039
30040 38 &
30041 a¢_OP_SEQUENCE_OF
30042 ,
30043
30044 39 
30045 a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
30046 ,
30047
30048 40 \17(
30049 a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
30050 )
30051
30052 41 /\17(
30053 a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
30054 [0]),
30055
30056 42 
30057 a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
30058 ,
30059
30060 43 \17(
30061 a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
30062 )
30063
30064 44 /\17(
30065 a¢_DEF_NRF»qu\92cyBªd_Li¡_\8fgs_1
30066 [0]),
30067
30068 45 { 0, &
30069 a¢_PER_ty³_NRF»qu\92cyBªd_Li¡_cÚ¡r_1
30070
30071 SEQUENCE_OF_cÚ¡¿\9at
30072  },
30073
30074 46 
30075 a¢_MBR_NRF»qu\92cyBªd_Li¡_1
30076 ,
30077
30078 48 &
30079 a¢_SPC_NRF»qu\92cyBªd_Li¡_¥ecs_1
30080
30081
30082         @NRFrequencyBandItem.c
30083
30084\ 2
30085         ~"NRF»qu\92cyBªdI\8bm.h
30086 "
30087
30088 11 
30089         $memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
30090 (cڡ 
30091 a¢_TYPE_desü\9dtÜ_t
30092  *
30093 td
30094 , cڡ \1e*
30095 ¥\8c
30096 ,
30097
30098 12 
30099 a¢_­p_cÚ¡¿\9at_ç\9eed_f
30100  *
30101 ùç\9ecb
30102\1e*
30103 ­p_key
30104 ) {
30105
30106 13 \13
30107 v®ue
30108 ;
30109
30110 15 if(!
30111 ¥\8c
30112 ) {
30113
30114 16 
30115         `ASN__CTFAIL
30116 (
30117 ­p_key
30118
30119 td
30120
30121 ¥\8c
30122 ,
30123
30124 18 
30125 td
30126 ->
30127 Çme
30128
30129 __FILE__
30130
30131 __LINE__
30132 );
30133
30134 22 
30135 v®ue
30136  = *(cڡ \13*)
30137 ¥\8c
30138 ;
30139
30140 24 if((
30141 v®ue
30142  >= 1 && value <= 1024)) {
30143
30144 28 
30145         `ASN__CTFAIL
30146 (
30147 ­p_key
30148
30149 td
30150
30151 ¥\8c
30152 ,
30153
30154 30 
30155 td
30156 ->
30157 Çme
30158
30159 __FILE__
30160
30161 __LINE__
30162 );
30163
30164 33 
30165         }
30166 }
30167
30168 35 \18
30169 a¢_³r_cÚ¡¿\9ats_t
30170  
30171 a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
30172  
30173         gCC_NOTUSED
30174  = {
30175
30176 36 { 
30177 APC_CONSTRAINED
30178  | 
30179 APC_EXTENSIBLE
30180 , 10, 10, 1, 1024 } ,
30181
30182 37 { 
30183 APC_UNCONSTRAINED
30184 , -1, -1, 0, 0 },
30185
30186 40 
30187 a¢_TYPE_memb\94_t
30188  
30189         ga¢_MBR_NRF»qu\92cyBªdI\8bm_1
30190 [] = {
30191
30192 41 { 
30193 ATF_NOFLAGS
30194 , 0, 
30195 off£tof
30196 (\19
30197 NRF»qu\92cyBªdI\8bm
30198
30199 äeqBªdIndiÿtÜNr
30200 ),
30201
30202 42 (
30203 ASN_TAG_CLASS_CONTEXT
30204  | (0 << 2)),
30205
30206 44 &
30207 a¢_DEF_N©iveIÁeg\94
30208 ,
30209
30210 46 { 0, &
30211 a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
30212
30213 memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
30214  },
30215
30216 50 { 
30217 ATF_NOFLAGS
30218 , 0, 
30219 off£tof
30220 (\19
30221 NRF»qu\92cyBªdI\8bm
30222
30223 suµÜ\8bdSULBªdLi¡
30224 ),
30225
30226 51 (
30227 ASN_TAG_CLASS_CONTEXT
30228  | (1 << 2)),
30229
30230 53 &
30231 a¢_DEF_SuµÜ\8bdSULBªdLi¡
30232 ,
30233
30234 60 \18cڡ 
30235 b\94_\8ev_\8fg_t
30236  
30237         ga¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
30238 [] = {
30239
30240 61 (
30241 ASN_TAG_CLASS_UNIVERSAL
30242  | (16 << 2))
30243
30244 63 \18cڡ 
30245 a¢_TYPE_\8fg2memb\94_t
30246  
30247         ga¢_MAP_NRF»qu\92cyBªdI\8bm_\8fg2\96_1
30248 [] = {
30249
30250 64 { (
30251 ASN_TAG_CLASS_CONTEXT
30252  | (0 << 2)), 0, 0, 0 },
30253
30254 65 { (
30255 ASN_TAG_CLASS_CONTEXT
30256  | (1 << 2)), 1, 0, 0 }
30257
30258 67 
30259 a¢_SEQUENCE_¥ecifics_t
30260  
30261         ga¢_SPC_NRF»qu\92cyBªdI\8bm_¥ecs_1
30262  = {
30263
30264 68 \17(\19
30265 NRF»qu\92cyBªdI\8bm
30266 ),
30267
30268 69 
30269 off£tof
30270 (\19
30271 NRF»qu\92cyBªdI\8bm
30272
30273 _a¢_ùx
30274 ),
30275
30276 70 
30277 a¢_MAP_NRF»qu\92cyBªdI\8bm_\8fg2\96_1
30278 ,
30279
30280 75 
30281 a¢_TYPE_desü\9dtÜ_t
30282  
30283         ga¢_DEF_NRF»qu\92cyBªdI\8bm
30284  = {
30285
30286 78 &
30287 a¢_OP_SEQUENCE
30288 ,
30289
30290 79 
30291 a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
30292 ,
30293
30294 80 \17(
30295 a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
30296 )
30297
30298 81 /\17(
30299 a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
30300 [0]),
30301
30302 82 
30303 a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
30304 ,
30305
30306 83 \17(
30307 a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
30308 )
30309
30310 84 /\17(
30311 a¢_DEF_NRF»qu\92cyBªdI\8bm_\8fgs_1
30312 [0]),
30313
30314 85 { 0, 0, 
30315 SEQUENCE_cÚ¡¿\9at
30316  },
30317
30318 86 
30319 a¢_MBR_NRF»qu\92cyBªdI\8bm_1
30320 ,
30321
30322 88 &
30323 a¢_SPC_NRF»qu\92cyBªdI\8bm_¥ecs_1
30324
30325
30326         @NRFrequencyInfo.c
30327
30328\ 2
30329         ~"NRF»qu\92cyInfo.h
30330 "
30331
30332 10 \18
30333 a¢_TYPE_memb\94_t
30334  
30335         ga¢_MBR_NRF»qu\92cyInfo_1
30336 [] = {
30337
30338 11 { 
30339 ATF_NOFLAGS
30340 , 0, 
30341 off£tof
30342 (\19
30343 NRF»qu\92cyInfo
30344
30345 ÄARFCN
30346 ),
30347
30348 12 (
30349 ASN_TAG_CLASS_CONTEXT
30350  | (0 << 2)),
30351
30352 14 &
30353 a¢_DEF_NR_ARFCN
30354 ,
30355
30356 20 { 
30357 ATF_NOFLAGS
30358 , 0, 
30359 off£tof
30360 (\19
30361 NRF»qu\92cyInfo
30362
30363 äequ\92cyBªd_Li¡
30364 ),
30365
30366 21 (
30367 ASN_TAG_CLASS_CONTEXT
30368  | (1 << 2)),
30369
30370 23 &
30371 a¢_DEF_NRF»qu\92cyBªd_Li¡
30372 ,
30373
30374 29 { 
30375 ATF_POINTER
30376 , 1, 
30377 off£tof
30378 (\19
30379 NRF»qu\92cyInfo
30380
30381 äequ\92cyShiá7p5khz
30382 ),
30383
30384 30 (
30385 ASN_TAG_CLASS_CONTEXT
30386  | (2 << 2)),
30387
30388 32 &
30389 a¢_DEF_NRF»qu\92cyShiá7p5khz
30390 ,
30391
30392 39 \18cڡ \12
30393         ga¢_MAP_NRF»qu\92cyInfo_oms_1
30394 [] = { 2 };
30395
30396 40 \18cڡ 
30397 b\94_\8ev_\8fg_t
30398  
30399         ga¢_DEF_NRF»qu\92cyInfo_\8fgs_1
30400 [] = {
30401
30402 41 (
30403 ASN_TAG_CLASS_UNIVERSAL
30404  | (16 << 2))
30405
30406 43 \18cڡ 
30407 a¢_TYPE_\8fg2memb\94_t
30408  
30409         ga¢_MAP_NRF»qu\92cyInfo_\8fg2\96_1
30410 [] = {
30411
30412 44 { (
30413 ASN_TAG_CLASS_CONTEXT
30414  | (0 << 2)), 0, 0, 0 },
30415
30416 45 { (
30417 ASN_TAG_CLASS_CONTEXT
30418  | (1 << 2)), 1, 0, 0 },
30419
30420 46 { (
30421 ASN_TAG_CLASS_CONTEXT
30422  | (2 << 2)), 2, 0, 0 }
30423
30424 48 \18
30425 a¢_SEQUENCE_¥ecifics_t
30426  
30427         ga¢_SPC_NRF»qu\92cyInfo_¥ecs_1
30428  = {
30429
30430 49 \17(\19
30431 NRF»qu\92cyInfo
30432 ),
30433
30434 50 
30435 off£tof
30436 (\19
30437 NRF»qu\92cyInfo
30438
30439 _a¢_ùx
30440 ),
30441
30442 51 
30443 a¢_MAP_NRF»qu\92cyInfo_\8fg2\96_1
30444 ,
30445
30446 53 
30447 a¢_MAP_NRF»qu\92cyInfo_oms_1
30448 ,
30449
30450 57 
30451 a¢_TYPE_desü\9dtÜ_t
30452  
30453         ga¢_DEF_NRF»qu\92cyInfo
30454  = {
30455
30456 60 &
30457 a¢_OP_SEQUENCE
30458 ,
30459
30460 61 
30461 a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
30462 ,
30463
30464 62 \17(
30465 a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
30466 )
30467
30468 63 /\17(
30469 a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
30470 [0]),
30471
30472 64 
30473 a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
30474 ,
30475
30476 65 \17(
30477 a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
30478 )
30479
30480 66 /\17(
30481 a¢_DEF_NRF»qu\92cyInfo_\8fgs_1
30482 [0]),
30483
30484 67 { 0, 0, 
30485 SEQUENCE_cÚ¡¿\9at
30486  },
30487
30488 68 
30489 a¢_MBR_NRF»qu\92cyInfo_1
30490 ,
30491
30492 70 &
30493 a¢_SPC_NRF»qu\92cyInfo_¥ecs_1
30494
30495
30496         @NRFrequencyShift7p5khz.c
30497
30498\ 2
30499         ~"NRF»qu\92cyShiá7p5khz.h
30500 "
30501
30502 14 
30503 a¢_³r_cÚ¡¿\9ats_t
30504  
30505 a¢_PER_ty³_NRF»qu\92cyShiá7p5khz_cÚ¡r_1
30506  
30507         gCC_NOTUSED
30508  = {
30509
30510 15 { 
30511 APC_CONSTRAINED
30512  | 
30513 APC_EXTENSIBLE
30514 , 1, 1, 0, 1 } ,
30515
30516 16 { 
30517 APC_UNCONSTRAINED
30518 , -1, -1, 0, 0 },
30519
30520 19 \18cڡ 
30521 a¢_INTEGER_\92um_m­_t
30522  
30523         ga¢_MAP_NRF»qu\92cyShiá7p5khz_v®ue2\92um_1
30524 [] = {
30525
30526 24 \18cڡ \1d\12
30527         ga¢_MAP_NRF»qu\92cyShiá7p5khz_\92um2v®ue_1
30528 [] = {
30529
30530 29 cڡ 
30531 a¢_INTEGER_¥ecifics_t
30532  
30533         ga¢_SPC_NRF»qu\92cyShiá7p5khz_¥ecs_1
30534  = {
30535
30536 30 
30537 a¢_MAP_NRF»qu\92cyShiá7p5khz_v®ue2\92um_1
30538 ,
30539
30540 31 
30541 a¢_MAP_NRF»qu\92cyShiá7p5khz_\92um2v®ue_1
30542 ,
30543
30544 38 \18cڡ 
30545 b\94_\8ev_\8fg_t
30546  
30547         ga¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
30548 [] = {
30549
30550 39 (
30551 ASN_TAG_CLASS_UNIVERSAL
30552  | (10 << 2))
30553
30554 41 
30555 a¢_TYPE_desü\9dtÜ_t
30556  
30557         ga¢_DEF_NRF»qu\92cyShiá7p5khz
30558  = {
30559
30560 44 &
30561 a¢_OP_N©iveEnum\94©ed
30562 ,
30563
30564 45 
30565 a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
30566 ,
30567
30568 46 \17(
30569 a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
30570 )
30571
30572 47 /\17(
30573 a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
30574 [0]),
30575
30576 48 
30577 a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
30578 ,
30579
30580 49 \17(
30581 a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
30582 )
30583
30584 50 /\17(
30585 a¢_DEF_NRF»qu\92cyShiá7p5khz_\8fgs_1
30586 [0]),
30587
30588 51 { 0, &
30589 a¢_PER_ty³_NRF»qu\92cyShiá7p5khz_cÚ¡r_1
30590
30591 N©iveEnum\94©ed_cÚ¡¿\9at
30592  },
30593
30594 53 &
30595 a¢_SPC_NRF»qu\92cyShiá7p5khz_¥ecs_1
30596
30597
30598         @NULL.c
30599
30600\ 2
30601         ~<a¢_\9a\8bº®.h
30602 >
30603
30604\ 2
30605         ~<a¢_codecs_´im.h
30606 >
30607
30608\ 2
30609         ~<NULL.h
30610 >
30611
30612\ 2
30613         ~<BOOLEAN.h
30614 >
30615
30616 13 \18cڡ 
30617 b\94_\8ev_\8fg_t
30618  
30619         ga¢_DEF_NULL_\8fgs
30620 [] = {
30621
30622 14 (
30623 ASN_TAG_CLASS_UNIVERSAL
30624  | (5 << 2))
30625
30626 16 
30627 a¢_TYPE_Ý\94©iÚ_t
30628  
30629         ga¢_OP_NULL
30630  = {
30631
30632 17 
30633 BOOLEAN_ä\93
30634 ,
30635
30636 18 
30637 NULL_´\9at
30638 ,
30639
30640 19 
30641 NULL_com·»
30642 ,
30643
30644 20 
30645 BOOLEAN_decode_b\94
30646 ,
30647
30648 21 
30649 NULL_\92code_d\94
30650 ,
30651
30652 22 
30653 NULL_decode_x\94
30654 ,
30655
30656 23 
30657 NULL_\92code_x\94
30658 ,
30659
30660 24 #ifdef 
30661 ASN_DISABLE_OER_SUPPORT
30662
30663
30664 28 
30665 NULL_decode_Ûr
30666 ,
30667
30668 29 
30669 NULL_\92code_Ûr
30670 ,
30671
30672 31 #ifdef 
30673 ASN_DISABLE_PER_SUPPORT
30674
30675
30676 37 
30677 NULL_decode_u³r
30678 ,
30679
30680 38 
30681 NULL_\92code_u³r
30682 ,
30683
30684 39 
30685 NULL_decode_­\94
30686 ,
30687
30688 40 
30689 NULL_\92code_­\94
30690 ,
30691
30692 42 
30693 NULL_¿ndom_f\9el
30694 ,
30695
30696 45 
30697 a¢_TYPE_desü\9dtÜ_t
30698  
30699         ga¢_DEF_NULL
30700  = {
30701
30702 48 &
30703 a¢_OP_NULL
30704 ,
30705
30706 49 
30707 a¢_DEF_NULL_\8fgs
30708 ,
30709
30710 50 \17(
30711 a¢_DEF_NULL_\8fgs
30712 ) / \17(asn_DEF_NULL_tags[0]),
30713
30714 51 
30715 a¢_DEF_NULL_\8fgs
30716 ,
30717
30718 52 \17(
30719 a¢_DEF_NULL_\8fgs
30720 ) / \17(asn_DEF_NULL_tags[0]),
30721
30722 53 { 0, 0, 
30723 a¢_g\92\94ic_no_cÚ¡¿\9at
30724  },
30725
30726 58 
30727 a¢_\92c_rv®_t
30728
30729
30730 59 
30731         $NULL_\92code_d\94
30732 (cڡ 
30733 a¢_TYPE_desü\9dtÜ_t
30734  *
30735 td
30736 , cڡ \1e*
30737 ±r
30738\12
30739 \8fg_mode
30740 ,
30741
30742 60 
30743 b\94_\8ev_\8fg_t
30744  
30745 \8fg
30746
30747 a¢_­p_cÚsume_by\8bs_f
30748  *
30749 cb
30750\1e*
30751 ­p_key
30752 ) {
30753
30754 61 
30755 a¢_\92c_rv®_t
30756  
30757 \94
30758  = {0,0,0};
30759
30760 63 
30761 \94
30762 .
30763 \92coded
30764  = 
30765         `d\94_wr\99e_\8fgs
30766 (
30767 td
30768 , 0, 
30769 \8fg_mode
30770 , 0, 
30771 \8fg
30772
30773 cb
30774
30775 ­p_key
30776 );
30777
30778 64 if(
30779 \94
30780 .
30781 \92coded
30782  == -1) {
30783
30784 65 
30785 \94
30786 .
30787 ç\9eed_ty³
30788  = 
30789 td
30790 ;
30791
30792 66 
30793 \94
30794 .
30795 ¡ruùu»_±r
30796  = 
30797 ±r
30798 ;
30799
30800 69 
30801         `ASN__ENCODED_OK
30802 (
30803 \94
30804 );
30805
30806 70 
30807         }
30808 }
30809
30810 72 
30811 a¢_\92c_rv®_t
30812
30813
30814 73 
30815         $NULL_\92code_x\94
30816 (cڡ 
30817 a¢_TYPE_desü\9dtÜ_t
30818  *
30819 td
30820 , cڡ \1e*
30821 ¥\8c
30822\12
30823 \9eev\96
30824 ,
30825
30826 74 \f
30827 x\94_\92cod\94_æags_e
30828  
30829 æags
30830
30831 a¢_­p_cÚsume_by\8bs_f
30832  *
30833 cb
30834 ,
30835
30836 75 \1e*
30837 ­p_key
30838 ) {
30839
30840 76 
30841 a¢_\92c_rv®_t
30842  
30843 \94
30844  = {0,0,0};
30845
30846 78 (\1e)
30847 td
30848 ;
30849
30850 79 (\1e)
30851 ¥\8c
30852 ;
30853
30854 80 (\1e)
30855 \9eev\96
30856 ;
30857
30858 81 (\1e)
30859 æags
30860 ;
30861
30862 82 (\1e)
30863 cb
30864 ;
30865
30866 83 (\1e)
30867 ­p_key
30868 ;
30869
30870 86 
30871 \94
30872 .
30873 \92coded
30874  = 0;
30875
30876 87 
30877         `ASN__ENCODED_OK
30878 (
30879 \94
30880 );
30881
30882 88 
30883         }
30884 }
30885
30886 91 \18\f
30887 x\94_pbd_rv®
30888
30889
30890 92 
30891         $NULL__x\94_body_decode
30892 (cڡ 
30893 a¢_TYPE_desü\9dtÜ_t
30894  *
30895 td
30896\1e*
30897 ¥\8c
30898 ,
30899
30900 93 cڡ \1e*
30901 chunk_buf
30902
30903 size_t
30904  
30905 chunk_size
30906 ) {
30907
30908 94 (\1e)
30909 td
30910 ;
30911
30912 95 (\1e)
30913 ¥\8c
30914 ;
30915
30916 96 (\1e)
30917 chunk_buf
30918 ;
30919
30920 101 if(
30921 chunk_size
30922 )
30923
30924 102 \15 
30925 XPBD_BROKEN_ENCODING
30926 ;
30927
30928 104 \15 
30929 XPBD_BODY_CONSUMED
30930 ;
30931
30932 105 
30933         }
30934 }
30935
30936 107 
30937 a¢_dec_rv®_t
30938
30939
30940 108 
30941         $NULL_decode_x\94
30942 (cڡ 
30943 a¢_codec_ùx_t
30944  *
30945 Ýt_codec_ùx
30946 ,
30947
30948 109 cڡ 
30949 a¢_TYPE_desü\9dtÜ_t
30950  *
30951 td
30952\1e**
30953 ¥\8c
30954 ,
30955
30956 110 cڡ \ 5*
30957 Ýt_mÇme
30958 , cڡ \1e*
30959 buf_±r
30960
30961 size_t
30962  
30963 size
30964 ) {
30965
30966 111 \15 
30967         `x\94_decode_´im\99ive
30968 (
30969 Ýt_codec_ùx
30970
30971 td
30972 ,
30973
30974 112 
30975 ¥\8c
30976\17(
30977 NULL_t
30978 ), 
30979 Ýt_mÇme
30980
30981 buf_±r
30982
30983 size
30984 ,
30985
30986 113 
30987 NULL__x\94_body_decode
30988 );
30989
30990 114 
30991         }
30992 }
30993
30994 117 
30995         $NULL_com·»
30996 (cڡ 
30997 a¢_TYPE_desü\9dtÜ_t
30998  *
30999 td
31000 , cڡ \1e*
31001 a
31002 , cڡ \1e*
31003 b
31004 ) {
31005
31006 118 (\1e)
31007 td
31008 ;
31009
31010 119 (\1e)
31011 a
31012 ;
31013
31014 120 (\1e)
31015 b
31016 ;
31017
31018 122 
31019         }
31020 }
31021
31022 125 
31023         $NULL_´\9at
31024 (cڡ 
31025 a¢_TYPE_desü\9dtÜ_t
31026  *
31027 td
31028 , cڡ \1e*
31029 ¥\8c
31030\12
31031 \9eev\96
31032 ,
31033
31034 126 
31035 a¢_­p_cÚsume_by\8bs_f
31036  *
31037 cb
31038\1e*
31039 ­p_key
31040 ) {
31041
31042 127 (\1e)
31043 td
31044 ;
31045
31046 128 (\1e)
31047 \9eev\96
31048 ;
31049
31050 130 if(
31051 ¥\8c
31052 ) {
31053
31054 131 \15 (
31055         `cb
31056 ("<´e£Á>", 9, 
31057 ­p_key
31058 ) < 0) ? -1 : 0;
31059
31060 133 \15 (
31061         `cb
31062 ("<ab£Á>", 8, 
31063 ­p_key
31064 ) < 0) ? -1 : 0;
31065
31066 135 
31067         }
31068 }
31069
31070 137 #iâdeà
31071 ASN_DISABLE_OER_SUPPORT
31072
31073
31074 139 
31075 a¢_dec_rv®_t
31076
31077
31078 140 
31079         $NULL_decode_Ûr
31080 (cڡ 
31081 a¢_codec_ùx_t
31082  *
31083 Ýt_codec_ùx
31084 ,
31085
31086 141 cڡ 
31087 a¢_TYPE_desü\9dtÜ_t
31088  *
31089 td
31090 ,
31091
31092 142 cڡ 
31093 a¢_Ûr_cÚ¡¿\9ats_t
31094  *
31095 cÚ¡¿\9ats
31096\1e**
31097 ¥\8c
31098 ,
31099
31100 143 cڡ \1e*
31101 ±r
31102
31103 size_t
31104  
31105 size
31106 ) {
31107
31108 144 
31109 a¢_dec_rv®_t
31110  
31111 rv
31112  = {
31113 RC_OK
31114 , 0};
31115
31116 145 (\1e)
31117 Ýt_codec_ùx
31118 ;
31119
31120 146 (\1e)
31121 td
31122 ;
31123
31124 147 (\1e)
31125 cÚ¡¿\9ats
31126 ;
31127
31128 148 (\1e)
31129 ±r
31130 ;
31131
31132 149 (\1e)
31133 size
31134 ;
31135
31136 151 if(!*
31137 ¥\8c
31138 ) {
31139
31140 152 *
31141 ¥\8c
31142  = 
31143         `MALLOC
31144 (\17(
31145 NULL_t
31146 ));
31147
31148 153 if(*
31149 ¥\8c
31150 ) {
31151
31152 154 *(
31153 NULL_t
31154  *)*
31155 ¥\8c
31156  = 0;
31157
31158 156 
31159 ASN__DECODE_FAILED
31160 ;
31161
31162 160 \15 
31163 rv
31164 ;
31165
31166 161 
31167         }
31168 }
31169
31170 163 
31171 a¢_\92c_rv®_t
31172
31173
31174 164 
31175         $NULL_\92code_Ûr
31176 (cڡ 
31177 a¢_TYPE_desü\9dtÜ_t
31178  *
31179 td
31180 ,
31181
31182 165 cڡ 
31183 a¢_Ûr_cÚ¡¿\9ats_t
31184  *
31185 cÚ¡¿\9ats
31186 , cڡ \1e*
31187 ¥\8c
31188 ,
31189
31190 166 
31191 a¢_­p_cÚsume_by\8bs_f
31192  *
31193 cb
31194\1e*
31195 ­p_key
31196 ) {
31197
31198 167 
31199 a¢_\92c_rv®_t
31200  
31201 \94
31202  = {0,0,0};
31203
31204 169 (\1e)
31205 td
31206 ;
31207
31208 170 (\1e)
31209 ¥\8c
31210 ;
31211
31212 171 (\1e)
31213 cÚ¡¿\9ats
31214 ;
31215
31216 172 (\1e)
31217 cb
31218 ;
31219
31220 173 (\1e)
31221 ­p_key
31222 ;
31223
31224 175 
31225 \94
31226 .
31227 \92coded
31228  = 0;
31229
31230 177 
31231         `ASN__ENCODED_OK
31232 (
31233 \94
31234 );
31235
31236 178 
31237         }
31238 }
31239
31240 182 #iâdeà
31241 ASN_DISABLE_PER_SUPPORT
31242
31243
31244 184 
31245 a¢_dec_rv®_t
31246
31247
31248 185 
31249         $NULL_decode_u³r
31250 (cڡ 
31251 a¢_codec_ùx_t
31252  *
31253 Ýt_codec_ùx
31254 ,
31255
31256 186 cڡ 
31257 a¢_TYPE_desü\9dtÜ_t
31258  *
31259 td
31260 ,
31261
31262 187 cڡ 
31263 a¢_³r_cÚ¡¿\9ats_t
31264  *
31265 cÚ¡¿\9ats
31266\1e**
31267 ¥\8c
31268 ,
31269
31270 188 
31271 a¢_³r_d©a_t
31272  *
31273 pd
31274 ) {
31275
31276 189 
31277 a¢_dec_rv®_t
31278  
31279 rv
31280 ;
31281
31282 191 (\1e)
31283 Ýt_codec_ùx
31284 ;
31285
31286 192 (\1e)
31287 td
31288 ;
31289
31290 193 (\1e)
31291 cÚ¡¿\9ats
31292 ;
31293
31294 194 (\1e)
31295 pd
31296 ;
31297
31298 196 if(!*
31299 ¥\8c
31300 ) {
31301
31302 197 *
31303 ¥\8c
31304  = 
31305         `MALLOC
31306 (\17(
31307 NULL_t
31308 ));
31309
31310 198 if(*
31311 ¥\8c
31312 ) {
31313
31314 199 *(
31315 NULL_t
31316  *)*
31317 ¥\8c
31318  = 0;
31319
31320 201 
31321 ASN__DECODE_FAILED
31322 ;
31323
31324 209 
31325 rv
31326 .
31327 code
31328  = 
31329 RC_OK
31330 ;
31331
31332 210 
31333 rv
31334 .
31335 cÚsumed
31336  = 0;
31337
31338 211 \15 
31339 rv
31340 ;
31341
31342 212 
31343         }
31344 }
31345
31346 214 
31347 a¢_\92c_rv®_t
31348
31349
31350 215 
31351         $NULL_\92code_u³r
31352 (cڡ 
31353 a¢_TYPE_desü\9dtÜ_t
31354  *
31355 td
31356 ,
31357
31358 216 cڡ 
31359 a¢_³r_cÚ¡¿\9ats_t
31360  *
31361 cÚ¡¿\9ats
31362 , cڡ \1e*
31363 ¥\8c
31364 ,
31365
31366 217 
31367 a¢_³r_ou\8d_t
31368  *
31369 po
31370 ) {
31371
31372 218 
31373 a¢_\92c_rv®_t
31374  
31375 \94
31376  = {0,0,0};
31377
31378 220 (\1e)
31379 td
31380 ;
31381
31382 221 (\1e)
31383 cÚ¡¿\9ats
31384 ;
31385
31386 222 (\1e)
31387 ¥\8c
31388 ;
31389
31390 223 (\1e)
31391 po
31392 ;
31393
31394 225 
31395 \94
31396 .
31397 \92coded
31398  = 0;
31399
31400 226 
31401         `ASN__ENCODED_OK
31402 (
31403 \94
31404 );
31405
31406 227 
31407         }
31408 }
31409
31410 229 
31411 a¢_dec_rv®_t
31412
31413
31414 230 
31415         $NULL_decode_­\94
31416 (cڡ 
31417 a¢_codec_ùx_t
31418  *
31419 Ýt_codec_ùx
31420 ,
31421
31422 231 cڡ 
31423 a¢_TYPE_desü\9dtÜ_t
31424  *
31425 td
31426 ,
31427
31428 232 cڡ 
31429 a¢_³r_cÚ¡¿\9ats_t
31430  *
31431 cÚ¡¿\9ats
31432\1e**
31433 ¥\8c
31434
31435 a¢_³r_d©a_t
31436  *
31437 pd
31438 ) {
31439
31440 233 
31441 a¢_dec_rv®_t
31442  
31443 rv
31444  = {
31445 RC_OK
31446 , 0};
31447
31448 235 (\1e)
31449 Ýt_codec_ùx
31450 ;
31451
31452 236 (\1e)
31453 td
31454 ;
31455
31456 237 (\1e)
31457 cÚ¡¿\9ats
31458 ;
31459
31460 238 (\1e)
31461 pd
31462 ;
31463
31464 240 if(!*
31465 ¥\8c
31466 ) {
31467
31468 241 *
31469 ¥\8c
31470  = 
31471         `MALLOC
31472 (\17(
31473 NULL_t
31474 ));
31475
31476 242 if(*
31477 ¥\8c
31478 ) {
31479
31480 243 *(
31481 NULL_t
31482  *)*
31483 ¥\8c
31484  = 0;
31485
31486 245 
31487 ASN__DECODE_FAILED
31488 ;
31489
31490 253 
31491 rv
31492 .
31493 code
31494  = 
31495 RC_OK
31496 ;
31497
31498 254 
31499 rv
31500 .
31501 cÚsumed
31502  = 0;
31503
31504 255 \15 
31505 rv
31506 ;
31507
31508 256 
31509         }
31510 }
31511
31512 259 
31513 a¢_\92c_rv®_t
31514
31515
31516 260 
31517         $NULL_\92code_­\94
31518 (cڡ 
31519 a¢_TYPE_desü\9dtÜ_t
31520  *
31521 td
31522 ,
31523
31524 261 cڡ 
31525 a¢_³r_cÚ¡¿\9ats_t
31526  *
31527 cÚ¡¿\9ats
31528 ,
31529
31530 262 cڡ \1e*
31531 ¥\8c
31532
31533 a¢_³r_ou\8d_t
31534  *
31535 po
31536 ) {
31537
31538 263 
31539 a¢_\92c_rv®_t
31540  
31541 \94
31542  = {0,0,0};
31543
31544 265 (\1e)
31545 td
31546 ;
31547
31548 266 (\1e)
31549 cÚ¡¿\9ats
31550 ;
31551
31552 267 (\1e)
31553 ¥\8c
31554 ;
31555
31556 268 (\1e)
31557 po
31558 ;
31559
31560 270 
31561 \94
31562 .
31563 \92coded
31564  = 0;
31565
31566 271 
31567         `ASN__ENCODED_OK
31568 (
31569 \94
31570 );
31571
31572 272 
31573         }
31574 }
31575
31576 276 
31577 a¢_¿ndom_f\9el_»suÉ_t
31578
31579
31580 277 
31581         $NULL_¿ndom_f\9el
31582 (cڡ 
31583 a¢_TYPE_desü\9dtÜ_t
31584  *
31585 td
31586\1e**
31587 ¥\8c
31588 ,
31589
31590 278 cڡ 
31591 a¢_\92cod\9ag_cÚ¡¿\9ats_t
31592  *
31593 cڡr
31594 ,
31595
31596 279 
31597 size_t
31598  
31599 max_Ëngth
31600 ) {
31601
31602 280 
31603 a¢_¿ndom_f\9el_»suÉ_t
31604  
31605 »suÉ_ok
31606  = {
31607 ARFILL_OK
31608 , 1};
31609
31610 281 
31611 a¢_¿ndom_f\9el_»suÉ_t
31612  
31613 »suÉ_ç\9eed
31614  = {
31615 ARFILL_FAILED
31616 , 0};
31617
31618 282 
31619 a¢_¿ndom_f\9el_»suÉ_t
31620  
31621 »suÉ_sk\9d³d
31622  = {
31623 ARFILL_SKIPPED
31624 , 0};
31625
31626 283 
31627 NULL_t
31628  *
31629 ¡
31630  = *
31631 ¥\8c
31632 ;
31633
31634 285 (\1e)
31635 td
31636 ;
31637
31638 286 (\1e)
31639 cڡr
31640 ;
31641
31642 288 if(
31643 max_Ëngth
31644  =ð0è\15 
31645 »suÉ_sk\9d³d
31646 ;
31647
31648 290 if(
31649 ¡
31650  =ð
31651 NULL
31652 ) {
31653
31654 291 
31655 ¡
31656  = (
31657 NULL_t
31658  *)(*
31659 ¥\8c
31660  = 
31661         `CALLOC
31662 (1, \17(*st)));
31663
31664 292 if(
31665 ¡
31666  =ð
31667 NULL
31668 ) {
31669
31670 293 \15 
31671 »suÉ_ç\9eed
31672 ;
31673
31674 297 \15 
31675 »suÉ_ok
31676 ;
31677
31678 298 
31679         }
31680 }
31681
31682         @NativeEnumerated.c
31683
31684 12 \ 2
31685         ~<a¢_\9a\8bº®.h
31686 >
31687
31688 13 \ 2
31689         ~<N©iveEnum\94©ed.h
31690 >
31691
31692 18 \18cڡ 
31693 b\94_\8ev_\8fg_t
31694  
31695         ga¢_DEF_N©iveEnum\94©ed_\8fgs
31696 [] = {
31697
31698 19 (
31699 ASN_TAG_CLASS_UNIVERSAL
31700  | (10 << 2))
31701
31702 21 
31703 a¢_TYPE_Ý\94©iÚ_t
31704  
31705         ga¢_OP_N©iveEnum\94©ed
31706  = {
31707
31708 22 
31709 N©iveIÁeg\94\93
31710 ,
31711
31712 23 
31713 N©iveIÁeg\94\9at
31714 ,
31715
31716 24 
31717 N©iveIÁeg\94_com·»
31718 ,
31719
31720 25 
31721 N©iveIÁeg\94_decode_b\94
31722 ,
31723
31724 26 
31725 N©iveIÁeg\94_\92code_d\94
31726 ,
31727
31728 27 
31729 N©iveIÁeg\94_decode_x\94
31730 ,
31731
31732 28 
31733 N©iveEnum\94©ed_\92code_x\94
31734 ,
31735
31736 29 #ifdef 
31737 ASN_DISABLE_OER_SUPPORT
31738
31739
31740 33 
31741 N©iveEnum\94©ed_decode_Ûr
31742 ,
31743
31744 34 
31745 N©iveEnum\94©ed_\92code_Ûr
31746 ,
31747
31748 36 #ifdef 
31749 ASN_DISABLE_PER_SUPPORT
31750
31751
31752 42 
31753 N©iveEnum\94©ed_decode_u³r
31754 ,
31755
31756 43 
31757 N©iveEnum\94©ed_\92code_u³r
31758 ,
31759
31760 44 
31761 N©iveEnum\94©ed_decode_­\94
31762 ,
31763
31764 45 
31765 N©iveEnum\94©ed_\92code_­\94
31766 ,
31767
31768 47 
31769 N©iveEnum\94©ed_¿ndom_f\9el
31770 ,
31771
31772 50 
31773 a¢_TYPE_desü\9dtÜ_t
31774  
31775         ga¢_DEF_N©iveEnum\94©ed
31776  = {
31777
31778 53 &
31779 a¢_OP_N©iveEnum\94©ed
31780 ,
31781
31782 54 
31783 a¢_DEF_N©iveEnum\94©ed_\8fgs
31784 ,
31785
31786 55 \17(
31787 a¢_DEF_N©iveEnum\94©ed_\8fgs
31788 ) / \17(asn_DEF_NativeEnumerated_tags[0]),
31789
31790 56 
31791 a¢_DEF_N©iveEnum\94©ed_\8fgs
31792 ,
31793
31794 57 \17(
31795 a¢_DEF_N©iveEnum\94©ed_\8fgs
31796 ) / \17(asn_DEF_NativeEnumerated_tags[0]),
31797
31798 58 { 0, 0, 
31799 a¢_g\92\94ic_no_cÚ¡¿\9at
31800  },
31801
31802 63 
31803 a¢_\92c_rv®_t
31804
31805
31806 64 
31807         $N©iveEnum\94©ed_\92code_x\94
31808 (cڡ 
31809 a¢_TYPE_desü\9dtÜ_t
31810  *
31811 td
31812 , cڡ \1e*
31813 ¥\8c
31814 ,
31815
31816 65 \12
31817 \9eev\96
31818\f
31819 x\94_\92cod\94_æags_e
31820  
31821 æags
31822 ,
31823
31824 66 
31825 a¢_­p_cÚsume_by\8bs_f
31826  *
31827 cb
31828\1e*
31829 ­p_key
31830 ) {
31831
31832 67 cڡ 
31833 a¢_INTEGER_¥ecifics_t
31834  *
31835 ¥ecs
31836  =
31837
31838 68 (cڡ 
31839 a¢_INTEGER_¥ecifics_t
31840  *)
31841 td
31842 ->
31843 ¥ecifics
31844 ;
31845
31846 69 
31847 a¢_\92c_rv®_t
31848  
31849 \94
31850  = {0,0,0};
31851
31852 70 cڡ \13*
31853 Çtive
31854  = (cڡ \13*)
31855 ¥\8c
31856 ;
31857
31858 71 cڡ 
31859 a¢_INTEGER_\92um_m­_t
31860  *
31861 \96
31862 ;
31863
31864 73 (\1e)
31865 \9eev\96
31866 ;
31867
31868 74 (\1e)
31869 æags
31870 ;
31871
31872 76 if(!
31873 Çtive
31874 è
31875 ASN__ENCODE_FAILED
31876 ;
31877
31878 78 
31879 \96
31880  = 
31881         `INTEGER_m­_v®ue2\92um
31882 (
31883 ¥ecs
31884 , *
31885 Çtive
31886 );
31887
31888 79 if(
31889 \96
31890 ) {
31891
31892 80 
31893 \94
31894 .
31895 \92coded
31896  =
31897
31898 81 
31899         `a¢__fÜm©_to_ÿÎback
31900 (
31901 cb
31902
31903 ­p_key
31904 , "<%s/>", 
31905 \96
31906 ->
31907 \92um_Çme
31908 );
31909
31910 82 if(
31911 \94
31912 .
31913 \92coded
31914  < 0è
31915 ASN__ENCODE_FAILED
31916 ;
31917
31918 83 
31919         `ASN__ENCODED_OK
31920 (
31921 \94
31922 );
31923
31924 85 
31925         `ASN_DEBUG
31926 (
31927
31928 88 
31929 ASN__ENCODE_FAILED
31930 ;
31931
31932 90 
31933         }
31934 }
31935
31936 92 
31937 a¢_dec_rv®_t
31938
31939
31940 93 
31941         $N©iveEnum\94©ed_decode_u³r
31942 (cڡ 
31943 a¢_codec_ùx_t
31944  *
31945 Ýt_codec_ùx
31946 ,
31947
31948 94 cڡ 
31949 a¢_TYPE_desü\9dtÜ_t
31950  *
31951 td
31952 ,
31953
31954 95 cڡ 
31955 a¢_³r_cÚ¡¿\9ats_t
31956  *
31957 cÚ¡¿\9ats
31958 ,
31959
31960 96 \1e**
31961 ¥\8c
31962
31963 a¢_³r_d©a_t
31964  *
31965 pd
31966 ) {
31967
31968 97 cڡ 
31969 a¢_INTEGER_¥ecifics_t
31970  *
31971 ¥ecs
31972  = 
31973 td
31974 ->
31975 ¥ecifics
31976 ;
31977
31978 98 
31979 a¢_dec_rv®_t
31980  
31981 rv®
31982  = { 
31983 RC_OK
31984 , 0 };
31985
31986 99 \13*
31987 Çtive
31988  = (\13*)*
31989 ¥\8c
31990 ;
31991
31992 100 cڡ 
31993 a¢_³r_cÚ¡¿\9at_t
31994  *
31995 ù
31996  = 
31997 NULL
31998 ;
31999
32000 101 \13
32001 v®ue
32002 ;
32003
32004 103 (\1e)
32005 Ýt_codec_ùx
32006 ;
32007
32008 105 if(
32009 cÚ¡¿\9ats
32010 è
32011 ù
32012  = &cÚ¡¿\9ats->
32013 v®ue
32014 ;
32015
32016 106 \vif(
32017 td
32018 ->
32019 \92cod\9ag_cÚ¡¿\9ats
32020 .
32021 ³r_cÚ¡¿\9ats
32022 )
32023
32024 107 
32025 ù
32026  = &
32027 td
32028 ->
32029 \92cod\9ag_cÚ¡¿\9ats
32030 .
32031 ³r_cÚ¡¿\9ats
32032 ->
32033 v®ue
32034 ;
32035
32036 108 \v
32037 ASN__DECODE_FAILED
32038 ;
32039
32040 109 if(!
32041 ¥ecs
32042 è
32043 ASN__DECODE_FAILED
32044 ;
32045
32046 111 if(!
32047 Çtive
32048 ) {
32049
32050 112 
32051 Çtive
32052  = (\13*)(*
32053 ¥\8c
32054  = 
32055         `CALLOC
32056 (1, \17(*native)));
32057
32058 113 if(!
32059 Çtive
32060 è
32061 ASN__DECODE_FAILED
32062 ;
32063
32064 116 
32065         `ASN_DEBUG
32066 ("Decod\9ag % a N©iveEnum\94©ed", 
32067 td
32068 ->
32069 Çme
32070 );
32071
32072 118 if(
32073 ù
32074  && ct->
32075 æags
32076  & 
32077 APC_EXTENSIBLE
32078 ) {
32079
32080 119 \12
32081 \9aext
32082  = 
32083         `³r_g\91_ãw_b\99s
32084 (
32085 pd
32086 , 1);
32087
32088 120 if(
32089 \9aext
32090  < 0è
32091 ASN__DECODE_STARVED
32092 ;
32093
32094 121 if(
32095 \9aext
32096 è
32097 ù
32098  = 0;
32099
32100 124 if(
32101 ù
32102  && ct->
32103 ¿nge_b\99s
32104  >= 0) {
32105
32106 125 
32107 v®ue
32108  = 
32109         `³r_g\91_ãw_b\99s
32110 (
32111 pd
32112
32113 ù
32114 ->
32115 ¿nge_b\99s
32116 );
32117
32118 126 if(
32119 v®ue
32120  < 0è
32121 ASN__DECODE_STARVED
32122 ;
32123
32124 127 if(
32125 v®ue
32126  >ð(
32127 ¥ecs
32128 ->
32129 ex\8bnsiÚ
32130
32131
32132 128 ? 
32133 ¥ecs
32134 ->
32135 ex\8bnsiÚ
32136  - 1 : s³cs->
32137 m­_couÁ
32138 ))
32139
32140 129 
32141 ASN__DECODE_FAILED
32142 ;
32143
32144 131 if(!
32145 ¥ecs
32146 ->
32147 ex\8bnsiÚ
32148 )
32149
32150 132 
32151 ASN__DECODE_FAILED
32152 ;
32153
32154 136 
32155 v®ue
32156  = 
32157         `u³r_g\91_n¢nwn
32158 (
32159 pd
32160 );
32161
32162 137 if(
32163 v®ue
32164  < 0è
32165 ASN__DECODE_STARVED
32166 ;
32167
32168 138 
32169 v®ue
32170  +ð
32171 ¥ecs
32172 ->
32173 ex\8bnsiÚ
32174  - 1;
32175
32176 139 if(
32177 v®ue
32178  >ð
32179 ¥ecs
32180 ->
32181 m­_couÁ
32182 )
32183
32184 140 
32185 ASN__DECODE_FAILED
32186 ;
32187
32188 143 *
32189 Çtive
32190  = 
32191 ¥ecs
32192 ->
32193 v®ue2\92um
32194 [
32195 v®ue
32196 ].
32197 Çt_v®ue
32198 ;
32199
32200 144 
32201         `ASN_DEBUG
32202 ("Decoded % ð%ld", 
32203 td
32204 ->
32205 Çme
32206 , *
32207 Çtive
32208 );
32209
32210 146 \15 
32211 rv®
32212 ;
32213
32214 147 
32215         }
32216 }
32217
32218 150 
32219         $N©iveEnum\94©ed__com·r_v®ue2\92um
32220 (cڡ \1e*
32221 ­
32222 , cڡ \1e*
32223 bp
32224 ) {
32225
32226 151 cڡ 
32227 a¢_INTEGER_\92um_m­_t
32228  *
32229 a
32230  = 
32231 ­
32232 ;
32233
32234 152 cڡ 
32235 a¢_INTEGER_\92um_m­_t
32236  *
32237 b
32238  = 
32239 bp
32240 ;
32241
32242 153 if(
32243 a
32244 ->
32245 Çt_v®ue
32246  =ð
32247 b
32248 ->nat_value)
32249
32250 155 if(
32251 a
32252 ->
32253 Çt_v®ue
32254  < 
32255 b
32256 ->nat_value)
32257
32258 158 
32259         }
32260 }
32261
32262 160 
32263 a¢_\92c_rv®_t
32264
32265
32266 161 
32267         $N©iveEnum\94©ed_\92code_u³r
32268 (cڡ 
32269 a¢_TYPE_desü\9dtÜ_t
32270  *
32271 td
32272 ,
32273
32274 162 cڡ 
32275 a¢_³r_cÚ¡¿\9ats_t
32276  *
32277 cÚ¡¿\9ats
32278 ,
32279
32280 163 cڡ \1e*
32281 ¥\8c
32282
32283 a¢_³r_ou\8d_t
32284  *
32285 po
32286 ) {
32287
32288 164 cڡ 
32289 a¢_INTEGER_¥ecifics_t
32290  *
32291 ¥ecs
32292  =
32293
32294 165 (cڡ 
32295 a¢_INTEGER_¥ecifics_t
32296  *)
32297 td
32298 ->
32299 ¥ecifics
32300 ;
32301
32302 166 
32303 a¢_\92c_rv®_t
32304  
32305 \94
32306  = {0,0,0};
32307
32308 167 \13
32309 Çtive
32310
32311 v®ue
32312 ;
32313
32314 168 cڡ 
32315 a¢_³r_cÚ¡¿\9at_t
32316  *
32317 ù
32318  = 
32319 NULL
32320 ;
32321
32322 169 \12
32323 \9aext
32324  = 0;
32325
32326 170 
32327 a¢_INTEGER_\92um_m­_t
32328  
32329 key
32330 ;
32331
32332 171 cڡ 
32333 a¢_INTEGER_\92um_m­_t
32334  *
32335 kf
32336 ;
32337
32338 173 if(!
32339 ¥\8c
32340 è
32341 ASN__ENCODE_FAILED
32342 ;
32343
32344 174 if(!
32345 ¥ecs
32346 è
32347 ASN__ENCODE_FAILED
32348 ;
32349
32350 176 if(
32351 cÚ¡¿\9ats
32352 è
32353 ù
32354  = &cÚ¡¿\9ats->
32355 v®ue
32356 ;
32357
32358 177 \vif(
32359 td
32360 ->
32361 \92cod\9ag_cÚ¡¿\9ats
32362 .
32363 ³r_cÚ¡¿\9ats
32364 )
32365
32366 178 
32367 ù
32368  = &
32369 td
32370 ->
32371 \92cod\9ag_cÚ¡¿\9ats
32372 .
32373 ³r_cÚ¡¿\9ats
32374 ->
32375 v®ue
32376 ;
32377
32378 179 \v
32379 ASN__ENCODE_FAILED
32380 ;
32381
32382 181 
32383         `ASN_DEBUG
32384 ("Encod\9ag % a N©iveEnum\94©ed", 
32385 td
32386 ->
32387 Çme
32388 );
32389
32390 183 
32391 \94
32392 .
32393 \92coded
32394  = 0;
32395
32396 185 
32397 Çtive
32398  = *(cڡ \13*)
32399 ¥\8c
32400 ;
32401
32402 187 
32403 key
32404 .
32405 Çt_v®ue
32406  = 
32407 Çtive
32408 ;
32409
32410 188 
32411 kf
32412  = 
32413         `b£¬ch
32414 (&
32415 key
32416
32417 ¥ecs
32418 ->
32419 v®ue2\92um
32420 , s³cs->
32421 m­_couÁ
32422 ,
32423
32424 189 \17(
32425 key
32426 ), 
32427 N©iveEnum\94©ed__com·r_v®ue2\92um
32428 );
32429
32430 190 if(!
32431 kf
32432 ) {
32433
32434 191 
32435         `ASN_DEBUG
32436 ("NØ\96em\92\88cÜ»¥Úd tØ%ld", 
32437 Çtive
32438 );
32439
32440 192 
32441 ASN__ENCODE_FAILED
32442 ;
32443
32444 194 
32445 v®ue
32446  = 
32447 kf
32448  - 
32449 ¥ecs
32450 ->
32451 v®ue2\92um
32452 ;
32453
32454 196 if(
32455 ù
32456  && ct->
32457 ¿nge_b\99s
32458  >= 0) {
32459
32460 197 \12
32461 cmpW\99h
32462  = 
32463 ¥ecs
32464 ->
32465 ex\8bnsiÚ
32466
32467
32468 198 ? 
32469 ¥ecs
32470 ->
32471 ex\8bnsiÚ
32472  - 1 : s³cs->
32473 m­_couÁ
32474 ;
32475
32476 199 if(
32477 v®ue
32478  >ð
32479 cmpW\99h
32480 )
32481
32482 200 
32483 \9aext
32484  = 1;
32485
32486 202 if(
32487 ù
32488  && ct->
32489 æags
32490  & 
32491 APC_EXTENSIBLE
32492 ) {
32493
32494 203 if(
32495         `³r_put_ãw_b\99s
32496 (
32497 po
32498
32499 \9aext
32500 , 1))
32501
32502 204 
32503 ASN__ENCODE_FAILED
32504 ;
32505
32506 205 if(
32507 \9aext
32508 è
32509 ù
32510  = 0;
32511
32512 206 } \vif(
32513 \9aext
32514 ) {
32515
32516 207 
32517 ASN__ENCODE_FAILED
32518 ;
32519
32520 210 if(
32521 ù
32522  && ct->
32523 ¿nge_b\99s
32524  >= 0) {
32525
32526 211 if(
32527         `³r_put_ãw_b\99s
32528 (
32529 po
32530
32531 v®ue
32532
32533 ù
32534 ->
32535 ¿nge_b\99s
32536 ))
32537
32538 212 
32539 ASN__ENCODE_FAILED
32540 ;
32541
32542 213 
32543         `ASN__ENCODED_OK
32544 (
32545 \94
32546 );
32547
32548 216 if(!
32549 ¥ecs
32550 ->
32551 ex\8bnsiÚ
32552 )
32553
32554 217 
32555 ASN__ENCODE_FAILED
32556 ;
32557
32558 222 
32559         `ASN_DEBUG
32560 ("value = %ld,\83xt = %d, inext = %d,\84es = %ld",
32561
32562 223 
32563 v®ue
32564
32565 ¥ecs
32566 ->
32567 ex\8bnsiÚ
32568
32569 \9aext
32570 ,
32571
32572 224 
32573 v®ue
32574  - (
32575 \9aext
32576  ? (
32577 ¥ecs
32578 ->
32579 ex\8bnsiÚ
32580  - 1) : 0));
32581
32582 225 if(
32583         `u³r_put_n¢nwn
32584 (
32585 po
32586
32587 v®ue
32588  - (
32589 \9aext
32590  ? (
32591 ¥ecs
32592 ->
32593 ex\8bnsiÚ
32594  - 1) : 0)))
32595
32596 226 
32597 ASN__ENCODE_FAILED
32598 ;
32599
32600 228 
32601         `ASN__ENCODED_OK
32602 (
32603 \94
32604 );
32605
32606 229 
32607         }
32608 }
32609
32610 231 
32611 a¢_dec_rv®_t
32612
32613
32614 232 
32615         $N©iveEnum\94©ed_decode_­\94
32616 (cڡ 
32617 a¢_codec_ùx_t
32618  *
32619 Ýt_codec_ùx
32620 ,
32621
32622 233 cڡ 
32623 a¢_TYPE_desü\9dtÜ_t
32624  *
32625 td
32626 ,
32627
32628 234 cڡ 
32629 a¢_³r_cÚ¡¿\9ats_t
32630  *
32631 cÚ¡¿\9ats
32632 ,
32633
32634 235 \1e**
32635 ¥\8c
32636
32637 a¢_³r_d©a_t
32638  *
32639 pd
32640 ) {
32641
32642 236 cڡ 
32643 a¢_INTEGER_¥ecifics_t
32644  *
32645 ¥ecs
32646  = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
32647 td
32648 ->
32649 ¥ecifics
32650 ;
32651
32652 237 
32653 a¢_dec_rv®_t
32654  
32655 rv®
32656  = { 
32657 RC_OK
32658 , 0 };
32659
32660 238 \13*
32661 Çtive
32662  = (\13*)*
32663 ¥\8c
32664 ;
32665
32666 239 cڡ 
32667 a¢_³r_cÚ¡¿\9at_t
32668  *
32669 ù
32670  = 
32671 NULL
32672 ;
32673
32674 240 \13
32675 v®ue
32676 ;
32677
32678 242 (\1e)
32679 Ýt_codec_ùx
32680 ;
32681
32682 244 if(
32683 cÚ¡¿\9ats
32684 è
32685 ù
32686  = &cÚ¡¿\9ats->
32687 v®ue
32688 ;
32689
32690 245 \vif(
32691 td
32692 ->
32693 \92cod\9ag_cÚ¡¿\9ats
32694 .
32695 ³r_cÚ¡¿\9ats
32696 )
32697
32698 246 
32699 ù
32700  = &
32701 td
32702 ->
32703 \92cod\9ag_cÚ¡¿\9ats
32704 .
32705 ³r_cÚ¡¿\9ats
32706 ->
32707 v®ue
32708 ;
32709
32710 247 \v
32711 ASN__DECODE_FAILED
32712 ;
32713
32714 248 if(!
32715 ¥ecs
32716 è
32717 ASN__DECODE_FAILED
32718 ;
32719
32720 250 if(!
32721 Çtive
32722 ) {
32723
32724 251 
32725 Çtive
32726  = (\13*)(*
32727 ¥\8c
32728  = 
32729         `CALLOC
32730 (1, \17(*native)));
32731
32732 252 if(!
32733 Çtive
32734 è
32735 ASN__DECODE_FAILED
32736 ;
32737
32738 255 
32739         `ASN_DEBUG
32740 ("Decod\9ag % a N©iveEnum\94©ed", 
32741 td
32742 ->
32743 Çme
32744 );
32745
32746 257 if(
32747 ù
32748  && ct->
32749 æags
32750  & 
32751 APC_EXTENSIBLE
32752 ) {
32753
32754 258 \12
32755 \9aext
32756  = 
32757         `³r_g\91_ãw_b\99s
32758 (
32759 pd
32760 , 1);
32761
32762 259 if(
32763 \9aext
32764  < 0è
32765 ASN__DECODE_STARVED
32766 ;
32767
32768 260 if(
32769 \9aext
32770 è
32771 ù
32772  = 0;
32773
32774 264 if(
32775 ù
32776  && ct->
32777\94_bound
32778  >= 255) {
32779
32780 265 \12
32781 ·dd\9ag
32782  = 0;
32783
32784 266 
32785 ·dd\9ag
32786  = (8 - (
32787 pd
32788 ->
32789 moved
32790  % 8)) % 8;
32791
32792 267 
32793         `ASN_DEBUG
32794 ("FÜ N©iveEnum\94©ed %s,off£tð%lu Padd\9ag b\99 ð%d", 
32795 td
32796 ->
32797 Çme
32798
32799 pd
32800 ->
32801 moved
32802
32803 ·dd\9ag
32804 );
32805
32806 268 
32807         `ASN_DEBUG
32808 ("FÜ N©iveEnum\94©ed %s, uµ\94 bound = %lu", 
32809 td
32810 ->
32811 Çme
32812
32813 ù
32814 ->
32815\94_bound
32816 );
32817
32818 269 if(
32819 ·dd\9ag
32820  > 0)
32821
32822 270 
32823         `³r_g\91_ãw_b\99s
32824 (
32825 pd
32826
32827 ·dd\9ag
32828 );
32829
32830 273 if(
32831 ù
32832  && ct->
32833 ¿nge_b\99s
32834  >= 0) {
32835
32836 274 
32837 v®ue
32838  = 
32839         `³r_g\91_ãw_b\99s
32840 (
32841 pd
32842
32843 ù
32844 ->
32845 ¿nge_b\99s
32846 );
32847
32848 275 if(
32849 v®ue
32850  < 0è
32851 ASN__DECODE_STARVED
32852 ;
32853
32854 276 if(
32855 v®ue
32856  >ð(
32857 ¥ecs
32858 ->
32859 ex\8bnsiÚ
32860
32861
32862 277 ? 
32863 ¥ecs
32864 ->
32865 ex\8bnsiÚ
32866  - 1 : s³cs->
32867 m­_couÁ
32868 ))
32869
32870 278 
32871 ASN__DECODE_FAILED
32872 ;
32873
32874 280 if(!
32875 ¥ecs
32876 ->
32877 ex\8bnsiÚ
32878 )
32879
32880 281 
32881 ASN__DECODE_FAILED
32882 ;
32883
32884 285 
32885 v®ue
32886  = 
32887         `u³r_g\91_n¢nwn
32888 (
32889 pd
32890 );
32891
32892 286 if(
32893 v®ue
32894  < 0è
32895 ASN__DECODE_STARVED
32896 ;
32897
32898 287 
32899 v®ue
32900  +ð
32901 ¥ecs
32902 ->
32903 ex\8bnsiÚ
32904  - 1;
32905
32906 288 if(
32907 v®ue
32908  >ð
32909 ¥ecs
32910 ->
32911 m­_couÁ
32912 )
32913
32914 289 
32915 ASN__DECODE_FAILED
32916 ;
32917
32918 292 *
32919 Çtive
32920  = 
32921 ¥ecs
32922 ->
32923 v®ue2\92um
32924 [
32925 v®ue
32926 ].
32927 Çt_v®ue
32928 ;
32929
32930 293 
32931         `ASN_DEBUG
32932 ("Decoded % ð%ld", 
32933 td
32934 ->
32935 Çme
32936 , *
32937 Çtive
32938 );
32939
32940 295 \15 
32941 rv®
32942 ;
32943
32944 296 
32945         }
32946 }
32947
32948 298 
32949 a¢_\92c_rv®_t
32950
32951
32952 299 
32953         $N©iveEnum\94©ed_\92code_­\94
32954 (cڡ 
32955 a¢_TYPE_desü\9dtÜ_t
32956  *
32957 td
32958 ,
32959
32960 300 cڡ 
32961 a¢_³r_cÚ¡¿\9ats_t
32962  *
32963 cÚ¡¿\9ats
32964 ,
32965
32966 301 cڡ \1e*
32967 ¥\8c
32968
32969 a¢_³r_ou\8d_t
32970  *
32971 po
32972 ) {
32973
32974 302 cڡ 
32975 a¢_INTEGER_¥ecifics_t
32976  *
32977 ¥ecs
32978  = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
32979 td
32980 ->
32981 ¥ecifics
32982 ;
32983
32984 303 
32985 a¢_\92c_rv®_t
32986  
32987 \94
32988  = {0,0,0};
32989
32990 304 \13
32991 Çtive
32992
32993 v®ue
32994 ;
32995
32996 305 cڡ 
32997 a¢_³r_cÚ¡¿\9at_t
32998  *
32999 ù
33000  = 
33001 NULL
33002 ;
33003
33004 306 \12
33005 \9aext
33006  = 0;
33007
33008 307 
33009 a¢_INTEGER_\92um_m­_t
33010  
33011 key
33012 ;
33013
33014 308 
33015 a¢_INTEGER_\92um_m­_t
33016  *
33017 kf
33018 ;
33019
33020 310 if(!
33021 ¥\8c
33022 è
33023 ASN__ENCODE_FAILED
33024 ;
33025
33026 311 if(!
33027 ¥ecs
33028 è
33029 ASN__ENCODE_FAILED
33030 ;
33031
33032 313 if(
33033 cÚ¡¿\9ats
33034 è
33035 ù
33036  = &cÚ¡¿\9ats->
33037 v®ue
33038 ;
33039
33040 314 \vif(
33041 td
33042 ->
33043 \92cod\9ag_cÚ¡¿\9ats
33044 .
33045 ³r_cÚ¡¿\9ats
33046 )
33047
33048 315 
33049 ù
33050  = &
33051 td
33052 ->
33053 \92cod\9ag_cÚ¡¿\9ats
33054 .
33055 ³r_cÚ¡¿\9ats
33056 ->
33057 v®ue
33058 ;
33059
33060 316 \v
33061 ASN__ENCODE_FAILED
33062 ;
33063
33064 318 
33065         `ASN_DEBUG
33066 ("Encod\9ag % a N©iveEnum\94©ed", 
33067 td
33068 ->
33069 Çme
33070 );
33071
33072 320 
33073 \94
33074 .
33075 \92coded
33076  = 0;
33077
33078 322 
33079 Çtive
33080  = *(cڡ \13*)
33081 ¥\8c
33082 ;
33083
33084 323 if(
33085 Çtive
33086  < 0è
33087 ASN__ENCODE_FAILED
33088 ;
33089
33090 325 
33091 key
33092 .
33093 Çt_v®ue
33094  = 
33095 Çtive
33096 ;
33097
33098 326 
33099 kf
33100  = 
33101         `b£¬ch
33102 (&
33103 key
33104
33105 ¥ecs
33106 ->
33107 v®ue2\92um
33108 , s³cs->
33109 m­_couÁ
33110 ,
33111
33112 327 \17(
33113 key
33114 ), 
33115 N©iveEnum\94©ed__com·r_v®ue2\92um
33116 );
33117
33118 328 if(!
33119 kf
33120 ) {
33121
33122 329 
33123         `ASN_DEBUG
33124 ("NØ\96em\92\88cÜ»¥Úd tØ%ld", 
33125 Çtive
33126 );
33127
33128 330 
33129 ASN__ENCODE_FAILED
33130 ;
33131
33132 332 
33133 v®ue
33134  = 
33135 kf
33136  - 
33137 ¥ecs
33138 ->
33139 v®ue2\92um
33140 ;
33141
33142 334 if(
33143 ù
33144  && ct->
33145 ¿nge_b\99s
33146  >= 0) {
33147
33148 335 \12
33149 cmpW\99h
33150  = 
33151 ¥ecs
33152 ->
33153 ex\8bnsiÚ
33154
33155
33156 336 ? 
33157 ¥ecs
33158 ->
33159 ex\8bnsiÚ
33160  - 1 : s³cs->
33161 m­_couÁ
33162 ;
33163
33164 337 if(
33165 v®ue
33166  >ð
33167 cmpW\99h
33168 )
33169
33170 338 
33171 \9aext
33172  = 1;
33173
33174 340 if(
33175 ù
33176  && ct->
33177 æags
33178  & 
33179 APC_EXTENSIBLE
33180 ) {
33181
33182 341 if(
33183         `³r_put_ãw_b\99s
33184 (
33185 po
33186
33187 \9aext
33188 , 1))
33189
33190 342 
33191 ASN__ENCODE_FAILED
33192 ;
33193
33194 343 if(
33195 \9aext
33196 è
33197 ù
33198  = 0;
33199
33200 344 } \vif(
33201 \9aext
33202 ) {
33203
33204 345 
33205 ASN__ENCODE_FAILED
33206 ;
33207
33208 348 if(
33209 ù
33210  && ct->
33211 ¿nge_b\99s
33212  >= 0) {
33213
33214 349 if(
33215         `³r_put_ãw_b\99s
33216 (
33217 po
33218
33219 v®ue
33220
33221 ù
33222 ->
33223 ¿nge_b\99s
33224 ))
33225
33226 350 
33227 ASN__ENCODE_FAILED
33228 ;
33229
33230 351 
33231         `ASN__ENCODED_OK
33232 (
33233 \94
33234 );
33235
33236 354 if(!
33237 ¥ecs
33238 ->
33239 ex\8bnsiÚ
33240 )
33241
33242 355 
33243 ASN__ENCODE_FAILED
33244 ;
33245
33246 360 
33247         `ASN_DEBUG
33248 ("value = %ld,\83xt = %d, inext = %d,\84es = %ld",
33249
33250 361 
33251 v®ue
33252
33253 ¥ecs
33254 ->
33255 ex\8bnsiÚ
33256
33257 \9aext
33258 ,
33259
33260 362 
33261 v®ue
33262  - (
33263 \9aext
33264  ? (
33265 ¥ecs
33266 ->
33267 ex\8bnsiÚ
33268  - 1) : 0));
33269
33270 363 if(
33271         `u³r_put_n¢nwn
33272 (
33273 po
33274
33275 v®ue
33276  - (
33277 \9aext
33278  ? (
33279 ¥ecs
33280 ->
33281 ex\8bnsiÚ
33282  - 1) : 0)))
33283
33284 364 
33285 ASN__ENCODE_FAILED
33286 ;
33287
33288 366 
33289         `ASN__ENCODED_OK
33290 (
33291 \94
33292 );
33293
33294 367 
33295         }
33296 }
33297
33298         @NativeInteger.c
33299
33300 13 \ 2
33301         ~<a¢_\9a\8bº®.h
33302 >
33303
33304 14 \ 2
33305         ~<N©iveIÁeg\94.h
33306 >
33307
33308 19 \18cڡ 
33309 b\94_\8ev_\8fg_t
33310  
33311         ga¢_DEF_N©iveIÁeg\94_\8fgs
33312 [] = {
33313
33314 20 (
33315 ASN_TAG_CLASS_UNIVERSAL
33316  | (2 << 2))
33317
33318 22 
33319 a¢_TYPE_Ý\94©iÚ_t
33320  
33321         ga¢_OP_N©iveIÁeg\94
33322  = {
33323
33324 23 
33325 N©iveIÁeg\94\93
33326 ,
33327
33328 24 
33329 N©iveIÁeg\94\9at
33330 ,
33331
33332 25 
33333 N©iveIÁeg\94_com·»
33334 ,
33335
33336 26 
33337 N©iveIÁeg\94_decode_b\94
33338 ,
33339
33340 27 
33341 N©iveIÁeg\94_\92code_d\94
33342 ,
33343
33344 28 
33345 N©iveIÁeg\94_decode_x\94
33346 ,
33347
33348 29 
33349 N©iveIÁeg\94_\92code_x\94
33350 ,
33351
33352 30 #ifdef 
33353 ASN_DISABLE_OER_SUPPORT
33354
33355
33356 34 
33357 N©iveIÁeg\94_decode_Ûr
33358 ,
33359
33360 35 
33361 N©iveIÁeg\94_\92code_Ûr
33362 ,
33363
33364 37 #ifdef 
33365 ASN_DISABLE_PER_SUPPORT
33366
33367
33368 43 
33369 N©iveIÁeg\94_decode_u³r
33370 ,
33371
33372 44 
33373 N©iveIÁeg\94_\92code_u³r
33374 ,
33375
33376 45 
33377 N©iveIÁeg\94_decode_­\94
33378 ,
33379
33380 46 
33381 N©iveIÁeg\94_\92code_­\94
33382 ,
33383
33384 48 
33385 N©iveIÁeg\94_¿ndom_f\9el
33386 ,
33387
33388 51 
33389 a¢_TYPE_desü\9dtÜ_t
33390  
33391         ga¢_DEF_N©iveIÁeg\94
33392  = {
33393
33394 54 &
33395 a¢_OP_N©iveIÁeg\94
33396 ,
33397
33398 55 
33399 a¢_DEF_N©iveIÁeg\94_\8fgs
33400 ,
33401
33402 56 \17(
33403 a¢_DEF_N©iveIÁeg\94_\8fgs
33404 ) / \17(asn_DEF_NativeInteger_tags[0]),
33405
33406 57 
33407 a¢_DEF_N©iveIÁeg\94_\8fgs
33408 ,
33409
33410 58 \17(
33411 a¢_DEF_N©iveIÁeg\94_\8fgs
33412 ) / \17(asn_DEF_NativeInteger_tags[0]),
33413
33414 59 { 0, 0, 
33415 a¢_g\92\94ic_no_cÚ¡¿\9at
33416  },
33417
33418 67 
33419 a¢_dec_rv®_t
33420
33421
33422 68 
33423         $N©iveIÁeg\94_decode_b\94
33424 (cڡ 
33425 a¢_codec_ùx_t
33426  *
33427 Ýt_codec_ùx
33428 ,
33429
33430 69 cڡ 
33431 a¢_TYPE_desü\9dtÜ_t
33432  *
33433 td
33434\1e**
33435 n\9at_±r
33436 ,
33437
33438 70 cڡ \1e*
33439 buf_±r
33440
33441 size_t
33442  
33443 size
33444\12
33445 \8fg_mode
33446 ) {
33447
33448 71 cڡ 
33449 a¢_INTEGER_¥ecifics_t
33450  *
33451 ¥ecs
33452  =
33453
33454 72 (cڡ 
33455 a¢_INTEGER_¥ecifics_t
33456  *)
33457 td
33458 ->
33459 ¥ecifics
33460 ;
33461
33462 73 \13*
33463 Çtive
33464  = (\13*)*
33465 n\9at_±r
33466 ;
33467
33468 74 
33469 a¢_dec_rv®_t
33470  
33471 rv®
33472 ;
33473
33474 75 
33475 b\94_\8ev_Ën_t
33476  
33477 Ëngth
33478 ;
33479
33480 80 if(
33481 Çtive
33482  =ð
33483 NULL
33484 ) {
33485
33486 81 
33487 Çtive
33488  = (\13*)(*
33489 n\9at_±r
33490  = 
33491         `CALLOC
33492 (1, \17(*native)));
33493
33494 82 if(
33495 Çtive
33496  =ð
33497 NULL
33498 ) {
33499
33500 83 
33501 rv®
33502 .
33503 code
33504  = 
33505 RC_FAIL
33506 ;
33507
33508 84 
33509 rv®
33510 .
33511 cÚsumed
33512  = 0;
33513
33514 85 \15 
33515 rv®
33516 ;
33517
33518 89 
33519         `ASN_DEBUG
33520 ("Decoding %s\87s INTEGER (tm=%d)",
33521
33522 90 
33523 td
33524 ->
33525 Çme
33526
33527 \8fg_mode
33528 );
33529
33530 95 
33531 rv®
33532  = 
33533         `b\94_check_\8fgs
33534 (
33535 Ýt_codec_ùx
33536
33537 td
33538 , 0, 
33539 buf_±r
33540
33541 size
33542 ,
33543
33544 96 
33545 \8fg_mode
33546 , 0, &
33547 Ëngth
33548 , 0);
33549
33550 97 if(
33551 rv®
33552 .
33553 code
33554  !ð
33555 RC_OK
33556 )
33557
33558 98 \15 
33559 rv®
33560 ;
33561
33562 100 
33563         `ASN_DEBUG
33564 ("% Ëngth i %d by\8bs", 
33565 td
33566 ->
33567 Çme
33568 , (\12)
33569 Ëngth
33570 );
33571
33572 105 
33573 buf_±r
33574  = ((cÚ¡ \ 5*)buf_±rè+ 
33575 rv®
33576 .
33577 cÚsumed
33578 ;
33579
33580 106 
33581 size
33582  -ð
33583 rv®
33584 .
33585 cÚsumed
33586 ;
33587
33588 107 if(
33589 Ëngth
33590  > (
33591 b\94_\8ev_Ën_t
33592 )
33593 size
33594 ) {
33595
33596 108 
33597 rv®
33598 .
33599 code
33600  = 
33601 RC_WMORE
33602 ;
33603
33604 109 
33605 rv®
33606 .
33607 cÚsumed
33608  = 0;
33609
33610 110 \15 
33611 rv®
33612 ;
33613
33614 119 
33615 INTEGER_t
33616  
33617 tmp
33618 ;
33619
33620 121 cڡ \1e*
33621 cڡbuf
33622 ;
33623
33624 122 \1e*
33625 nÚcÚ¡buf
33626 ;
33627
33628 123 } 
33629 uncڡ_buf
33630 ;
33631
33632 124 \13
33633 l
33634 ;
33635
33636 126 
33637 uncڡ_buf
33638 .
33639 cڡbuf
33640  = 
33641 buf_±r
33642 ;
33643
33644 127 
33645 tmp
33646 .
33647 buf
33648  = (
33649 u\9at8_t
33650  *)
33651 uncڡ_buf
33652 .
33653 nÚcÚ¡buf
33654 ;
33655
33656 128 
33657 tmp
33658 .
33659 size
33660  = 
33661 Ëngth
33662 ;
33663
33664 130 if((
33665 ¥ecs
33666 &&¥ecs->
33667 f\9bld_unsigÃd
33668 )
33669
33670 131 ? 
33671         `a¢_INTEGER2ulÚg
33672 (&
33673 tmp
33674 , (\1d\13*)&
33675 l
33676 )
33677
33678 132 : 
33679         `a¢_INTEGER2lÚg
33680 (&
33681 tmp
33682 , &
33683 l
33684 )) {
33685
33686 133 
33687 rv®
33688 .
33689 code
33690  = 
33691 RC_FAIL
33692 ;
33693
33694 134 
33695 rv®
33696 .
33697 cÚsumed
33698  = 0;
33699
33700 135 \15 
33701 rv®
33702 ;
33703
33704 138 *
33705 Çtive
33706  = 
33707 l
33708 ;
33709
33710 141 
33711 rv®
33712 .
33713 code
33714  = 
33715 RC_OK
33716 ;
33717
33718 142 
33719 rv®
33720 .
33721 cÚsumed
33722  +ð
33723 Ëngth
33724 ;
33725
33726 144 
33727         `ASN_DEBUG
33728 ("Took %ld/%ld bytes\81o\83ncode %s (%ld)",
33729
33730 145 (\13)
33731 rv®
33732 .
33733 cÚsumed
33734 , (\13)
33735 Ëngth
33736
33737 td
33738 ->
33739 Çme
33740 , (\13)*
33741 Çtive
33742 );
33743
33744 147 \15 
33745 rv®
33746 ;
33747
33748 148 
33749         }
33750 }
33751
33752 153 
33753 a¢_\92c_rv®_t
33754
33755
33756 154 
33757         $N©iveIÁeg\94_\92code_d\94
33758 (cڡ 
33759 a¢_TYPE_desü\9dtÜ_t
33760  *
33761 sd
33762 , cڡ \1e*
33763 ±r
33764 ,
33765
33766 155 \12
33767 \8fg_mode
33768
33769 b\94_\8ev_\8fg_t
33770  
33771 \8fg
33772 ,
33773
33774 156 
33775 a¢_­p_cÚsume_by\8bs_f
33776  *
33777 cb
33778\1e*
33779 ­p_key
33780 ) {
33781
33782 157 \1d\13
33783 Çtive
33784  = *(cڡ \1d\13*)
33785 ±r
33786 ;
33787
33788 158 
33789 a¢_\92c_rv®_t
33790  
33791 \94
33792  = {0,0,0};
33793
33794 159 
33795 INTEGER_t
33796  
33797 tmp
33798 ;
33799
33800 161 #ifdef 
33801 WORDS_BIGENDIAN
33802
33803
33804 163 
33805 tmp
33806 .
33807 buf
33808  = (
33809 u\9at8_t
33810  *)&
33811 Çtive
33812 ;
33813
33814 164 
33815 tmp
33816 .
33817 size
33818  = \17(
33819 Çtive
33820 );
33821
33822 167 
33823 u\9at8_t
33824  
33825 buf
33826 [\17(
33827 Çtive
33828 )];
33829
33830 168 
33831 u\9at8_t
33832  *
33833 p
33834 ;
33835
33836 171 \ f
33837 p
33838  = 
33839 buf
33840  + \17(bufè- 1;\85 >ðbuf;\85--, 
33841 Çtive
33842  >>= 8)
33843
33844 172 *
33845 p
33846  = (
33847 u\9at8_t
33848 )
33849 Çtive
33850 ;
33851
33852 174 
33853 tmp
33854 .
33855 buf
33856  = buf;
33857
33858 175 
33859 tmp
33860 .
33861 size
33862  = \17(
33863 buf
33864 );
33865
33866 179 
33867 \94
33868  = 
33869         `INTEGER_\92code_d\94
33870 (
33871 sd
33872 , &
33873 tmp
33874
33875 \8fg_mode
33876
33877 \8fg
33878
33879 cb
33880
33881 ­p_key
33882 );
33883
33884 180 if(
33885 \94
33886 .
33887 ¡ruùu»_±r
33888  =ð&
33889 tmp
33890 ) {
33891
33892 181 
33893 \94
33894 .
33895 ¡ruùu»_±r
33896  = 
33897 ±r
33898 ;
33899
33900 183 \15 
33901 \94
33902 ;
33903
33904 184 
33905         }
33906 }
33907
33908 189 
33909 a¢_dec_rv®_t
33910
33911
33912 190 
33913         $N©iveIÁeg\94_decode_x\94
33914 (cڡ 
33915 a¢_codec_ùx_t
33916  *
33917 Ýt_codec_ùx
33918 ,
33919
33920 191 cڡ 
33921 a¢_TYPE_desü\9dtÜ_t
33922  *
33923 td
33924\1e**
33925 ¥\8c
33926 ,
33927
33928 192 cڡ \ 5*
33929 Ýt_mÇme
33930 , cڡ \1e*
33931 buf_±r
33932 ,
33933
33934 193 
33935 size_t
33936  
33937 size
33938 ) {
33939
33940 194 cڡ 
33941 a¢_INTEGER_¥ecifics_t
33942  *
33943 ¥ecs
33944  =
33945
33946 195 (cڡ 
33947 a¢_INTEGER_¥ecifics_t
33948  *)
33949 td
33950 ->
33951 ¥ecifics
33952 ;
33953
33954 196 
33955 a¢_dec_rv®_t
33956  
33957 rv®
33958 ;
33959
33960 197 
33961 INTEGER_t
33962  
33963 ¡
33964 ;
33965
33966 198 \1e*
33967 ¡_±r
33968  = (\1e*)&
33969 ¡
33970 ;
33971
33972 199 \13*
33973 Çtive
33974  = (\13*)*
33975 ¥\8c
33976 ;
33977
33978 201 if(!
33979 Çtive
33980 ) {
33981
33982 202 
33983 Çtive
33984  = (\13*)(*
33985 ¥\8c
33986  = 
33987         `CALLOC
33988 (1, \17(*native)));
33989
33990 203 if(!
33991 Çtive
33992 è
33993 ASN__DECODE_FAILED
33994 ;
33995
33996 206 
33997         `mem£t
33998 (&
33999 ¡
34000 , 0, \17(st));
34001
34002 207 
34003 rv®
34004  = 
34005         `INTEGER_decode_x\94
34006 (
34007 Ýt_codec_ùx
34008
34009 td
34010 , &
34011 ¡_±r
34012 ,
34013
34014 208 
34015 Ýt_mÇme
34016
34017 buf_±r
34018
34019 size
34020 );
34021
34022 209 if(
34023 rv®
34024 .
34025 code
34026  =ð
34027 RC_OK
34028 ) {
34029
34030 210 \13
34031 l
34032 ;
34033
34034 211 if((
34035 ¥ecs
34036 &&¥ecs->
34037 f\9bld_unsigÃd
34038 )
34039
34040 212 ? 
34041         `a¢_INTEGER2ulÚg
34042 (&
34043 ¡
34044 , (\1d\13*)&
34045 l
34046 )
34047
34048 213 : 
34049         `a¢_INTEGER2lÚg
34050 (&
34051 ¡
34052 , &
34053 l
34054 )) {
34055
34056 214 
34057 rv®
34058 .
34059 code
34060  = 
34061 RC_FAIL
34062 ;
34063
34064 215 
34065 rv®
34066 .
34067 cÚsumed
34068  = 0;
34069
34070 217 *
34071 Çtive
34072  = 
34073 l
34074 ;
34075
34076 225 
34077 rv®
34078 .
34079 cÚsumed
34080  = 0;
34081
34082 227 
34083         `ASN_STRUCT_FREE_CONTENTS_ONLY
34084 (
34085 a¢_DEF_INTEGER
34086 , &
34087 ¡
34088 );
34089
34090 228 \15 
34091 rv®
34092 ;
34093
34094 229 
34095         }
34096 }
34097
34098 232 
34099 a¢_\92c_rv®_t
34100
34101
34102 233 
34103         $N©iveIÁeg\94_\92code_x\94
34104 (cڡ 
34105 a¢_TYPE_desü\9dtÜ_t
34106  *
34107 td
34108 , cڡ \1e*
34109 ¥\8c
34110 ,
34111
34112 234 \12
34113 \9eev\96
34114\f
34115 x\94_\92cod\94_æags_e
34116  
34117 æags
34118 ,
34119
34120 235 
34121 a¢_­p_cÚsume_by\8bs_f
34122  *
34123 cb
34124\1e*
34125 ­p_key
34126 ) {
34127
34128 236 cڡ 
34129 a¢_INTEGER_¥ecifics_t
34130  *
34131 ¥ecs
34132  =
34133
34134 237 (cڡ 
34135 a¢_INTEGER_¥ecifics_t
34136  *)
34137 td
34138 ->
34139 ¥ecifics
34140 ;
34141
34142 238 \ 5
34143 sü©ch
34144 [32];
34145
34146 239 
34147 a¢_\92c_rv®_t
34148  
34149 \94
34150  = {0,0,0};
34151
34152 240 cڡ \13*
34153 Çtive
34154  = (cڡ \13*)
34155 ¥\8c
34156 ;
34157
34158 242 (\1e)
34159 \9eev\96
34160 ;
34161
34162 243 (\1e)
34163 æags
34164 ;
34165
34166 245 if(!
34167 Çtive
34168 è
34169 ASN__ENCODE_FAILED
34170 ;
34171
34172 247 
34173 \94
34174 .
34175 \92coded
34176  = 
34177         `¢´\9atf
34178 (
34179 sü©ch
34180\17(scratch),
34181
34182 248 (
34183 ¥ecs
34184  && s³cs->
34185 f\9bld_unsigÃd
34186 )
34187
34188 249 ? "%lu" : "%ld", *
34189 Çtive
34190 );
34191
34192 250 if(
34193 \94
34194 .
34195 \92coded
34196  <ð0 || (
34197 size_t
34198 ër.\92coded >ð\17(
34199 sü©ch
34200 )
34201
34202 251 || 
34203         `cb
34204 (
34205 sü©ch
34206
34207 \94
34208 .
34209 \92coded
34210
34211 ­p_key
34212 ) < 0)
34213
34214 252 
34215 ASN__ENCODE_FAILED
34216 ;
34217
34218 254 
34219         `ASN__ENCODED_OK
34220 (
34221 \94
34222 );
34223
34224 255 
34225         }
34226 }
34227
34228 257 #iâdeà 
34229 ASN_DISABLE_PER_SUPPORT
34230
34231
34232 259 
34233 a¢_dec_rv®_t
34234
34235
34236 260 
34237         $N©iveIÁeg\94_decode_u³r
34238 (cڡ 
34239 a¢_codec_ùx_t
34240  *
34241 Ýt_codec_ùx
34242 ,
34243
34244 261 cڡ 
34245 a¢_TYPE_desü\9dtÜ_t
34246  *
34247 td
34248 ,
34249
34250 262 cڡ 
34251 a¢_³r_cÚ¡¿\9ats_t
34252  *
34253 cÚ¡¿\9ats
34254\1e**
34255 ¥\8c
34256 ,
34257
34258 263 
34259 a¢_³r_d©a_t
34260  *
34261 pd
34262 ) {
34263
34264 264 cڡ 
34265 a¢_INTEGER_¥ecifics_t
34266  *
34267 ¥ecs
34268  =
34269
34270 265 (cڡ 
34271 a¢_INTEGER_¥ecifics_t
34272  *)
34273 td
34274 ->
34275 ¥ecifics
34276 ;
34277
34278 266 
34279 a¢_dec_rv®_t
34280  
34281 rv®
34282 ;
34283
34284 267 \13*
34285 Çtive
34286  = (\13*)*
34287 ¥\8c
34288 ;
34289
34290 268 
34291 INTEGER_t
34292  
34293 tmp\9at
34294 ;
34295
34296 269 \1e*
34297 tmp\9a\8d\8c
34298  = &
34299 tmp\9at
34300 ;
34301
34302 271 (\1e)
34303 Ýt_codec_ùx
34304 ;
34305
34306 272 
34307         `ASN_DEBUG
34308 ("Decod\9ag N©iveIÁeg\94 % (UPER)", 
34309 td
34310 ->
34311 Çme
34312 );
34313
34314 274 if(!
34315 Çtive
34316 ) {
34317
34318 275 
34319 Çtive
34320  = (\13*)(*
34321 ¥\8c
34322  = 
34323         `CALLOC
34324 (1, \17(*native)));
34325
34326 276 if(!
34327 Çtive
34328 è
34329 ASN__DECODE_FAILED
34330 ;
34331
34332 279 
34333         `mem£t
34334 (&
34335 tmp\9at
34336 , 0, \17\81mpint);
34337
34338 280 
34339 rv®
34340  = 
34341         `INTEGER_decode_u³r
34342 (
34343 Ýt_codec_ùx
34344
34345 td
34346
34347 cÚ¡¿\9ats
34348 ,
34349
34350 281 &
34351 tmp\9a\8d\8c
34352
34353 pd
34354 );
34355
34356 282 if(
34357 rv®
34358 .
34359 code
34360  =ð
34361 RC_OK
34362 ) {
34363
34364 283 if((
34365 ¥ecs
34366 &&¥ecs->
34367 f\9bld_unsigÃd
34368 )
34369
34370 284 ? 
34371         `a¢_INTEGER2ulÚg
34372 (&
34373 tmp\9at
34374 , (\1d\13*)
34375 Çtive
34376 )
34377
34378 285 : 
34379         `a¢_INTEGER2lÚg
34380 (&
34381 tmp\9at
34382
34383 Çtive
34384 ))
34385
34386 286 
34387 rv®
34388 .
34389 code
34390  = 
34391 RC_FAIL
34392 ;
34393
34394 288 
34395         `ASN_DEBUG
34396 ("NativeInteger %s got value %ld",
34397
34398 289 
34399 td
34400 ->
34401 Çme
34402 , *
34403 Çtive
34404 );
34405
34406 291 
34407         `ASN_STRUCT_FREE_CONTENTS_ONLY
34408 (
34409 a¢_DEF_INTEGER
34410 , &
34411 tmp\9at
34412 );
34413
34414 293 \15 
34415 rv®
34416 ;
34417
34418 294 
34419         }
34420 }
34421
34422 296 
34423 a¢_\92c_rv®_t
34424
34425
34426 297 
34427         $N©iveIÁeg\94_\92code_u³r
34428 (cڡ 
34429 a¢_TYPE_desü\9dtÜ_t
34430  *
34431 td
34432 ,
34433
34434 298 cڡ 
34435 a¢_³r_cÚ¡¿\9ats_t
34436  *
34437 cÚ¡¿\9ats
34438 ,
34439
34440 299 cڡ \1e*
34441 ¥\8c
34442
34443 a¢_³r_ou\8d_t
34444  *
34445 po
34446 ) {
34447
34448 300 cڡ 
34449 a¢_INTEGER_¥ecifics_t
34450  *
34451 ¥ecs
34452  =
34453
34454 301 (cڡ 
34455 a¢_INTEGER_¥ecifics_t
34456  *)
34457 td
34458 ->
34459 ¥ecifics
34460 ;
34461
34462 302 
34463 a¢_\92c_rv®_t
34464  
34465 \94
34466  = {0,0,0};
34467
34468 303 \13
34469 Çtive
34470 ;
34471
34472 304 
34473 INTEGER_t
34474  
34475 tmp\9at
34476 ;
34477
34478 306 if(!
34479 ¥\8c
34480 è
34481 ASN__ENCODE_FAILED
34482 ;
34483
34484 308 
34485 Çtive
34486  = *(cڡ \13*)
34487 ¥\8c
34488 ;
34489
34490 310 
34491         `ASN_DEBUG
34492 ("Encod\9ag N©iveIÁeg\94 % %ld (UPER)", 
34493 td
34494 ->
34495 Çme
34496
34497 Çtive
34498 );
34499
34500 312 
34501         `mem£t
34502 (&
34503 tmp\9at
34504 , 0, \17(tmpint));
34505
34506 313 if((
34507 ¥ecs
34508 &&¥ecs->
34509 f\9bld_unsigÃd
34510 )
34511
34512 314 ? 
34513         `a¢_ulÚg2INTEGER
34514 (&
34515 tmp\9at
34516
34517 Çtive
34518 )
34519
34520 315 : 
34521         `a¢_lÚg2INTEGER
34522 (&
34523 tmp\9at
34524
34525 Çtive
34526 ))
34527
34528 316 
34529 ASN__ENCODE_FAILED
34530 ;
34531
34532 317 
34533 \94
34534  = 
34535         `INTEGER_\92code_u³r
34536 (
34537 td
34538
34539 cÚ¡¿\9ats
34540 , &
34541 tmp\9at
34542
34543 po
34544 );
34545
34546 318 
34547         `ASN_STRUCT_FREE_CONTENTS_ONLY
34548 (
34549 a¢_DEF_INTEGER
34550 , &
34551 tmp\9at
34552 );
34553
34554 319 \15 
34555 \94
34556 ;
34557
34558 320 
34559         }
34560 }
34561
34562 322 
34563 a¢_dec_rv®_t
34564
34565
34566 323 
34567         $N©iveIÁeg\94_decode_­\94
34568 (cڡ 
34569 a¢_codec_ùx_t
34570  *
34571 Ýt_codec_ùx
34572 ,
34573
34574 324 cڡ 
34575 a¢_TYPE_desü\9dtÜ_t
34576  *
34577 td
34578 ,
34579
34580 325 cڡ 
34581 a¢_³r_cÚ¡¿\9ats_t
34582  *
34583 cÚ¡¿\9ats
34584\1e**
34585 ¥\8c
34586
34587 a¢_³r_d©a_t
34588  *
34589 pd
34590 ) {
34591
34592 327 cڡ 
34593 a¢_INTEGER_¥ecifics_t
34594  *
34595 ¥ecs
34596  = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
34597 td
34598 ->
34599 ¥ecifics
34600 ;
34601
34602 328 
34603 a¢_dec_rv®_t
34604  
34605 rv®
34606 ;
34607
34608 329 \13*
34609 Çtive
34610  = (\13*)*
34611 ¥\8c
34612 ;
34613
34614 330 
34615 INTEGER_t
34616  
34617 tmp\9at
34618 ;
34619
34620 331 \1e*
34621 tmp\9a\8d\8c
34622  = &
34623 tmp\9at
34624 ;
34625
34626 333 (\1e)
34627 Ýt_codec_ùx
34628 ;
34629
34630 334 
34631         `ASN_DEBUG
34632 ("Decod\9ag N©iveIÁeg\94 % (APER)", 
34633 td
34634 ->
34635 Çme
34636 );
34637
34638 336 if(!
34639 Çtive
34640 ) {
34641
34642 337 
34643 Çtive
34644  = (\13*)(*
34645 ¥\8c
34646  = 
34647         `CALLOC
34648 (1, \17(*native)));
34649
34650 338 if(!
34651 Çtive
34652 è
34653 ASN__DECODE_FAILED
34654 ;
34655
34656 341 
34657         `mem£t
34658 (&
34659 tmp\9at
34660 , 0, \17\81mpint);
34661
34662 342 
34663 rv®
34664  = 
34665         `INTEGER_decode_­\94
34666 (
34667 Ýt_codec_ùx
34668
34669 td
34670
34671 cÚ¡¿\9ats
34672 ,
34673
34674 343 &
34675 tmp\9a\8d\8c
34676
34677 pd
34678 );
34679
34680 344 if(
34681 rv®
34682 .
34683 code
34684  =ð
34685 RC_OK
34686 ) {
34687
34688 345 if((
34689 ¥ecs
34690 &&¥ecs->
34691 f\9bld_unsigÃd
34692 )
34693
34694 346 ? 
34695         `a¢_INTEGER2ulÚg
34696 (&
34697 tmp\9at
34698 , (\1d\13*)
34699 Çtive
34700 )
34701
34702 347 : 
34703         `a¢_INTEGER2lÚg
34704 (&
34705 tmp\9at
34706
34707 Çtive
34708 ))
34709
34710 348 
34711 rv®
34712 .
34713 code
34714  = 
34715 RC_FAIL
34716 ;
34717
34718 350 
34719         `ASN_DEBUG
34720 ("NativeInteger %s got value %ld",
34721
34722 351 
34723 td
34724 ->
34725 Çme
34726 , *
34727 Çtive
34728 );
34729
34730 353 
34731         `ASN_STRUCT_FREE_CONTENTS_ONLY
34732 (
34733 a¢_DEF_INTEGER
34734 , &
34735 tmp\9at
34736 );
34737
34738 355 \15 
34739 rv®
34740 ;
34741
34742 356 
34743         }
34744 }
34745
34746 358 
34747 a¢_\92c_rv®_t
34748
34749
34750 359 
34751         $N©iveIÁeg\94_\92code_­\94
34752 (cڡ 
34753 a¢_TYPE_desü\9dtÜ_t
34754  *
34755 td
34756 ,
34757
34758 360 cڡ 
34759 a¢_³r_cÚ¡¿\9ats_t
34760  *
34761 cÚ¡¿\9ats
34762 ,
34763
34764 361 cڡ \1e*
34765 ¥\8c
34766
34767 a¢_³r_ou\8d_t
34768  *
34769 po
34770 ) {
34771
34772 363 cڡ 
34773 a¢_INTEGER_¥ecifics_t
34774  *
34775 ¥ecs
34776  = (cÚ¡\87¢_INTEGER_¥ecifics_\88*)
34777 td
34778 ->
34779 ¥ecifics
34780 ;
34781
34782 364 
34783 a¢_\92c_rv®_t
34784  
34785 \94
34786  = {0,0,0};
34787
34788 365 \13
34789 Çtive
34790 ;
34791
34792 366 
34793 INTEGER_t
34794  
34795 tmp\9at
34796 ;
34797
34798 368 if(!
34799 ¥\8c
34800 è
34801 ASN__ENCODE_FAILED
34802 ;
34803
34804 370 
34805 Çtive
34806  = *(cڡ \13*)
34807 ¥\8c
34808 ;
34809
34810 372 
34811         `ASN_DEBUG
34812 ("Encod\9ag N©iveIÁeg\94 % %ld (APER)", 
34813 td
34814 ->
34815 Çme
34816
34817 Çtive
34818 );
34819
34820 374 
34821         `mem£t
34822 (&
34823 tmp\9at
34824 , 0, \17(tmpint));
34825
34826 375 if((
34827 ¥ecs
34828 &&¥ecs->
34829 f\9bld_unsigÃd
34830 )
34831
34832 376 ? 
34833         `a¢_ulÚg2INTEGER
34834 (&
34835 tmp\9at
34836 , (\1d\13)
34837 Çtive
34838 )
34839
34840 377 : 
34841         `a¢_lÚg2INTEGER
34842 (&
34843 tmp\9at
34844
34845 Çtive
34846 ))
34847
34848 378 
34849 ASN__ENCODE_FAILED
34850 ;
34851
34852 379 
34853 \94
34854  = 
34855         `INTEGER_\92code_­\94
34856 (
34857 td
34858
34859 cÚ¡¿\9ats
34860 , &
34861 tmp\9at
34862
34863 po
34864 );
34865
34866 380 
34867         `ASN_STRUCT_FREE_CONTENTS_ONLY
34868 (
34869 a¢_DEF_INTEGER
34870 , &
34871 tmp\9at
34872 );
34873
34874 381 \15 
34875 \94
34876 ;
34877
34878 382 
34879         }
34880 }
34881
34882 390 
34883         $N©iveIÁeg\94\9at
34884 (cڡ 
34885 a¢_TYPE_desü\9dtÜ_t
34886  *
34887 td
34888 , cڡ \1e*
34889 ¥\8c
34890 ,
34891
34892 391 \12
34893 \9eev\96
34894
34895 a¢_­p_cÚsume_by\8bs_f
34896  *
34897 cb
34898\1e*
34899 ­p_key
34900 ) {
34901
34902 392 cڡ 
34903 a¢_INTEGER_¥ecifics_t
34904  *
34905 ¥ecs
34906  =
34907
34908 393 (cڡ 
34909 a¢_INTEGER_¥ecifics_t
34910  *)
34911 td
34912 ->
34913 ¥ecifics
34914 ;
34915
34916 394 cڡ \13*
34917 Çtive
34918  = (cڡ \13*)
34919 ¥\8c
34920 ;
34921
34922 395 \ 5
34923 sü©ch
34924 [32];
34925
34926 396 \12
34927 »t
34928 ;
34929
34930 398 (\1e)
34931 td
34932 ;
34933
34934 399 (\1e)
34935 \9eev\96
34936 ;
34937
34938 401 if(
34939 Çtive
34940 ) {
34941
34942 402 \13
34943 v®ue
34944  = *
34945 Çtive
34946 ;
34947
34948 403 
34949 »t
34950  = 
34951         `¢´\9atf
34952 (
34953 sü©ch
34954\17(scratch),
34955
34956 404 (
34957 ¥ecs
34958  && s³cs->
34959 f\9bld_unsigÃd
34960 è? "%lu" : "%ld", 
34961 v®ue
34962 );
34963
34964 405 
34965         `as£¹
34966 (
34967 »t
34968  > 0 && (
34969 size_t
34970 ì\91 < \17(
34971 sü©ch
34972 ));
34973
34974 406 if(
34975         `cb
34976 (
34977 sü©ch
34978
34979 »t
34980
34981 ­p_key
34982 ) < 0) \15 -1;
34983
34984 407 if(
34985 ¥ecs
34986  && (
34987 v®ue
34988  >ð0 || !¥ecs->
34989 f\9bld_unsigÃd
34990 )) {
34991
34992 408 cڡ 
34993 a¢_INTEGER_\92um_m­_t
34994  *
34995 \96
34996  =
34997
34998 409 
34999         `INTEGER_m­_v®ue2\92um
35000 (
35001 ¥ecs
35002
35003 v®ue
35004 );
35005
35006 410 if(
35007 \96
35008 ) {
35009
35010 411 if(
35011         `cb
35012 (" (", 2, 
35013 ­p_key
35014 ) < 0) \15 -1;
35015
35016 412 if(
35017         `cb
35018 (
35019 \96
35020 ->
35021 \92um_Çme
35022 ,\83l->
35023 \92um_Ën
35024
35025 ­p_key
35026 ) < 0) \15 -1;
35027
35028 413 if(
35029         `cb
35030 (")", 1, 
35031 ­p_key
35032 ) < 0) \15 -1;
35033
35034 418 \15 (
35035         `cb
35036 ("<ab£Á>", 8, 
35037 ­p_key
35038 ) < 0) ? -1 : 0;
35039
35040 420 
35041         }
35042 }
35043
35044 423 
35045         $N©iveIÁeg\94\93
35046 (cڡ 
35047 a¢_TYPE_desü\9dtÜ_t
35048  *
35049 td
35050\1e*
35051 ±r
35052 ,
35053
35054 424 \f
35055 a¢_¡ruù_ä\93_m\91hod
35056  
35057 m\91hod
35058 ) {
35059
35060 425 if(!
35061 td
35062  || !
35063 ±r
35064 )
35065
35066 428 
35067         `ASN_DEBUG
35068 ("Freeing %s\87s INTEGER (%d, %p, Native)",
35069
35070 429 
35071 td
35072 ->
35073 Çme
35074
35075 m\91hod
35076
35077 ±r
35078 );
35079
35080 431 \1a
35081 m\91hod
35082 ) {
35083
35084 432 \ 4
35085 ASFM_FREE_EVERYTHING
35086 :
35087
35088 433 
35089         `FREEMEM
35090 (
35091 ±r
35092 );
35093
35094 435 \ 4
35095 ASFM_FREE_UNDERLYING
35096 :
35097
35098 437 \ 4
35099 ASFM_FREE_UNDERLYING_AND_RESET
35100 :
35101
35102 438 
35103         `mem£t
35104 (
35105 ±r
35106 , 0, \17(\13));
35107
35108 441 
35109         }
35110 }
35111
35112 444 
35113         $N©iveIÁeg\94_com·»
35114 (cڡ 
35115 a¢_TYPE_desü\9dtÜ_t
35116  *
35117 td
35118 , cڡ \1e*
35119 ­\8c
35120 , cڡ \1e*
35121 b±r
35122 ) {
35123
35124 445 (\1e)
35125 td
35126 ;
35127
35128 447 if(
35129 ­\8c
35130  && 
35131 b±r
35132 ) {
35133
35134 448 cڡ 
35135 a¢_INTEGER_¥ecifics_t
35136  *
35137 ¥ecs
35138  =
35139
35140 449 (cڡ 
35141 a¢_INTEGER_¥ecifics_t
35142  *)
35143 td
35144 ->
35145 ¥ecifics
35146 ;
35147
35148 450 if(
35149 ¥ecs
35150  && s³cs->
35151 f\9bld_unsigÃd
35152 ) {
35153
35154 451 cڡ \1d\13*
35155 a
35156  = 
35157 ­\8c
35158 ;
35159
35160 452 cڡ \1d\13*
35161 b
35162  = 
35163 b±r
35164 ;
35165
35166 453 if(*
35167 a
35168  < *
35169 b
35170 ) {
35171
35172 455 } \vif(*
35173 a
35174  > *
35175 b
35176 ) {
35177
35178 461 cڡ \13*
35179 a
35180  = 
35181 ­\8c
35182 ;
35183
35184 462 cڡ \13*
35185 b
35186  = 
35187 b±r
35188 ;
35189
35190 463 if(*
35191 a
35192  < *
35193 b
35194 ) {
35195
35196 465 } \vif(*
35197 a
35198  > *
35199 b
35200 ) {
35201
35202 471 } \vif(!
35203 ­\8c
35204 ) {
35205
35206 476 
35207         }
35208 }
35209
35210 478 
35211 a¢_¿ndom_f\9el_»suÉ_t
35212
35213
35214 479 
35215         $N©iveIÁeg\94_¿ndom_f\9el
35216 (cڡ 
35217 a¢_TYPE_desü\9dtÜ_t
35218  *
35219 td
35220\1e**
35221 ¥\8c
35222 ,
35223
35224 480 cڡ 
35225 a¢_\92cod\9ag_cÚ¡¿\9ats_t
35226  *
35227 cÚ¡¿\9ats
35228 ,
35229
35230 481 
35231 size_t
35232  
35233 max_Ëngth
35234 ) {
35235
35236 482 cڡ 
35237 a¢_INTEGER_¥ecifics_t
35238  *
35239 ¥ecs
35240  =
35241
35242 483 (cڡ 
35243 a¢_INTEGER_¥ecifics_t
35244  *)
35245 td
35246 ->
35247 ¥ecifics
35248 ;
35249
35250 484 
35251 a¢_¿ndom_f\9el_»suÉ_t
35252  
35253 »suÉ_ok
35254  = {
35255 ARFILL_OK
35256 , 1};
35257
35258 485 
35259 a¢_¿ndom_f\9el_»suÉ_t
35260  
35261 »suÉ_ç\9eed
35262  = {
35263 ARFILL_FAILED
35264 , 0};
35265
35266 486 
35267 a¢_¿ndom_f\9el_»suÉ_t
35268  
35269 »suÉ_sk\9d³d
35270  = {
35271 ARFILL_SKIPPED
35272 , 0};
35273
35274 487 \13*
35275 ¡
35276  = *
35277 ¥\8c
35278 ;
35279
35280 488 cڡ 
35281 a¢_INTEGER_\92um_m­_t
35282  *
35283 em­
35284 ;
35285
35286 489 
35287 size_t
35288  
35289 em­_Ën
35290 ;
35291
35292 490 
35293 \9atmax_t
35294  
35295 v®ue
35296 ;
35297
35298 491 \12
35299 f\9ad_\9aside_m­
35300 ;
35301
35302 493 if(
35303 max_Ëngth
35304  =ð0è\15 
35305 »suÉ_sk\9d³d
35306 ;
35307
35308 495 if(
35309 ¡
35310  =ð
35311 NULL
35312 ) {
35313
35314 496 
35315 ¡
35316  = (\13*)
35317         `CALLOC
35318 (1, \17(*st));
35319
35320 497 if(
35321 ¡
35322  =ð
35323 NULL
35324 ) {
35325
35326 498 \15 
35327 »suÉ_ç\9eed
35328 ;
35329
35330 502 if(
35331 ¥ecs
35332 ) {
35333
35334 503 
35335 em­
35336  = 
35337 ¥ecs
35338 ->
35339 v®ue2\92um
35340 ;
35341
35342 504 
35343 em­_Ën
35344  = 
35345 ¥ecs
35346 ->
35347 m­_couÁ
35348 ;
35349
35350 505 if(
35351 ¥ecs
35352 ->
35353 ¡riù_\92um\94©iÚ
35354 ) {
35355
35356 506 
35357 f\9ad_\9aside_m­
35358  = 
35359 em­_Ën
35360  > 0;
35361
35362 508 
35363 f\9ad_\9aside_m­
35364  = 
35365 em­_Ën
35366  ? 
35367         `a¢_¿ndom_b\91w\93n
35368 (0, 1) : 0;
35369
35370 511 
35371 em­
35372  = 0;
35373
35374 512 
35375 em­_Ën
35376  = 0;
35377
35378 513 
35379 f\9ad_\9aside_m­
35380  = 0;
35381
35382 516 if(
35383 f\9ad_\9aside_m­
35384 ) {
35385
35386 517 
35387         `as£¹
35388 (
35389 em­_Ën
35390  > 0);
35391
35392 518 
35393 v®ue
35394  = 
35395 em­
35396 [
35397         `a¢_¿ndom_b\91w\93n
35398 (0, 
35399 em­_Ën
35400  - 1)].
35401 Çt_v®ue
35402 ;
35403
35404 520 cڡ 
35405 a¢_³r_cÚ¡¿\9ats_t
35406  *
35407 ù
35408 ;
35409
35410 522 \18cڡ \13
35411\9fÁs
35412 [] = {
35413
35414 528 if(
35415 ¥ecs
35416  && s³cs->
35417 f\9bld_unsigÃd
35418 ) {
35419
35420 529 
35421         `as£¹
35422 (
35423\9fÁs
35424 [18] == 0);
35425
35426 530 
35427 v®ue
35428  = 
35429\9fÁs
35430 [
35431         `a¢_¿ndom_b\91w\93n
35432 (
35433
35434 531 18, \17(
35435\9fÁs
35436 ) / \17(variants[0]) - 1)];
35437
35438 533 
35439 v®ue
35440  = 
35441\9fÁs
35442 [
35443         `a¢_¿ndom_b\91w\93n
35444 (
35445
35446 534 0, \17(
35447\9fÁs
35448 ) / \17(variants[0]) - 1)];
35449
35450 537 if(!
35451 cÚ¡¿\9ats
35452 ècÚ¡¿\9at ð&
35453 td
35454 ->
35455 \92cod\9ag_cÚ¡¿\9ats
35456 ;
35457
35458 538 
35459 ù
35460  = 
35461 cÚ¡¿\9ats
35462  ? cÚ¡¿\9ats->
35463 ³r_cÚ¡¿\9ats
35464  : 0;
35465
35466 539 if(
35467 ù
35468  && (ù->
35469 v®ue
35470 .
35471 æags
35472  & 
35473 APC_CONSTRAINED
35474 )) {
35475
35476 540 if(
35477 v®ue
35478  < 
35479 ù
35480 ->v®ue.
35481 low\94_bound
35482  || v®u\90> ct->v®ue.
35483\94_bound
35484 ) {
35485
35486 541 
35487 v®ue
35488  = 
35489         `a¢_¿ndom_b\91w\93n
35490 (
35491 ù
35492 ->v®ue.
35493 low\94_bound
35494 ,
35495
35496 542 
35497 ù
35498 ->
35499 v®ue
35500 .
35501\94_bound
35502 );
35503
35504 547 *
35505 ¥\8c
35506  = 
35507 ¡
35508 ;
35509
35510 548 *
35511 ¡
35512  = 
35513 v®ue
35514 ;
35515
35516 549 \15 
35517 »suÉ_ok
35518 ;
35519
35520 550 
35521         }
35522 }
35523
35524         @NativeReal.c
35525
35526 12 \ 2
35527         ~<a¢_\9a\8bº®.h
35528 >
35529
35530 13 \ 2
35531         ~<N©iveR\97l.h
35532 >
35533
35534 14 \ 2
35535         ~<REAL.h
35536 >
35537
35538 15 \ 2
35539         ~<OCTET_STRING.h
35540 >
35541
35542 16 \ 2
35543         ~<m©h.h
35544 >
35545
35546 17 \ 2
35547         ~<æßt.h
35548 >
35549
35550 19 #ià
35551 def\9aed
35552 (
35553 __þªg__
35554 )
35555
35556 27 #´agm¨
35557 þªg
35558  
35559 d\9fgno¡ic
35560  
35561 push
35562
35563
35564 28 #´agm¨
35565 þªg
35566  
35567 d\9fgno¡ic
35568  
35569 ignÜed
35570  "-Wc11-extensions"
35571
35572 29 \18\12
35573         $a¢_i¢ª
35574 (\b
35575 d
35576 ) {
35577
35578 30 \15 
35579         `i¢ª
35580 (
35581 d
35582 );
35583
35584 31 
35585         }
35586 }
35587
35588 32 #´agm¨
35589 þªg
35590  
35591 d\9fgno¡ic
35592  
35593
35594
35595
35596 34 \ 1
35597         #a¢_i¢ª
35598 (
35599 v
35600 è
35601         `i¢ª
35602 (v)
35603
35604         )
35605
35606 40 \18cڡ 
35607 b\94_\8ev_\8fg_t
35608  
35609         ga¢_DEF_N©iveR\97l_\8fgs
35610 [] = {
35611
35612 41 (
35613 ASN_TAG_CLASS_UNIVERSAL
35614  | (9 << 2))
35615
35616 43 
35617 a¢_TYPE_Ý\94©iÚ_t
35618  
35619         ga¢_OP_N©iveR\97l
35620  = {
35621
35622 44 
35623 N©iveR\97l_ä\93
35624 ,
35625
35626 45 
35627 N©iveR\97l_´\9at
35628 ,
35629
35630 46 
35631 N©iveR\97l_com·»
35632 ,
35633
35634 47 
35635 N©iveR\97l_decode_b\94
35636 ,
35637
35638 48 
35639 N©iveR\97l_\92code_d\94
35640 ,
35641
35642 49 
35643 N©iveR\97l_decode_x\94
35644 ,
35645
35646 50 
35647 N©iveR\97l_\92code_x\94
35648 ,
35649
35650 51 #ifdef 
35651 ASN_DISABLE_OER_SUPPORT
35652
35653
35654 55 
35655 N©iveR\97l_decode_Ûr
35656 ,
35657
35658 56 
35659 N©iveR\97l_\92code_Ûr
35660 ,
35661
35662 58 #ifdef 
35663 ASN_DISABLE_PER_SUPPORT
35664
35665
35666 64 
35667 N©iveR\97l_decode_u³r
35668 ,
35669
35670 65 
35671 N©iveR\97l_\92code_u³r
35672 ,
35673
35674 66 
35675 N©iveR\97l_decode_­\94
35676 ,
35677
35678 67 
35679 N©iveR\97l_\92code_­\94
35680 ,
35681
35682 69 
35683 N©iveR\97l_¿ndom_f\9el
35684 ,
35685
35686 72 
35687 a¢_TYPE_desü\9dtÜ_t
35688  
35689         ga¢_DEF_N©iveR\97l
35690  = {
35691
35692 75 &
35693 a¢_OP_N©iveR\97l
35694 ,
35695
35696 76 
35697 a¢_DEF_N©iveR\97l_\8fgs
35698 ,
35699
35700 77 \17(
35701 a¢_DEF_N©iveR\97l_\8fgs
35702 ) / \17(asn_DEF_NativeReal_tags[0]),
35703
35704 78 
35705 a¢_DEF_N©iveR\97l_\8fgs
35706 ,
35707
35708 79 \17(
35709 a¢_DEF_N©iveR\97l_\8fgs
35710 ) / \17(asn_DEF_NativeReal_tags[0]),
35711
35712 80 { 0, 0, 
35713 a¢_g\92\94ic_no_cÚ¡¿\9at
35714  },
35715
35716 85 \18
35717 size_t
35718  
35719 N©iveR\97l__æßt_size
35720 (cڡ 
35721 a¢_TYPE_desü\9dtÜ_t
35722  *
35723 td
35724 );
35725
35726 86 \18\b
35727 N©iveR\97l__g\91_doubË
35728 (cڡ 
35729 a¢_TYPE_desü\9dtÜ_t
35730  *
35731 td
35732 ,
35733
35734 87 cڡ \1e*
35735 ±r
35736 );
35737
35738 88 \18
35739 ssize_t
35740  
35741 N©iveR\97l__£t
35742 (cڡ 
35743 a¢_TYPE_desü\9dtÜ_t
35744  *
35745 td
35746\1e**
35747 ¥\8c
35748 ,
35749
35750 89 \b
35751 d
35752 );
35753
35754 94 
35755 a¢_dec_rv®_t
35756
35757
35758 95 
35759         $N©iveR\97l_decode_b\94
35760 (cڡ 
35761 a¢_codec_ùx_t
35762  *
35763 Ýt_codec_ùx
35764 ,
35765
35766 96 cڡ 
35767 a¢_TYPE_desü\9dtÜ_t
35768  *
35769 td
35770\1e**
35771 ¥\8c
35772 ,
35773
35774 97 cڡ \1e*
35775 buf_±r
35776
35777 size_t
35778  
35779 size
35780\12
35781 \8fg_mode
35782 ) {
35783
35784 98 
35785 a¢_dec_rv®_t
35786  
35787 rv®
35788 ;
35789
35790 99 
35791 b\94_\8ev_Ën_t
35792  
35793 Ëngth
35794 ;
35795
35796 101 
35797         `ASN_DEBUG
35798 ("Decod\9ag % a REAL (tm=%d)", 
35799 td
35800 ->
35801 Çme
35802
35803 \8fg_mode
35804 );
35805
35806 106 
35807 rv®
35808  = 
35809         `b\94_check_\8fgs
35810 (
35811 Ýt_codec_ùx
35812
35813 td
35814 , 0, 
35815 buf_±r
35816
35817 size
35818
35819 \8fg_mode
35820 , 0,
35821
35822 107 &
35823 Ëngth
35824 , 0);
35825
35826 108 if(
35827 rv®
35828 .
35829 code
35830  !ð
35831 RC_OK
35832\15\84val;
35833
35834 109 
35835         `as£¹
35836 (
35837 Ëngth
35838  >= 0);
35839
35840 111 
35841         `ASN_DEBUG
35842 ("% Ëngth i %d by\8bs", 
35843 td
35844 ->
35845 Çme
35846 , (\12)
35847 Ëngth
35848 );
35849
35850 116 
35851 buf_±r
35852  = ((cÚ¡ \ 5*)buf_±rè+ 
35853 rv®
35854 .
35855 cÚsumed
35856 ;
35857
35858 117 
35859 size
35860  -ð
35861 rv®
35862 .
35863 cÚsumed
35864 ;
35865
35866 118 if(
35867 Ëngth
35868  > (
35869 b\94_\8ev_Ën_t
35870 )
35871 size
35872 ) {
35873
35874 119 
35875 rv®
35876 .
35877 code
35878  = 
35879 RC_WMORE
35880 ;
35881
35882 120 
35883 rv®
35884 .
35885 cÚsumed
35886  = 0;
35887
35888 121 \15 
35889 rv®
35890 ;
35891
35892 130 
35893 u\9at8_t
35894  
35895 sü©ch
35896 [24];
35897
35898 131 
35899 REAL_t
35900  
35901 tmp
35902 ;
35903
35904 132 \b
35905 d
35906 ;
35907
35908 133 \12
35909 »t
35910 ;
35911
35912 135 if((
35913 size_t
35914 )
35915 Ëngth
35916  < \17(
35917 sü©ch
35918 )) {
35919
35920 136 
35921 tmp
35922 .
35923 buf
35924  = 
35925 sü©ch
35926 ;
35927
35928 137 
35929 tmp
35930 .
35931 size
35932  = 
35933 Ëngth
35934 ;
35935
35936 140 
35937 tmp
35938 .
35939 buf
35940  = 
35941         `CALLOC
35942 (1, 
35943 Ëngth
35944  + 1);
35945
35946 141 
35947 tmp
35948 .
35949 size
35950  = 
35951 Ëngth
35952 ;
35953
35954 142 if(!
35955 tmp
35956 .
35957 buf
35958 ) {
35959
35960 143 
35961 rv®
35962 .
35963 code
35964  = 
35965 RC_FAIL
35966 ;
35967
35968 144 
35969 rv®
35970 .
35971 cÚsumed
35972  = 0;
35973
35974 145 \15 
35975 rv®
35976 ;
35977
35978 149 
35979         `memýy
35980 (
35981 tmp
35982 .
35983 buf
35984
35985 buf_±r
35986
35987 Ëngth
35988 );
35989
35990 150 
35991 tmp
35992 .
35993 buf
35994 [
35995 Ëngth
35996 ] = '\0';
35997
35998 152 
35999 »t
36000  = 
36001         `a¢_REAL2doubË
36002 (&
36003 tmp
36004 , &
36005 d
36006 );
36007
36008 153 if(
36009 tmp
36010 .
36011 buf
36012  !ð
36013 sü©ch
36014 è
36015         `FREEMEM
36016 (tmp.buf);
36017
36018 154 if(
36019 »t
36020 ) {
36021
36022 155 
36023 rv®
36024 .
36025 code
36026  = 
36027 RC_FAIL
36028 ;
36029
36030 156 
36031 rv®
36032 .
36033 cÚsumed
36034  = 0;
36035
36036 157 \15 
36037 rv®
36038 ;
36039
36040 160 if(
36041         `N©iveR\97l__£t
36042 (
36043 td
36044
36045 ¥\8c
36046
36047 d
36048 ) < 0)
36049
36050 161 
36051 ASN__DECODE_FAILED
36052 ;
36053
36054 164 
36055 rv®
36056 .
36057 code
36058  = 
36059 RC_OK
36060 ;
36061
36062 165 
36063 rv®
36064 .
36065 cÚsumed
36066  +ð
36067 Ëngth
36068 ;
36069
36070 167 
36071         `ASN_DEBUG
36072 ("Took %ld/%ld by\8b tØ\92cod\90%s", (\13)
36073 rv®
36074 .
36075 cÚsumed
36076 ,
36077
36078 168 (\13)
36079 Ëngth
36080
36081 td
36082 ->
36083 Çme
36084 );
36085
36086 170 \15 
36087 rv®
36088 ;
36089
36090 171 
36091         }
36092 }
36093
36094 176 
36095 a¢_\92c_rv®_t
36096
36097
36098 177 
36099         $N©iveR\97l_\92code_d\94
36100 (cڡ 
36101 a¢_TYPE_desü\9dtÜ_t
36102  *
36103 td
36104 , cڡ \1e*
36105 ¥\8c
36106 ,
36107
36108 178 \12
36109 \8fg_mode
36110
36111 b\94_\8ev_\8fg_t
36112  
36113 \8fg
36114 ,
36115
36116 179 
36117 a¢_­p_cÚsume_by\8bs_f
36118  *
36119 cb
36120\1e*
36121 ­p_key
36122 ) {
36123
36124 180 \b
36125 d
36126  = 
36127         `N©iveR\97l__g\91_doubË
36128 (
36129 td
36130
36131 ¥\8c
36132 );
36133
36134 181 
36135 a¢_\92c_rv®_t
36136  
36137 \94
36138  = {0,0,0};
36139
36140 182 
36141 REAL_t
36142  
36143 tmp
36144 ;
36145
36146 185 
36147         `mem£t
36148 (&
36149 tmp
36150 , 0, \17(tmp));
36151
36152 187 if(
36153         `a¢_doubË2REAL
36154 (&
36155 tmp
36156
36157 d
36158 ))
36159
36160 188 
36161 ASN__ENCODE_FAILED
36162 ;
36163
36164 191 
36165 \94
36166  = 
36167         `d\94_\92code_´im\99ive
36168 (
36169 td
36170 , &
36171 tmp
36172
36173 \8fg_mode
36174
36175 \8fg
36176
36177 cb
36178
36179 ­p_key
36180 );
36181
36182 192 if(
36183 \94
36184 .
36185 \92coded
36186  == -1) {
36187
36188 193 
36189         `as£¹
36190 (
36191 \94
36192 .
36193 ¡ruùu»_±r
36194  =ð&
36195 tmp
36196 );
36197
36198 194 
36199 \94
36200 .
36201 ¡ruùu»_±r
36202  = 
36203 ¥\8c
36204 ;
36205
36206 198 
36207         `ASN_STRUCT_FREE_CONTENTS_ONLY
36208 (
36209 a¢_DEF_REAL
36210 , &
36211 tmp
36212 );
36213
36214 200 \15 
36215 \94
36216 ;
36217
36218 201 
36219         }
36220 }
36221
36222 203 #iâdeà
36223 ASN_DISABLE_PER_SUPPORT
36224
36225
36226 208 
36227 a¢_dec_rv®_t
36228
36229
36230 209 
36231         $N©iveR\97l_decode_u³r
36232 (cڡ 
36233 a¢_codec_ùx_t
36234  *
36235 Ýt_codec_ùx
36236 ,
36237
36238 210 cڡ 
36239 a¢_TYPE_desü\9dtÜ_t
36240  *
36241 td
36242 ,
36243
36244 211 cڡ 
36245 a¢_³r_cÚ¡¿\9ats_t
36246  *
36247 cÚ¡¿\9ats
36248\1e**
36249 ¥\8c
36250 ,
36251
36252 212 
36253 a¢_³r_d©a_t
36254  *
36255 pd
36256 ) {
36257
36258 213 
36259 a¢_dec_rv®_t
36260  
36261 rv®
36262 ;
36263
36264 214 \b
36265 d
36266 ;
36267
36268 215 
36269 REAL_t
36270  
36271 tmp
36272 ;
36273
36274 216 \1e*
36275 ±mp
36276  = &
36277 tmp
36278 ;
36279
36280 217 \12
36281 »t
36282 ;
36283
36284 219 (\1e)
36285 cÚ¡¿\9ats
36286 ;
36287
36288 221 
36289         `mem£t
36290 (&
36291 tmp
36292 , 0, \17(tmp));
36293
36294 222 
36295 rv®
36296  = 
36297         `OCTET_STRING_decode_u³r
36298 (
36299 Ýt_codec_ùx
36300 , &
36301 a¢_DEF_REAL
36302 ,
36303
36304 223 
36305 NULL
36306 , &
36307 ±mp
36308
36309 pd
36310 );
36311
36312 224 if(
36313 rv®
36314 .
36315 code
36316  !ð
36317 RC_OK
36318 ) {
36319
36320 225 
36321         `ASN_STRUCT_FREE_CONTENTS_ONLY
36322 (
36323 a¢_DEF_REAL
36324 , &
36325 tmp
36326 );
36327
36328 226 \15 
36329 rv®
36330 ;
36331
36332 229 
36333 »t
36334  = 
36335         `a¢_REAL2doubË
36336 (&
36337 tmp
36338 , &
36339 d
36340 );
36341
36342 230 
36343         `ASN_STRUCT_FREE_CONTENTS_ONLY
36344 (
36345 a¢_DEF_REAL
36346 , &
36347 tmp
36348 );
36349
36350 231 if(
36351 »t
36352 è
36353 ASN__DECODE_FAILED
36354 ;
36355
36356 233 if(
36357         `N©iveR\97l__£t
36358 (
36359 td
36360
36361 ¥\8c
36362
36363 d
36364 ) < 0 )
36365
36366 234 
36367 ASN__DECODE_FAILED
36368 ;
36369
36370 236 \15 
36371 rv®
36372 ;
36373
36374 237 
36375         }
36376 }
36377
36378 242 
36379 a¢_\92c_rv®_t
36380
36381
36382 243 
36383         $N©iveR\97l_\92code_u³r
36384 (cڡ 
36385 a¢_TYPE_desü\9dtÜ_t
36386  *
36387 td
36388 ,
36389
36390 244 cڡ 
36391 a¢_³r_cÚ¡¿\9ats_t
36392  *
36393 cÚ¡¿\9ats
36394 ,
36395
36396 245 cڡ \1e*
36397 ¥\8c
36398
36399 a¢_³r_ou\8d_t
36400  *
36401 po
36402 ) {
36403
36404 246 \b
36405 d
36406  = 
36407         `N©iveR\97l__g\91_doubË
36408 (
36409 td
36410
36411 ¥\8c
36412 );
36413
36414 247 
36415 a¢_\92c_rv®_t
36416  
36417 \94
36418  = {0,0,0};
36419
36420 248 
36421 REAL_t
36422  
36423 tmp
36424 ;
36425
36426 250 (\1e)
36427 cÚ¡¿\9ats
36428 ;
36429
36430 253 
36431         `mem£t
36432 (&
36433 tmp
36434 , 0, \17(tmp));
36435
36436 255 if(
36437         `a¢_doubË2REAL
36438 (&
36439 tmp
36440
36441 d
36442 ))
36443
36444 256 
36445 ASN__ENCODE_FAILED
36446 ;
36447
36448 259 
36449 \94
36450  = 
36451         `OCTET_STRING_\92code_u³r
36452 (&
36453 a¢_DEF_REAL
36454
36455 NULL
36456 , &
36457 tmp
36458
36459 po
36460 );
36461
36462 260 if(
36463 \94
36464 .
36465 \92coded
36466  == -1)
36467
36468 261 
36469 \94
36470 .
36471 ¡ruùu»_±r
36472  = 
36473 ¥\8c
36474 ;
36475
36476 264 
36477         `ASN_STRUCT_FREE_CONTENTS_ONLY
36478 (
36479 a¢_DEF_REAL
36480 , &
36481 tmp
36482 );
36483
36484 266 \15 
36485 \94
36486 ;
36487
36488 267 
36489         }
36490 }
36491
36492 270 
36493 a¢_dec_rv®_t
36494
36495
36496 271 
36497         $N©iveR\97l_decode_­\94
36498 (cڡ 
36499 a¢_codec_ùx_t
36500  *
36501 Ýt_codec_ùx
36502 ,
36503
36504 272 cڡ 
36505 a¢_TYPE_desü\9dtÜ_t
36506  *
36507 td
36508 ,
36509
36510 273 cڡ 
36511 a¢_³r_cÚ¡¿\9ats_t
36512  *
36513 cÚ¡¿\9ats
36514 ,
36515
36516 274 \1e**
36517 dbl_±r
36518
36519 a¢_³r_d©a_t
36520  *
36521 pd
36522 ) {
36523
36524 275 \b*
36525 Dbl
36526  = (\b*)*
36527 dbl_±r
36528 ;
36529
36530 276 
36531 a¢_dec_rv®_t
36532  
36533 rv®
36534 ;
36535
36536 277 
36537 REAL_t
36538  
36539 tmp
36540 ;
36541
36542 278 \1e*
36543 ±mp
36544  = &
36545 tmp
36546 ;
36547
36548 279 \12
36549 »t
36550 ;
36551
36552 281 (\1e)
36553 cÚ¡¿\9ats
36554 ;
36555
36556 286 if(
36557 Dbl
36558  =ð
36559 NULL
36560 ) {
36561
36562 287 *
36563 dbl_±r
36564  = 
36565         `CALLOC
36566 (1, \17(*
36567 Dbl
36568 ));
36569
36570 288 
36571 Dbl
36572  = (\b*)*
36573 dbl_±r
36574 ;
36575
36576 289 if(
36577 Dbl
36578  =ð
36579 NULL
36580 )
36581
36582 290 
36583 ASN__DECODE_FAILED
36584 ;
36585
36586 293 
36587         `mem£t
36588 (&
36589 tmp
36590 , 0, \17(tmp));
36591
36592 294 
36593 rv®
36594  = 
36595         `OCTET_STRING_decode_­\94
36596 (
36597 Ýt_codec_ùx
36598
36599 td
36600
36601 NULL
36602 ,
36603
36604 295 &
36605 ±mp
36606
36607 pd
36608 );
36609
36610 296 if(
36611 rv®
36612 .
36613 code
36614  !ð
36615 RC_OK
36616 ) {
36617
36618 297 
36619         `ASN_STRUCT_FREE_CONTENTS_ONLY
36620 (
36621 a¢_DEF_REAL
36622 , &
36623 tmp
36624 );
36625
36626 298 \15 
36627 rv®
36628 ;
36629
36630 301 
36631 »t
36632  = 
36633         `a¢_REAL2doubË
36634 (&
36635 tmp
36636
36637 Dbl
36638 );
36639
36640 302 
36641         `ASN_STRUCT_FREE_CONTENTS_ONLY
36642 (
36643 a¢_DEF_REAL
36644 , &
36645 tmp
36646 );
36647
36648 303 if(
36649 »t
36650 è
36651 ASN__DECODE_FAILED
36652 ;
36653
36654 305 \15 
36655 rv®
36656 ;
36657
36658 306 
36659         }
36660 }
36661
36662 308 
36663 a¢_\92c_rv®_t
36664
36665
36666 309 
36667         $N©iveR\97l_\92code_­\94
36668 (cڡ 
36669 a¢_TYPE_desü\9dtÜ_t
36670  *
36671 td
36672 ,
36673
36674 310 cڡ 
36675 a¢_³r_cÚ¡¿\9ats_t
36676  *
36677 cÚ¡¿\9ats
36678 ,
36679
36680 311 cڡ \1e*
36681 ¥\8c
36682
36683 a¢_³r_ou\8d_t
36684  *
36685 po
36686 ) {
36687
36688 312 \b
36689 Dbl
36690  = *(cڡ \b*)
36691 ¥\8c
36692 ;
36693
36694 313 
36695 a¢_\92c_rv®_t
36696  
36697 \94
36698  = {0,0,0};
36699
36700 314 
36701 REAL_t
36702  
36703 tmp
36704 ;
36705
36706 316 (\1e)
36707 cÚ¡¿\9ats
36708 ;
36709
36710 319 
36711         `mem£t
36712 (&
36713 tmp
36714 , 0, \17(tmp));
36715
36716 321 if(
36717         `a¢_doubË2REAL
36718 (&
36719 tmp
36720
36721 Dbl
36722 ))
36723
36724 322 
36725 ASN__ENCODE_FAILED
36726 ;
36727
36728 325 
36729 \94
36730  = 
36731         `OCTET_STRING_\92code_­\94
36732 (
36733 td
36734
36735 NULL
36736 , &
36737 tmp
36738
36739 po
36740 );
36741
36742 326 if(
36743 \94
36744 .
36745 \92coded
36746  == -1)
36747
36748 327 
36749 \94
36750 .
36751 ¡ruùu»_±r
36752  = 
36753 ¥\8c
36754 ;
36755
36756 330 
36757         `ASN_STRUCT_FREE_CONTENTS_ONLY
36758 (
36759 a¢_DEF_REAL
36760 , &
36761 tmp
36762 );
36763
36764 332 \15 
36765 \94
36766 ;
36767
36768 333 
36769         }
36770 }
36771
36772 337 #iâdeà
36773 ASN_DISABLE_OER_SUPPORT
36774
36775
36776 344 
36777         $N©iveR\97l__ÃtwÜk_sw­
36778 (
36779 size_t
36780  
36781 æßt_size
36782 , cڡ \1e*
36783 ¤ý
36784
36785 u\9at8_t
36786  *
36787
36788 ) {
36789
36790 345 cڡ 
36791 u\9at8_t
36792  *
36793 ¤c
36794  = 
36795 ¤ý
36796 ;
36797
36798 346 \b
36799 \8b¡
36800  = -0.0;
36801
36802 347 \12
36803 æßt_big_\92d\9fn
36804  = *(cڡ \ 5*)&
36805 \8b¡
36806  != 0;
36807
36808 349 \18cڡ \ 5
36809 sizeof_doubË_is_8_a
36810 [\17(\b)-7] 
36811 CC_NOTUSED
36812 ;
36813
36814 350 \18cڡ \ 5
36815 sizeof_doubË_is_8_b
36816 [9-\17(\b)] 
36817 CC_NOTUSED
36818 ;
36819
36820 352 \18cڡ \ 5
36821 sizeof_æßt_is_4_a
36822 [\17(\ e)-3] 
36823 CC_NOTUSED
36824 ;
36825
36826 353 \18cڡ \ 5
36827 sizeof_æßt_is_4_b
36828 [5-\17(\ e)] 
36829 CC_NOTUSED
36830 ;
36831
36832 355 \1a
36833 æßt_size
36834 ) {
36835
36836 357 
36837         `as£¹
36838 (\17(\b) == 8);
36839
36840 358 if(
36841 æßt_big_\92d\9fn
36842 ) {
36843
36844 359 
36845
36846 [0] = 
36847 ¤c
36848 [0];
36849
36850 360 
36851
36852 [1] = 
36853 ¤c
36854 [1];
36855
36856 361 
36857
36858 [2] = 
36859 ¤c
36860 [2];
36861
36862 362 
36863
36864 [3] = 
36865 ¤c
36866 [3];
36867
36868 363 
36869
36870 [4] = 
36871 ¤c
36872 [4];
36873
36874 364 
36875
36876 [5] = 
36877 ¤c
36878 [5];
36879
36880 365 
36881
36882 [6] = 
36883 ¤c
36884 [6];
36885
36886 366 
36887
36888 [7] = 
36889 ¤c
36890 [7];
36891
36892 368 
36893
36894 [0] = 
36895 ¤c
36896 [7];
36897
36898 369 
36899
36900 [1] = 
36901 ¤c
36902 [6];
36903
36904 370 
36905
36906 [2] = 
36907 ¤c
36908 [5];
36909
36910 371 
36911
36912 [3] = 
36913 ¤c
36914 [4];
36915
36916 372 
36917
36918 [4] = 
36919 ¤c
36920 [3];
36921
36922 373 
36923
36924 [5] = 
36925 ¤c
36926 [2];
36927
36928 374 
36929
36930 [6] = 
36931 ¤c
36932 [1];
36933
36934 375 
36935
36936 [7] = 
36937 ¤c
36938 [0];
36939
36940 379 
36941         `as£¹
36942 (\17(\ e) == 4);
36943
36944 380 if(
36945 æßt_big_\92d\9fn
36946 ) {
36947
36948 381 
36949
36950 [0] = 
36951 ¤c
36952 [0];
36953
36954 382 
36955
36956 [1] = 
36957 ¤c
36958 [1];
36959
36960 383 
36961
36962 [2] = 
36963 ¤c
36964 [2];
36965
36966 384 
36967
36968 [3] = 
36969 ¤c
36970 [3];
36971
36972 386 
36973
36974 [0] = 
36975 ¤c
36976 [3];
36977
36978 387 
36979
36980 [1] = 
36981 ¤c
36982 [2];
36983
36984 388 
36985
36986 [2] = 
36987 ¤c
36988 [1];
36989
36990 389 
36991
36992 [3] = 
36993 ¤c
36994 [0];
36995
36996 393 
36997         }
36998 }
36999
37000 398 
37001 a¢_\92c_rv®_t
37002
37003
37004 399 
37005         $N©iveR\97l_\92code_Ûr
37006 (cڡ 
37007 a¢_TYPE_desü\9dtÜ_t
37008  *
37009 td
37010 ,
37011
37012 400 cڡ 
37013 a¢_Ûr_cÚ¡¿\9ats_t
37014  *
37015 cÚ¡¿\9ats
37016 ,
37017
37018 401 cڡ \1e*
37019 ¥\8c
37020
37021 a¢_­p_cÚsume_by\8bs_f
37022  *
37023 cb
37024 ,
37025
37026 402 \1e*
37027 ­p_key
37028 ) {
37029
37030 403 
37031 a¢_\92c_rv®_t
37032  
37033 \94
37034  = {0, 0, 0};
37035
37036 405 if(!
37037 cÚ¡¿\9ats
37038 ècÚ¡¿\9at ð
37039 td
37040 ->
37041 \92cod\9ag_cÚ¡¿\9ats
37042 .
37043 Ûr_cÚ¡¿\9ats
37044 ;
37045
37046 406 if(
37047 cÚ¡¿\9ats
37048  && cÚ¡¿\9ats->
37049 v®ue
37050 .
37051 width
37052  != 0) {
37053
37054 408 
37055 u\9at8_t
37056  
37057 sü©ch
37058 [\17(\b)];
37059
37060 409 cڡ 
37061 a¢_N©iveR\97l_¥ecifics_t
37062  *
37063 ¥ecs
37064  =
37065
37066 410 (cڡ 
37067 a¢_N©iveR\97l_¥ecifics_t
37068  *)
37069 td
37070 ->
37071 ¥ecifics
37072 ;
37073
37074 411 
37075 size_t
37076  
37077 w\9ce_size
37078  = 
37079 cÚ¡¿\9ats
37080 ->
37081 v®ue
37082 .
37083 width
37084 ;
37085
37086 413 if(
37087 ¥ecs
37088  ? (
37089 w\9ce_size
37090  =ð¥ecs->
37091 æßt_size
37092 )
37093
37094 414 : (
37095 w\9ce_size
37096  == \17(\b))) {
37097
37098 420 
37099         `as£¹
37100 ((
37101 w\9ce_size
37102  == \17(\b))
37103
37104 421 || (
37105 ¥ecs
37106  && s³cs->
37107 æßt_size
37108  =ð
37109 w\9ce_size
37110 ));
37111
37112 422 
37113 ASN__ENCODE_FAILED
37114 ;
37115
37116 429 
37117         `N©iveR\97l__ÃtwÜk_sw­
37118 (
37119 w\9ce_size
37120
37121 ¥\8c
37122
37123 sü©ch
37124 );
37125
37126 430 if(
37127         `cb
37128 (
37129 sü©ch
37130
37131 w\9ce_size
37132
37133 ­p_key
37134 ) < 0) {
37135
37136 431 
37137 ASN__ENCODE_FAILED
37138 ;
37139
37140 433 
37141 \94
37142 .
37143 \92coded
37144  = 
37145 w\9ce_size
37146 ;
37147
37148 434 
37149         `ASN__ENCODED_OK
37150 (
37151 \94
37152 );
37153
37154 437 \b
37155 d
37156  = 
37157         `N©iveR\97l__g\91_doubË
37158 (
37159 td
37160
37161 ¥\8c
37162 );
37163
37164 438 
37165 ssize_t
37166  
37167 Ën_Ën
37168 ;
37169
37170 439 
37171 REAL_t
37172  
37173 tmp
37174 ;
37175
37176 442 
37177         `mem£t
37178 (&
37179 tmp
37180 , 0, \17(tmp));
37181
37182 444 if(
37183         `a¢_doubË2REAL
37184 (&
37185 tmp
37186
37187 d
37188 )) {
37189
37190 445 
37191 ASN__ENCODE_FAILED
37192 ;
37193
37194 449 
37195 Ën_Ën
37196  = 
37197         `Ûr_£r\9flize_Ëngth
37198 (
37199 tmp
37200 .
37201 size
37202
37203 cb
37204
37205 ­p_key
37206 );
37207
37208 450 if(
37209 Ën_Ën
37210  < 0 || 
37211         `cb
37212 (
37213 tmp
37214 .
37215 buf
37216 ,\81mp.
37217 size
37218
37219 ­p_key
37220 ) < 0) {
37221
37222 451 
37223         `ASN_STRUCT_FREE_CONTENTS_ONLY
37224 (
37225 a¢_DEF_REAL
37226 , &
37227 tmp
37228 );
37229
37230 452 
37231 ASN__ENCODE_FAILED
37232 ;
37233
37234 454 
37235 \94
37236 .
37237 \92coded
37238  = 
37239 Ën_Ën
37240  + 
37241 tmp
37242 .
37243 size
37244 ;
37245
37246 455 
37247         `ASN_STRUCT_FREE_CONTENTS_ONLY
37248 (
37249 a¢_DEF_REAL
37250 , &
37251 tmp
37252 );
37253
37254 456 
37255         `ASN__ENCODED_OK
37256 (
37257 \94
37258 );
37259
37260 459 
37261         }
37262 }
37263
37264 461 
37265 a¢_dec_rv®_t
37266
37267
37268 462 
37269         $N©iveR\97l_decode_Ûr
37270 (cڡ 
37271 a¢_codec_ùx_t
37272  *
37273 Ýt_codec_ùx
37274 ,
37275
37276 463 cڡ 
37277 a¢_TYPE_desü\9dtÜ_t
37278  *
37279 td
37280 ,
37281
37282 464 cڡ 
37283 a¢_Ûr_cÚ¡¿\9ats_t
37284  *
37285 cÚ¡¿\9ats
37286\1e**
37287 ¥\8c
37288 ,
37289
37290 465 cڡ \1e*
37291 ±r
37292
37293 size_t
37294  
37295 size
37296 ) {
37297
37298 466 
37299 a¢_dec_rv®_t
37300  
37301 ok
37302  = {
37303 RC_OK
37304 , 0};
37305
37306 467 \b
37307 d
37308 ;
37309
37310 468 
37311 ssize_t
37312  
37313 Ën_Ën
37314 ;
37315
37316 469 
37317 size_t
37318  
37319 »®_body_Ën
37320 ;
37321
37322 471 (\1e)
37323 Ýt_codec_ùx
37324 ;
37325
37326 473 if(!
37327 cÚ¡¿\9ats
37328 ècÚ¡¿\9at ð
37329 td
37330 ->
37331 \92cod\9ag_cÚ¡¿\9ats
37332 .
37333 Ûr_cÚ¡¿\9ats
37334 ;
37335
37336 474 if(
37337 cÚ¡¿\9ats
37338  && cÚ¡¿\9ats->
37339 v®ue
37340 .
37341 width
37342  != 0) {
37343
37344 476 
37345 u\9at8_t
37346  
37347 sü©ch
37348 [\17(\b)];
37349
37350 477 
37351 size_t
37352  
37353 w\9ce_size
37354  = 
37355 cÚ¡¿\9ats
37356 ->
37357 v®ue
37358 .
37359 width
37360 ;
37361
37362 479 if(
37363 size
37364  < 
37365 w\9ce_size
37366 )
37367
37368 480 
37369 ASN__DECODE_STARVED
37370 ;
37371
37372 486 
37373         `N©iveR\97l__ÃtwÜk_sw­
37374 (
37375 w\9ce_size
37376
37377 ±r
37378
37379 sü©ch
37380 );
37381
37382 489 \1a
37383 w\9ce_size
37384 ) {
37385
37386 492 \b
37387 tmp
37388 ;
37389
37390 493 
37391         `memýy
37392 (&
37393 tmp
37394
37395 sü©ch
37396\17(\b));
37397
37398 494 if(
37399         `N©iveR\97l__£t
37400 (
37401 td
37402
37403 ¥\8c
37404
37405 tmp
37406 ) < 0)
37407
37408 495 
37409 ASN__DECODE_FAILED
37410 ;
37411
37412 500 \ e
37413 tmp
37414 ;
37415
37416 501 
37417         `memýy
37418 (&
37419 tmp
37420
37421 sü©ch
37422\17(\ e));
37423
37424 502 if(
37425         `N©iveR\97l__£t
37426 (
37427 td
37428
37429 ¥\8c
37430
37431 tmp
37432 ) < 0)
37433
37434 503 
37435 ASN__DECODE_FAILED
37436 ;
37437
37438 507 
37439 ASN__DECODE_FAILED
37440 ;
37441
37442 510 
37443 ok
37444 .
37445 cÚsumed
37446  = 
37447 w\9ce_size
37448 ;
37449
37450 511 \15 
37451 ok
37452 ;
37453
37454 514 
37455 Ën_Ën
37456  = 
37457         `Ûr_ãtch_Ëngth
37458 (
37459 ±r
37460
37461 size
37462 , &
37463 »®_body_Ën
37464 );
37465
37466 515 if(
37467 Ën_Ën
37468  < 0è
37469 ASN__DECODE_FAILED
37470 ;
37471
37472 516 if(
37473 Ën_Ën
37474  =ð0è
37475 ASN__DECODE_STARVED
37476 ;
37477
37478 518 
37479 ±r
37480  = (cÚ¡ \ 5\8c + 
37481 Ën_Ën
37482 ;
37483
37484 519 
37485 size
37486  -ð
37487 Ën_Ën
37488 ;
37489
37490 521 if(
37491 »®_body_Ën
37492  > 
37493 size
37494 è
37495 ASN__DECODE_STARVED
37496 ;
37497
37498 524 
37499 u\9at8_t
37500  
37501 sü©ch
37502 [24];
37503
37504 525 
37505 REAL_t
37506  
37507 tmp
37508 ;
37509
37510 526 \12
37511 »t
37512 ;
37513
37514 528 if(
37515 »®_body_Ën
37516  < \17(
37517 sü©ch
37518 )) {
37519
37520 529 
37521 tmp
37522 .
37523 buf
37524  = 
37525 sü©ch
37526 ;
37527
37528 530 
37529 tmp
37530 .
37531 size
37532  = 
37533 »®_body_Ën
37534 ;
37535
37536 533 
37537 tmp
37538 .
37539 buf
37540  = 
37541         `CALLOC
37542 (1, 
37543 »®_body_Ën
37544  + 1);
37545
37546 534 
37547 tmp
37548 .
37549 size
37550  = 
37551 »®_body_Ën
37552 ;
37553
37554 535 if(!
37555 tmp
37556 .
37557 buf
37558 ) {
37559
37560 536 
37561 ASN__DECODE_FAILED
37562 ;
37563
37564 540 
37565         `memýy
37566 (
37567 tmp
37568 .
37569 buf
37570
37571 ±r
37572
37573 »®_body_Ën
37574 );
37575
37576 541 
37577 tmp
37578 .
37579 buf
37580 [
37581 »®_body_Ën
37582 ] = '\0';
37583
37584 543 
37585 »t
37586  = 
37587         `a¢_REAL2doubË
37588 (&
37589 tmp
37590 , &
37591 d
37592 );
37593
37594 544 if(
37595 tmp
37596 .
37597 buf
37598  !ð
37599 sü©ch
37600 è
37601         `FREEMEM
37602 (tmp.buf);
37603
37604 545 if(
37605 »t
37606 ) {
37607
37608 546 
37609         `ASN_DEBUG
37610 ("REAL decoded iÀ%" 
37611 ASN_PRI_SIZE
37612  " bytes, but can't convert\81 double",
37613
37614 547 
37615 »®_body_Ën
37616 );
37617
37618 548 
37619 ASN__DECODE_FAILED
37620 ;
37621
37622 552 if(
37623         `N©iveR\97l__£t
37624 (
37625 td
37626
37627 ¥\8c
37628
37629 d
37630 ) < 0)
37631
37632 553 
37633 ASN__DECODE_FAILED
37634 ;
37635
37636 555 
37637 ok
37638 .
37639 cÚsumed
37640  = 
37641 Ën_Ën
37642  + 
37643 »®_body_Ën
37644 ;
37645
37646 556 \15 
37647 ok
37648 ;
37649
37650 557 
37651         }
37652 }
37653
37654 564 
37655 a¢_dec_rv®_t
37656
37657
37658 565 
37659         $N©iveR\97l_decode_x\94
37660 (cڡ 
37661 a¢_codec_ùx_t
37662  *
37663 Ýt_codec_ùx
37664 ,
37665
37666 566 cڡ 
37667 a¢_TYPE_desü\9dtÜ_t
37668  *
37669 td
37670\1e**
37671 ¥\8c
37672 ,
37673
37674 567 cڡ \ 5*
37675 Ýt_mÇme
37676 , cڡ \1e*
37677 buf_±r
37678
37679 size_t
37680  
37681 size
37682 ) {
37683
37684 568 
37685 a¢_dec_rv®_t
37686  
37687 rv®
37688 ;
37689
37690 569 
37691 REAL_t
37692  
37693 ¡
37694  = { 0, 0 };
37695
37696 570 
37697 REAL_t
37698  *
37699 ¡p
37700  = &
37701 ¡
37702 ;
37703
37704 572 
37705 rv®
37706  = 
37707         `REAL_decode_x\94
37708 (
37709 Ýt_codec_ùx
37710
37711 td
37712 , (\1e**)&
37713 ¡p
37714
37715 Ýt_mÇme
37716 ,
37717
37718 573 
37719 buf_±r
37720
37721 size
37722 );
37723
37724 574 if(
37725 rv®
37726 .
37727 code
37728  =ð
37729 RC_OK
37730 ) {
37731
37732 575 \b
37733 d
37734 ;
37735
37736 576 if(
37737         `a¢_REAL2doubË
37738 (&
37739 ¡
37740 , &
37741 d
37742 è|| 
37743         `N©iveR\97l__£t
37744 (
37745 td
37746
37747 ¥\8c
37748 , d) < 0) {
37749
37750 577 
37751 rv®
37752 .
37753 code
37754  = 
37755 RC_FAIL
37756 ;
37757
37758 578 
37759 rv®
37760 .
37761 cÚsumed
37762  = 0;
37763
37764 582 
37765 rv®
37766 .
37767 cÚsumed
37768  = 0;
37769
37770 584 
37771         `ASN_STRUCT_FREE_CONTENTS_ONLY
37772 (
37773 a¢_DEF_REAL
37774 , &
37775 ¡
37776 );
37777
37778 585 \15 
37779 rv®
37780 ;
37781
37782 586 
37783         }
37784 }
37785
37786 588 
37787 a¢_\92c_rv®_t
37788
37789
37790 589 
37791         $N©iveR\97l_\92code_x\94
37792 (cڡ 
37793 a¢_TYPE_desü\9dtÜ_t
37794  *
37795 td
37796 , cڡ \1e*
37797 ¥\8c
37798 ,
37799
37800 590 \12
37801 \9eev\96
37802\f
37803 x\94_\92cod\94_æags_e
37804  
37805 æags
37806 ,
37807
37808 591 
37809 a¢_­p_cÚsume_by\8bs_f
37810  *
37811 cb
37812\1e*
37813 ­p_key
37814 ) {
37815
37816 592 \b
37817 d
37818  = 
37819         `N©iveR\97l__g\91_doubË
37820 (
37821 td
37822
37823 ¥\8c
37824 );
37825
37826 593 
37827 a¢_\92c_rv®_t
37828  
37829 \94
37830  = {0,0,0};
37831
37832 595 (\1e)
37833 \9eev\96
37834 ;
37835
37836 597 
37837 \94
37838 .
37839 \92coded
37840  = 
37841         `REAL__dump
37842 (
37843 d
37844
37845 æags
37846  & 
37847 XER_F_CANONICAL
37848
37849 cb
37850
37851 ­p_key
37852 );
37853
37854 598 if(
37855 \94
37856 .
37857 \92coded
37858  < 0è
37859 ASN__ENCODE_FAILED
37860 ;
37861
37862 600 
37863         `ASN__ENCODED_OK
37864 (
37865 \94
37866 );
37867
37868 601 
37869         }
37870 }
37871
37872 607 
37873         $N©iveR\97l_´\9at
37874 (cڡ 
37875 a¢_TYPE_desü\9dtÜ_t
37876  *
37877 td
37878 , cڡ \1e*
37879 ¥\8c
37880\12
37881 \9eev\96
37882 ,
37883
37884 608 
37885 a¢_­p_cÚsume_by\8bs_f
37886  *
37887 cb
37888\1e*
37889 ­p_key
37890 ) {
37891
37892 609 (\1e)
37893 \9eev\96
37894 ;
37895
37896 611 if(
37897 ¥\8c
37898 ) {
37899
37900 612 \b
37901 d
37902  = 
37903         `N©iveR\97l__g\91_doubË
37904 (
37905 td
37906
37907 ¥\8c
37908 );
37909
37910 613 \15 (
37911         `REAL__dump
37912 (
37913 d
37914 , 0, 
37915 cb
37916
37917 ­p_key
37918 ) < 0) ? -1 : 0;
37919
37920 615 \15 (
37921         `cb
37922 ("<ab£Á>", 8, 
37923 ­p_key
37924 ) < 0) ? -1 : 0;
37925
37926 617 
37927         }
37928 }
37929
37930 620 
37931         $N©iveR\97l_com·»
37932 (cڡ 
37933 a¢_TYPE_desü\9dtÜ_t
37934  *
37935 td
37936 , cڡ \1e*
37937 ­\8c
37938 ,
37939
37940 621 cڡ \1e*
37941 b±r
37942 ) {
37943
37944 623 if(
37945 ­\8c
37946  && 
37947 b±r
37948 ) {
37949
37950 624 \b
37951 a
37952  = 
37953         `N©iveR\97l__g\91_doubË
37954 (
37955 td
37956
37957 ­\8c
37958 );
37959
37960 625 \b
37961 b
37962  = 
37963         `N©iveR\97l__g\91_doubË
37964 (
37965 td
37966
37967 b±r
37968 );
37969
37970 628 if(
37971         `a¢_i¢ª
37972 (
37973 a
37974 )) {
37975
37976 629 if(
37977         `a¢_i¢ª
37978 (
37979 b
37980 )) {
37981
37982 634 } \vif(
37983         `a¢_i¢ª
37984 (
37985 b
37986 )) {
37987
37988 638 if(
37989 a
37990  < 
37991 b
37992 ) {
37993
37994 640 } \vif(
37995 a
37996  > 
37997 b
37998 ) {
37999
38000 645 } \vif(!
38001 ­\8c
38002 ) {
38003
38004 650 
38005         }
38006 }
38007
38008 653 
38009         $N©iveR\97l_ä\93
38010 (cڡ 
38011 a¢_TYPE_desü\9dtÜ_t
38012  *
38013 td
38014\1e*
38015 ±r
38016 ,
38017
38018 654 \f
38019 a¢_¡ruù_ä\93_m\91hod
38020  
38021 m\91hod
38022 ) {
38023
38024 655 if(!
38025 td
38026  || !
38027 ±r
38028 )
38029
38030 658 
38031         `ASN_DEBUG
38032 ("Freeing %s\87s REAL (%d, %p, Native)",
38033
38034 659 
38035 td
38036 ->
38037 Çme
38038
38039 m\91hod
38040
38041 ±r
38042 );
38043
38044 661 \1a
38045 m\91hod
38046 ) {
38047
38048 662 \ 4
38049 ASFM_FREE_EVERYTHING
38050 :
38051
38052 663 
38053         `FREEMEM
38054 (
38055 ±r
38056 );
38057
38058 665 \ 4
38059 ASFM_FREE_UNDERLYING
38060 :
38061
38062 667 \ 4
38063 ASFM_FREE_UNDERLYING_AND_RESET
38064 : {
38065
38066 668 cڡ 
38067 a¢_N©iveR\97l_¥ecifics_t
38068  *
38069 ¥ecs
38070 ;
38071
38072 669 
38073 size_t
38074  
38075 æßt_size
38076 ;
38077
38078 670 
38079 ¥ecs
38080  = (cڡ 
38081 a¢_N©iveR\97l_¥ecifics_t
38082  *)
38083 td
38084 ->
38085 ¥ecifics
38086 ;
38087
38088 671 
38089 æßt_size
38090  = 
38091 ¥ecs
38092  ? specs->float_size : \17(\b);
38093
38094 672 
38095         `mem£t
38096 (
38097 ±r
38098 , 0, 
38099 æßt_size
38100 );
38101
38102 675 
38103         }
38104 }
38105
38106 677 
38107 a¢_¿ndom_f\9el_»suÉ_t
38108
38109
38110 678 
38111         $N©iveR\97l_¿ndom_f\9el
38112 (cڡ 
38113 a¢_TYPE_desü\9dtÜ_t
38114  *
38115 td
38116\1e**
38117 ¥\8c
38118 ,
38119
38120 679 cڡ 
38121 a¢_\92cod\9ag_cÚ¡¿\9ats_t
38122  *
38123 cÚ¡¿\9ats
38124 ,
38125
38126 680 
38127 size_t
38128  
38129 max_Ëngth
38130 ) {
38131
38132 681 
38133 a¢_¿ndom_f\9el_»suÉ_t
38134  
38135 »suÉ_ok
38136  = {
38137 ARFILL_OK
38138 , 0};
38139
38140 682 
38141 a¢_¿ndom_f\9el_»suÉ_t
38142  
38143 »suÉ_ç\9eed
38144  = {
38145 ARFILL_FAILED
38146 , 0};
38147
38148 683 
38149 a¢_¿ndom_f\9el_»suÉ_t
38150  
38151 »suÉ_sk\9d³d
38152  = {
38153 ARFILL_SKIPPED
38154 , 0};
38155
38156 684 #iâdeà
38157 INFINITY
38158
38159
38160 685 \ 1
38161         #INFINITY
38162  (1.0/0.0)
38163
38164         )
38165
38166 687 #iâdeà
38167 NAN
38168
38169
38170 688 \ 1
38171         #NAN
38172  (0.0/0.0)
38173
38174         )
38175
38176 690 \18cڡ \b
38177 doubË_v®ues
38178 [] = {
38179
38180 691 -
38181 M_E
38182 , M_E, -
38183 M_PI
38184 , M_PI,
38185
38186 699 -
38187 DBL_MIN
38188 , DBL_MIN,
38189
38190 700 -
38191 DBL_MAX
38192 , DBL_MAX,
38193
38194 701 #ifdeà 
38195 DBL_TRUE_MIN
38196
38197
38198 702 -
38199 DBL_TRUE_MIN
38200 , DBL_TRUE_MIN
38201
38202 705 \18cڡ \ e
38203 æßt_v®ues
38204 [] = {
38205
38206 706 0, -0.0, -1, 1, -
38207 M_E
38208 , M_E, -3.14, 3.14, -
38209 M_PI
38210 , M_PI, -255, 255,
38211
38212 707 -
38213 FLT_MIN
38214 , FLT_MIN,
38215
38216 708 -
38217 FLT_MAX
38218 , FLT_MAX,
38219
38220 709 #ifdeà 
38221 FLT_TRUE_MIN
38222
38223
38224 710 -
38225 FLT_TRUE_MIN
38226 , FLT_TRUE_MIN,
38227
38228 712 
38229 INFINITY
38230 , -INFINITY, 
38231 NAN
38232
38233
38234 714 
38235 ssize_t
38236  
38237 æßt_£t_size
38238  = 
38239         `N©iveR\97l__æßt_size
38240 (
38241 td
38242 );
38243
38244 715 cڡ 
38245 size_t
38246  
38247 n_doubËs
38248  = \17(
38249 doubË_v®ues
38250 ) / \17(double_values[0]);
38251
38252 716 cڡ 
38253 size_t
38254  
38255 n_æßts
38256  = \17(
38257 æßt_v®ues
38258 ) / \17(float_values[0]);
38259
38260 717 \b
38261 d
38262 ;
38263
38264 719 (\1e)
38265 cÚ¡¿\9ats
38266 ;
38267
38268 721 if(
38269 max_Ëngth
38270  =ð0è\15 
38271 »suÉ_sk\9d³d
38272 ;
38273
38274 723 if(
38275 æßt_£t_size
38276  =ð\17(\bè&& 
38277         `a¢_¿ndom_b\91w\93n
38278 (0, 1) == 0) {
38279
38280 724 
38281 d
38282  = 
38283 doubË_v®ues
38284 [
38285         `a¢_¿ndom_b\91w\93n
38286 (0, 
38287 n_doubËs
38288  - 1)];
38289
38290 726 
38291 d
38292  = 
38293 æßt_v®ues
38294 [
38295         `a¢_¿ndom_b\91w\93n
38296 (0, 
38297 n_æßts
38298  - 1)];
38299
38300 729 if(
38301         `N©iveR\97l__£t
38302 (
38303 td
38304
38305 ¥\8c
38306
38307 d
38308 ) < 0) {
38309
38310 730 \15 
38311 »suÉ_ç\9eed
38312 ;
38313
38314 733 
38315 »suÉ_ok
38316 .
38317 Ëngth
38318  = 
38319 æßt_£t_size
38320 ;
38321
38322 734 \15 
38323 »suÉ_ok
38324 ;
38325
38326 735 
38327         }
38328 }
38329
38330 742 \18
38331 size_t
38332
38333
38334 743 
38335         $N©iveR\97l__æßt_size
38336 (cڡ 
38337 a¢_TYPE_desü\9dtÜ_t
38338  *
38339 td
38340 ) {
38341
38342 744 cڡ 
38343 a¢_N©iveR\97l_¥ecifics_t
38344  *
38345 ¥ecs
38346  =
38347
38348 745 (cڡ 
38349 a¢_N©iveR\97l_¥ecifics_t
38350  *)
38351 td
38352 ->
38353 ¥ecifics
38354 ;
38355
38356 746 \15 
38357 ¥ecs
38358  ? s³cs->
38359 æßt_size
38360  : \17(\b);
38361
38362 747 
38363         }
38364 }
38365
38366 750 
38367         $N©iveR\97l__g\91_doubË
38368 (cڡ 
38369 a¢_TYPE_desü\9dtÜ_t
38370  *
38371 td
38372 , cڡ \1e*
38373 ±r
38374 ) {
38375
38376 751 
38377 size_t
38378  
38379 æßt_size
38380  = 
38381         `N©iveR\97l__æßt_size
38382 (
38383 td
38384 );
38385
38386 752 if(
38387 æßt_size
38388  == \17(\ e)) {
38389
38390 753 \15 *(cڡ \ e*)
38391 ±r
38392 ;
38393
38394 755 \15 *(cڡ \b*)
38395 ±r
38396 ;
38397
38398 757 
38399         }
38400 }
38401
38402 759 \18
38403 ssize_t
38404
38405
38406 760 
38407         $N©iveR\97l__£t
38408 (cڡ 
38409 a¢_TYPE_desü\9dtÜ_t
38410  *
38411 td
38412\1e**
38413 ¥\8c
38414\b
38415 d
38416 ) {
38417
38418 761 
38419 size_t
38420  
38421 æßt_size
38422  = 
38423         `N©iveR\97l__æßt_size
38424 (
38425 td
38426 );
38427
38428 762 \1e*
38429 Çtive
38430 ;
38431
38432 764 if(!(
38433 Çtive
38434  = *
38435 ¥\8c
38436 )) {
38437
38438 765 
38439 Çtive
38440  = (*
38441 ¥\8c
38442  = 
38443         `CALLOC
38444 (1, 
38445 æßt_size
38446 ));
38447
38448 766 if(!
38449 Çtive
38450 ) {
38451
38452 771 if(
38453 æßt_size
38454  == \17(\ e)) {
38455
38456 772 if(
38457         `a¢_doubË2æßt
38458 (
38459 d
38460 , (\ e*)
38461 Çtive
38462 )) {
38463
38464 776 *(\b*)
38465 Çtive
38466  = 
38467 d
38468 ;
38469
38470 779 \15 
38471 æßt_size
38472 ;
38473
38474 780 
38475         }
38476 }
38477
38478         @NgENB-ID.c
38479
38480\ 2
38481         ~"NgENB-ID.h
38482 "
38483
38484 11 
38485         $memb_maüoNgENB_ID_cÚ¡¿\9at_1
38486 (cڡ 
38487 a¢_TYPE_desü\9dtÜ_t
38488  *
38489 td
38490 , cڡ \1e*
38491 ¥\8c
38492 ,
38493
38494 12 
38495 a¢_­p_cÚ¡¿\9at_ç\9eed_f
38496  *
38497 ùç\9ecb
38498\1e*
38499 ­p_key
38500 ) {
38501
38502 13 cڡ 
38503 BIT_STRING_t
38504  *
38505 ¡
38506  = (cÚ¡ BIT_STRING_\88*)
38507 ¥\8c
38508 ;
38509
38510 14 
38511 size_t
38512  
38513 size
38514 ;
38515
38516 16 if(!
38517 ¥\8c
38518 ) {
38519
38520 17 
38521         `ASN__CTFAIL
38522 (
38523 ­p_key
38524
38525 td
38526
38527 ¥\8c
38528 ,
38529
38530 19 
38531 td
38532 ->
38533 Çme
38534
38535 __FILE__
38536
38537 __LINE__
38538 );
38539
38540 23 if(
38541 ¡
38542 ->
38543 size
38544  > 0) {
38545
38546 25 
38547 size
38548  = 8 * 
38549 ¡
38550 ->siz\90- (¡->
38551 b\99s_unu£d
38552  & 0x07);
38553
38554 27 
38555 size
38556  = 0;
38557
38558 30 if((
38559 size
38560  == 20)) {
38561
38562 34 
38563         `ASN__CTFAIL
38564 (
38565 ­p_key
38566
38567 td
38568
38569 ¥\8c
38570 ,
38571
38572 36 
38573 td
38574 ->
38575 Çme
38576
38577 __FILE__
38578
38579 __LINE__
38580 );
38581
38582 39 
38583         }
38584 }
38585
38586 42 
38587         $memb_shÜtMaüoNgENB_ID_cÚ¡¿\9at_1
38588 (cڡ 
38589 a¢_TYPE_desü\9dtÜ_t
38590  *
38591 td
38592 , cڡ \1e*
38593 ¥\8c
38594 ,
38595
38596 43 
38597 a¢_­p_cÚ¡¿\9at_ç\9eed_f
38598  *
38599 ùç\9ecb
38600\1e*
38601 ­p_key
38602 ) {
38603
38604 44 cڡ 
38605 BIT_STRING_t
38606  *
38607 ¡
38608  = (cÚ¡ BIT_STRING_\88*)
38609 ¥\8c
38610 ;
38611
38612 45 
38613 size_t
38614  
38615 size
38616 ;
38617
38618 47 if(!
38619 ¥\8c
38620 ) {
38621
38622 48 
38623         `ASN__CTFAIL
38624 (
38625 ­p_key
38626
38627 td
38628
38629 ¥\8c
38630 ,
38631
38632 50 
38633 td
38634 ->
38635 Çme
38636
38637 __FILE__
38638
38639 __LINE__
38640 );
38641
38642 54 if(
38643 ¡
38644 ->
38645 size
38646  > 0) {
38647
38648 56 
38649 size
38650  = 8 * 
38651 ¡
38652 ->siz\90- (¡->
38653 b\99s_unu£d
38654  & 0x07);
38655
38656 58 
38657 size
38658  = 0;
38659
38660 61 if((
38661 size
38662  == 18)) {
38663
38664 65 
38665         `ASN__CTFAIL
38666 (
38667 ­p_key
38668
38669 td
38670
38671 ¥\8c
38672 ,
38673
38674 67 
38675 td
38676 ->
38677 Çme
38678
38679 __FILE__
38680
38681 __LINE__
38682 );
38683
38684 70 
38685         }
38686 }
38687
38688 73 
38689         $memb_lÚgMaüoNgENB_ID_cÚ¡¿\9at_1
38690 (cڡ 
38691 a¢_TYPE_desü\9dtÜ_t
38692  *
38693 td
38694 , cڡ \1e*
38695 ¥\8c
38696 ,
38697
38698 74 
38699 a¢_­p_cÚ¡¿\9at_ç\9eed_f
38700  *
38701 ùç\9ecb
38702\1e*
38703 ­p_key
38704 ) {
38705
38706 75 cڡ 
38707 BIT_STRING_t
38708  *
38709 ¡
38710  = (cÚ¡ BIT_STRING_\88*)
38711 ¥\8c
38712 ;
38713
38714 76 
38715 size_t
38716  
38717 size
38718 ;
38719
38720 78 if(!
38721 ¥\8c
38722 ) {
38723
38724 79 
38725         `ASN__CTFAIL
38726 (
38727 ­p_key
38728
38729 td
38730
38731 ¥\8c
38732 ,
38733
38734 81 
38735 td
38736 ->
38737 Çme
38738
38739 __FILE__
38740
38741 __LINE__
38742 );
38743
38744 85 if(
38745 ¡
38746 ->
38747 size
38748  > 0) {
38749
38750 87 
38751 size
38752  = 8 * 
38753 ¡
38754 ->siz\90- (¡->
38755 b\99s_unu£d
38756  & 0x07);
38757
38758 89 
38759 size
38760  = 0;
38761
38762 92 if((
38763 size
38764  == 21)) {
38765
38766 96 
38767         `ASN__CTFAIL
38768 (
38769 ­p_key
38770
38771 td
38772
38773 ¥\8c
38774 ,
38775
38776 98 
38777 td
38778 ->
38779 Çme
38780
38781 __FILE__
38782
38783 __LINE__
38784 );
38785
38786 101 
38787         }
38788 }
38789
38790 103 \18
38791 a¢_³r_cÚ¡¿\9ats_t
38792  
38793 a¢_PER_memb_maüoNgENB_ID_cÚ¡r_2
38794  
38795         gCC_NOTUSED
38796  = {
38797
38798 104 { 
38799 APC_UNCONSTRAINED
38800 , -1, -1, 0, 0 },
38801
38802 105 { 
38803 APC_CONSTRAINED
38804 , 0, 0, 20, 20 } ,
38805
38806 108 \18
38807 a¢_³r_cÚ¡¿\9ats_t
38808  
38809 a¢_PER_memb_shÜtMaüoNgENB_ID_cÚ¡r_3
38810  
38811         gCC_NOTUSED
38812  = {
38813
38814 109 { 
38815 APC_UNCONSTRAINED
38816 , -1, -1, 0, 0 },
38817
38818 110 { 
38819 APC_CONSTRAINED
38820 , 0, 0, 18, 18 } ,
38821
38822 113 \18
38823 a¢_³r_cÚ¡¿\9ats_t
38824  
38825 a¢_PER_memb_lÚgMaüoNgENB_ID_cÚ¡r_4
38826  
38827         gCC_NOTUSED
38828  = {
38829
38830 114 { 
38831 APC_UNCONSTRAINED
38832 , -1, -1, 0, 0 },
38833
38834 115 { 
38835 APC_CONSTRAINED
38836 , 0, 0, 21, 21 } ,
38837
38838 118 
38839 a¢_³r_cÚ¡¿\9ats_t
38840  
38841 a¢_PER_ty³_NgENB_ID_cÚ¡r_1
38842  
38843         gCC_NOTUSED
38844  = {
38845
38846 119 { 
38847 APC_CONSTRAINED
38848  | 
38849 APC_EXTENSIBLE
38850 , 2, 2, 0, 2 } ,
38851
38852 120 { 
38853 APC_UNCONSTRAINED
38854 , -1, -1, 0, 0 },
38855
38856 123 
38857 a¢_TYPE_memb\94_t
38858  
38859         ga¢_MBR_NgENB_ID_1
38860 [] = {
38861
38862 124 { 
38863 ATF_NOFLAGS
38864 , 0, 
38865 off£tof
38866 (\19
38867 NgENB_ID
38868
38869 choiû
38870 .
38871 maüoNgENB_ID
38872 ),
38873
38874 125 (
38875 ASN_TAG_CLASS_CONTEXT
38876  | (0 << 2)),
38877
38878 127 &
38879 a¢_DEF_BIT_STRING
38880 ,
38881
38882 129 { 0, &
38883 a¢_PER_memb_maüoNgENB_ID_cÚ¡r_2
38884
38885 memb_maüoNgENB_ID_cÚ¡¿\9at_1
38886  },
38887
38888 133 { 
38889 ATF_NOFLAGS
38890 , 0, 
38891 off£tof
38892 (\19
38893 NgENB_ID
38894
38895 choiû
38896 .
38897 shÜtMaüoNgENB_ID
38898 ),
38899
38900 134 (
38901 ASN_TAG_CLASS_CONTEXT
38902  | (1 << 2)),
38903
38904 136 &
38905 a¢_DEF_BIT_STRING
38906 ,
38907
38908 138 { 0, &
38909 a¢_PER_memb_shÜtMaüoNgENB_ID_cÚ¡r_3
38910
38911 memb_shÜtMaüoNgENB_ID_cÚ¡¿\9at_1
38912  },
38913
38914 142 { 
38915 ATF_NOFLAGS
38916 , 0, 
38917 off£tof
38918 (\19
38919 NgENB_ID
38920
38921 choiû
38922 .
38923 lÚgMaüoNgENB_ID
38924 ),
38925
38926 143 (
38927 ASN_TAG_CLASS_CONTEXT
38928  | (2 << 2)),
38929
38930 145 &
38931 a¢_DEF_BIT_STRING
38932 ,
38933
38934 147 { 0, &
38935 a¢_PER_memb_lÚgMaüoNgENB_ID_cÚ¡r_4
38936
38937 memb_lÚgMaüoNgENB_ID_cÚ¡¿\9at_1
38938  },
38939
38940 152 \18cڡ 
38941 a¢_TYPE_\8fg2memb\94_t
38942  
38943         ga¢_MAP_NgENB_ID_\8fg2\96_1
38944 [] = {
38945
38946 153 { (
38947 ASN_TAG_CLASS_CONTEXT
38948  | (0 << 2)), 0, 0, 0 },
38949
38950 154 { (
38951 ASN_TAG_CLASS_CONTEXT
38952  | (1 << 2)), 1, 0, 0 },
38953
38954 155 { (
38955 ASN_TAG_CLASS_CONTEXT
38956  | (2 << 2)), 2, 0, 0 }
38957
38958 157 
38959 a¢_CHOICE_¥ecifics_t
38960  
38961         ga¢_SPC_NgENB_ID_¥ecs_1
38962  = {
38963
38964 158 \17(\19
38965 NgENB_ID
38966 ),
38967
38968 159 
38969 off£tof
38970 (\19
38971 NgENB_ID
38972
38973 _a¢_ùx
38974 ),
38975
38976 160 
38977 off£tof
38978 (\19
38979 NgENB_ID
38980
38981 ´e£Á
38982 ),
38983
38984 161 \17(((\19
38985 NgENB_ID
38986  *)0)->
38987 ´e£Á
38988 ),
38989
38990 162 
38991 a¢_MAP_NgENB_ID_\8fg2\96_1
38992 ,
38993
38994 167 
38995 a¢_TYPE_desü\9dtÜ_t
38996  
38997         ga¢_DEF_NgENB_ID
38998  = {
38999
39000 170 &
39001 a¢_OP_CHOICE
39002 ,
39003
39004 175 { 0, &
39005 a¢_PER_ty³_NgENB_ID_cÚ¡r_1
39006
39007 CHOICE_cÚ¡¿\9at
39008  },
39009
39010 176 
39011 a¢_MBR_NgENB_ID_1
39012 ,
39013
39014 178 &
39015 a¢_SPC_NgENB_ID_¥ecs_1
39016
39017
39018         @OCTET_STRING.c
39019
39020\ 2
39021         ~<a¢_\9a\8bº®.h
39022 >
39023
39024\ 2
39025         ~<OCTET_STRING.h
39026 >
39027
39028\ 2
39029         ~<BIT_STRING.h
39030 >
39031
39032\ 2
39033         ~<\94ºo.h
39034 >
39035
39036 14 \18cڡ 
39037 b\94_\8ev_\8fg_t
39038  
39039         ga¢_DEF_OCTET_STRING_\8fgs
39040 [] = {
39041
39042 15 (
39043 ASN_TAG_CLASS_UNIVERSAL
39044  | (4 << 2))
39045
39046 17 
39047 a¢_OCTET_STRING_¥ecifics_t
39048  
39049         ga¢_SPC_OCTET_STRING_¥ecs
39050  = {
39051
39052 18 \17(
39053 OCTET_STRING_t
39054 ),
39055
39056 19 
39057 off£tof
39058 (
39059 OCTET_STRING_t
39060
39061 _a¢_ùx
39062 ),
39063
39064 20 
39065 ASN_OSUBV_STR
39066
39067
39068 23 
39069 a¢_TYPE_Ý\94©iÚ_t
39070  
39071         ga¢_OP_OCTET_STRING
39072  = {
39073
39074 24 
39075 OCTET_STRING_ä\93
39076 ,
39077
39078 25 
39079 OCTET_STRING_´\9at
39080 ,
39081
39082 26 
39083 OCTET_STRING_com·»
39084 ,
39085
39086 27 
39087 OCTET_STRING_decode_b\94
39088 ,
39089
39090 28 
39091 OCTET_STRING_\92code_d\94
39092 ,
39093
39094 29 
39095 OCTET_STRING_decode_x\94_hex
39096 ,
39097
39098 30 
39099 OCTET_STRING_\92code_x\94
39100 ,
39101
39102 31 #ifdef 
39103 ASN_DISABLE_OER_SUPPORT
39104
39105
39106 35 
39107 OCTET_STRING_decode_Ûr
39108 ,
39109
39110 36 
39111 OCTET_STRING_\92code_Ûr
39112 ,
39113
39114 38 #ifdef 
39115 ASN_DISABLE_PER_SUPPORT
39116
39117
39118 44 
39119 OCTET_STRING_decode_u³r
39120 ,
39121
39122 45 
39123 OCTET_STRING_\92code_u³r
39124 ,
39125
39126 46 
39127 OCTET_STRING_decode_­\94
39128 ,
39129
39130 47 
39131 OCTET_STRING_\92code_­\94
39132 ,
39133
39134 49 
39135 OCTET_STRING_¿ndom_f\9el
39136 ,
39137
39138 52 
39139 a¢_TYPE_desü\9dtÜ_t
39140  
39141         ga¢_DEF_OCTET_STRING
39142  = {
39143
39144 55 &
39145 a¢_OP_OCTET_STRING
39146 ,
39147
39148 56 
39149 a¢_DEF_OCTET_STRING_\8fgs
39150 ,
39151
39152 57 \17(
39153 a¢_DEF_OCTET_STRING_\8fgs
39154 )
39155
39156 58 / \17(
39157 a¢_DEF_OCTET_STRING_\8fgs
39158 [0]),
39159
39160 59 
39161 a¢_DEF_OCTET_STRING_\8fgs
39162 ,
39163
39164 60 \17(
39165 a¢_DEF_OCTET_STRING_\8fgs
39166 )
39167
39168 61 / \17(
39169 a¢_DEF_OCTET_STRING_\8fgs
39170 [0]),
39171
39172 62 { 0, 0, 
39173 a¢_g\92\94ic_no_cÚ¡¿\9at
39174  },
39175
39176 64 &
39177 a¢_SPC_OCTET_STRING_¥ecs
39178
39179
39180 67 #undeà
39181 _CH_PHASE
39182
39183
39184 68 #undeà
39185 NEXT_PHASE
39186
39187
39188 69 #undeà
39189 PREV_PHASE
39190
39191
39192 70 \ 1
39193         #_CH_PHASE
39194 (
39195 ùx
39196
39197 \9ac
39198 ) do { \
39199
39200 71 if(
39201 ùx
39202 ->
39203 pha£
39204  == 0) \
39205
39206 72 
39207 ùx
39208 ->
39209 cڋxt
39210  = 0; \
39211
39212 73 
39213 ùx
39214 ->
39215 pha£
39216  +ð
39217 \9ac
39218 ; \
39219
39220 74 } \1f0)
39221
39222         )
39223
39224 75 \ 1
39225         #NEXT_PHASE
39226 (
39227 ùx
39228 è
39229         `_CH_PHASE
39230 (ùx, +1)
39231
39232         )
39233
39234 76 \ 1
39235         #PREV_PHASE
39236 (
39237 ùx
39238 è
39239         `_CH_PHASE
39240 (ùx, -1)
39241
39242         )
39243
39244 78 #undeà
39245 ADVANCE
39246
39247
39248 79 \ 1
39249         #ADVANCE
39250 (
39251 num_by\8bs
39252 ) do { \
39253
39254 80 
39255 size_t
39256  
39257 num
39258  = (
39259 num_by\8bs
39260 ); \
39261
39262 81 
39263 buf_±r
39264  = ((cÚ¡ \ 5*)buf_±rè+ 
39265 num
39266 ; \
39267
39268 82 
39269 size
39270  -ð
39271 num
39272 ; \
39273
39274 83 
39275 cÚsumed_my£lf
39276  +ð
39277 num
39278 ; \
39279
39280 84 } \1f0)
39281
39282         )
39283
39284 86 #undeà
39285 RETURN
39286
39287
39288 87 \ 1
39289         #RETURN
39290 (
39291 _code
39292 ) do { \
39293
39294 88 
39295 a¢_dec_rv®_t
39296  
39297 tm´v®
39298 ; \
39299
39300 89 
39301 tm´v®
39302 .
39303 code
39304  = 
39305 _code
39306 ; \
39307
39308 90 
39309 tm´v®
39310 .
39311 cÚsumed
39312  = 
39313 cÚsumed_my£lf
39314 ; \
39315
39316 91 \15 
39317 tm´v®
39318 ; \
39319
39320 92 } \1f0)
39321
39322         )
39323
39324 94 #undeà
39325 APPEND
39326
39327
39328 95 \ 1
39329         #APPEND
39330 (
39331 buå\8c
39332
39333 bufsize
39334 ) do { \
39335
39336 96 
39337 size_t
39338  
39339 _bs
39340  = (
39341 bufsize
39342 ); \
39343
39344 97 
39345 size_t
39346  
39347 _ns
39348  = 
39349 ùx
39350 ->
39351 cڋxt
39352 ; \
39353
39354 98 
39355 size_t
39356  
39357 _es
39358  = 
39359 ¡
39360 ->
39361 size
39362  + 
39363 _bs
39364 ; \
39365
39366 100 if((\12)
39367 _es
39368  < 0è
39369         `RETURN
39370 (
39371 RC_FAIL
39372 ); \
39373
39374 101 if(
39375 _ns
39376  <ð
39377 _es
39378 ) { \
39379
39380 102 \1e*
39381 ±r
39382 ; \
39383
39384 104 dØ{ 
39385 _ns
39386  = _ns ? _ns << 1 : 16; } \
39387
39388 105 \1f
39389 _ns
39390  <ð
39391 _es
39392 ); \
39393
39394 107 if((\12)
39395 _ns
39396  < 0è
39397         `RETURN
39398 (
39399 RC_FAIL
39400 ); \
39401
39402 108 
39403 ±r
39404  = 
39405         `REALLOC
39406 (
39407 ¡
39408 ->
39409 buf
39410
39411 _ns
39412 ); \
39413
39414 109 if(
39415 ±r
39416 ) { \
39417
39418 110 
39419 ¡
39420 ->
39421 buf
39422  = (
39423 u\9at8_t
39424  *)
39425 ±r
39426 ; \
39427
39428 111 
39429 ùx
39430 ->
39431 cڋxt
39432  = 
39433 _ns
39434 ; \
39435
39436 113 
39437         `RETURN
39438 (
39439 RC_FAIL
39440 ); \
39441
39442 115 
39443         `ASN_DEBUG
39444 ("R\97Îoÿt\9ag iÁØ%ld", (\13)
39445 _ns
39446 ); \
39447
39448 117 
39449         `memýy
39450 (
39451 ¡
39452 ->
39453 buf
39454  + st->
39455 size
39456
39457 buå\8c
39458
39459 _bs
39460 ); \
39461
39462 119 
39463 ¡
39464 ->
39465 buf
39466 [
39467 _es
39468 ] = '\0'; \
39469
39470 120 
39471 ¡
39472 ->
39473 size
39474  = 
39475 _es
39476 ; \
39477
39478 121 } \1f0)
39479
39480         )
39481
39482 129 \19
39483         s_¡ack_\96
39484  {
39485
39486 130 
39487 b\94_\8ev_Ën_t
39488  
39489         mËá
39490 ;
39491
39492 131 
39493 b\94_\8ev_Ën_t
39494  
39495         mgÙ
39496 ;
39497
39498 132 \1d
39499         mcÚt_Ëv\96
39500 ;
39501
39502 133 \12
39503         mwªt_nuÎs
39504 ;
39505
39506 134 \12
39507         mb\99s_chݳd
39508 ;
39509
39510 135 
39511 b\94_\8ev_\8fg_t
39512  
39513         m\8fg
39514 ;
39515
39516 136 \19
39517 _¡ack_\96
39518  *
39519         m´ev
39520 ;
39521
39522 137 \19
39523 _¡ack_\96
39524  *
39525         mÃxt
39526 ;
39527
39528 139 \19
39529         s_¡ack
39530  {
39531
39532 140 \19
39533 _¡ack_\96
39534  *
39535         m\8f\9e
39536 ;
39537
39538 141 \19
39539 _¡ack_\96
39540  *
39541         mcur_±r
39542 ;
39543
39544 144 \18\19
39545 _¡ack_\96
39546  *
39547
39548 145 
39549         $OS__add_¡ack_\96
39550 (\19
39551 _¡ack
39552  *
39553 ¡
39554 ) {
39555
39556 146 \19
39557 _¡ack_\96
39558  *
39559 Ãl
39560 ;
39561
39562 151 if(
39563 ¡
39564 ->
39565 cur_±r
39566  && st->cur_±r->
39567 Ãxt
39568 ) {
39569
39570 152 
39571 Ãl
39572  = 
39573 ¡
39574 ->
39575 cur_±r
39576 ->
39577 Ãxt
39578 ;
39579
39580 153 
39581 Ãl
39582 ->
39583 b\99s_chݳd
39584  = 0;
39585
39586 154 
39587 Ãl
39588 ->
39589
39590  = 0;
39591
39592 157 
39593 Ãl
39594  = (\19
39595 _¡ack_\96
39596  *)
39597         `CALLOC
39598 (1, \17(\19_stack_el));
39599
39600 158 if(
39601 Ãl
39602  =ð
39603 NULL
39604 )
39605
39606 159 \15 
39607 NULL
39608 ;
39609
39610 161 if(
39611 ¡
39612 ->
39613 \8f\9e
39614 ) {
39615
39616 163 
39617 Ãl
39618 ->
39619 cÚt_Ëv\96
39620  = 
39621 ¡
39622 ->
39623 \8f\9e
39624 ->cont_level + 1;
39625
39626 164 
39627 ¡
39628 ->
39629 \8f\9e
39630 ->
39631 Ãxt
39632  = 
39633 Ãl
39634 ;
39635
39636 166 
39637 Ãl
39638 ->
39639 ´ev
39640  = 
39641 ¡
39642 ->
39643 \8f\9e
39644 ;
39645
39646 167 
39647 ¡
39648 ->
39649 \8f\9e
39650  = 
39651 Ãl
39652 ;
39653
39654 170 
39655 ¡
39656 ->
39657 cur_±r
39658  = 
39659 Ãl
39660 ;
39661
39662 172 \15 
39663 Ãl
39664 ;
39665
39666 173 
39667         }
39668 }
39669
39670 175 \18\19
39671 _¡ack
39672  *
39673
39674 176 
39675         $_Ãw_¡ack
39676 (\1e) {
39677
39678 177 \15 (\19
39679 _¡ack
39680  *)
39681         `CALLOC
39682 (1, \17(\19_stack));
39683
39684 178 
39685         }
39686 }
39687
39688 183 
39689 a¢_dec_rv®_t
39690
39691
39692 184 
39693         $OCTET_STRING_decode_b\94
39694 (cڡ 
39695 a¢_codec_ùx_t
39696  *
39697 Ýt_codec_ùx
39698 ,
39699
39700 185 cڡ 
39701 a¢_TYPE_desü\9dtÜ_t
39702  *
39703 td
39704\1e**
39705 ¥\8c
39706 ,
39707
39708 186 cڡ \1e*
39709 buf_±r
39710
39711 size_t
39712  
39713 size
39714\12
39715 \8fg_mode
39716 ) {
39717
39718 187 cڡ 
39719 a¢_OCTET_STRING_¥ecifics_t
39720  *
39721 ¥ecs
39722  = 
39723 td
39724 ->
39725 ¥ecifics
39726
39727
39728 188 ? (cڡ 
39729 a¢_OCTET_STRING_¥ecifics_t
39730  *)
39731 td
39732 ->
39733 ¥ecifics
39734
39735
39736 189 : &
39737 a¢_SPC_OCTET_STRING_¥ecs
39738 ;
39739
39740 190 
39741 BIT_STRING_t
39742  *
39743 ¡
39744  = (BIT_STRING_\88*)*
39745 ¥\8c
39746 ;
39747
39748 191 
39749 a¢_dec_rv®_t
39750  
39751 rv®
39752 ;
39753
39754 192 
39755 a¢_¡ruù_ùx_t
39756  *
39757 ùx
39758 ;
39759
39760 193 
39761 ssize_t
39762  
39763 cÚsumed_my£lf
39764  = 0;
39765
39766 194 \19
39767 _¡ack
39768  *
39769 ¡ck
39770 ;
39771
39772 195 \19
39773 _¡ack_\96
39774  *
39775 £l
39776  = 0;
39777
39778 196 \12
39779 \8ev_cÚ¡r
39780 ;
39781
39782 197 \f
39783 a¢_OS_Subv¬\9fÁ
39784  
39785 ty³_v¬\9fÁ
39786  = 
39787 ¥ecs
39788 ->
39789 subv¬\9fÁ
39790 ;
39791
39792 199 
39793         `ASN_DEBUG
39794 ("Decoding %s\87s %s (frame %ld)",
39795
39796 200 
39797 td
39798 ->
39799 Çme
39800 ,
39801
39802 201 (
39803 ty³_v¬\9fÁ
39804  =ð
39805 ASN_OSUBV_STR
39806 ) ?
39807
39808 203 (\13)
39809 size
39810 );
39811
39812 208 if(
39813 ¡
39814  =ð
39815 NULL
39816 ) {
39817
39818 209 
39819 ¡
39820  = (
39821 BIT_STRING_t
39822  *)(*
39823 ¥\8c
39824  = 
39825         `CALLOC
39826 (1, 
39827 ¥ecs
39828 ->
39829 ¡ruù_size
39830 ));
39831
39832 210 if(
39833 ¡
39834  =ð
39835 NULL
39836 è
39837         `RETURN
39838 (
39839 RC_FAIL
39840 );
39841
39842 214 
39843 ùx
39844  = (
39845 a¢_¡ruù_ùx_t
39846  *)((\ 5*)
39847 ¡
39848  + 
39849 ¥ecs
39850 ->
39851 ùx_off£t
39852 );
39853
39854 216 \1a
39855 ùx
39856 ->
39857 pha£
39858 ) {
39859
39860 221 
39861 rv®
39862  = 
39863         `b\94_check_\8fgs
39864 (
39865 Ýt_codec_ùx
39866
39867 td
39868
39869 ùx
39870 ,
39871
39872 222 
39873 buf_±r
39874
39875 size
39876
39877 \8fg_mode
39878 , -1,
39879
39880 223 &
39881 ùx
39882 ->
39883 Ëá
39884 , &
39885 \8ev_cÚ¡r
39886 );
39887
39888 224 if(
39889 rv®
39890 .
39891 code
39892  !ð
39893 RC_OK
39894 )
39895
39896 225 \15 
39897 rv®
39898 ;
39899
39900 227 if(
39901 \8ev_cÚ¡r
39902 ) {
39903
39904 231 
39905 ùx
39906 ->
39907 ±r
39908  = 
39909         `_Ãw_¡ack
39910 ();
39911
39912 232 if(!
39913 ùx
39914 ->
39915 ±r
39916 ) {
39917
39918 233 
39919         `RETURN
39920 (
39921 RC_FAIL
39922 );
39923
39924 239 
39925         `_CH_PHASE
39926 (
39927 ùx
39928 , 3);
39929
39930 240 if(
39931 ty³_v¬\9fÁ
39932  =ð
39933 ASN_OSUBV_ANY
39934  && 
39935 \8fg_mode
39936  != 1)
39937
39938 241 
39939         `APPEND
39940 (
39941 buf_±r
39942
39943 rv®
39944 .
39945 cÚsumed
39946 );
39947
39948 242 
39949         `ADVANCE
39950 (
39951 rv®
39952 .
39953 cÚsumed
39954 );
39955
39956 243 \10
39957 pha£3
39958 ;
39959
39960 246 
39961         `NEXT_PHASE
39962 (
39963 ùx
39964 );
39965
39966 249 
39967 pha£1
39968 :
39969
39970 253 
39971 ¡ck
39972  = (\19
39973 _¡ack
39974  *)
39975 ùx
39976 ->
39977 ±r
39978 ;
39979
39980 254 
39981 £l
39982  = 
39983 ¡ck
39984 ->
39985 cur_±r
39986 ;
39987
39988 256 
39989 b\94_\8ev_\8fg_t
39990  
39991 \8ev_\8fg
39992 ;
39993
39994 257 
39995 b\94_\8ev_Ën_t
39996  
39997 \8ev_Ën
39998 ;
39999
40000 258 
40001 b\94_\8ev_\8fg_t
40002  
40003 ex³ùed_\8fg
40004 ;
40005
40006 259 
40007 ssize_t
40008  
40009 \8e
40010
40011 Î
40012
40013 \8evl
40014 ;
40015
40016 261 
40017 size_t
40018  
40019 Leá
40020  = ((!
40021 £l
40022 ||(size_t)£l->
40023 Ëá
40024  >ð
40025 size
40026 )
40027
40028 262 ?
40029 size
40030 :(
40031 size_t
40032 )
40033 £l
40034 ->
40035 Ëá
40036 );
40037
40038 265 
40039         `ASN_DEBUG
40040 ("%p, s->l=%ld, s->wn=%ld, s->g=%ld\n", (\1e*)
40041 £l
40042 ,
40043
40044 266 (\13)(
40045 £l
40046 ?£l->
40047 Ëá
40048 :0),
40049
40050 267 (\13)(
40051 £l
40052 ?£l->
40053 wªt_nuÎs
40054 :0),
40055
40056 268 (\13)(
40057 £l
40058 ?£l->
40059
40060 :0)
40061
40062 270 if(
40063 £l
40064  && s\96->
40065 Ëá
40066  <ð0 && s\96->
40067 wªt_nuÎs
40068  == 0) {
40069
40070 271 if(
40071 £l
40072 ->
40073 ´ev
40074 ) {
40075
40076 272 \19
40077 _¡ack_\96
40078  *
40079 ´ev
40080  = 
40081 £l
40082 ->prev;
40083
40084 273 if(
40085 ´ev
40086 ->
40087 Ëá
40088  != -1) {
40089
40090 274 if(
40091 ´ev
40092 ->
40093 Ëá
40094  < 
40095 £l
40096 ->
40097
40098 )
40099
40100 275 
40101         `RETURN
40102 (
40103 RC_FAIL
40104 );
40105
40106 276 
40107 ´ev
40108 ->
40109 Ëá
40110  -ð
40111 £l
40112 ->
40113
40114 ;
40115
40116 278 
40117 ´ev
40118 ->
40119
40120  +ð
40121 £l
40122 ->got;
40123
40124 279 
40125 £l
40126  = 
40127 ¡ck
40128 ->
40129 cur_±r
40130  = 
40131 ´ev
40132 ;
40133
40134 280 if(!
40135 £l
40136\ 3;
40137
40138 281 
40139 \8ev_cÚ¡r
40140  = 1;
40141
40142 284 
40143 £l
40144  = 
40145 ¡ck
40146 ->
40147 cur_±r
40148  = 0;
40149
40150 289 
40151 \8e
40152  = 
40153         `b\94_ãtch_\8fg
40154 (
40155 buf_±r
40156
40157 Leá
40158 , &
40159 \8ev_\8fg
40160 );
40161
40162 290 
40163         `ASN_DEBUG
40164 ("fetch\81ag(size=%ld,L=%ld), %sstack,\86eft=%ld, wn=%ld,\81l=%ld",
40165
40166 291 (\13)
40167 size
40168 , (\13)
40169 Leá
40170
40171 £l
40172 ?"":"!",
40173
40174 292 (\13)(
40175 £l
40176 ?£l->
40177 Ëá
40178 :0),
40179
40180 293 (\13)(
40181 £l
40182 ?£l->
40183 wªt_nuÎs
40184 :0),
40185
40186 294 (\13)
40187 \8e
40188 );
40189
40190 295 \1a
40191 \8e
40192 ) {
40193
40194 296 \ 4-1: 
40195         `RETURN
40196 (
40197 RC_FAIL
40198 );
40199
40200 297 \ 40: 
40201         `RETURN
40202 (
40203 RC_WMORE
40204 );
40205
40206 300 
40207 \8ev_cÚ¡r
40208  = 
40209         `BER_TLV_CONSTRUCTED
40210 (
40211 buf_±r
40212 );
40213
40214 302 
40215 Î
40216  = 
40217         `b\94_ãtch_Ëngth
40218 (
40219 \8ev_cÚ¡r
40220 ,
40221
40222 303 (cڡ \ 5*)
40223 buf_±r
40224  + 
40225 \8e
40226 ,
40227 Leá
40228  -\81l,&
40229 \8ev_Ën
40230 );
40231
40232 304 
40233         `ASN_DEBUG
40234 ("Got\81ag=%s,\81c=%d,\86eft=%ld,\81l=%ld,\86en=%ld,\86l=%ld",
40235
40236 305 
40237         `b\94_\8ev_\8fg_¡r\9ag
40238 (
40239 \8ev_\8fg
40240 ), 
40241 \8ev_cÚ¡r
40242 ,
40243
40244 306 (\13)
40245 Leá
40246 , (\13)
40247 \8e
40248 , (\13)
40249 \8ev_Ën
40250 , (\13)
40251 Î
40252 );
40253
40254 307 \1a
40255 Î
40256 ) {
40257
40258 308 \ 4-1: 
40259         `RETURN
40260 (
40261 RC_FAIL
40262 );
40263
40264 309 \ 40: 
40265         `RETURN
40266 (
40267 RC_WMORE
40268 );
40269
40270 312 if(
40271 £l
40272  && s\96->
40273 wªt_nuÎs
40274
40275
40276 313 && ((cڡ 
40277 u\9at8_t
40278  *)
40279 buf_±r
40280 )[0] == 0
40281
40282 314 && ((cڡ 
40283 u\9at8_t
40284  *)
40285 buf_±r
40286 )[1] == 0)
40287
40288 317 
40289         `ASN_DEBUG
40290 ("E© EOC; wn=%d--", 
40291 £l
40292 ->
40293 wªt_nuÎs
40294 );
40295
40296 319 if(
40297 ty³_v¬\9fÁ
40298  =ð
40299 ASN_OSUBV_ANY
40300
40301
40302 320 && (
40303 \8fg_mode
40304  !ð1 || 
40305 £l
40306 ->
40307 cÚt_Ëv\96
40308 ))
40309
40310 321 
40311         `APPEND
40312 ("\0\0", 2);
40313
40314 323 
40315         `ADVANCE
40316 (2);
40317
40318 324 
40319 £l
40320 ->
40321
40322  += 2;
40323
40324 325 if(
40325 £l
40326 ->
40327 Ëá
40328  != -1) {
40329
40330 326 
40331 £l
40332 ->
40333 Ëá
40334  -= 2;
40335
40336 329 
40337 £l
40338 ->
40339 wªt_nuÎs
40340 --;
40341
40342 330 if(
40343 £l
40344 ->
40345 wªt_nuÎs
40346  == 0) {
40347
40348 332 
40349 £l
40350 ->
40351 Ëá
40352  = 0;
40353
40354 333 
40355 \8ev_cÚ¡r
40356  = 1;
40357
40358 343 \1a
40359 ty³_v¬\9fÁ
40360 ) {
40361
40362 344 \ 4
40363 ASN_OSUBV_BIT
40364 :
40365
40366 347 \ 4
40367 ASN_OSUBV_STR
40368 :
40369
40370 349 if(
40371 £l
40372 ) {
40373
40374 350 \1d
40375 Ëv\96
40376  = 
40377 £l
40378 ->
40379 cÚt_Ëv\96
40380 ;
40381
40382 351 if(
40383 Ëv\96
40384  < 
40385 td
40386 ->
40387 ®l_\8fgs_couÁ
40388 ) {
40389
40390 352 
40391 ex³ùed_\8fg
40392  = 
40393 td
40394 ->
40395 ®l_\8fgs
40396 [
40397 Ëv\96
40398 ];
40399
40400 354 } \vif(
40401 td
40402 ->
40403 ®l_\8fgs_couÁ
40404 ) {
40405
40406 355 
40407 ex³ùed_\8fg
40408  = 
40409 td
40410 ->
40411 ®l_\8fgs
40412
40413
40414 356 [
40415 td
40416 ->
40417 ®l_\8fgs_couÁ
40418  - 1];
40419
40420 362 \ 4
40421 ASN_OSUBV_ANY
40422 :
40423
40424 363 
40425 ex³ùed_\8fg
40426  = 
40427 \8ev_\8fg
40428 ;
40429
40430 368 if(
40431 \8ev_\8fg
40432  !ð
40433 ex³ùed_\8fg
40434 ) {
40435
40436 369 \ 5
40437 buf
40438 [2][32];
40439
40440 370 
40441         `b\94_\8ev_\8fg_¢´\9at
40442 (
40443 \8ev_\8fg
40444 ,
40445
40446 371 
40447 buf
40448 [0], \17(buf[0]));
40449
40450 372 
40451         `b\94_\8ev_\8fg_¢´\9at
40452 (
40453 td
40454 ->
40455 \8fgs
40456 [td->
40457 \8fgs_couÁ
40458 -1],
40459
40460 373 
40461 buf
40462 [1], \17(buf[1]));
40463
40464 374 
40465         `ASN_DEBUG
40466 ("Tag does\82ot match\83xpectation: %s != %s",
40467
40468 375 
40469 buf
40470 [0], buf[1]);
40471
40472 376 
40473         `RETURN
40474 (
40475 RC_FAIL
40476 );
40477
40478 379 
40479 \8evl
40480  = 
40481 \8e
40482  + 
40483 Î
40484 ;
40485
40486 380 if((
40487 \8ev_Ën
40488  + 
40489 \8evl
40490 ) < 0) {
40491
40492 382 
40493         `ASN_DEBUG
40494 ("TLV\83ncoding +\86ength (%ld) is\81oo big",
40495
40496 383 (\13)
40497 \8ev_Ën
40498 );
40499
40500 384 
40501         `RETURN
40502 (
40503 RC_FAIL
40504 );
40505
40506 390 
40507 £l
40508  = 
40509         `OS__add_¡ack_\96
40510 (
40511 ¡ck
40512 );
40513
40514 391 if(!
40515 £l
40516 è
40517         `RETURN
40518 (
40519 RC_FAIL
40520 );
40521
40522 393 
40523 £l
40524 ->
40525 \8fg
40526  = 
40527 \8ev_\8fg
40528 ;
40529
40530 395 
40531 £l
40532 ->
40533 wªt_nuÎs
40534  = (
40535 \8ev_Ën
40536 ==-1);
40537
40538 396 if(
40539 £l
40540 ->
40541 ´ev
40542  && s\96->´ev->
40543 Ëá
40544  != -1) {
40545
40546 398 if(
40547 £l
40548 ->
40549 ´ev
40550 ->
40551 Ëá
40552  < 
40553 \8evl
40554  + (
40555 \8ev_Ën
40556 ==-1?0:tlv_len))
40557
40558 399 
40559         `RETURN
40560 (
40561 RC_FAIL
40562 );
40563
40564 400 if(
40565 \8ev_Ën
40566  == -1)
40567
40568 401 
40569 £l
40570 ->
40571 Ëá
40572  = s\96->
40573 ´ev
40574 ->Ëá - 
40575 \8evl
40576 ;
40577
40578 403 
40579 £l
40580 ->
40581 Ëá
40582  = 
40583 \8ev_Ën
40584 ;
40585
40586 405 
40587 £l
40588 ->
40589 Ëá
40590  = 
40591 \8ev_Ën
40592 ;
40593
40594 407 if(
40595 ty³_v¬\9fÁ
40596  =ð
40597 ASN_OSUBV_ANY
40598
40599
40600 408 && (
40601 \8fg_mode
40602  !ð1 || 
40603 £l
40604 ->
40605 cÚt_Ëv\96
40606 ))
40607
40608 409 
40609         `APPEND
40610 (
40611 buf_±r
40612
40613 \8evl
40614 );
40615
40616 410 
40617 £l
40618 ->
40619
40620  +ð
40621 \8evl
40622 ;
40623
40624 411 
40625         `ADVANCE
40626 (
40627 \8evl
40628 );
40629
40630 413 
40631         `ASN_DEBUG
40632 ("+EXPECT2 got=%ld\86eft=%ld, wn=%d, clvl=%u",
40633
40634 414 (\13)
40635 £l
40636 ->
40637
40638 , (\13)£l->
40639 Ëá
40640 ,
40641
40642 415 
40643 £l
40644 ->
40645 wªt_nuÎs
40646 , s\96->
40647 cÚt_Ëv\96
40648 );
40649
40650 417 } \1f
40651 \8ev_cÚ¡r
40652 );
40653
40654 418 if(
40655 £l
40656  =ð
40657 NULL
40658 ) {
40659
40660 420 
40661         `ASN_DEBUG
40662 ("Phase out");
40663
40664 421 
40665         `_CH_PHASE
40666 (
40667 ùx
40668 , +3);
40669
40670 425 
40671         `NEXT_PHASE
40672 (
40673 ùx
40674 );
40675
40676 428 
40677 ¡ck
40678  = (\19
40679 _¡ack
40680  *)
40681 ùx
40682 ->
40683 ±r
40684 ;
40685
40686 429 
40687 £l
40688  = 
40689 ¡ck
40690 ->
40691 cur_±r
40692 ;
40693
40694 430 
40695         `ASN_DEBUG
40696 ("Phase 2: Need %ld bytes, size=%ld,\87lrg=%ld, wn=%d",
40697
40698 431 (\13)
40699 £l
40700 ->
40701 Ëá
40702 , (\13)
40703 size
40704 , (\13)£l->
40705
40706 ,
40707
40708 432 
40709 £l
40710 ->
40711 wªt_nuÎs
40712 );
40713
40714 434 
40715 b\94_\8ev_Ën_t
40716  
40717 Ën
40718 ;
40719
40720 436 
40721         `as£¹
40722 (
40723 £l
40724 ->
40725 Ëá
40726  >= 0);
40727
40728 438 
40729 Ën
40730  = ((
40731 b\94_\8ev_Ën_t
40732 )
40733 size
40734  < 
40735 £l
40736 ->
40737 Ëá
40738 )
40739
40740 439 ? (
40741 b\94_\8ev_Ën_t
40742 )
40743 size
40744  : 
40745 £l
40746 ->
40747 Ëá
40748 ;
40749
40750 440 if(
40751 Ën
40752  > 0) {
40753
40754 441 if(
40755 ty³_v¬\9fÁ
40756  =ð
40757 ASN_OSUBV_BIT
40758
40759
40760 442 && 
40761 £l
40762 ->
40763 b\99s_chݳd
40764  == 0) {
40765
40766 444 
40767 ¡
40768 ->
40769 b\99s_unu£d
40770  = *(cڡ 
40771 u\9at8_t
40772  *)
40773 buf_±r
40774 ;
40775
40776 445 
40777         `APPEND
40778 (((cڡ \ 5*)
40779 buf_±r
40780 +1), (
40781 Ën
40782  - 1));
40783
40784 446 
40785 £l
40786 ->
40787 b\99s_chݳd
40788  = 1;
40789
40790 448 
40791         `APPEND
40792 (
40793 buf_±r
40794
40795 Ën
40796 );
40797
40798 450 
40799         `ADVANCE
40800 (
40801 Ën
40802 );
40803
40804 451 
40805 £l
40806 ->
40807 Ëá
40808  -ð
40809 Ën
40810 ;
40811
40812 452 
40813 £l
40814 ->
40815
40816  +ð
40817 Ën
40818 ;
40819
40820 455 if(
40821 £l
40822 ->
40823 Ëá
40824 ) {
40825
40826 456 
40827         `ASN_DEBUG
40828 ("OS\86eft %ld, size = %ld, wn=%d\n",
40829
40830 457 (\13)
40831 £l
40832 ->
40833 Ëá
40834 , (\13)
40835 size
40836 , s\96->
40837 wªt_nuÎs
40838 );
40839
40840 458 
40841         `RETURN
40842 (
40843 RC_WMORE
40844 );
40845
40846 461 
40847         `PREV_PHASE
40848 (
40849 ùx
40850 );
40851
40852 462 \10
40853 pha£1
40854 ;
40855
40856 466 
40857 pha£3
40858 :
40859
40860 470 
40861         `as£¹
40862 (
40863 ùx
40864 ->
40865 Ëá
40866  >= 0);
40867
40868 472 if(
40869 size
40870  < (
40871 size_t
40872 )
40873 ùx
40874 ->
40875 Ëá
40876 ) {
40877
40878 473 if(!
40879 size
40880 è
40881         `RETURN
40882 (
40883 RC_WMORE
40884 );
40885
40886 474 if(
40887 ty³_v¬\9fÁ
40888  =ð
40889 ASN_OSUBV_BIT
40890  && !
40891 ùx
40892 ->
40893 cڋxt
40894 ) {
40895
40896 475 
40897 ¡
40898 ->
40899 b\99s_unu£d
40900  = *(cڡ 
40901 u\9at8_t
40902  *)
40903 buf_±r
40904 ;
40905
40906 476 
40907 ùx
40908 ->
40909 Ëá
40910 --;
40911
40912 477 
40913         `ADVANCE
40914 (1);
40915
40916 479 
40917         `APPEND
40918 (
40919 buf_±r
40920
40921 size
40922 );
40923
40924 480 
40925         `as£¹
40926 (
40927 ùx
40928 ->
40929 cڋxt
40930  > 0);
40931
40932 481 
40933 ùx
40934 ->
40935 Ëá
40936  -ð
40937 size
40938 ;
40939
40940 482 
40941         `ADVANCE
40942 (
40943 size
40944 );
40945
40946 483 
40947         `RETURN
40948 (
40949 RC_WMORE
40950 );
40951
40952 485 if(
40953 ty³_v¬\9fÁ
40954  =ð
40955 ASN_OSUBV_BIT
40956
40957
40958 486 && !
40959 ùx
40960 ->
40961 cڋxt
40962  && ctx->
40963 Ëá
40964 ) {
40965
40966 487 
40967 ¡
40968 ->
40969 b\99s_unu£d
40970  = *(cڡ 
40971 u\9at8_t
40972  *)
40973 buf_±r
40974 ;
40975
40976 488 
40977 ùx
40978 ->
40979 Ëá
40980 --;
40981
40982 489 
40983         `ADVANCE
40984 (1);
40985
40986 491 
40987         `APPEND
40988 (
40989 buf_±r
40990
40991 ùx
40992 ->
40993 Ëá
40994 );
40995
40996 492 
40997         `ADVANCE
40998 (
40999 ùx
41000 ->
41001 Ëá
41002 );
41003
41004 493 
41005 ùx
41006 ->
41007 Ëá
41008  = 0;
41009
41010 495 
41011         `NEXT_PHASE
41012 (
41013 ùx
41014 );
41015
41016 500 if(
41017 £l
41018 ) {
41019
41020 501 
41021         `ASN_DEBUG
41022 ("3sel\85=%p, wn=%d,\86=%ld, g=%ld, size=%ld",
41023
41024 502 (\1e*)
41025 £l
41026 ->
41027 ´ev
41028 , s\96->
41029 wªt_nuÎs
41030 ,
41031
41032 503 (\13)
41033 £l
41034 ->
41035 Ëá
41036 , (\13)£l->
41037
41038 , (\13)
41039 size
41040 );
41041
41042 504 if(
41043 £l
41044 ->
41045 ´ev
41046  || s\96->
41047 wªt_nuÎs
41048  > 1 || s\96->
41049 Ëá
41050  > 0) {
41051
41052 505 
41053         `RETURN
41054 (
41055 RC_WMORE
41056 );
41057
41058 512 if(
41059 ty³_v¬\9fÁ
41060  =ð
41061 ASN_OSUBV_BIT
41062 ) {
41063
41064 513 if(
41065 ¡
41066 ->
41067 size
41068 ) {
41069
41070 514 if(
41071 ¡
41072 ->
41073 b\99s_unu£d
41074  < 0 || st->bits_unused > 7) {
41075
41076 515 
41077         `RETURN
41078 (
41079 RC_FAIL
41080 );
41081
41082 518 
41083 ¡
41084 ->
41085 buf
41086 [¡->
41087 size
41088 -1] &ð0xfà<< st->
41089 b\99s_unu£d
41090 ;
41091
41092 520 if(
41093 ¡
41094 ->
41095 b\99s_unu£d
41096 ) {
41097
41098 521 
41099         `RETURN
41100 (
41101 RC_FAIL
41102 );
41103
41104 526 
41105         `ASN_DEBUG
41106 ("Took %ld bytes\81o\83ncode %s: [%s]:%ld",
41107
41108 527 (\13)
41109 cÚsumed_my£lf
41110
41111 td
41112 ->
41113 Çme
41114 ,
41115
41116 528 (
41117 ty³_v¬\9fÁ
41118  =ð
41119 ASN_OSUBV_STR
41120 è? (\ 5*)
41121 ¡
41122 ->
41123 buf
41124  : "<data>",
41125
41126 529 (\13)
41127 ¡
41128 ->
41129 size
41130 );
41131
41132 532 
41133         `RETURN
41134 (
41135 RC_OK
41136 );
41137
41138 533 
41139         }
41140 }
41141
41142 538 
41143 a¢_\92c_rv®_t
41144
41145
41146 539 
41147         $OCTET_STRING_\92code_d\94
41148 (cڡ 
41149 a¢_TYPE_desü\9dtÜ_t
41150  *
41151 td
41152 , cڡ \1e*
41153 ¥\8c
41154 ,
41155
41156 540 \12
41157 \8fg_mode
41158
41159 b\94_\8ev_\8fg_t
41160  
41161 \8fg
41162 ,
41163
41164 541 
41165 a¢_­p_cÚsume_by\8bs_f
41166  *
41167 cb
41168\1e*
41169 ­p_key
41170 ) {
41171
41172 542 
41173 a¢_\92c_rv®_t
41174  
41175 \94
41176  = { 0, 0, 0 };
41177
41178 543 cڡ 
41179 a¢_OCTET_STRING_¥ecifics_t
41180  *
41181 ¥ecs
41182  = 
41183 td
41184 ->
41185 ¥ecifics
41186
41187
41188 544 ? (cڡ 
41189 a¢_OCTET_STRING_¥ecifics_t
41190  *)
41191 td
41192 ->
41193 ¥ecifics
41194
41195
41196 545 : &
41197 a¢_SPC_OCTET_STRING_¥ecs
41198 ;
41199
41200 546 cڡ 
41201 BIT_STRING_t
41202  *
41203 ¡
41204  = (cÚ¡ BIT_STRING_\88*)
41205 ¥\8c
41206 ;
41207
41208 547 \f
41209 a¢_OS_Subv¬\9fÁ
41210  
41211 ty³_v¬\9fÁ
41212  = 
41213 ¥ecs
41214 ->
41215 subv¬\9fÁ
41216 ;
41217
41218 548 \12
41219 fix_Ï¡_by\8b
41220  = 0;
41221
41222 550 
41223         `ASN_DEBUG
41224 ("%s %s\87s OCTET STRING",
41225
41226 551 
41227 cb
41228 ?"E¡im©\9ag":"Encod\9ag", 
41229 td
41230 ->
41231 Çme
41232 );
41233
41234 556 if(
41235 ty³_v¬\9fÁ
41236  !ð
41237 ASN_OSUBV_ANY
41238  || 
41239 \8fg_mode
41240  == 1) {
41241
41242 557 
41243 \94
41244 .
41245 \92coded
41246  = 
41247         `d\94_wr\99e_\8fgs
41248 (
41249 td
41250 ,
41251
41252 558 (
41253 ty³_v¬\9fÁ
41254  =ð
41255 ASN_OSUBV_BIT
41256 è+ 
41257 ¡
41258 ->
41259 size
41260 ,
41261
41262 559 
41263 \8fg_mode
41264
41265 ty³_v¬\9fÁ
41266  =ð
41267 ASN_OSUBV_ANY
41268
41269 \8fg
41270 ,
41271
41272 560 
41273 cb
41274
41275 ­p_key
41276 );
41277
41278 561 if(
41279 \94
41280 .
41281 \92coded
41282  == -1) {
41283
41284 562 
41285 \94
41286 .
41287 ç\9eed_ty³
41288  = 
41289 td
41290 ;
41291
41292 563 
41293 \94
41294 .
41295 ¡ruùu»_±r
41296  = 
41297 ¥\8c
41298 ;
41299
41300 564 \15 
41301 \94
41302 ;
41303
41304 568 
41305         `as£¹
41306 (
41307 ty³_v¬\9fÁ
41308  !ð
41309 ASN_OSUBV_ANY
41310  || 
41311 \8fg_mode
41312  != -1);
41313
41314 569 
41315 \94
41316 .
41317 \92coded
41318  = 0;
41319
41320 572 if(!
41321 cb
41322 ) {
41323
41324 573 
41325 \94
41326 .
41327 \92coded
41328  +ð(
41329 ty³_v¬\9fÁ
41330  =ð
41331 ASN_OSUBV_BIT
41332 è+ 
41333 ¡
41334 ->
41335 size
41336 ;
41337
41338 574 
41339         `ASN__ENCODED_OK
41340 (
41341 \94
41342 );
41343
41344 580 if(
41345 ty³_v¬\9fÁ
41346  =ð
41347 ASN_OSUBV_BIT
41348 ) {
41349
41350 581 
41351 u\9at8_t
41352  
41353 b
41354  = 
41355 ¡
41356 ->
41357 b\99s_unu£d
41358  & 0x07;
41359
41360 582 if(
41361 b
41362  && 
41363 ¡
41364 ->
41365 size
41366 è
41367 fix_Ï¡_by\8b
41368  = 1;
41369
41370 583 
41371         `ASN__CALLBACK
41372 (&
41373 b
41374 , 1);
41375
41376 587 
41377         `ASN__CALLBACK
41378 (
41379 ¡
41380 ->
41381 buf
41382 , st->
41383 size
41384  - 
41385 fix_Ï¡_by\8b
41386 );
41387
41388 590 if(
41389 fix_Ï¡_by\8b
41390 ) {
41391
41392 591 
41393 u\9at8_t
41394  
41395 b
41396  = 
41397 ¡
41398 ->
41399 buf
41400 [¡->
41401 size
41402 -1] & (0xfà<< st->
41403 b\99s_unu£d
41404 );
41405
41406 592 
41407         `ASN__CALLBACK
41408 (&
41409 b
41410 , 1);
41411
41412 595 
41413         `ASN__ENCODED_OK
41414 (
41415 \94
41416 );
41417
41418 596 
41419 cb_ç\9eed
41420 :
41421
41422 597 
41423 ASN__ENCODE_FAILED
41424 ;
41425
41426 598 
41427         }
41428 }
41429
41430 600 
41431 a¢_\92c_rv®_t
41432
41433
41434 601 
41435         $OCTET_STRING_\92code_x\94
41436 (cڡ 
41437 a¢_TYPE_desü\9dtÜ_t
41438  *
41439 td
41440 , cڡ \1e*
41441 ¥\8c
41442 ,
41443
41444 602 \12
41445 \9eev\96
41446\f
41447 x\94_\92cod\94_æags_e
41448  
41449 æags
41450 ,
41451
41452 603 
41453 a¢_­p_cÚsume_by\8bs_f
41454  *
41455 cb
41456\1e*
41457 ­p_key
41458 ) {
41459
41460 604 cڡ \ 5* cڡ 
41461 h2c
41462  = "0123456789ABCDEF";
41463
41464 605 cڡ 
41465 OCTET_STRING_t
41466  *
41467 ¡
41468  = (cÚ¡ OCTET_STRING_\88*)
41469 ¥\8c
41470 ;
41471
41472 606 
41473 a¢_\92c_rv®_t
41474  
41475 \94
41476  = { 0, 0, 0 };
41477
41478 607 \ 5
41479 sü©ch
41480 [16 * 3 + 4];
41481
41482 608 \ 5*
41483 p
41484  = 
41485 sü©ch
41486 ;
41487
41488 609 
41489 u\9at8_t
41490  *
41491 buf
41492 ;
41493
41494 610 
41495 u\9at8_t
41496  *
41497 \92d
41498 ;
41499
41500 611 
41501 size_t
41502  
41503 i
41504 ;
41505
41506 613 if(!
41507 ¡
41508  || (!¡->
41509 buf
41510  && st->
41511 size
41512 ))
41513
41514 614 
41515 ASN__ENCODE_FAILED
41516 ;
41517
41518 616 
41519 \94
41520 .
41521 \92coded
41522  = 0;
41523
41524 621 
41525 buf
41526  = 
41527 ¡
41528 ->buf;
41529
41530 622 
41531 \92d
41532  = 
41533 buf
41534  + 
41535 ¡
41536 ->
41537 size
41538 ;
41539
41540 623 if(
41541 æags
41542  & 
41543 XER_F_CANONICAL
41544 ) {
41545
41546 624 \ 5*
41547 sûnd
41548  = 
41549 sü©ch
41550  + (\17(scratch) - 2);
41551
41552 625 \ f
41553 buf
41554  < 
41555 \92d
41556 ; buf++) {
41557
41558 626 if(
41559 p
41560  >ð
41561 sûnd
41562 ) {
41563
41564 627 
41565         `ASN__CALLBACK
41566 (
41567 sü©ch
41568
41569 p
41570  - scratch);
41571
41572 628 
41573 p
41574  = 
41575 sü©ch
41576 ;
41577
41578 630 *
41579 p
41580 ++ = 
41581 h2c
41582 [(*
41583 buf
41584  >> 4) & 0x0F];
41585
41586 631 *
41587 p
41588 ++ = 
41589 h2c
41590 [*
41591 buf
41592  & 0x0F];
41593
41594 634 
41595         `ASN__CALLBACK
41596 (
41597 sü©ch
41598
41599 p
41600 -scratch);
41601
41602 636 \ f
41603 i
41604  = 0; 
41605 buf
41606  < 
41607 \92d
41608 ; buf++, i++) {
41609
41610 637 if(!(
41611 i
41612  % 16è&& (\98|| 
41613 ¡
41614 ->
41615 size
41616  > 16)) {
41617
41618 638 
41619         `ASN__CALLBACK
41620 (
41621 sü©ch
41622
41623 p
41624 -scratch);
41625
41626 639 
41627 p
41628  = 
41629 sü©ch
41630 ;
41631
41632 640 
41633         `ASN__TEXT_INDENT
41634 (1, 
41635 \9eev\96
41636 );
41637
41638 642 *
41639 p
41640 ++ = 
41641 h2c
41642 [(*
41643 buf
41644  >> 4) & 0x0F];
41645
41646 643 *
41647 p
41648 ++ = 
41649 h2c
41650 [*
41651 buf
41652  & 0x0F];
41653
41654 644 *
41655 p
41656 ++ = 0x20;
41657
41658 646 if(
41659 p
41660  - 
41661 sü©ch
41662 ) {
41663
41664 647 
41665 p
41666 --;
41667
41668 648 
41669         `ASN__CALLBACK
41670 (
41671 sü©ch
41672
41673 p
41674 -scratch);
41675
41676 649 if(
41677 ¡
41678 ->
41679 size
41680  > 16)
41681
41682 650 
41683         `ASN__TEXT_INDENT
41684 (1, 
41685 \9eev\96
41686 -1);
41687
41688 654 
41689         `ASN__ENCODED_OK
41690 (
41691 \94
41692 );
41693
41694 655 
41695 cb_ç\9eed
41696 :
41697
41698 656 
41699 ASN__ENCODE_FAILED
41700 ;
41701
41702 657 
41703         }
41704 }
41705
41706 659 \18cڡ \19
41707         sOCTET_STRING__x\94_esÿ³_\8fbË_s
41708  {
41709
41710 660 cڡ \ 5*
41711         m¡r\9ag
41712 ;
41713
41714 661 \12
41715         msize
41716 ;
41717
41718 662 } 
41719         gOCTET_STRING__x\94_esÿ³_\8f
41720 [] = {
41721
41722 663 \ 1
41723         #OSXET
41724 (
41725 s
41726 è{ s, \17(sè- 1 }
41727
41728         )
41729
41730 664 
41731 OSXET
41732 ("\074\156\165\154\057\076"),
41733
41734 665 
41735 OSXET
41736 ("\074\163\157\150\057\076"),
41737
41738 666 
41739 OSXET
41740 ("\074\163\164\170\057\076"),
41741
41742 667 
41743 OSXET
41744 ("\074\145\164\170\057\076"),
41745
41746 668 
41747 OSXET
41748 ("\074\145\157\164\057\076"),
41749
41750 669 
41751 OSXET
41752 ("\074\145\156\161\057\076"),
41753
41754 670 
41755 OSXET
41756 ("\074\141\143\153\057\076"),
41757
41758 671 
41759 OSXET
41760 ("\074\142\145\154\057\076"),
41761
41762 672 
41763 OSXET
41764 ("\074\142\163\057\076"),
41765
41766 673 
41767 OSXET
41768 ("\011"),
41769
41770 674 
41771 OSXET
41772 ("\012"),
41773
41774 675 
41775 OSXET
41776 ("\074\166\164\057\076"),
41777
41778 676 
41779 OSXET
41780 ("\074\146\146\057\076"),
41781
41782 677 
41783 OSXET
41784 ("\015"),
41785
41786 678 
41787 OSXET
41788 ("\074\163\157\057\076"),
41789
41790 679 
41791 OSXET
41792 ("\074\163\151\057\076"),
41793
41794 680 
41795 OSXET
41796 ("\074\144\154\145\057\076"),
41797
41798 681 
41799 OSXET
41800 ("\074\144\143\061\057\076"),
41801
41802 682 
41803 OSXET
41804 ("\074\144\143\062\057\076"),
41805
41806 683 
41807 OSXET
41808 ("\074\144\143\063\057\076"),
41809
41810 684 
41811 OSXET
41812 ("\074\144\143\064\057\076"),
41813
41814 685 
41815 OSXET
41816 ("\074\156\141\153\057\076"),
41817
41818 686 
41819 OSXET
41820 ("\074\163\171\156\057\076"),
41821
41822 687 
41823 OSXET
41824 ("\074\145\164\142\057\076"),
41825
41826 688 
41827 OSXET
41828 ("\074\143\141\156\057\076"),
41829
41830 689 
41831 OSXET
41832 ("\074\145\155\057\076"),
41833
41834 690 
41835 OSXET
41836 ("\074\163\165\142\057\076"),
41837
41838 691 
41839 OSXET
41840 ("\074\145\163\143\057\076"),
41841
41842 692 
41843 OSXET
41844 ("\074\151\163\064\057\076"),
41845
41846 693 
41847 OSXET
41848 ("\074\151\163\063\057\076"),
41849
41850 694 
41851 OSXET
41852 ("\074\151\163\062\057\076"),
41853
41854 695 
41855 OSXET
41856 ("\074\151\163\061\057\076"),
41857
41858 702 
41859 OSXET
41860 ("\046\141\155\160\073"),
41861
41862 707 
41863 OSXET
41864 ("\046\154\164\073"),
41865
41866 709 
41867 OSXET
41868 ("\046\147\164\073"),
41869
41870 713 
41871         $OS__check_esÿ³d_cÚ\8cÞ_ch¬
41872 (cڡ \1e*
41873 buf
41874\12
41875 size
41876 ) {
41877
41878 714 
41879 size_t
41880  
41881 i
41882 ;
41883
41884 721 \ f
41885 i
41886  = 0; i < 32 ; i++) {
41887
41888 722 cڡ \19
41889 OCTET_STRING__x\94_esÿ³_\8fbË_s
41890  *
41891 \96
41892 ;
41893
41894 723 
41895 \96
41896  = &
41897 OCTET_STRING__x\94_esÿ³_\8f
41898 [
41899 i
41900 ];
41901
41902 724 if(
41903 \96
41904 ->
41905 size
41906  =ðsiz\90&& 
41907         `memcmp
41908 (
41909 buf
41910 ,\83l->
41911 ¡r\9ag
41912 , size) == 0)
41913
41914 725 \15 
41915 i
41916 ;
41917
41918 728 
41919         }
41920 }
41921
41922 731 
41923         $OCTET_STRING__hªdË_cÚ\8cÞ_ch¬s
41924 (\1e*
41925 ¡ruù_±r
41926 , cڡ \1e*
41927 chunk_buf
41928
41929 size_t
41930  
41931 chunk_size
41932 ) {
41933
41934 737 \12
41935\8cÞ_ch¬
41936  = 
41937         `OS__check_esÿ³d_cÚ\8cÞ_ch¬
41938 (
41939 chunk_buf
41940 ,
41941 chunk_size
41942 );
41943
41944 738 if(
41945\8cÞ_ch¬
41946  >= 0) {
41947
41948 739 
41949 OCTET_STRING_t
41950  *
41951 ¡
41952  = (OCTET_STRING_\88*)
41953 ¡ruù_±r
41954 ;
41955
41956 740 \1e*
41957 p
41958  = 
41959         `REALLOC
41960 (
41961 ¡
41962 ->
41963 buf
41964 , st->
41965 size
41966  + 2);
41967
41968 741 if(
41969 p
41970 ) {
41971
41972 742 
41973 ¡
41974 ->
41975 buf
41976  = (
41977 u\9at8_t
41978  *)
41979 p
41980 ;
41981
41982 743 
41983 ¡
41984 ->
41985 buf
41986 [¡->
41987 size
41988 ++] = 
41989\8cÞ_ch¬
41990 ;
41991
41992 744 
41993 ¡
41994 ->
41995 buf
41996 [¡->
41997 size
41998 ] = '\0';
41999
42000 750 
42001         }
42002 }
42003
42004 752 
42005 a¢_\92c_rv®_t
42006
42007
42008 753 
42009         $OCTET_STRING_\92code_x\94_utf8
42010 (cڡ 
42011 a¢_TYPE_desü\9dtÜ_t
42012  *
42013 td
42014 , cڡ \1e*
42015 ¥\8c
42016 ,
42017
42018 754 \12
42019 \9eev\96
42020\f
42021 x\94_\92cod\94_æags_e
42022  
42023 æags
42024 ,
42025
42026 755 
42027 a¢_­p_cÚsume_by\8bs_f
42028  *
42029 cb
42030\1e*
42031 ­p_key
42032 ) {
42033
42034 756 cڡ 
42035 OCTET_STRING_t
42036  *
42037 ¡
42038  = (cÚ¡ OCTET_STRING_\88*)
42039 ¥\8c
42040 ;
42041
42042 757 
42043 a¢_\92c_rv®_t
42044  
42045 \94
42046  = { 0, 0, 0 };
42047
42048 758 
42049 u\9at8_t
42050  *
42051 buf
42052 , *
42053 \92d
42054 ;
42055
42056 759 
42057 u\9at8_t
42058  *
42059 ss
42060 ;
42061
42062 760 
42063 ssize_t
42064  
42065 \92coded_Ën
42066  = 0;
42067
42068 762 (\1e)
42069 \9eev\96
42070 ;
42071
42072 763 (\1e)
42073 æags
42074 ;
42075
42076 765 if(!
42077 ¡
42078  || (!¡->
42079 buf
42080  && st->
42081 size
42082 ))
42083
42084 766 
42085 ASN__ENCODE_FAILED
42086 ;
42087
42088 768 
42089 buf
42090  = 
42091 ¡
42092 ->buf;
42093
42094 769 
42095 \92d
42096  = 
42097 buf
42098  + 
42099 ¡
42100 ->
42101 size
42102 ;
42103
42104 770 \ f
42105 ss
42106  = 
42107 buf
42108 ; buà< 
42109 \92d
42110 ; buf++) {
42111
42112 771 \1d\12
42113 ch
42114  = *
42115 buf
42116 ;
42117
42118 772 \12
42119 s_Ën
42120 ;
42121
42122 777 if(
42123 ch
42124  < \17(
42125 OCTET_STRING__x\94_esÿ³_\8f
42126 )
42127
42128 778 /\17(
42129 OCTET_STRING__x\94_esÿ³_\8f
42130 [0])
42131
42132 779 && (
42133 s_Ën
42134  = 
42135 OCTET_STRING__x\94_esÿ³_\8f
42136 [
42137 ch
42138 ].
42139 size
42140 )) {
42141
42142 780 if(((
42143 buf
42144  - 
42145 ss
42146 è&& 
42147         `cb
42148 (ss, buà- ss, 
42149 ­p_key
42150 ) < 0)
42151
42152 781 || 
42153         `cb
42154 (
42155 OCTET_STRING__x\94_esÿ³_\8f
42156 [
42157 ch
42158 ].
42159 ¡r\9ag
42160
42161 s_Ën
42162 ,
42163
42164 782 
42165 ­p_key
42166 ) < 0)
42167
42168 783 
42169 ASN__ENCODE_FAILED
42170 ;
42171
42172 784 
42173 \92coded_Ën
42174  +ð(
42175 buf
42176  - 
42177 ss
42178 è+ 
42179 s_Ën
42180 ;
42181
42182 785 
42183 ss
42184  = 
42185 buf
42186  + 1;
42187
42188 789 
42189 \92coded_Ën
42190  +ð(
42191 buf
42192  - 
42193 ss
42194 );
42195
42196 790 if((
42197 buf
42198  - 
42199 ss
42200 è&& 
42201         `cb
42202 (ss, buà- ss, 
42203 ­p_key
42204 ) < 0)
42205
42206 791 
42207 ASN__ENCODE_FAILED
42208 ;
42209
42210 793 
42211 \94
42212 .
42213 \92coded
42214  = 
42215 \92coded_Ën
42216 ;
42217
42218 794 
42219         `ASN__ENCODED_OK
42220 (
42221 \94
42222 );
42223
42224 795 
42225         }
42226 }
42227
42228 800 \18
42229 ssize_t
42230  
42231         $OCTET_STRING__cÚv\94t_hexadecim®
42232 (\1e*
42233 ¥\8c
42234 , cڡ \1e*
42235 chunk_buf
42236
42237 size_t
42238  
42239 chunk_size
42240\12
42241 have_mÜe
42242 ) {
42243
42244 801 
42245 OCTET_STRING_t
42246  *
42247 ¡
42248  = (OCTET_STRING_\88*)
42249 ¥\8c
42250 ;
42251
42252 802 cڡ \ 5*
42253 chunk_¡Ý
42254  = (cڡ \ 5*)
42255 chunk_buf
42256 ;
42257
42258 803 cڡ \ 5*
42259 p
42260  = 
42261 chunk_¡Ý
42262 ;
42263
42264 804 cڡ \ 5*
42265 ³nd
42266  = 
42267 p
42268  + 
42269 chunk_size
42270 ;
42271
42272 805 \1d\12
42273 þv
42274  = 0;
42275
42276 806 \12
42277 h®f
42278  = 0;
42279
42280 807 
42281 u\9at8_t
42282  *
42283 buf
42284 ;
42285
42286 810 
42287 size_t
42288  
42289 Ãw_size
42290  = 
42291 ¡
42292 ->
42293 size
42294  + (
42295 chunk_size
42296  + 1) / 2;
42297
42298 811 \1e*
42299 Ō
42300  = 
42301         `REALLOC
42302 (
42303 ¡
42304 ->
42305 buf
42306
42307 Ãw_size
42308  + 1);
42309
42310 812 if(!
42311 Ō
42312\15 -1;
42313
42314 813 
42315 ¡
42316 ->
42317 buf
42318  = (
42319 u\9at8_t
42320  *)
42321 Ō
42322 ;
42323
42324 814 
42325 buf
42326  = 
42327 ¡
42328 ->buà+ st->
42329 size
42330 ;
42331
42332 821 \ f
42333 p
42334  < 
42335 ³nd
42336 ;\85++) {
42337
42338 822 \12
42339 ch
42340  = *(cڡ \1d\ 5*)
42341 p
42342 ;
42343
42344 823 \1a
42345 ch
42346 ) {
42347
42348 830 
42349 þv
42350  = (þv << 4è+ (
42351 ch
42352  - 0x30);
42353
42354 834 
42355 þv
42356  = (þv << 4è+ (
42357 ch
42358  - 0x41 + 10);
42359
42360 838 
42361 þv
42362  = (þv << 4è+ (
42363 ch
42364  - 0x61 + 10);
42365
42366 841 *
42367 buf
42368  = 0;
42369
42370 844 if(
42371 h®f
42372 ++) {
42373
42374 845 
42375 h®f
42376  = 0;
42377
42378 846 *
42379 buf
42380 ++ = 
42381 þv
42382 ;
42383
42384 847 
42385 chunk_¡Ý
42386  = 
42387 p
42388  + 1;
42389
42390 854 if(
42391 h®f
42392 ) {
42393
42394 855 if(
42395 have_mÜe
42396 ) {
42397
42398 860 *
42399 buf
42400 ++ = 
42401 þv
42402  << 4;
42403
42404 861 
42405 chunk_¡Ý
42406  = 
42407 p
42408 ;
42409
42410 864 
42411 chunk_¡Ý
42412  = 
42413 p
42414 ;
42415
42416 867 
42417 ¡
42418 ->
42419 size
42420  = 
42421 buf
42422  - st->buf;
42423
42424 868 
42425         `as£¹
42426 (
42427 ¡
42428 ->
42429 size
42430  <ð
42431 Ãw_size
42432 );
42433
42434 869 
42435 ¡
42436 ->
42437 buf
42438 [¡->
42439 size
42440 ] = 0;
42441
42442 871 \15 (
42443 chunk_¡Ý
42444  - (cڡ \ 5*)
42445 chunk_buf
42446 );
42447
42448 872 
42449         }
42450 }
42451
42452 877 \18
42453 ssize_t
42454  
42455         $OCTET_STRING__cÚv\94t_b\9a¬y
42456 (\1e*
42457 ¥\8c
42458 , cڡ \1e*
42459 chunk_buf
42460
42461 size_t
42462  
42463 chunk_size
42464\12
42465 have_mÜe
42466 ) {
42467
42468 878 
42469 BIT_STRING_t
42470  *
42471 ¡
42472  = (BIT_STRING_\88*)
42473 ¥\8c
42474 ;
42475
42476 879 cڡ \ 5*
42477 p
42478  = (cڡ \ 5*)
42479 chunk_buf
42480 ;
42481
42482 880 cڡ \ 5*
42483 ³nd
42484  = 
42485 p
42486  + 
42487 chunk_size
42488 ;
42489
42490 881 \12
42491 b\99s_unu£d
42492  = 
42493 ¡
42494 ->bits_unused & 0x7;
42495
42496 882 
42497 u\9at8_t
42498  *
42499 buf
42500 ;
42501
42502 885 
42503 size_t
42504  
42505 Ãw_size
42506  = 
42507 ¡
42508 ->
42509 size
42510  + (
42511 chunk_size
42512  + 7) / 8;
42513
42514 886 \1e*
42515 Ō
42516  = 
42517         `REALLOC
42518 (
42519 ¡
42520 ->
42521 buf
42522
42523 Ãw_size
42524  + 1);
42525
42526 887 if(!
42527 Ō
42528\15 -1;
42529
42530 888 
42531 ¡
42532 ->
42533 buf
42534  = (
42535 u\9at8_t
42536  *)
42537 Ō
42538 ;
42539
42540 889 
42541 buf
42542  = 
42543 ¡
42544 ->buà+ st->
42545 size
42546 ;
42547
42548 891 (\1e)
42549 have_mÜe
42550 ;
42551
42552 893 if(
42553 b\99s_unu£d
42554  == 0)
42555
42556 894 
42557 b\99s_unu£d
42558  = 8;
42559
42560 895 \vif(
42561 ¡
42562 ->
42563 size
42564 )
42565
42566 896 
42567 buf
42568 --;
42569
42570 901 \ f
42571 p
42572  < 
42573 ³nd
42574 ;\85++) {
42575
42576 902 \12
42577 ch
42578  = *(cڡ \1d\ 5*)
42579 p
42580 ;
42581
42582 903 \1a
42583 ch
42584 ) {
42585
42586 910 if(
42587 b\99s_unu£d
42588 -- <= 0) {
42589
42590 911 *++
42591 buf
42592  = 0;
42593
42594 912 
42595 b\99s_unu£d
42596  = 7;
42597
42598 914 *
42599 buf
42600  |ð(
42601 ch
42602 &1è<< 
42603 b\99s_unu£d
42604 ;
42605
42606 917 
42607 ¡
42608 ->
42609 b\99s_unu£d
42610  = bits_unused;
42611
42612 922 if(
42613 b\99s_unu£d
42614  == 8) {
42615
42616 923 
42617 ¡
42618 ->
42619 size
42620  = 
42621 buf
42622  - st->buf;
42623
42624 924 
42625 ¡
42626 ->
42627 b\99s_unu£d
42628  = 0;
42629
42630 926 
42631 ¡
42632 ->
42633 size
42634  = 
42635 buf
42636  - st->buf + 1;
42637
42638 927 
42639 ¡
42640 ->
42641 b\99s_unu£d
42642  = bits_unused;
42643
42644 930 
42645         `as£¹
42646 (
42647 ¡
42648 ->
42649 size
42650  <ð
42651 Ãw_size
42652 );
42653
42654 931 
42655 ¡
42656 ->
42657 buf
42658 [¡->
42659 size
42660 ] = 0;
42661
42662 933 \15 
42663 chunk_size
42664 ;
42665
42666 934 
42667         }
42668 }
42669
42670 940 
42671         $OS__¡¹ÛÁ
42672 (\12
42673 ba£
42674 , cڡ \ 5*
42675 buf
42676 , cڡ \ 5*
42677 \92d
42678
42679 \9at32_t
42680  *
42681 »t_v®ue
42682 ) {
42683
42684 941 cڡ 
42685 \9at32_t
42686  
42687 Ï¡_unicode_cod\95o\9at
42688  = 0x10ffff;
42689
42690 942 
42691 \9at32_t
42692  
42693
42694  = 0;
42695
42696 943 cڡ \ 5*
42697 p
42698 ;
42699
42700 945 \ f
42701 p
42702  = 
42703 buf
42704 ;\85 < 
42705 \92d
42706 ;\85++) {
42707
42708 946 \12
42709 ch
42710  = *
42711 p
42712 ;
42713
42714 948 \1a
42715 ch
42716 ) {
42717
42718 951 
42719
42720  = v® * 
42721 ba£
42722  + (
42723 ch
42724  - 0x30);
42725
42726 955 
42727
42728  = v® * 
42729 ba£
42730  + (
42731 ch
42732  - 0x41 + 10);
42733
42734 959 
42735
42736  = v® * 
42737 ba£
42738  + (
42739 ch
42740  - 0x61 + 10);
42741
42742 962 *
42743 »t_v®ue
42744  = 
42745
42746 ;
42747
42748 963 \15 (
42749 p
42750  - 
42751 buf
42752 ) + 1;
42753
42754 969 if(
42755
42756  > 
42757 Ï¡_unicode_cod\95o\9at
42758 ) {
42759
42760 974 *
42761 »t_v®ue
42762  = -1;
42763
42764 975 \15 (
42765 p
42766  - 
42767 buf
42768 );
42769
42770 976 
42771         }
42772 }
42773
42774 981 \18
42775 ssize_t
42776
42777
42778 982 
42779         $OCTET_STRING__cÚv\94t_\92\8cefs
42780 (\1e*
42781 ¥\8c
42782 , cڡ \1e*
42783 chunk_buf
42784 ,
42785
42786 983 
42787 size_t
42788  
42789 chunk_size
42790\12
42791 have_mÜe
42792 ) {
42793
42794 984 
42795 OCTET_STRING_t
42796  *
42797 ¡
42798  = (OCTET_STRING_\88*)
42799 ¥\8c
42800 ;
42801
42802 985 cڡ \ 5*
42803 p
42804  = (cڡ \ 5*)
42805 chunk_buf
42806 ;
42807
42808 986 cڡ \ 5*
42809 ³nd
42810  = 
42811 p
42812  + 
42813 chunk_size
42814 ;
42815
42816 987 
42817 u\9at8_t
42818  *
42819 buf
42820 ;
42821
42822 990 
42823 size_t
42824  
42825 Ãw_size
42826  = 
42827 ¡
42828 ->
42829 size
42830  + 
42831 chunk_size
42832 ;
42833
42834 991 \1e*
42835 Ō
42836  = 
42837         `REALLOC
42838 (
42839 ¡
42840 ->
42841 buf
42842
42843 Ãw_size
42844  + 1);
42845
42846 992 if(!
42847 Ō
42848\15 -1;
42849
42850 993 
42851 ¡
42852 ->
42853 buf
42854  = (
42855 u\9at8_t
42856  *)
42857 Ō
42858 ;
42859
42860 994 
42861 buf
42862  = 
42863 ¡
42864 ->buà+ st->
42865 size
42866 ;
42867
42868 999 \ f
42869 p
42870  < 
42871 ³nd
42872 ;\85++) {
42873
42874 1000 \12
42875 ch
42876  = *(cڡ \1d\ 5*)
42877 p
42878 ;
42879
42880 1001 \12
42881 Ën
42882 ;
42883
42884 1003 if(
42885 ch
42886  != 0x26 ) {
42887
42888 1004 *
42889 buf
42890 ++ = 
42891 ch
42892 ;
42893
42894 1011 
42895 Ën
42896  = 
42897 chunk_size
42898  - (
42899 p
42900  - (cڡ \ 5*)
42901 chunk_buf
42902 );
42903
42904 1012 if(
42905 Ën
42906  =ð1 ) \10
42907 wªt_mÜe
42908 ;
42909
42910 1013 if(
42911 p
42912 [1] == 0x23 ) {
42913
42914 1014 cڡ \ 5*
42915 pv®
42916 ;
42917
42918 1015 
42919 \9at32_t
42920  
42921
42922  = 0;
42923
42924 1016 \12
42925 ba£
42926 ;
42927
42928 1018 if(
42929 Ën
42930  =ð2 ) \10
42931 wªt_mÜe
42932 ;
42933
42934 1019 if(
42935 p
42936 [2] == 0x78 )
42937
42938 1020 
42939 pv®
42940  = 
42941 p
42942  + 3, 
42943 ba£
42944  = 16;
42945
42946 1022 
42947 pv®
42948  = 
42949 p
42950  + 2, 
42951 ba£
42952  = 10;
42953
42954 1023 
42955 Ën
42956  = 
42957         `OS__¡¹ÛÁ
42958 (
42959 ba£
42960
42961 pv®
42962
42963 p
42964  +\86\92, &
42965
42966 );
42967
42968 1024 if(
42969 Ën
42970  == -1) {
42971
42972 1026 *
42973 buf
42974 ++ = 
42975 ch
42976 ;
42977
42978 1029 if(!
42979 Ën
42980  || 
42981 pv®
42982 [Ën-1] !ð0x3bè\10
42983 wªt_mÜe
42984 ;
42985
42986 1030 
42987         `as£¹
42988 (
42989
42990  > 0);
42991
42992 1031 
42993 p
42994  +ð(
42995 pv®
42996  -\85è+ 
42997 Ën
42998  - 1;
42999
43000 1033 if(
43001
43002  < 0x80) {
43003
43004 1034 *
43005 buf
43006 ++ = (\ 5)
43007
43008 ;
43009
43010 1035 } \vif(
43011
43012  < 0x800) {
43013
43014 1036 *
43015 buf
43016 ++ = 0xc0 | ((
43017
43018  >> 6));
43019
43020 1037 *
43021 buf
43022 ++ = 0x80 | ((
43023
43024  & 0x3f));
43025
43026 1038 } \vif(
43027
43028  < 0x10000) {
43029
43030 1039 *
43031 buf
43032 ++ = 0xe0 | ((
43033
43034  >> 12));
43035
43036 1040 *
43037 buf
43038 ++ = 0x80 | ((
43039
43040  >> 6) & 0x3f);
43041
43042 1041 *
43043 buf
43044 ++ = 0x80 | ((
43045
43046  & 0x3f));
43047
43048 1042 } \vif(
43049
43050  < 0x200000) {
43051
43052 1043 *
43053 buf
43054 ++ = 0xf0 | ((
43055
43056  >> 18));
43057
43058 1044 *
43059 buf
43060 ++ = 0x80 | ((
43061
43062  >> 12) & 0x3f);
43063
43064 1045 *
43065 buf
43066 ++ = 0x80 | ((
43067
43068  >> 6) & 0x3f);
43069
43070 1046 *
43071 buf
43072 ++ = 0x80 | ((
43073
43074  & 0x3f));
43075
43076 1047 } \vif(
43077
43078  < 0x4000000) {
43079
43080 1048 *
43081 buf
43082 ++ = 0xf8 | ((
43083
43084  >> 24));
43085
43086 1049 *
43087 buf
43088 ++ = 0x80 | ((
43089
43090  >> 18) & 0x3f);
43091
43092 1050 *
43093 buf
43094 ++ = 0x80 | ((
43095
43096  >> 12) & 0x3f);
43097
43098 1051 *
43099 buf
43100 ++ = 0x80 | ((
43101
43102  >> 6) & 0x3f);
43103
43104 1052 *
43105 buf
43106 ++ = 0x80 | ((
43107
43108  & 0x3f));
43109
43110 1054 *
43111 buf
43112 ++ = 0xfø| ((
43113
43114  >> 30) & 0x1);
43115
43116 1055 *
43117 buf
43118 ++ = 0x80 | ((
43119
43120  >> 24) & 0x3f);
43121
43122 1056 *
43123 buf
43124 ++ = 0x80 | ((
43125
43126  >> 18) & 0x3f);
43127
43128 1057 *
43129 buf
43130 ++ = 0x80 | ((
43131
43132  >> 12) & 0x3f);
43133
43134 1058 *
43135 buf
43136 ++ = 0x80 | ((
43137
43138  >> 6) & 0x3f);
43139
43140 1059 *
43141 buf
43142 ++ = 0x80 | ((
43143
43144  & 0x3f));
43145
43146 1065 \ 5*
43147 sc
43148  = (\ 5*)
43149         `memchr
43150 (
43151 p
43152 , 0x3b, 
43153 Ën
43154  > 5 ? 5 :\86en);
43155
43156 1066 if(!
43157 sc
43158 è\10
43159 wªt_mÜe
43160 ;
43161
43162 1067 if((
43163 sc
43164  - 
43165 p
43166 ) == 4
43167
43168 1068 && 
43169 p
43170 [1] == 0x61
43171
43172 1069 && 
43173 p
43174 [2] == 0x6d
43175
43176 1070 && 
43177 p
43178 [3] == 0x70 ) {
43179
43180 1071 *
43181 buf
43182 ++ = 0x26;
43183
43184 1072 
43185 p
43186  = 
43187 sc
43188 ;
43189
43190 1075 if((
43191 sc
43192  - 
43193 p
43194 ) == 3) {
43195
43196 1076 if(
43197 p
43198 [1] == 0x6c) {
43199
43200 1077 *
43201 buf
43202  = 0x3c;
43203
43204 1078 } \vif(
43205 p
43206 [1] == 0x67) {
43207
43208 1079 *
43209 buf
43210  = 0x3e;
43211
43212 1082 *
43213 buf
43214 ++ = 
43215 ch
43216 ;
43217
43218 1085 if(
43219 p
43220 [2] != 0x74) {
43221
43222 1087 *
43223 buf
43224 ++ = 
43225 ch
43226 ;
43227
43228 1090 
43229 buf
43230 ++;
43231
43232 1091 
43233 p
43234  = 
43235 sc
43236 ;
43237
43238 1095 *
43239 buf
43240 ++ = 
43241 ch
43242 ;
43243
43244 1099 
43245 wªt_mÜe
43246 :
43247
43248 1100 if(
43249 have_mÜe
43250 ) {
43251
43252 1105 *
43253 buf
43254 ++ = 
43255 ch
43256 ;
43257
43258 1108 
43259 chunk_size
43260  = (
43261 p
43262  - (cڡ \ 5*)
43263 chunk_buf
43264 );
43265
43266 1113 
43267 ¡
43268 ->
43269 size
43270  = 
43271 buf
43272  - st->buf;
43273
43274 1114 
43275         `as£¹
43276 (
43277 ¡
43278 ->
43279 size
43280  <ð
43281 Ãw_size
43282 );
43283
43284 1115 
43285 ¡
43286 ->
43287 buf
43288 [¡->
43289 size
43290 ] = 0;
43291
43292 1117 \15 
43293 chunk_size
43294 ;
43295
43296 1118 
43297         }
43298 }
43299
43300 1123 \18
43301 a¢_dec_rv®_t
43302
43303
43304 1124 
43305         $OCTET_STRING__decode_x\94
43306 (
43307
43308 1125 cڡ 
43309 a¢_codec_ùx_t
43310  *
43311 Ýt_codec_ùx
43312 , cڡ 
43313 a¢_TYPE_desü\9dtÜ_t
43314  *
43315 td
43316 ,
43317
43318 1126 \1e**
43319 ¥\8c
43320 , cڡ \ 5*
43321 Ýt_mÇme
43322 , cڡ \1e*
43323 buf_±r
43324
43325 size_t
43326  
43327 size
43328 ,
43329
43330 1127 \12(*
43331 Ýt_uÃx³ùed_\8fg_decod\94
43332 )(\1e*
43333 ¡ruù_±r
43334 , cڡ \1e*
43335 chunk_buf
43336 ,
43337
43338 1128 
43339 size_t
43340  
43341 chunk_size
43342 ),
43343
43344 1129 
43345         $ssize_t
43346  (*
43347 body_»ûiv\94
43348 )(\1e*
43349 ¡ruù_±r
43350 , cڡ \1e*
43351 chunk_buf
43352 ,
43353
43354 1130 
43355 size_t
43356  
43357 chunk_size
43358\12
43359 have_mÜe
43360 )) {
43361
43362 1131 
43363 OCTET_STRING_t
43364  *
43365 ¡
43366  = (OCTET_STRING_\88*)*
43367 ¥\8c
43368 ;
43369
43370 1132 cڡ 
43371 a¢_OCTET_STRING_¥ecifics_t
43372  *
43373 ¥ecs
43374  = 
43375 td
43376 ->
43377 ¥ecifics
43378
43379
43380 1133 ? (cڡ 
43381 a¢_OCTET_STRING_¥ecifics_t
43382  *)
43383 td
43384 ->
43385 ¥ecifics
43386
43387
43388 1134 : &
43389 a¢_SPC_OCTET_STRING_¥ecs
43390 ;
43391
43392 1135 cڡ \ 5*
43393 xml_\8fg
43394  = 
43395 Ýt_mÇme
43396  ? o±_mÇm\90
43397 td
43398 ->xml_tag;
43399
43400 1136 
43401 a¢_¡ruù_ùx_t
43402  *
43403 ùx
43404 ;
43405
43406 1137 
43407 a¢_dec_rv®_t
43408  
43409 rv®
43410 ;
43411
43412 1138 \12
43413 ¡_®loÿ\8bd
43414 ;
43415
43416 1143 if(!
43417 ¡
43418 ) {
43419
43420 1144 
43421 ¡
43422  = (
43423 OCTET_STRING_t
43424  *)
43425         `CALLOC
43426 (1, 
43427 ¥ecs
43428 ->
43429 ¡ruù_size
43430 );
43431
43432 1145 *
43433 ¥\8c
43434  = (\1e*)
43435 ¡
43436 ;
43437
43438 1146 if(!
43439 ¡
43440 è\10
43441 ¡a_ç\9eed
43442 ;
43443
43444 1147 
43445 ¡_®loÿ\8bd
43446  = 1;
43447
43448 1149 
43449 ¡_®loÿ\8bd
43450  = 0;
43451
43452 1151 if(!
43453 ¡
43454 ->
43455 buf
43456 ) {
43457
43458 1153 
43459 ¡
43460 ->
43461 buf
43462  = (
43463 u\9at8_t
43464  *)
43465         `CALLOC
43466 (1, 1);
43467
43468 1154 if(!
43469 ¡
43470 ->
43471 buf
43472 ) {
43473
43474 1155 if(
43475 ¡_®loÿ\8bd
43476 ) {
43477
43478 1156 *
43479 ¥\8c
43480  = 0;
43481
43482 1157 \10
43483 ¡b_ç\9eed
43484 ;
43485
43486 1159 \10
43487 ¡a_ç\9eed
43488 ;
43489
43490 1165 
43491 ùx
43492  = (
43493 a¢_¡ruù_ùx_t
43494  *)(((\ 5*)*
43495 ¥\8c
43496 è+ 
43497 ¥ecs
43498 ->
43499 ùx_off£t
43500 );
43501
43502 1167 \15 
43503         `x\94_decode_g\92\94®
43504 (
43505 Ýt_codec_ùx
43506
43507 ùx
43508 , *
43509 ¥\8c
43510
43511 xml_\8fg
43512 ,
43513
43514 1168 
43515 buf_±r
43516
43517 size
43518
43519 Ýt_uÃx³ùed_\8fg_decod\94
43520
43521 body_»ûiv\94
43522 );
43523
43524 1170 
43525 ¡b_ç\9eed
43526 :
43527
43528 1171 
43529         `FREEMEM
43530 (
43531 ¡
43532 );
43533
43534 1172 
43535 ¡a_ç\9eed
43536 :
43537
43538 1173 
43539 rv®
43540 .
43541 code
43542  = 
43543 RC_FAIL
43544 ;
43545
43546 1174 
43547 rv®
43548 .
43549 cÚsumed
43550  = 0;
43551
43552 1175 \15 
43553 rv®
43554 ;
43555
43556 1176 
43557         }
43558 }
43559
43560 1181 
43561 a¢_dec_rv®_t
43562
43563
43564 1182 
43565         $OCTET_STRING_decode_x\94_hex
43566 (cڡ 
43567 a¢_codec_ùx_t
43568  *
43569 Ýt_codec_ùx
43570 ,
43571
43572 1183 cڡ 
43573 a¢_TYPE_desü\9dtÜ_t
43574  *
43575 td
43576\1e**
43577 ¥\8c
43578 ,
43579
43580 1184 cڡ \ 5*
43581 Ýt_mÇme
43582 , cڡ \1e*
43583 buf_±r
43584 ,
43585
43586 1185 
43587 size_t
43588  
43589 size
43590 ) {
43591
43592 1186 \15 
43593         `OCTET_STRING__decode_x\94
43594 (
43595 Ýt_codec_ùx
43596
43597 td
43598
43599 ¥\8c
43600
43601 Ýt_mÇme
43602 ,
43603
43604 1187 
43605 buf_±r
43606
43607 size
43608 , 0, 
43609 OCTET_STRING__cÚv\94t_hexadecim®
43610 );
43611
43612 1188 
43613         }
43614 }
43615
43616 1193 
43617 a¢_dec_rv®_t
43618
43619
43620 1194 
43621         $OCTET_STRING_decode_x\94_b\9a¬y
43622 (cڡ 
43623 a¢_codec_ùx_t
43624  *
43625 Ýt_codec_ùx
43626 ,
43627
43628 1195 cڡ 
43629 a¢_TYPE_desü\9dtÜ_t
43630  *
43631 td
43632\1e**
43633 ¥\8c
43634 ,
43635
43636 1196 cڡ \ 5*
43637 Ýt_mÇme
43638 , cڡ \1e*
43639 buf_±r
43640 ,
43641
43642 1197 
43643 size_t
43644  
43645 size
43646 ) {
43647
43648 1198 \15 
43649         `OCTET_STRING__decode_x\94
43650 (
43651 Ýt_codec_ùx
43652
43653 td
43654
43655 ¥\8c
43656
43657 Ýt_mÇme
43658 ,
43659
43660 1199 
43661 buf_±r
43662
43663 size
43664 , 0, 
43665 OCTET_STRING__cÚv\94t_b\9a¬y
43666 );
43667
43668 1200 
43669         }
43670 }
43671
43672 1205 
43673 a¢_dec_rv®_t
43674
43675
43676 1206 
43677         $OCTET_STRING_decode_x\94_utf8
43678 (cڡ 
43679 a¢_codec_ùx_t
43680  *
43681 Ýt_codec_ùx
43682 ,
43683
43684 1207 cڡ 
43685 a¢_TYPE_desü\9dtÜ_t
43686  *
43687 td
43688\1e**
43689 ¥\8c
43690 ,
43691
43692 1208 cڡ \ 5*
43693 Ýt_mÇme
43694 , cڡ \1e*
43695 buf_±r
43696 ,
43697
43698 1209 
43699 size_t
43700  
43701 size
43702 ) {
43703
43704 1210 \15 
43705         `OCTET_STRING__decode_x\94
43706 (
43707 Ýt_codec_ùx
43708
43709 td
43710
43711 ¥\8c
43712
43713 Ýt_mÇme
43714 ,
43715
43716 1211 
43717 buf_±r
43718
43719 size
43720 ,
43721
43722 1212 
43723 OCTET_STRING__hªdË_cÚ\8cÞ_ch¬s
43724 ,
43725
43726 1213 
43727 OCTET_STRING__cÚv\94t_\92\8cefs
43728 );
43729
43730 1214 
43731         }
43732 }
43733
43734 1216 #iâdeà 
43735 ASN_DISABLE_PER_SUPPORT
43736
43737
43738 1219 
43739         $OCTET_STRING_³r_g\91_ch¬aù\94s
43740 (
43741 a¢_³r_d©a_t
43742  *
43743 po
43744
43745 u\9at8_t
43746  *
43747 buf
43748 ,
43749
43750 1220 
43751 size_t
43752  
43753 un\99s
43754\1d\12
43755 bpc
43756\1d\12
43757 un\99_b\99s
43758 ,
43759
43760 1221 \13
43761 lb
43762\13
43763 ub
43764 , cڡ 
43765 a¢_³r_cÚ¡¿\9ats_t
43766  *
43767 pc
43768 ) {
43769
43770 1222 
43771 u\9at8_t
43772  *
43773 \92d
43774  = 
43775 buf
43776  + 
43777 un\99s
43778  * 
43779 bpc
43780 ;
43781
43782 1224 
43783         `ASN_DEBUG
43784 ("Expanding %d characters into (%ld..%ld):%d",
43785
43786 1225 (\12)
43787 un\99s
43788
43789 lb
43790
43791 ub
43792
43793 un\99_b\99s
43794 );
43795
43796 1228 if((\1d\13)
43797 ub
43798  <ð((\1d\13)2 << (
43799 un\99_b\99s
43800  - 1))) {
43801
43802 1230 
43803 lb
43804  = 0;
43805
43806 1231 } \vif(
43807 pc
43808  &&\85c->
43809 code2v®ue
43810 ) {
43811
43812 1232 if(
43813 un\99_b\99s
43814  > 16)
43815
43816 1236 \ f
43817 buf
43818  < 
43819 \92d
43820 ; buà+ð
43821 bpc
43822 ) {
43823
43824 1237 \12
43825 v®ue
43826 ;
43827
43828 1238 \12
43829 code
43830  = 
43831         `³r_g\91_ãw_b\99s
43832 (
43833 po
43834
43835 un\99_b\99s
43836 );
43837
43838 1239 if(
43839 code
43840  < 0) \15 -1;
43841
43842 1240 
43843 v®ue
43844  = 
43845 pc
43846 ->
43847         `code2v®ue
43848 (
43849 code
43850 );
43851
43852 1241 if(
43853 v®ue
43854  < 0) {
43855
43856 1242 
43857         `ASN_DEBUG
43858 ("Code %d (0x%02x) is"
43859
43860 1244 
43861 code
43862 , code, 
43863 lb
43864
43865 ub
43866 );
43867
43868 1247 \1a
43869 bpc
43870 ) {
43871
43872 1248 \ 41: *
43873 buf
43874  = 
43875 v®ue
43876\ 3;
43877
43878 1249 \ 42: 
43879 buf
43880 [0] = 
43881 v®ue
43882  >> 8; buf[1] = value; \ 3;
43883
43884 1250 \ 44: 
43885 buf
43886 [0] = 
43887 v®ue
43888  >> 24; buf[1] = value >> 16;
43889
43890 1251 
43891 buf
43892 [2] = 
43893 v®ue
43894  >> 8; buf[3] = value; \ 3;
43895
43896 1258 if(
43897 lb
43898  =ð0 && (
43899 un\99_b\99s
43900  =ð8 * 
43901 bpc
43902 )) {
43903
43904 1259 \15 
43905         `³r_g\91_mªy_b\99s
43906 (
43907 po
43908
43909 buf
43910 , 0, 
43911 un\99_b\99s
43912  * 
43913 un\99s
43914 );
43915
43916 1262 \ f
43917 buf
43918  < 
43919 \92d
43920 ; buà+ð
43921 bpc
43922 ) {
43923
43924 1263 
43925 \9at32_t
43926  
43927 code
43928  = 
43929         `³r_g\91_ãw_b\99s
43930 (
43931 po
43932
43933 un\99_b\99s
43934 );
43935
43936 1264 
43937 \9at32_t
43938  
43939 ch
43940  = 
43941 code
43942  + 
43943 lb
43944 ;
43945
43946 1265 if(
43947 code
43948  < 0) \15 -1;
43949
43950 1266 if(
43951 ch
43952  > 
43953 ub
43954 ) {
43955
43956 1267 
43957         `ASN_DEBUG
43958 ("Code %d is out of\84ange (%ld..%ld)",
43959
43960 1268 
43961 ch
43962
43963 lb
43964
43965 ub
43966 );
43967
43968 1271 \1a
43969 bpc
43970 ) {
43971
43972 1272 \ 41: *
43973 buf
43974  = 
43975 ch
43976\ 3;
43977
43978 1273 \ 42: 
43979 buf
43980 [0] = 
43981 ch
43982  >> 8; buf[1] = ch; \ 3;
43983
43984 1274 \ 44: 
43985 buf
43986 [0] = 
43987 ch
43988  >> 24; buf[1] = ch >> 16;
43989
43990 1275 
43991 buf
43992 [2] = 
43993 ch
43994  >> 8; buf[3] = ch; \ 3;
43995
43996 1280 
43997         }
43998 }
43999
44000 1283 
44001         $OCTET_STRING_³r_put_ch¬aù\94s
44002 (
44003 a¢_³r_ou\8d_t
44004  *
44005 po
44006 , cڡ 
44007 u\9at8_t
44008  *
44009 buf
44010 ,
44011
44012 1284 
44013 size_t
44014  
44015 un\99s
44016\1d\12
44017 bpc
44018\1d\12
44019 un\99_b\99s
44020 ,
44021
44022 1285 \13
44023 lb
44024\13
44025 ub
44026 , cڡ 
44027 a¢_³r_cÚ¡¿\9ats_t
44028  *
44029 pc
44030 ) {
44031
44032 1286 cڡ 
44033 u\9at8_t
44034  *
44035 \92d
44036  = 
44037 buf
44038  + 
44039 un\99s
44040  * 
44041 bpc
44042 ;
44043
44044 1288 
44045         `ASN_DEBUG
44046 ("Squeezing %d characters into (%ld..%ld):%d (%d bpc)",
44047
44048 1289 (\12)
44049 un\99s
44050
44051 lb
44052
44053 ub
44054
44055 un\99_b\99s
44056
44057 bpc
44058 );
44059
44060 1292 if((\1d\13)
44061 ub
44062  <ð((\1d\13)2 << (
44063 un\99_b\99s
44064  - 1))) {
44065
44066 1294 
44067 lb
44068  = 0;
44069
44070 1295 } \vif(
44071 pc
44072  &&\85c->
44073 v®ue2code
44074 ) {
44075
44076 1296 \ f
44077 buf
44078  < 
44079 \92d
44080 ; buà+ð
44081 bpc
44082 ) {
44083
44084 1297 \12
44085 code
44086 ;
44087
44088 1298 
44089 u\9at32_t
44090  
44091 v®ue
44092 ;
44093
44094 1299 \1a
44095 bpc
44096 ) {
44097
44098 1300 \ 41: 
44099 v®ue
44100  = *(cڡ 
44101 u\9at8_t
44102  *)
44103 buf
44104\ 3;
44105
44106 1301 \ 42: 
44107 v®ue
44108  = (
44109 buf
44110 [0] << 8) | buf[1]; \ 3;
44111
44112 1302 \ 44: 
44113 v®ue
44114  = (
44115 buf
44116 [0] << 24) | (buf[1] << 16)
44117
44118 1303 | (
44119 buf
44120 [2] << 8) | buf[3]; \ 3;
44121
44122 1306 
44123 code
44124  = 
44125 pc
44126 ->
44127         `v®ue2code
44128 (
44129 v®ue
44130 );
44131
44132 1307 if(
44133 code
44134  < 0) {
44135
44136 1308 
44137         `ASN_DEBUG
44138 ("Character %d (0x%02x) is"
44139
44140 1310 *
44141 buf
44142 , *buf, 
44143 lb
44144
44145 ub
44146 );
44147
44148 1313 if(
44149         `³r_put_ãw_b\99s
44150 (
44151 po
44152
44153 code
44154
44155 un\99_b\99s
44156 ))
44157
44158 1319 if(
44159 lb
44160  =ð0 && (
44161 un\99_b\99s
44162  =ð8 * 
44163 bpc
44164 )) {
44165
44166 1320 \15 
44167         `³r_put_mªy_b\99s
44168 (
44169 po
44170
44171 buf
44172
44173 un\99_b\99s
44174  * 
44175 un\99s
44176 );
44177
44178 1323 \ f
44179 ub
44180  -ð
44181 lb
44182
44183 buf
44184  < 
44185 \92d
44186 ; buà+ð
44187 bpc
44188 ) {
44189
44190 1324 \12
44191 ch
44192 ;
44193
44194 1325 
44195 u\9at32_t
44196  
44197 v®ue
44198 ;
44199
44200 1326 \1a
44201 bpc
44202 ) {
44203
44204 1328 
44205 v®ue
44206  = *(cڡ 
44207 u\9at8_t
44208  *)
44209 buf
44210 ;
44211
44212 1331 
44213 v®ue
44214  = (
44215 buf
44216 [0] << 8) | buf[1];
44217
44218 1334 
44219 v®ue
44220  = (
44221 buf
44222 [0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3];
44223
44224 1339 
44225 ch
44226  = 
44227 v®ue
44228  - 
44229 lb
44230 ;
44231
44232 1340 if(
44233 ch
44234  < 0 || ch > 
44235 ub
44236 ) {
44237
44238 1341 
44239         `ASN_DEBUG
44240 ("Ch¬aù\94 %d (0x%02xèi ou\88oà¿ng\90(%ld..%ld)", *
44241 buf
44242 ,
44243
44244 1342 
44245 v®ue
44246
44247 lb
44248
44249 ub
44250  +\86b);
44251
44252 1345 if(
44253         `³r_put_ãw_b\99s
44254 (
44255 po
44256
44257 ch
44258
44259 un\99_b\99s
44260 )) \15 -1;
44261
44262 1349 
44263         }
44264 }
44265
44266 1351 \18
44267 a¢_³r_cÚ¡¿\9ats_t
44268  
44269         ga¢_DEF_OCTET_STRING_cÚ¡¿\9ats
44270  = {
44271
44272 1352 { 
44273 APC_CONSTRAINED
44274 , 8, 8, 0, 255 },
44275
44276 1353 { 
44277 APC_SEMI_CONSTRAINED
44278 , -1, -1, 0, 0 },
44279
44280 1357 
44281 a¢_dec_rv®_t
44282
44283
44284 1358 
44285         $OCTET_STRING_decode_u³r
44286 (cڡ 
44287 a¢_codec_ùx_t
44288  *
44289 Ýt_codec_ùx
44290 ,
44291
44292 1359 cڡ 
44293 a¢_TYPE_desü\9dtÜ_t
44294  *
44295 td
44296 ,
44297
44298 1360 cڡ 
44299 a¢_³r_cÚ¡¿\9ats_t
44300  *
44301 cÚ¡¿\9ats
44302\1e**
44303 ¥\8c
44304 ,
44305
44306 1361 
44307 a¢_³r_d©a_t
44308  *
44309 pd
44310 ) {
44311
44312 1362 cڡ 
44313 a¢_OCTET_STRING_¥ecifics_t
44314  *
44315 ¥ecs
44316  = 
44317 td
44318 ->
44319 ¥ecifics
44320
44321
44322 1363 ? (cڡ 
44323 a¢_OCTET_STRING_¥ecifics_t
44324  *)
44325 td
44326 ->
44327 ¥ecifics
44328
44329
44330 1364 : &
44331 a¢_SPC_OCTET_STRING_¥ecs
44332 ;
44333
44334 1365 cڡ 
44335 a¢_³r_cÚ¡¿\9ats_t
44336  *
44337 pc
44338  =
44339
44340 1366 
44341 cÚ¡¿\9ats
44342  ? cÚ¡¿\9at : 
44343 td
44344 ->
44345 \92cod\9ag_cÚ¡¿\9ats
44346 .
44347 ³r_cÚ¡¿\9ats
44348 ;
44349
44350 1367 cڡ 
44351 a¢_³r_cÚ¡¿\9at_t
44352  *
44353 cv®
44354 ;
44355
44356 1368 cڡ 
44357 a¢_³r_cÚ¡¿\9at_t
44358  *
44359 csiz
44360 ;
44361
44362 1369 
44363 a¢_dec_rv®_t
44364  
44365 rv®
44366  = { 
44367 RC_OK
44368 , 0 };
44369
44370 1370 
44371 OCTET_STRING_t
44372  *
44373 ¡
44374  = (OCTET_STRING_\88*)*
44375 ¥\8c
44376 ;
44377
44378 1371 
44379 ssize_t
44380  
44381 cÚsumed_my£lf
44382  = 0;
44383
44384 1372 \12
44385 »³©
44386 ;
44387
44388 1374 
44389 OS__BPC_CHAR
44390  = 1,
44391
44392 1375 
44393 OS__BPC_U16
44394  = 2,
44395
44396 1376 
44397 OS__BPC_U32
44398  = 4
44399
44400 1377 } 
44401 bpc
44402 ;
44403
44404 1378 \1d\12
44405 un\99_b\99s
44406 ;
44407
44408 1379 \1d\12
44409 ÿnÚiÿl_un\99_b\99s
44410 ;
44411
44412 1381 (\1e)
44413 Ýt_codec_ùx
44414 ;
44415
44416 1383 if(
44417 pc
44418 ) {
44419
44420 1384 
44421 cv®
44422  = &
44423 pc
44424 ->
44425 v®ue
44426 ;
44427
44428 1385 
44429 csiz
44430  = &
44431 pc
44432 ->
44433 size
44434 ;
44435
44436 1387 
44437 cv®
44438  = &
44439 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
44440 .
44441 v®ue
44442 ;
44443
44444 1388 
44445 csiz
44446  = &
44447 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
44448 .
44449 size
44450 ;
44451
44452 1391 \1a
44453 ¥ecs
44454 ->
44455 subv¬\9fÁ
44456 ) {
44457
44458 1393 \ 4
44459 ASN_OSUBV_ANY
44460 :
44461
44462 1394 \ 4
44463 ASN_OSUBV_BIT
44464 :
44465
44466 1395 
44467         `ASN_DEBUG
44468 ("UÄecognized subv¬\9fÁ %d", 
44469 ¥ecs
44470 ->
44471 subv¬\9fÁ
44472 );
44473
44474 1396 
44475         `RETURN
44476 (
44477 RC_FAIL
44478 );
44479
44480 1398 \ 4
44481 ASN_OSUBV_STR
44482 :
44483
44484 1399 
44485 ÿnÚiÿl_un\99_b\99s
44486  = 
44487 un\99_b\99s
44488  = 8;
44489
44490 1400 if(
44491 cv®
44492 ->
44493 æags
44494  & 
44495 APC_CONSTRAINED
44496 )
44497
44498 1401 
44499 un\99_b\99s
44500  = 
44501 cv®
44502 ->
44503 ¿nge_b\99s
44504 ;
44505
44506 1402 
44507 bpc
44508  = 
44509 OS__BPC_CHAR
44510 ;
44511
44512 1404 \ 4
44513 ASN_OSUBV_U16
44514 :
44515
44516 1405 
44517 ÿnÚiÿl_un\99_b\99s
44518  = 
44519 un\99_b\99s
44520  = 16;
44521
44522 1406 if(
44523 cv®
44524 ->
44525 æags
44526  & 
44527 APC_CONSTRAINED
44528 )
44529
44530 1407 
44531 un\99_b\99s
44532  = 
44533 cv®
44534 ->
44535 ¿nge_b\99s
44536 ;
44537
44538 1408 
44539 bpc
44540  = 
44541 OS__BPC_U16
44542 ;
44543
44544 1410 \ 4
44545 ASN_OSUBV_U32
44546 :
44547
44548 1411 
44549 ÿnÚiÿl_un\99_b\99s
44550  = 
44551 un\99_b\99s
44552  = 32;
44553
44554 1412 if(
44555 cv®
44556 ->
44557 æags
44558  & 
44559 APC_CONSTRAINED
44560 )
44561
44562 1413 
44563 un\99_b\99s
44564  = 
44565 cv®
44566 ->
44567 ¿nge_b\99s
44568 ;
44569
44570 1414 
44571 bpc
44572  = 
44573 OS__BPC_U32
44574 ;
44575
44576 1421 if(!
44577 ¡
44578 ) {
44579
44580 1422 
44581 ¡
44582  = (
44583 OCTET_STRING_t
44584  *)(*
44585 ¥\8c
44586  = 
44587         `CALLOC
44588 (1, 
44589 ¥ecs
44590 ->
44591 ¡ruù_size
44592 ));
44593
44594 1423 if(!
44595 ¡
44596 è
44597         `RETURN
44598 (
44599 RC_FAIL
44600 );
44601
44602 1426 
44603         `ASN_DEBUG
44604 ("PER Decoding %s size %ld .. %ld bits %d",
44605
44606 1427 
44607 csiz
44608 ->
44609 æags
44610  & 
44611 APC_EXTENSIBLE
44612  ? "extensible" : "non-extensible",
44613
44614 1428 
44615 csiz
44616 ->
44617 low\94_bound
44618 , csiz->
44619\94_bound
44620 , csiz->
44621 efãùive_b\99s
44622 );
44623
44624 1430 if(
44625 csiz
44626 ->
44627 æags
44628  & 
44629 APC_EXTENSIBLE
44630 ) {
44631
44632 1431 \12
44633 \9aext
44634  = 
44635         `³r_g\91_ãw_b\99s
44636 (
44637 pd
44638 , 1);
44639
44640 1432 if(
44641 \9aext
44642  < 0è
44643         `RETURN
44644 (
44645 RC_WMORE
44646 );
44647
44648 1433 if(
44649 \9aext
44650 ) {
44651
44652 1434 
44653 csiz
44654  = &
44655 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
44656 .
44657 size
44658 ;
44659
44660 1435 
44661 un\99_b\99s
44662  = 
44663 ÿnÚiÿl_un\99_b\99s
44664 ;
44665
44666 1439 if(
44667 csiz
44668 ->
44669 efãùive_b\99s
44670  >= 0) {
44671
44672 1440 
44673         `FREEMEM
44674 (
44675 ¡
44676 ->
44677 buf
44678 );
44679
44680 1441 if(
44681 bpc
44682 ) {
44683
44684 1442 
44685 ¡
44686 ->
44687 size
44688  = 
44689 csiz
44690 ->
44691\94_bound
44692  * 
44693 bpc
44694 ;
44695
44696 1444 
44697 ¡
44698 ->
44699 size
44700  = (
44701 csiz
44702 ->
44703\94_bound
44704  + 7) >> 3;
44705
44706 1446 
44707 ¡
44708 ->
44709 buf
44710  = (
44711 u\9at8_t
44712  *)
44713         `MALLOC
44714 (¡->
44715 size
44716  + 1);
44717
44718 1447 if(!
44719 ¡
44720 ->
44721 buf
44722 è{ st->
44723 size
44724  = 0; 
44725         `RETURN
44726 (
44727 RC_FAIL
44728 ); }
44729
44730 1453 if(
44731 csiz
44732 ->
44733 efãùive_b\99s
44734  == 0) {
44735
44736 1454 \12
44737 »t
44738 ;
44739
44740 1455 if(
44741 bpc
44742 ) {
44743
44744 1456 
44745         `ASN_DEBUG
44746 ("Encoding OCTET STRING size %ld",
44747
44748 1457 
44749 csiz
44750 ->
44751\94_bound
44752 );
44753
44754 1458 
44755 »t
44756  = 
44757         `OCTET_STRING_³r_g\91_ch¬aù\94s
44758 (
44759 pd
44760
44761 ¡
44762 ->
44763 buf
44764 ,
44765
44766 1459 
44767 csiz
44768 ->
44769\94_bound
44770
44771 bpc
44772
44773 un\99_b\99s
44774 ,
44775
44776 1460 
44777 cv®
44778 ->
44779 low\94_bound
44780 , cv®->
44781\94_bound
44782
44783 pc
44784 );
44785
44786 1461 if(
44787 »t
44788  > 0è
44789         `RETURN
44790 (
44791 RC_FAIL
44792 );
44793
44794 1463 
44795         `ASN_DEBUG
44796 ("Encoding BIT STRING size %ld",
44797
44798 1464 
44799 csiz
44800 ->
44801\94_bound
44802 );
44803
44804 1465 
44805 »t
44806  = 
44807         `³r_g\91_mªy_b\99s
44808 (
44809 pd
44810
44811 ¡
44812 ->
44813 buf
44814 , 0,
44815
44816 1466 
44817 un\99_b\99s
44818  * 
44819 csiz
44820 ->
44821\94_bound
44822 );
44823
44824 1468 if(
44825 »t
44826  < 0è
44827         `RETURN
44828 (
44829 RC_WMORE
44830 );
44831
44832 1469 
44833 cÚsumed_my£lf
44834  +ð
44835 un\99_b\99s
44836  * 
44837 csiz
44838 ->
44839\94_bound
44840 ;
44841
44842 1470 
44843 ¡
44844 ->
44845 buf
44846 [¡->
44847 size
44848 ] = 0;
44849
44850 1471 
44851         `RETURN
44852 (
44853 RC_OK
44854 );
44855
44856 1474 
44857 ¡
44858 ->
44859 size
44860  = 0;
44861
44862 1476 
44863 ssize_t
44864  
44865 ¿w_Ën
44866 ;
44867
44868 1477 
44869 ssize_t
44870  
44871 Ën_by\8bs
44872 ;
44873
44874 1478 \1e*
44875 p
44876 ;
44877
44878 1479 \12
44879 »t
44880 ;
44881
44882 1482 
44883 ¿w_Ën
44884  = 
44885         `u³r_g\91_Ëngth
44886 (
44887 pd
44888
44889 csiz
44890 ->
44891 efãùive_b\99s
44892 , csiz->
44893 low\94_bound
44894 ,
44895
44896 1483 &
44897 »³©
44898 );
44899
44900 1484 if(
44901 ¿w_Ën
44902  < 0è
44903         `RETURN
44904 (
44905 RC_WMORE
44906 );
44907
44908 1485 if(
44909 ¿w_Ën
44910  =ð0 && 
44911 ¡
44912 ->
44913 buf
44914\ 3;
44915
44916 1487 
44917         `ASN_DEBUG
44918 ("Got PER\86ength\83b %ld,\86en %ld, %s (%s)",
44919
44920 1488 (\13)
44921 csiz
44922 ->
44923 efãùive_b\99s
44924 , (\13)
44925 ¿w_Ën
44926 ,
44927
44928 1489 
44929 »³©
44930  ? "»³©" : "Úû", 
44931 td
44932 ->
44933 Çme
44934 );
44935
44936 1490 
44937 Ën_by\8bs
44938  = 
44939 ¿w_Ën
44940  * 
44941 bpc
44942 ;
44943
44944 1491 
44945 p
44946  = 
44947         `REALLOC
44948 (
44949 ¡
44950 ->
44951 buf
44952 , st->
44953 size
44954  + 
44955 Ën_by\8bs
44956  + 1);
44957
44958 1492 if(!
44959 p
44960 è
44961         `RETURN
44962 (
44963 RC_FAIL
44964 );
44965
44966 1493 
44967 ¡
44968 ->
44969 buf
44970  = (
44971 u\9at8_t
44972  *)
44973 p
44974 ;
44975
44976 1495 
44977 »t
44978  = 
44979         `OCTET_STRING_³r_g\91_ch¬aù\94s
44980 (
44981 pd
44982 , &
44983 ¡
44984 ->
44985 buf
44986 [¡->
44987 size
44988 ], 
44989 ¿w_Ën
44990 ,
44991
44992 1496 
44993 bpc
44994
44995 un\99_b\99s
44996
44997 cv®
44998 ->
44999 low\94_bound
45000 ,
45001
45002 1497 
45003 cv®
45004 ->
45005\94_bound
45006
45007 pc
45008 );
45009
45010 1498 if(
45011 »t
45012  > 0è
45013         `RETURN
45014 (
45015 RC_FAIL
45016 );
45017
45018 1499 if(
45019 »t
45020  < 0è
45021         `RETURN
45022 (
45023 RC_WMORE
45024 );
45025
45026 1500 
45027 ¡
45028 ->
45029 size
45030  +ð
45031 Ën_by\8bs
45032 ;
45033
45034 1501 } \1f
45035 »³©
45036 );
45037
45038 1502 
45039 ¡
45040 ->
45041 buf
45042 [¡->
45043 size
45044 ] = 0;
45045
45046 1504 \15 
45047 rv®
45048 ;
45049
45050 1505 
45051         }
45052 }
45053
45054 1507 
45055 a¢_\92c_rv®_t
45056
45057
45058 1508 
45059         $OCTET_STRING_\92code_u³r
45060 (cڡ 
45061 a¢_TYPE_desü\9dtÜ_t
45062  *
45063 td
45064 ,
45065
45066 1509 cڡ 
45067 a¢_³r_cÚ¡¿\9ats_t
45068  *
45069 cÚ¡¿\9ats
45070 ,
45071
45072 1510 cڡ \1e*
45073 ¥\8c
45074
45075 a¢_³r_ou\8d_t
45076  *
45077 po
45078 ) {
45079
45080 1511 cڡ 
45081 a¢_OCTET_STRING_¥ecifics_t
45082  *
45083 ¥ecs
45084  = 
45085 td
45086 ->
45087 ¥ecifics
45088
45089
45090 1512 ? (cڡ 
45091 a¢_OCTET_STRING_¥ecifics_t
45092  *)
45093 td
45094 ->
45095 ¥ecifics
45096
45097
45098 1513 : &
45099 a¢_SPC_OCTET_STRING_¥ecs
45100 ;
45101
45102 1514 cڡ 
45103 a¢_³r_cÚ¡¿\9ats_t
45104  *
45105 pc
45106  = 
45107 cÚ¡¿\9ats
45108  ? constraints
45109
45110 1515 : 
45111 td
45112 ->
45113 \92cod\9ag_cÚ¡¿\9ats
45114 .
45115 ³r_cÚ¡¿\9ats
45116 ;
45117
45118 1516 cڡ 
45119 a¢_³r_cÚ¡¿\9at_t
45120  *
45121 cv®
45122 ;
45123
45124 1517 cڡ 
45125 a¢_³r_cÚ¡¿\9at_t
45126  *
45127 csiz
45128 ;
45129
45130 1518 cڡ 
45131 OCTET_STRING_t
45132  *
45133 ¡
45134  = (cÚ¡ OCTET_STRING_\88*)
45135 ¥\8c
45136 ;
45137
45138 1519 
45139 a¢_\92c_rv®_t
45140  
45141 \94
45142  = { 0, 0, 0 };
45143
45144 1520 \12
45145 \9aext
45146  = 0;
45147
45148 1521 \1d\12
45149 un\99_b\99s
45150 ;
45151
45152 1522 \1d\12
45153 ÿnÚiÿl_un\99_b\99s
45154 ;
45155
45156 1523 
45157 size_t
45158  
45159 size_\9a_un\99s
45160 ;
45161
45162 1524 cڡ 
45163 u\9at8_t
45164  *
45165 buf
45166 ;
45167
45168 1525 \12
45169 »t
45170 ;
45171
45172 1527 
45173 OS__BPC_CHAR
45174  = 1,
45175
45176 1528 
45177 OS__BPC_U16
45178  = 2,
45179
45180 1529 
45181 OS__BPC_U32
45182  = 4
45183
45184 1530 } 
45185 bpc
45186 ;
45187
45188 1531 \12
45189 ù_ex\8bnsibË
45190 ;
45191
45192 1533 if(!
45193 ¡
45194  || (!¡->
45195 buf
45196  && st->
45197 size
45198 ))
45199
45200 1534 
45201 ASN__ENCODE_FAILED
45202 ;
45203
45204 1536 if(
45205 pc
45206 ) {
45207
45208 1537 
45209 cv®
45210  = &
45211 pc
45212 ->
45213 v®ue
45214 ;
45215
45216 1538 
45217 csiz
45218  = &
45219 pc
45220 ->
45221 size
45222 ;
45223
45224 1540 
45225 cv®
45226  = &
45227 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
45228 .
45229 v®ue
45230 ;
45231
45232 1541 
45233 csiz
45234  = &
45235 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
45236 .
45237 size
45238 ;
45239
45240 1543 
45241 ù_ex\8bnsibË
45242  = 
45243 csiz
45244 ->
45245 æags
45246  & 
45247 APC_EXTENSIBLE
45248 ;
45249
45250 1545 \1a
45251 ¥ecs
45252 ->
45253 subv¬\9fÁ
45254 ) {
45255
45256 1547 \ 4
45257 ASN_OSUBV_ANY
45258 :
45259
45260 1548 \ 4
45261 ASN_OSUBV_BIT
45262 :
45263
45264 1549 
45265 ASN__ENCODE_FAILED
45266 ;
45267
45268 1550 \ 4
45269 ASN_OSUBV_STR
45270 :
45271
45272 1551 
45273 ÿnÚiÿl_un\99_b\99s
45274  = 
45275 un\99_b\99s
45276  = 8;
45277
45278 1552 if(
45279 cv®
45280 ->
45281 æags
45282  & 
45283 APC_CONSTRAINED
45284 )
45285
45286 1553 
45287 un\99_b\99s
45288  = 
45289 cv®
45290 ->
45291 ¿nge_b\99s
45292 ;
45293
45294 1554 
45295 bpc
45296  = 
45297 OS__BPC_CHAR
45298 ;
45299
45300 1555 
45301 size_\9a_un\99s
45302  = 
45303 ¡
45304 ->
45305 size
45306 ;
45307
45308 1557 \ 4
45309 ASN_OSUBV_U16
45310 :
45311
45312 1558 
45313 ÿnÚiÿl_un\99_b\99s
45314  = 
45315 un\99_b\99s
45316  = 16;
45317
45318 1559 if(
45319 cv®
45320 ->
45321 æags
45322  & 
45323 APC_CONSTRAINED
45324 )
45325
45326 1560 
45327 un\99_b\99s
45328  = 
45329 cv®
45330 ->
45331 ¿nge_b\99s
45332 ;
45333
45334 1561 
45335 bpc
45336  = 
45337 OS__BPC_U16
45338 ;
45339
45340 1562 
45341 size_\9a_un\99s
45342  = 
45343 ¡
45344 ->
45345 size
45346  >> 1;
45347
45348 1563 if(
45349 ¡
45350 ->
45351 size
45352  & 1) {
45353
45354 1564 
45355         `ASN_DEBUG
45356 ("% ¡r\9ag siz\90i nÙ modulØ2", 
45357 td
45358 ->
45359 Çme
45360 );
45361
45362 1565 
45363 ASN__ENCODE_FAILED
45364 ;
45365
45366 1568 \ 4
45367 ASN_OSUBV_U32
45368 :
45369
45370 1569 
45371 ÿnÚiÿl_un\99_b\99s
45372  = 
45373 un\99_b\99s
45374  = 32;
45375
45376 1570 if(
45377 cv®
45378 ->
45379 æags
45380  & 
45381 APC_CONSTRAINED
45382 )
45383
45384 1571 
45385 un\99_b\99s
45386  = 
45387 cv®
45388 ->
45389 ¿nge_b\99s
45390 ;
45391
45392 1572 
45393 bpc
45394  = 
45395 OS__BPC_U32
45396 ;
45397
45398 1573 
45399 size_\9a_un\99s
45400  = 
45401 ¡
45402 ->
45403 size
45404  >> 2;
45405
45406 1574 if(
45407 ¡
45408 ->
45409 size
45410  & 3) {
45411
45412 1575 
45413         `ASN_DEBUG
45414 ("% ¡r\9ag siz\90i nÙ modulØ4", 
45415 td
45416 ->
45417 Çme
45418 );
45419
45420 1576 
45421 ASN__ENCODE_FAILED
45422 ;
45423
45424 1581 
45425         `ASN_DEBUG
45426 ("Encod\9ag % \9atØ%" 
45427 ASN_PRI_SIZE
45428  " units of %d bits"
45429
45430 1583 
45431 td
45432 ->
45433 Çme
45434
45435 size_\9a_un\99s
45436
45437 un\99_b\99s
45438 ,
45439
45440 1584 
45441 csiz
45442 ->
45443 low\94_bound
45444 , csiz->
45445\94_bound
45446 ,
45447
45448 1585 
45449 csiz
45450 ->
45451 efãùive_b\99s
45452
45453 ù_ex\8bnsibË
45454  ? " EXT" : "");
45455
45456 1589 if(
45457 csiz
45458 ->
45459 efãùive_b\99s
45460  >= 0) {
45461
45462 1590 if((
45463 ssize_t
45464 )
45465 size_\9a_un\99s
45466  < 
45467 csiz
45468 ->
45469 low\94_bound
45470
45471
45472 1591 || (
45473 ssize_t
45474 )
45475 size_\9a_un\99s
45476  > 
45477 csiz
45478 ->
45479\94_bound
45480 ) {
45481
45482 1592 if(
45483 ù_ex\8bnsibË
45484 ) {
45485
45486 1593 
45487 csiz
45488  = &
45489 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
45490 .
45491 size
45492 ;
45493
45494 1594 
45495 un\99_b\99s
45496  = 
45497 ÿnÚiÿl_un\99_b\99s
45498 ;
45499
45500 1595 
45501 \9aext
45502  = 1;
45503
45504 1597 
45505 ASN__ENCODE_FAILED
45506 ;
45507
45508 1601 
45509 \9aext
45510  = 0;
45511
45512 1604 if(
45513 ù_ex\8bnsibË
45514 ) {
45515
45516 1606 if(
45517         `³r_put_ãw_b\99s
45518 (
45519 po
45520
45521 \9aext
45522 , 1))
45523
45524 1607 
45525 ASN__ENCODE_FAILED
45526 ;
45527
45528 1610 if(
45529 csiz
45530 ->
45531 efãùive_b\99s
45532  >ð0 && !
45533 \9aext
45534 ) {
45535
45536 1611 
45537         `ASN_DEBUG
45538 ("Encod\9ag %" 
45539 ASN_PRI_SIZE
45540  " by\8b (%ld),\86\92gth iÀ%d b\99s", 
45541 ¡
45542 ->
45543 size
45544 ,
45545
45546 1612 
45547 size_\9a_un\99s
45548  - 
45549 csiz
45550 ->
45551 low\94_bound
45552 , csiz->
45553 efãùive_b\99s
45554 );
45555
45556 1613 
45557 »t
45558  = 
45559         `³r_put_ãw_b\99s
45560 (
45561 po
45562
45563 size_\9a_un\99s
45564  - 
45565 csiz
45566 ->
45567 low\94_bound
45568 ,
45569
45570 1614 
45571 csiz
45572 ->
45573 efãùive_b\99s
45574 );
45575
45576 1615 if(
45577 »t
45578 è
45579 ASN__ENCODE_FAILED
45580 ;
45581
45582 1616 
45583 »t
45584  = 
45585         `OCTET_STRING_³r_put_ch¬aù\94s
45586 (
45587 po
45588
45589 ¡
45590 ->
45591 buf
45592
45593 size_\9a_un\99s
45594
45595 bpc
45596 ,
45597
45598 1617 
45599 un\99_b\99s
45600
45601 cv®
45602 ->
45603 low\94_bound
45604 ,
45605
45606 1618 
45607 cv®
45608 ->
45609\94_bound
45610
45611 pc
45612 );
45613
45614 1619 if(
45615 »t
45616 è
45617 ASN__ENCODE_FAILED
45618 ;
45619
45620 1620 
45621         `ASN__ENCODED_OK
45622 (
45623 \94
45624 );
45625
45626 1623 
45627         `ASN_DEBUG
45628 ("Encod\9ag %" 
45629 ASN_PRI_SIZE
45630  " by\8bs", 
45631 ¡
45632 ->
45633 size
45634 );
45635
45636 1625 
45637 buf
45638  = 
45639 ¡
45640 ->buf;
45641
45642 1626 
45643         `ASN_DEBUG
45644 ("Encod\9ag %" 
45645 ASN_PRI_SIZE
45646  " iÀun\99s", 
45647 size_\9a_un\99s
45648 );
45649
45650 1628 \12
45651 Ãed_eom
45652  = 0;
45653
45654 1629 
45655 ssize_t
45656  
45657 may_§ve
45658  = 
45659         `u³r_put_Ëngth
45660 (
45661 po
45662
45663 size_\9a_un\99s
45664 , &
45665 Ãed_eom
45666 );
45667
45668 1630 if(
45669 may_§ve
45670  < 0è
45671 ASN__ENCODE_FAILED
45672 ;
45673
45674 1632 
45675         `ASN_DEBUG
45676 ("Encod\9ag %" 
45677 ASN_PRI_SSIZE
45678  " oà%" 
45679 ASN_PRI_SIZE
45680  "%s", 
45681 may_§ve
45682
45683 size_\9a_un\99s
45684 ,
45685
45686 1633 
45687 Ãed_eom
45688  ? ",+EOM" : "");
45689
45690 1635 
45691 »t
45692  = 
45693         `OCTET_STRING_³r_put_ch¬aù\94s
45694 (
45695 po
45696
45697 buf
45698
45699 may_§ve
45700
45701 bpc
45702
45703 un\99_b\99s
45704 ,
45705
45706 1636 
45707 cv®
45708 ->
45709 low\94_bound
45710 ,
45711
45712 1637 
45713 cv®
45714 ->
45715\94_bound
45716
45717 pc
45718 );
45719
45720 1638 if(
45721 »t
45722 è
45723 ASN__ENCODE_FAILED
45724 ;
45725
45726 1640 
45727 buf
45728  +ð
45729 may_§ve
45730  * 
45731 bpc
45732 ;
45733
45734 1641 
45735 size_\9a_un\99s
45736  -ð
45737 may_§ve
45738 ;
45739
45740 1642 
45741         `as£¹
45742 (!(
45743 may_§ve
45744  & 0x07è|| !
45745 size_\9a_un\99s
45746 );
45747
45748 1643 if(
45749 Ãed_eom
45750  && 
45751         `u³r_put_Ëngth
45752 (
45753 po
45754 , 0, 0))
45755
45756 1644 
45757 ASN__ENCODE_FAILED
45758 ;
45759
45760 1645 } \1f
45761 size_\9a_un\99s
45762 );
45763
45764 1647 
45765         `ASN__ENCODED_OK
45766 (
45767 \94
45768 );
45769
45770 1648 
45771         }
45772 }
45773
45774 1650 
45775 a¢_dec_rv®_t
45776
45777
45778 1651 
45779         $OCTET_STRING_decode_­\94
45780 (cڡ 
45781 a¢_codec_ùx_t
45782  *
45783 Ýt_codec_ùx
45784 ,
45785
45786 1652 cڡ 
45787 a¢_TYPE_desü\9dtÜ_t
45788  *
45789 td
45790 ,
45791
45792 1653 cڡ 
45793 a¢_³r_cÚ¡¿\9ats_t
45794  *
45795 cÚ¡¿\9ats
45796 ,
45797
45798 1654 \1e**
45799 ¥\8c
45800
45801 a¢_³r_d©a_t
45802  *
45803 pd
45804 ) {
45805
45806 1656 cڡ 
45807 a¢_OCTET_STRING_¥ecifics_t
45808  *
45809 ¥ecs
45810  = 
45811 td
45812 ->
45813 ¥ecifics
45814
45815
45816 1657 ? (cڡ 
45817 a¢_OCTET_STRING_¥ecifics_t
45818  *)
45819 td
45820 ->
45821 ¥ecifics
45822
45823
45824 1658 : &
45825 a¢_SPC_OCTET_STRING_¥ecs
45826 ;
45827
45828 1659 cڡ 
45829 a¢_³r_cÚ¡¿\9ats_t
45830  *
45831 pc
45832  = 
45833 cÚ¡¿\9ats
45834  ? constraints
45835
45836 1660 : 
45837 td
45838 ->
45839 \92cod\9ag_cÚ¡¿\9ats
45840 .
45841 ³r_cÚ¡¿\9ats
45842 ;
45843
45844 1661 cڡ 
45845 a¢_³r_cÚ¡¿\9at_t
45846  *
45847 cv®
45848 ;
45849
45850 1662 cڡ 
45851 a¢_³r_cÚ¡¿\9at_t
45852  *
45853 csiz
45854 ;
45855
45856 1663 
45857 a¢_dec_rv®_t
45858  
45859 rv®
45860  = { 
45861 RC_OK
45862 , 0 };
45863
45864 1664 
45865 BIT_STRING_t
45866  *
45867 ¡
45868  = (BIT_STRING_\88*)*
45869 ¥\8c
45870 ;
45871
45872 1665 
45873 ssize_t
45874  
45875 cÚsumed_my£lf
45876  = 0;
45877
45878 1666 \12
45879 »³©
45880 ;
45881
45882 1668 
45883 OS__BPC_BIT
45884  = 0,
45885
45886 1669 
45887 OS__BPC_CHAR
45888  = 1,
45889
45890 1670 
45891 OS__BPC_U16
45892  = 2,
45893
45894 1671 
45895 OS__BPC_U32
45896  = 4
45897
45898 1672 } 
45899 bpc
45900 ;
45901
45902 1673 \1d\12
45903 un\99_b\99s
45904 ;
45905
45906 1674 \1d\12
45907 ÿnÚiÿl_un\99_b\99s
45908 ;
45909
45910 1676 (\1e)
45911 Ýt_codec_ùx
45912 ;
45913
45914 1678 if(
45915 pc
45916 ) {
45917
45918 1679 
45919 cv®
45920  = &
45921 pc
45922 ->
45923 v®ue
45924 ;
45925
45926 1680 
45927 csiz
45928  = &
45929 pc
45930 ->
45931 size
45932 ;
45933
45934 1682 
45935 cv®
45936  = &
45937 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
45938 .
45939 v®ue
45940 ;
45941
45942 1683 
45943 csiz
45944  = &
45945 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
45946 .
45947 size
45948 ;
45949
45950 1686 \1a
45951 ¥ecs
45952 ->
45953 subv¬\9fÁ
45954 ) {
45955
45956 1692 \ 4
45957 ASN_OSUBV_BIT
45958 :
45959
45960 1693 
45961 ÿnÚiÿl_un\99_b\99s
45962  = 
45963 un\99_b\99s
45964  = 1;
45965
45966 1694 
45967 bpc
45968  = 
45969 OS__BPC_BIT
45970 ;
45971
45972 1696 \ 4
45973 ASN_OSUBV_ANY
45974 :
45975
45976 1697 \ 4
45977 ASN_OSUBV_STR
45978 :
45979
45980 1698 
45981 ÿnÚiÿl_un\99_b\99s
45982  = 
45983 un\99_b\99s
45984  = 8;
45985
45986 1702 
45987 bpc
45988  = 
45989 OS__BPC_CHAR
45990 ;
45991
45992 1704 \ 4
45993 ASN_OSUBV_U16
45994 :
45995
45996 1705 
45997 ÿnÚiÿl_un\99_b\99s
45998  = 
45999 un\99_b\99s
46000  = 16;
46001
46002 1706 if(
46003 cv®
46004 ->
46005 æags
46006  & 
46007 APC_CONSTRAINED
46008 )
46009
46010 1707 
46011 un\99_b\99s
46012  = 
46013 cv®
46014 ->
46015 ¿nge_b\99s
46016 ;
46017
46018 1708 
46019 bpc
46020  = 
46021 OS__BPC_U16
46022 ;
46023
46024 1710 \ 4
46025 ASN_OSUBV_U32
46026 :
46027
46028 1711 
46029 ÿnÚiÿl_un\99_b\99s
46030  = 
46031 un\99_b\99s
46032  = 32;
46033
46034 1712 if(
46035 cv®
46036 ->
46037 æags
46038  & 
46039 APC_CONSTRAINED
46040 )
46041
46042 1713 
46043 un\99_b\99s
46044  = 
46045 cv®
46046 ->
46047 ¿nge_b\99s
46048 ;
46049
46050 1714 
46051 bpc
46052  = 
46053 OS__BPC_U32
46054 ;
46055
46056 1721 if(!
46057 ¡
46058 ) {
46059
46060 1722 
46061 ¡
46062  = (
46063 BIT_STRING_t
46064  *)(*
46065 ¥\8c
46066  = 
46067         `CALLOC
46068 (1, 
46069 ¥ecs
46070 ->
46071 ¡ruù_size
46072 ));
46073
46074 1723 if(!
46075 ¡
46076 è
46077         `RETURN
46078 (
46079 RC_FAIL
46080 );
46081
46082 1726 
46083         `ASN_DEBUG
46084 ("PER Decoding %s size %ld .. %ld bits %d",
46085
46086 1727 
46087 csiz
46088 ->
46089 æags
46090  & 
46091 APC_EXTENSIBLE
46092  ? "extensible" : "non-extensible",
46093
46094 1728 
46095 csiz
46096 ->
46097 low\94_bound
46098 , csiz->
46099\94_bound
46100 , csiz->
46101 efãùive_b\99s
46102 );
46103
46104 1730 if(
46105 csiz
46106 ->
46107 æags
46108  & 
46109 APC_EXTENSIBLE
46110 ) {
46111
46112 1731 \12
46113 \9aext
46114  = 
46115         `³r_g\91_ãw_b\99s
46116 (
46117 pd
46118 , 1);
46119
46120 1732 if(
46121 \9aext
46122  < 0è
46123         `RETURN
46124 (
46125 RC_WMORE
46126 );
46127
46128 1733 if(
46129 \9aext
46130 ) {
46131
46132 1734 
46133 csiz
46134  = &
46135 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
46136 .
46137 size
46138 ;
46139
46140 1735 
46141 cv®
46142  = &
46143 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
46144 .
46145 v®ue
46146 ;
46147
46148 1736 
46149 un\99_b\99s
46150  = 
46151 ÿnÚiÿl_un\99_b\99s
46152 ;
46153
46154 1740 if(
46155 csiz
46156 ->
46157 efãùive_b\99s
46158  >= 0) {
46159
46160 1741 
46161         `FREEMEM
46162 (
46163 ¡
46164 ->
46165 buf
46166 );
46167
46168 1742 if(
46169 bpc
46170 ) {
46171
46172 1743 
46173 ¡
46174 ->
46175 size
46176  = 
46177 csiz
46178 ->
46179\94_bound
46180  * 
46181 bpc
46182 ;
46183
46184 1745 
46185 ¡
46186 ->
46187 size
46188  = (
46189 csiz
46190 ->
46191\94_bound
46192  + 7) >> 3;
46193
46194 1747 
46195 ¡
46196 ->
46197 buf
46198  = (
46199 u\9at8_t
46200  *)
46201         `MALLOC
46202 (¡->
46203 size
46204  + 1);
46205
46206 1748 if(!
46207 ¡
46208 ->
46209 buf
46210 è{ st->
46211 size
46212  = 0; 
46213         `RETURN
46214 (
46215 RC_FAIL
46216 ); }
46217
46218 1754 if(
46219 csiz
46220 ->
46221 efãùive_b\99s
46222  == 0) {
46223
46224 1755 \12
46225 »t
46226 ;
46227
46228 1756 ià(
46229 ¡
46230 ->
46231 size
46232  > 2) {
46233
46234 1757 ià(
46235         `­\94_g\91_®ign
46236 (
46237 pd
46238 ) < 0)
46239
46240 1758 
46241         `RETURN
46242 (
46243 RC_FAIL
46244 );
46245
46246 1760 if(
46247 bpc
46248 ) {
46249
46250 1761 
46251         `ASN_DEBUG
46252 ("Decoding OCTET STRING size %ld",
46253
46254 1762 
46255 csiz
46256 ->
46257\94_bound
46258 );
46259
46260 1763 
46261 »t
46262  = 
46263         `OCTET_STRING_³r_g\91_ch¬aù\94s
46264 (
46265 pd
46266
46267 ¡
46268 ->
46269 buf
46270 ,
46271
46272 1764 
46273 csiz
46274 ->
46275\94_bound
46276
46277 bpc
46278
46279 un\99_b\99s
46280 ,
46281
46282 1765 
46283 cv®
46284 ->
46285 low\94_bound
46286 , cv®->
46287\94_bound
46288
46289 pc
46290 );
46291
46292 1766 if(
46293 »t
46294  > 0è
46295         `RETURN
46296 (
46297 RC_FAIL
46298 );
46299
46300 1768 
46301         `ASN_DEBUG
46302 ("Decoding BIT STRING size %ld",
46303
46304 1769 
46305 csiz
46306 ->
46307\94_bound
46308 );
46309
46310 1770 
46311 »t
46312  = 
46313         `³r_g\91_mªy_b\99s
46314 (
46315 pd
46316
46317 ¡
46318 ->
46319 buf
46320 , 0,
46321
46322 1771 
46323 un\99_b\99s
46324  * 
46325 csiz
46326 ->
46327\94_bound
46328 );
46329
46330 1773 if(
46331 »t
46332  < 0è
46333         `RETURN
46334 (
46335 RC_WMORE
46336 );
46337
46338 1774 
46339 cÚsumed_my£lf
46340  +ð
46341 un\99_b\99s
46342  * 
46343 csiz
46344 ->
46345\94_bound
46346 ;
46347
46348 1775 
46349 ¡
46350 ->
46351 buf
46352 [¡->
46353 size
46354 ] = 0;
46355
46356 1776 if(
46357 bpc
46358  == 0) {
46359
46360 1777 \12
46361 ubs
46362  = (
46363 csiz
46364 ->
46365\94_bound
46366  & 0x7);
46367
46368 1778 
46369 ¡
46370 ->
46371 b\99s_unu£d
46372  = 
46373 ubs
46374  ? 8 - ubs : 0;
46375
46376 1780 
46377         `RETURN
46378 (
46379 RC_OK
46380 );
46381
46382 1783 
46383 ¡
46384 ->
46385 size
46386  = 0;
46387
46388 1785 
46389 ssize_t
46390  
46391 ¿w_Ën
46392 ;
46393
46394 1786 
46395 ssize_t
46396  
46397 Ën_by\8bs
46398 ;
46399
46400 1787 
46401 ssize_t
46402  
46403 Ën_b\99s
46404 ;
46405
46406 1788 \1e*
46407 p
46408 ;
46409
46410 1789 \12
46411 »t
46412 ;
46413
46414 1792 ià(
46415 csiz
46416 ->
46417\94_bound
46418  - csiz->
46419 low\94_bound
46420  == 0)
46421
46422 1794 
46423 ¿w_Ën
46424  = 
46425         `­\94_g\91_Ëngth
46426 (
46427 pd
46428 , -1, 
46429 csiz
46430 ->
46431 efãùive_b\99s
46432 , &
46433 »³©
46434 );
46435
46436 1796 
46437 ¿w_Ën
46438  = 
46439         `­\94_g\91_Ëngth
46440 (
46441 pd
46442
46443 csiz
46444 ->
46445\94_bound
46446  - csiz->
46447 low\94_bound
46448  + 1, csiz->
46449 efãùive_b\99s
46450 , &
46451 »³©
46452 );
46453
46454 1797 
46455 »³©
46456  = 0;
46457
46458 1798 if(
46459 ¿w_Ën
46460  < 0è
46461         `RETURN
46462 (
46463 RC_WMORE
46464 );
46465
46466 1799 
46467 ¿w_Ën
46468  +ð
46469 csiz
46470 ->
46471 low\94_bound
46472 ;
46473
46474 1801 
46475         `ASN_DEBUG
46476 ("Got PER\86ength\83b %ld,\86en %ld, %s (%s)",
46477
46478 1802 (\13)
46479 csiz
46480 ->
46481 efãùive_b\99s
46482 , (\13)
46483 ¿w_Ën
46484 ,
46485
46486 1803 
46487 »³©
46488  ? "»³©" : "Úû", 
46489 td
46490 ->
46491 Çme
46492 );
46493
46494 1805 ià(
46495 ¿w_Ën
46496  > 2) {
46497
46498 1806 ià(
46499         `­\94_g\91_®ign
46500 (
46501 pd
46502 ) < 0)
46503
46504 1807 
46505         `RETURN
46506 (
46507 RC_FAIL
46508 );
46509
46510 1810 if(
46511 bpc
46512 ) {
46513
46514 1811 
46515 Ën_by\8bs
46516  = 
46517 ¿w_Ën
46518  * 
46519 bpc
46520 ;
46521
46522 1812 
46523 Ën_b\99s
46524  = 
46525 Ën_by\8bs
46526  * 
46527 un\99_b\99s
46528 ;
46529
46530 1814 
46531 Ën_b\99s
46532  = 
46533 ¿w_Ën
46534 ;
46535
46536 1815 
46537 Ën_by\8bs
46538  = (
46539 Ën_b\99s
46540  + 7) >> 3;
46541
46542 1816 if(
46543 Ën_b\99s
46544  & 0x7)
46545
46546 1817 
46547 ¡
46548 ->
46549 b\99s_unu£d
46550  = 8 - (
46551 Ën_b\99s
46552  & 0x7);
46553
46554 1820 
46555 p
46556  = 
46557         `REALLOC
46558 (
46559 ¡
46560 ->
46561 buf
46562 , st->
46563 size
46564  + 
46565 Ën_by\8bs
46566  + 1);
46567
46568 1821 if(!
46569 p
46570 è
46571         `RETURN
46572 (
46573 RC_FAIL
46574 );
46575
46576 1822 
46577 ¡
46578 ->
46579 buf
46580  = (
46581 u\9at8_t
46582  *)
46583 p
46584 ;
46585
46586 1824 if(
46587 bpc
46588 ) {
46589
46590 1825 
46591 »t
46592  = 
46593         `OCTET_STRING_³r_g\91_ch¬aù\94s
46594 (
46595 pd
46596 ,
46597
46598 1826 &
46599 ¡
46600 ->
46601 buf
46602 [¡->
46603 size
46604 ], 
46605 ¿w_Ën
46606
46607 bpc
46608
46609 un\99_b\99s
46610 ,
46611
46612 1827 
46613 cv®
46614 ->
46615 low\94_bound
46616 , cv®->
46617\94_bound
46618
46619 pc
46620 );
46621
46622 1828 if(
46623 »t
46624  > 0è
46625         `RETURN
46626 (
46627 RC_FAIL
46628 );
46629
46630 1830 
46631 »t
46632  = 
46633         `³r_g\91_mªy_b\99s
46634 (
46635 pd
46636 , &
46637 ¡
46638 ->
46639 buf
46640 [¡->
46641 size
46642 ],
46643
46644 1831 0, 
46645 Ën_b\99s
46646 );
46647
46648 1833 if(
46649 »t
46650  < 0è
46651         `RETURN
46652 (
46653 RC_WMORE
46654 );
46655
46656 1834 
46657 ¡
46658 ->
46659 size
46660  +ð
46661 Ën_by\8bs
46662 ;
46663
46664 1835 } \1f
46665 »³©
46666 );
46667
46668 1836 
46669 ¡
46670 ->
46671 buf
46672 [¡->
46673 size
46674 ] = 0;
46675
46676 1838 \15 
46677 rv®
46678 ;
46679
46680 1839 
46681         }
46682 }
46683
46684 1841 
46685 a¢_\92c_rv®_t
46686
46687
46688 1842 
46689         $OCTET_STRING_\92code_­\94
46690 (cڡ 
46691 a¢_TYPE_desü\9dtÜ_t
46692  *
46693 td
46694 ,
46695
46696 1843 cڡ 
46697 a¢_³r_cÚ¡¿\9ats_t
46698  *
46699 cÚ¡¿\9ats
46700 ,
46701
46702 1844 cڡ \1e*
46703 ¥\8c
46704
46705 a¢_³r_ou\8d_t
46706  *
46707 po
46708 ) {
46709
46710 1846 cڡ 
46711 a¢_OCTET_STRING_¥ecifics_t
46712  *
46713 ¥ecs
46714  = 
46715 td
46716 ->
46717 ¥ecifics
46718
46719
46720 1847 ? (cڡ 
46721 a¢_OCTET_STRING_¥ecifics_t
46722  *)
46723 td
46724 ->
46725 ¥ecifics
46726
46727
46728 1848 : &
46729 a¢_SPC_OCTET_STRING_¥ecs
46730 ;
46731
46732 1849 cڡ 
46733 a¢_³r_cÚ¡¿\9ats_t
46734  *
46735 pc
46736  = 
46737 cÚ¡¿\9ats
46738  ? constraints
46739
46740 1850 : 
46741 td
46742 ->
46743 \92cod\9ag_cÚ¡¿\9ats
46744 .
46745 ³r_cÚ¡¿\9ats
46746 ;
46747
46748 1851 cڡ 
46749 a¢_³r_cÚ¡¿\9at_t
46750  *
46751 cv®
46752 ;
46753
46754 1852 cڡ 
46755 a¢_³r_cÚ¡¿\9at_t
46756  *
46757 csiz
46758 ;
46759
46760 1853 cڡ 
46761 BIT_STRING_t
46762  *
46763 ¡
46764  = (cÚ¡ BIT_STRING_\88*)
46765 ¥\8c
46766 ;
46767
46768 1854 
46769 a¢_\92c_rv®_t
46770  
46771 \94
46772  = { 0, 0, 0 };
46773
46774 1855 \12
46775 \9aext
46776  = 0;
46777
46778 1856 \1d\12
46779 un\99_b\99s
46780 ;
46781
46782 1857 \1d\12
46783 ÿnÚiÿl_un\99_b\99s
46784 ;
46785
46786 1858 \1d\12
46787 size\9aun\99s
46788 ;
46789
46790 1859 cڡ 
46791 u\9at8_t
46792  *
46793 buf
46794 ;
46795
46796 1860 \12
46797 »t
46798 ;
46799
46800 1862 
46801 OS__BPC_BIT
46802  = 0,
46803
46804 1863 
46805 OS__BPC_CHAR
46806  = 1,
46807
46808 1864 
46809 OS__BPC_U16
46810  = 2,
46811
46812 1865 
46813 OS__BPC_U32
46814  = 4
46815
46816 1866 } 
46817 bpc
46818 ;
46819
46820 1867 \12
46821 ù_ex\8bnsibË
46822 ;
46823
46824 1869 if(!
46825 ¡
46826  || (!¡->
46827 buf
46828  && st->
46829 size
46830 ))
46831
46832 1870 
46833 ASN__ENCODE_FAILED
46834 ;
46835
46836 1872 if(
46837 pc
46838 ) {
46839
46840 1873 
46841 cv®
46842  = &
46843 pc
46844 ->
46845 v®ue
46846 ;
46847
46848 1874 
46849 csiz
46850  = &
46851 pc
46852 ->
46853 size
46854 ;
46855
46856 1876 
46857 cv®
46858  = &
46859 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
46860 .
46861 v®ue
46862 ;
46863
46864 1877 
46865 csiz
46866  = &
46867 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
46868 .
46869 size
46870 ;
46871
46872 1879 
46873 ù_ex\8bnsibË
46874  = 
46875 csiz
46876 ->
46877 æags
46878  & 
46879 APC_EXTENSIBLE
46880 ;
46881
46882 1881 \1a
46883 ¥ecs
46884 ->
46885 subv¬\9fÁ
46886 ) {
46887
46888 1886 \ 4
46889 ASN_OSUBV_BIT
46890 :
46891
46892 1887 
46893 ÿnÚiÿl_un\99_b\99s
46894  = 
46895 un\99_b\99s
46896  = 1;
46897
46898 1888 
46899 bpc
46900  = 
46901 OS__BPC_BIT
46902 ;
46903
46904 1889 
46905 size\9aun\99s
46906  = 
46907 ¡
46908 ->
46909 size
46910  * 8 - (¡->
46911 b\99s_unu£d
46912  & 0x07);
46913
46914 1890 
46915         `ASN_DEBUG
46916 ("BIT STRING of %d bytes",
46917
46918 1891 
46919 size\9aun\99s
46920 );
46921
46922 1893 \ 4
46923 ASN_OSUBV_ANY
46924 :
46925
46926 1894 \ 4
46927 ASN_OSUBV_STR
46928 :
46929
46930 1895 
46931 ÿnÚiÿl_un\99_b\99s
46932  = 
46933 un\99_b\99s
46934  = 8;
46935
46936 1899 
46937 bpc
46938  = 
46939 OS__BPC_CHAR
46940 ;
46941
46942 1900 
46943 size\9aun\99s
46944  = 
46945 ¡
46946 ->
46947 size
46948 ;
46949
46950 1902 \ 4
46951 ASN_OSUBV_U16
46952 :
46953
46954 1903 
46955 ÿnÚiÿl_un\99_b\99s
46956  = 
46957 un\99_b\99s
46958  = 16;
46959
46960 1904 if(
46961 cv®
46962 ->
46963 æags
46964  & 
46965 APC_CONSTRAINED
46966 )
46967
46968 1905 
46969 un\99_b\99s
46970  = 
46971 cv®
46972 ->
46973 ¿nge_b\99s
46974 ;
46975
46976 1906 
46977 bpc
46978  = 
46979 OS__BPC_U16
46980 ;
46981
46982 1907 
46983 size\9aun\99s
46984  = 
46985 ¡
46986 ->
46987 size
46988  / 2;
46989
46990 1909 \ 4
46991 ASN_OSUBV_U32
46992 :
46993
46994 1910 
46995 ÿnÚiÿl_un\99_b\99s
46996  = 
46997 un\99_b\99s
46998  = 32;
46999
47000 1911 if(
47001 cv®
47002 ->
47003 æags
47004  & 
47005 APC_CONSTRAINED
47006 )
47007
47008 1912 
47009 un\99_b\99s
47010  = 
47011 cv®
47012 ->
47013 ¿nge_b\99s
47014 ;
47015
47016 1913 
47017 bpc
47018  = 
47019 OS__BPC_U32
47020 ;
47021
47022 1914 
47023 size\9aun\99s
47024  = 
47025 ¡
47026 ->
47027 size
47028  / 4;
47029
47030 1918 
47031         `ASN_DEBUG
47032 ("Encoding %s into %d units of %d bits"
47033
47034 1920 
47035 td
47036 ->
47037 Çme
47038
47039 size\9aun\99s
47040
47041 un\99_b\99s
47042 ,
47043
47044 1921 
47045 csiz
47046 ->
47047 low\94_bound
47048 , csiz->
47049\94_bound
47050 ,
47051
47052 1922 
47053 csiz
47054 ->
47055 efãùive_b\99s
47056
47057 ù_ex\8bnsibË
47058  ? " EXT" : "");
47059
47060 1926 if(
47061 csiz
47062 ->
47063 efãùive_b\99s
47064  >= 0) {
47065
47066 1927 if((\12)
47067 size\9aun\99s
47068  < 
47069 csiz
47070 ->
47071 low\94_bound
47072
47073
47074 1928 || (\12)
47075 size\9aun\99s
47076  > 
47077 csiz
47078 ->
47079\94_bound
47080 ) {
47081
47082 1929 if(
47083 ù_ex\8bnsibË
47084 ) {
47085
47086 1930 
47087 cv®
47088  = &
47089 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
47090 .
47091 v®ue
47092 ;
47093
47094 1931 
47095 csiz
47096  = &
47097 a¢_DEF_OCTET_STRING_cÚ¡¿\9ats
47098 .
47099 size
47100 ;
47101
47102 1932 
47103 un\99_b\99s
47104  = 
47105 ÿnÚiÿl_un\99_b\99s
47106 ;
47107
47108 1933 
47109 \9aext
47110  = 1;
47111
47112 1935 
47113 ASN__ENCODE_FAILED
47114 ;
47115
47116 1938 
47117 \9aext
47118  = 0;
47119
47120 1942 if(
47121 ù_ex\8bnsibË
47122 ) {
47123
47124 1944 if(
47125         `³r_put_ãw_b\99s
47126 (
47127 po
47128
47129 \9aext
47130 , 1))
47131
47132 1945 
47133 ASN__ENCODE_FAILED
47134 ;
47135
47136 1951 if(
47137 csiz
47138 ->
47139 efãùive_b\99s
47140  >= 0) {
47141
47142 1952 
47143         `ASN_DEBUG
47144 ("Encoding %lu bytes (%ld),\86ength in %d bits",
47145
47146 1953 
47147 ¡
47148 ->
47149 size
47150
47151 size\9aun\99s
47152  - 
47153 csiz
47154 ->
47155 low\94_bound
47156 ,
47157
47158 1954 
47159 csiz
47160 ->
47161 efãùive_b\99s
47162 );
47163
47164 1955 ià(
47165 csiz
47166 ->
47167 efãùive_b\99s
47168  > 0) {
47169
47170 1956 
47171 »t
47172  = 
47173         `­\94_put_Ëngth
47174 (
47175 po
47176
47177 csiz
47178 ->
47179\94_bound
47180  - csiz->
47181 low\94_bound
47182  + 1, 
47183 size\9aun\99s
47184  - csiz->lower_bound);
47185
47186 1957 if(
47187 »t
47188 è
47189 ASN__ENCODE_FAILED
47190 ;
47191
47192 1961 ià((
47193 ¡
47194 ->
47195 size
47196  > 2è|| (
47197 csiz
47198 ->
47199 low\94_bound
47200  !ðcsiz->
47201\94_bound
47202 )) {
47203
47204 1962 ià(
47205         `­\94_put_®ign
47206 (
47207 po
47208 ) < 0)
47209
47210 1963 
47211 ASN__ENCODE_FAILED
47212 ;
47213
47214 1965 if(
47215 bpc
47216 ) {
47217
47218 1966 
47219 »t
47220  = 
47221         `OCTET_STRING_³r_put_ch¬aù\94s
47222 (
47223 po
47224
47225 ¡
47226 ->
47227 buf
47228 ,
47229
47230 1967 
47231 size\9aun\99s
47232
47233 bpc
47234
47235 un\99_b\99s
47236 ,
47237
47238 1968 
47239 cv®
47240 ->
47241 low\94_bound
47242 , cv®->
47243\94_bound
47244
47245 pc
47246 );
47247
47248 1970 
47249 »t
47250  = 
47251         `³r_put_mªy_b\99s
47252 (
47253 po
47254
47255 ¡
47256 ->
47257 buf
47258 ,
47259
47260 1971 
47261 size\9aun\99s
47262  * 
47263 un\99_b\99s
47264 );
47265
47266 1973 if(
47267 »t
47268 è
47269 ASN__ENCODE_FAILED
47270 ;
47271
47272 1974 
47273         `ASN__ENCODED_OK
47274 (
47275 \94
47276 );
47277
47278 1977 
47279         `ASN_DEBUG
47280 ("Encod\9ag %lu by\8bs", 
47281 ¡
47282 ->
47283 size
47284 );
47285
47286 1979 if(
47287 size\9aun\99s
47288  == 0) {
47289
47290 1980 if(
47291         `­\94_put_Ëngth
47292 (
47293 po
47294 , -1, 0))
47295
47296 1981 
47297 ASN__ENCODE_FAILED
47298 ;
47299
47300 1982 
47301         `ASN__ENCODED_OK
47302 (
47303 \94
47304 );
47305
47306 1985 
47307 buf
47308  = 
47309 ¡
47310 ->buf;
47311
47312 1986 \1f
47313 size\9aun\99s
47314 ) {
47315
47316 1987 
47317 ssize_t
47318  
47319 maySave
47320  = 
47321         `­\94_put_Ëngth
47322 (
47323 po
47324 , -1, 
47325 size\9aun\99s
47326 );
47327
47328 1989 if(
47329 maySave
47330  < 0è
47331 ASN__ENCODE_FAILED
47332 ;
47333
47334 1991 
47335         `ASN_DEBUG
47336 ("Encoding %ld of %ld",
47337
47338 1992 (\13)
47339 maySave
47340 , (\13)
47341 size\9aun\99s
47342 );
47343
47344 1994 if(
47345 bpc
47346 ) {
47347
47348 1995 
47349 »t
47350  = 
47351         `OCTET_STRING_³r_put_ch¬aù\94s
47352 (
47353 po
47354
47355 buf
47356 ,
47357
47358 1996 
47359 maySave
47360
47361 bpc
47362
47363 un\99_b\99s
47364 ,
47365
47366 1997 
47367 cv®
47368 ->
47369 low\94_bound
47370 , cv®->
47371\94_bound
47372
47373 pc
47374 );
47375
47376 1999 
47377 »t
47378  = 
47379         `³r_put_mªy_b\99s
47380 (
47381 po
47382
47383 buf
47384
47385 maySave
47386  * 
47387 un\99_b\99s
47388 );
47389
47390 2001 if(
47391 »t
47392 è
47393 ASN__ENCODE_FAILED
47394 ;
47395
47396 2003 if(
47397 bpc
47398 )
47399
47400 2004 
47401 buf
47402  +ð
47403 maySave
47404  * 
47405 bpc
47406 ;
47407
47408 2006 
47409 buf
47410  +ð
47411 maySave
47412  >> 3;
47413
47414 2007 
47415 size\9aun\99s
47416  -ð
47417 maySave
47418 ;
47419
47420 2008 
47421         `as£¹
47422 (!(
47423 maySave
47424  & 0x07è|| !
47425 size\9aun\99s
47426 );
47427
47428 2011 
47429         `ASN__ENCODED_OK
47430 (
47431 \94
47432 );
47433
47434 2012 
47435         }
47436 }
47437
47438 2017 
47439         $OCTET_STRING_´\9at
47440 (cڡ 
47441 a¢_TYPE_desü\9dtÜ_t
47442  *
47443 td
47444 , cڡ \1e*
47445 ¥\8c
47446 ,
47447
47448 2018 \12
47449 \9eev\96
47450
47451 a¢_­p_cÚsume_by\8bs_f
47452  *
47453 cb
47454\1e*
47455 ­p_key
47456 ) {
47457
47458 2019 cڡ \ 5* cڡ 
47459 h2c
47460  = "0123456789ABCDEF";
47461
47462 2020 cڡ 
47463 OCTET_STRING_t
47464  *
47465 ¡
47466  = (cÚ¡ OCTET_STRING_\88*)
47467 ¥\8c
47468 ;
47469
47470 2021 \ 5
47471 sü©ch
47472 [16 * 3 + 4];
47473
47474 2022 \ 5*
47475 p
47476  = 
47477 sü©ch
47478 ;
47479
47480 2023 
47481 u\9at8_t
47482  *
47483 buf
47484 ;
47485
47486 2024 
47487 u\9at8_t
47488  *
47489 \92d
47490 ;
47491
47492 2025 
47493 size_t
47494  
47495 i
47496 ;
47497
47498 2027 (\1e)
47499 td
47500 ;
47501
47502 2029 if(!
47503 ¡
47504  || (!¡->
47505 buf
47506  && st->
47507 size
47508 ))
47509
47510 2030 \15 (
47511         `cb
47512 ("<ab£Á>", 8, 
47513 ­p_key
47514 ) < 0) ? -1 : 0;
47515
47516 2035 
47517 buf
47518  = 
47519 ¡
47520 ->buf;
47521
47522 2036 
47523 \92d
47524  = 
47525 buf
47526  + 
47527 ¡
47528 ->
47529 size
47530 ;
47531
47532 2037 \ f
47533 i
47534  = 0; 
47535 buf
47536  < 
47537 \92d
47538 ; buf++, i++) {
47539
47540 2038 if(!(
47541 i
47542  % 16è&& (\98|| 
47543 ¡
47544 ->
47545 size
47546  > 16)) {
47547
47548 2039 if(
47549         `cb
47550 (
47551 sü©ch
47552
47553 p
47554  - sü©ch, 
47555 ­p_key
47556 ) < 0)
47557
47558 2041 
47559         `_i_INDENT
47560 (1);
47561
47562 2042 
47563 p
47564  = 
47565 sü©ch
47566 ;
47567
47568 2044 *
47569 p
47570 ++ = 
47571 h2c
47572 [(*
47573 buf
47574  >> 4) & 0x0F];
47575
47576 2045 *
47577 p
47578 ++ = 
47579 h2c
47580 [*
47581 buf
47582  & 0x0F];
47583
47584 2046 *
47585 p
47586 ++ = 0x20;
47587
47588 2049 if(
47589 p
47590  > 
47591 sü©ch
47592 ) {
47593
47594 2050 
47595 p
47596 --;
47597
47598 2051 if(
47599         `cb
47600 (
47601 sü©ch
47602
47603 p
47604  - sü©ch, 
47605 ­p_key
47606 ) < 0)
47607
47608 2056 
47609         }
47610 }
47611
47612 2059 
47613         $OCTET_STRING_´\9at_utf8
47614 (cڡ 
47615 a¢_TYPE_desü\9dtÜ_t
47616  *
47617 td
47618 , cڡ \1e*
47619 ¥\8c
47620 ,
47621
47622 2060 \12
47623 \9eev\96
47624
47625 a¢_­p_cÚsume_by\8bs_f
47626  *
47627 cb
47628 ,
47629
47630 2061 \1e*
47631 ­p_key
47632 ) {
47633
47634 2062 cڡ 
47635 OCTET_STRING_t
47636  *
47637 ¡
47638  = (cÚ¡ OCTET_STRING_\88*)
47639 ¥\8c
47640 ;
47641
47642 2064 (\1e)
47643 td
47644 ;
47645
47646 2065 (\1e)
47647 \9eev\96
47648 ;
47649
47650 2067 if(
47651 ¡
47652  && (¡->
47653 buf
47654  || !¡->
47655 size
47656 )) {
47657
47658 2068 \15 (
47659         `cb
47660 (
47661 ¡
47662 ->
47663 buf
47664 , st->
47665 size
47666
47667 ­p_key
47668 ) < 0) ? -1 : 0;
47669
47670 2070 \15 (
47671         `cb
47672 ("<ab£Á>", 8, 
47673 ­p_key
47674 ) < 0) ? -1 : 0;
47675
47676 2072 
47677         }
47678 }
47679
47680 2075 
47681         $OCTET_STRING_ä\93
47682 (cڡ 
47683 a¢_TYPE_desü\9dtÜ_t
47684  *
47685 td
47686\1e*
47687 ¥\8c
47688 ,
47689
47690 2076 \f
47691 a¢_¡ruù_ä\93_m\91hod
47692  
47693 m\91hod
47694 ) {
47695
47696 2077 
47697 OCTET_STRING_t
47698  *
47699 ¡
47700  = (OCTET_STRING_\88*)
47701 ¥\8c
47702 ;
47703
47704 2078 cڡ 
47705 a¢_OCTET_STRING_¥ecifics_t
47706  *
47707 ¥ecs
47708 ;
47709
47710 2079 
47711 a¢_¡ruù_ùx_t
47712  *
47713 ùx
47714 ;
47715
47716 2080 \19
47717 _¡ack
47718  *
47719 ¡ck
47720 ;
47721
47722 2082 if(!
47723 td
47724  || !
47725 ¡
47726 )
47727
47728 2085 
47729 ¥ecs
47730  = 
47731 td
47732 ->
47733 ¥ecifics
47734
47735
47736 2086 ? (cڡ 
47737 a¢_OCTET_STRING_¥ecifics_t
47738  *)
47739 td
47740 ->
47741 ¥ecifics
47742
47743
47744 2087 : &
47745 a¢_SPC_OCTET_STRING_¥ecs
47746 ;
47747
47748 2088 
47749 ùx
47750  = (
47751 a¢_¡ruù_ùx_t
47752  *)((\ 5*)
47753 ¡
47754  + 
47755 ¥ecs
47756 ->
47757 ùx_off£t
47758 );
47759
47760 2090 
47761         `ASN_DEBUG
47762 ("F»e\9ag % a OCTET STRING", 
47763 td
47764 ->
47765 Çme
47766 );
47767
47768 2092 if(
47769 ¡
47770 ->
47771 buf
47772 ) {
47773
47774 2093 
47775         `FREEMEM
47776 (
47777 ¡
47778 ->
47779 buf
47780 );
47781
47782 2094 
47783 ¡
47784 ->
47785 buf
47786  = 0;
47787
47788 2100 
47789 ¡ck
47790  = (\19
47791 _¡ack
47792  *)
47793 ùx
47794 ->
47795 ±r
47796 ;
47797
47798 2101 if(
47799 ¡ck
47800 ) {
47801
47802 2102 \1f
47803 ¡ck
47804 ->
47805 \8f\9e
47806 ) {
47807
47808 2103 \19
47809 _¡ack_\96
47810  *
47811 £l
47812  = 
47813 ¡ck
47814 ->
47815 \8f\9e
47816 ;
47817
47818 2104 
47819 ¡ck
47820 ->
47821 \8f\9e
47822  = 
47823 £l
47824 ->
47825 ´ev
47826 ;
47827
47828 2105 
47829         `FREEMEM
47830 (
47831 £l
47832 );
47833
47834 2107 
47835         `FREEMEM
47836 (
47837 ¡ck
47838 );
47839
47840 2110 \1a
47841 m\91hod
47842 ) {
47843
47844 2111 \ 4
47845 ASFM_FREE_EVERYTHING
47846 :
47847
47848 2112 
47849         `FREEMEM
47850 (
47851 ¥\8c
47852 );
47853
47854 2114 \ 4
47855 ASFM_FREE_UNDERLYING
47856 :
47857
47858 2116 \ 4
47859 ASFM_FREE_UNDERLYING_AND_RESET
47860 :
47861
47862 2117 
47863         `mem£t
47864 (
47865 ¥\8c
47866 , 0,
47867
47868 2118 
47869 td
47870 ->
47871 ¥ecifics
47872
47873
47874 2119 ? ((cڡ 
47875 a¢_OCTET_STRING_¥ecifics_t
47876  *)(
47877 td
47878 ->
47879 ¥ecifics
47880 ))
47881
47882 2120 ->
47883 ¡ruù_size
47884
47885
47886 2121 : \17(
47887 OCTET_STRING_t
47888 ));
47889
47890 2124 
47891         }
47892 }
47893
47894 2130 
47895         $OCTET_STRING_äomBuf
47896 (
47897 OCTET_STRING_t
47898  *
47899 ¡
47900 , cڡ \ 5*
47901 ¡r
47902\12
47903 Ën
47904 ) {
47905
47906 2131 \1e*
47907 buf
47908 ;
47909
47910 2133 if(
47911 ¡
47912  =ð0 || (
47913 ¡r
47914  =ð0 && 
47915 Ën
47916 )) {
47917
47918 2134 
47919 \94ºo
47920  = 
47921 EINVAL
47922 ;
47923
47924 2141 if(
47925 ¡r
47926  =ð
47927 NULL
47928 ) {
47929
47930 2142 
47931         `FREEMEM
47932 (
47933 ¡
47934 ->
47935 buf
47936 );
47937
47938 2143 
47939 ¡
47940 ->
47941 buf
47942  = 0;
47943
47944 2144 
47945 ¡
47946 ->
47947 size
47948  = 0;
47949
47950 2149 if(
47951 Ën
47952  < 0)
47953
47954 2150 
47955 Ën
47956  = 
47957         `¡¾\92
47958 (
47959 ¡r
47960 );
47961
47962 2153 
47963 buf
47964  = 
47965         `MALLOC
47966 (
47967 Ën
47968  + 1);
47969
47970 2154 if(
47971 buf
47972  =ð
47973 NULL
47974 )
47975
47976 2157 
47977         `memýy
47978 (
47979 buf
47980
47981 ¡r
47982
47983 Ën
47984 );
47985
47986 2158 ((
47987 u\9at8_t
47988  *)
47989 buf
47990 )[
47991 Ën
47992 ] = '\0';
47993
47994 2159 
47995         `FREEMEM
47996 (
47997 ¡
47998 ->
47999 buf
48000 );
48001
48002 2160 
48003 ¡
48004 ->
48005 buf
48006  = (
48007 u\9at8_t
48008  *)buf;
48009
48010 2161 
48011 ¡
48012 ->
48013 size
48014  = 
48015 Ën
48016 ;
48017
48018 2164 
48019         }
48020 }
48021
48022 2166 
48023 OCTET_STRING_t
48024  *
48025
48026 2167 
48027         $OCTET_STRING_Ãw_äomBuf
48028 (cڡ 
48029 a¢_TYPE_desü\9dtÜ_t
48030  *
48031 td
48032 , cڡ \ 5*
48033 ¡r
48034 ,
48035
48036 2168 \12
48037 Ën
48038 ) {
48039
48040 2169 cڡ 
48041 a¢_OCTET_STRING_¥ecifics_t
48042  *
48043 ¥ecs
48044  =
48045
48046 2170 
48047 td
48048 ->
48049 ¥ecifics
48050  ? (cڡ 
48051 a¢_OCTET_STRING_¥ecifics_t
48052  *)td->specifics
48053
48054 2171 : &
48055 a¢_SPC_OCTET_STRING_¥ecs
48056 ;
48057
48058 2172 
48059 OCTET_STRING_t
48060  *
48061 ¡
48062 ;
48063
48064 2174 
48065 ¡
48066  = (
48067 OCTET_STRING_t
48068  *)
48069         `CALLOC
48070 (1, 
48071 ¥ecs
48072 ->
48073 ¡ruù_size
48074 );
48075
48076 2175 if(
48077 ¡
48078  && 
48079 ¡r
48080  && 
48081         `OCTET_STRING_äomBuf
48082 (¡, s\8c
48083 Ën
48084 )) {
48085
48086 2176 
48087         `FREEMEM
48088 (
48089 ¡
48090 );
48091
48092 2177 
48093 ¡
48094  = 
48095 NULL
48096 ;
48097
48098 2180 \15 
48099 ¡
48100 ;
48101
48102 2181 
48103         }
48104 }
48105
48106 2188 
48107         $OCTET_STRING_com·»
48108 (cڡ 
48109 a¢_TYPE_desü\9dtÜ_t
48110  *
48111 td
48112 , cڡ \1e*
48113 ­\8c
48114 ,
48115
48116 2189 cڡ \1e*
48117 b±r
48118 ) {
48119
48120 2190 cڡ 
48121 a¢_OCTET_STRING_¥ecifics_t
48122  *
48123 ¥ecs
48124  = 
48125 td
48126 ->
48127 ¥ecifics
48128 ;
48129
48130 2191 cڡ 
48131 OCTET_STRING_t
48132  *
48133 a
48134  = 
48135 ­\8c
48136 ;
48137
48138 2192 cڡ 
48139 OCTET_STRING_t
48140  *
48141 b
48142  = 
48143 b±r
48144 ;
48145
48146 2194 
48147         `as£¹
48148 (!
48149 ¥ecs
48150  || s³cs->
48151 subv¬\9fÁ
48152  !ð
48153 ASN_OSUBV_BIT
48154 );
48155
48156 2196 if(
48157 a
48158  && 
48159 b
48160 ) {
48161
48162 2197 
48163 size_t
48164  
48165 commÚ_´efix_size
48166  = 
48167 a
48168 ->
48169 size
48170  <ð
48171 b
48172 ->size ?\87->size : b->size;
48173
48174 2198 \12
48175 »t
48176  = 
48177         `memcmp
48178 (
48179 a
48180 ->
48181 buf
48182
48183 b
48184 ->buf, 
48185 commÚ_´efix_size
48186 );
48187
48188 2199 if(
48189 »t
48190  == 0) {
48191
48192 2201 if(
48193 a
48194 ->
48195 size
48196  < 
48197 b
48198 ->size) {
48199
48200 2203 } \vif(
48201 a
48202 ->
48203 size
48204  > 
48205 b
48206 ->size) {
48207
48208 2209 \15 
48209 »t
48210  < 0 ? -1 : 1;
48211
48212 2211 } \vif(!
48213 a
48214  && !
48215 b
48216 ) {
48217
48218 2213 } \vif(!
48219 a
48220 ) {
48221
48222 2219 
48223         }
48224 }
48225
48226 2224 \18
48227 u\9at32_t
48228
48229
48230 2225 
48231         $OCTET_STRING__¿ndom_ch¬
48232 (\1d\13
48233 lb
48234\1d\13
48235 ub
48236 ) {
48237
48238 2226 
48239         `as£¹
48240 (
48241 lb
48242  <ð
48243 ub
48244 );
48245
48246 2227 \1a
48247         `a¢_¿ndom_b\91w\93n
48248 (0, 16)) {
48249
48250 2229 if(
48251 lb
48252  < 
48253 ub
48254\15\86b + 1;
48255
48256 2232 \15 
48257 lb
48258 ;
48259
48260 2234 if(
48261 lb
48262  < 
48263 ub
48264\15 ub - 1;
48265
48266 2237 \15 
48267 ub
48268 ;
48269
48270 2239 \15 
48271         `a¢_¿ndom_b\91w\93n
48272 (
48273 lb
48274
48275 ub
48276 );
48277
48278 2241 
48279         }
48280 }
48281
48282 2244 
48283 size_t
48284
48285
48286 2245 
48287         $OCTET_STRING_¿ndom_Ëngth_cÚ¡¿\9aed
48288 (
48289
48290 2246 cڡ 
48291 a¢_TYPE_desü\9dtÜ_t
48292  *
48293 td
48294 ,
48295
48296 2247 cڡ 
48297 a¢_\92cod\9ag_cÚ¡¿\9ats_t
48298  *
48299 cÚ¡¿\9ats
48300
48301 size_t
48302  
48303 max_Ëngth
48304 ) {
48305
48306 2248 cڡ \1d
48307 Ëngths
48308 [] = {0, 1, 2, 3, 4, 8,
48309
48310 2251 
48311 size_t
48312  
48313 ºd_Ën
48314 ;
48315
48316 2254 
48317 ºd_Ën
48318  = 
48319 Ëngths
48320 [
48321         `a¢_¿ndom_b\91w\93n
48322 (
48323
48324 2255 0, \17(
48325 Ëngths
48326 ) / \17(lengths[0]) - 1)];
48327
48328 2257 if(!
48329 cÚ¡¿\9ats
48330  || !cÚ¡¿\9ats->
48331 ³r_cÚ¡¿\9ats
48332 )
48333
48334 2258 
48335 cÚ¡¿\9ats
48336  = &
48337 td
48338 ->
48339 \92cod\9ag_cÚ¡¿\9ats
48340 ;
48341
48342 2259 if(
48343 cÚ¡¿\9ats
48344 ->
48345 ³r_cÚ¡¿\9ats
48346 ) {
48347
48348 2260 cڡ 
48349 a¢_³r_cÚ¡¿\9at_t
48350  *
48351 pc
48352  = &
48353 cÚ¡¿\9ats
48354 ->
48355 ³r_cÚ¡¿\9ats
48356 ->
48357 size
48358 ;
48359
48360 2261 if(
48361 pc
48362 ->
48363 æags
48364  & 
48365 APC_CONSTRAINED
48366 ) {
48367
48368 2262 \13
48369 sugge¡ed_uµ\94_bound
48370  = 
48371 pc
48372 ->
48373\94_bound
48374  < (
48375 ssize_t
48376 )
48377 max_Ëngth
48378
48379
48380 2263 ? 
48381 pc
48382 ->
48383\94_bound
48384
48385
48386 2264 : (
48387 ssize_t
48388 )
48389 max_Ëngth
48390 ;
48391
48392 2265 if(
48393 max_Ëngth
48394  <ð(
48395 size_t
48396 )
48397 pc
48398 ->
48399 low\94_bound
48400 ) {
48401
48402 2266 \15 
48403 pc
48404 ->
48405 low\94_bound
48406 ;
48407
48408 2268 if(
48409 pc
48410 ->
48411 æags
48412  & 
48413 APC_EXTENSIBLE
48414 ) {
48415
48416 2269 \1a
48417         `a¢_¿ndom_b\91w\93n
48418 (0, 5)) {
48419
48420 2271 if(
48421 pc
48422 ->
48423 low\94_bound
48424  > 0) {
48425
48426 2272 
48427 ºd_Ën
48428  = 
48429 pc
48430 ->
48431 low\94_bound
48432  - 1;
48433
48434 2277 
48435 ºd_Ën
48436  = 
48437 pc
48438 ->
48439\94_bound
48440  + 1;
48441
48442 2281 if(
48443 ºd_Ën
48444  <ð
48445 max_Ëngth
48446 ) {
48447
48448 2286 
48449 ºd_Ën
48450  = 
48451         `a¢_¿ndom_b\91w\93n
48452 (
48453 pc
48454 ->
48455 low\94_bound
48456 ,
48457
48458 2287 
48459 sugge¡ed_uµ\94_bound
48460 );
48461
48462 2290 
48463 ºd_Ën
48464  =
48465
48466 2291 
48467         `a¢_¿ndom_b\91w\93n
48468 (
48469 pc
48470 ->
48471 low\94_bound
48472
48473 sugge¡ed_uµ\94_bound
48474 );
48475
48476 2294 
48477 ºd_Ën
48478  = 
48479         `a¢_¿ndom_b\91w\93n
48480 (0, 
48481 max_Ëngth
48482 );
48483
48484 2296 } \vif(
48485 ºd_Ën
48486  > 
48487 max_Ëngth
48488 ) {
48489
48490 2297 
48491 ºd_Ën
48492  = 
48493         `a¢_¿ndom_b\91w\93n
48494 (0, 
48495 max_Ëngth
48496 );
48497
48498 2300 \15 
48499 ºd_Ën
48500 ;
48501
48502 2301 
48503         }
48504 }
48505
48506 2303 
48507 a¢_¿ndom_f\9el_»suÉ_t
48508
48509
48510 2304 
48511         $OCTET_STRING_¿ndom_f\9el
48512 (cڡ 
48513 a¢_TYPE_desü\9dtÜ_t
48514  *
48515 td
48516\1e**
48517 ¥\8c
48518 ,
48519
48520 2305 cڡ 
48521 a¢_\92cod\9ag_cÚ¡¿\9ats_t
48522  *
48523 cÚ¡¿\9ats
48524 ,
48525
48526 2306 
48527 size_t
48528  
48529 max_Ëngth
48530 ) {
48531
48532 2307 cڡ 
48533 a¢_OCTET_STRING_¥ecifics_t
48534  *
48535 ¥ecs
48536  = 
48537 td
48538 ->
48539 ¥ecifics
48540
48541
48542 2308 ? (cڡ 
48543 a¢_OCTET_STRING_¥ecifics_t
48544  *)
48545 td
48546 ->
48547 ¥ecifics
48548
48549
48550 2309 : &
48551 a¢_SPC_OCTET_STRING_¥ecs
48552 ;
48553
48554 2310 
48555 a¢_¿ndom_f\9el_»suÉ_t
48556  
48557 »suÉ_ok
48558  = {
48559 ARFILL_OK
48560 , 1};
48561
48562 2311 
48563 a¢_¿ndom_f\9el_»suÉ_t
48564  
48565 »suÉ_ç\9eed
48566  = {
48567 ARFILL_FAILED
48568 , 0};
48569
48570 2312 
48571 a¢_¿ndom_f\9el_»suÉ_t
48572  
48573 »suÉ_sk\9d³d
48574  = {
48575 ARFILL_SKIPPED
48576 , 0};
48577
48578 2313 \1d\12
48579 un\99_by\8bs
48580  = 1;
48581
48582 2314 \1d\13
48583 þb
48584  = 0;
48585
48586 2315 \1d\13
48587 cub
48588  = 255;
48589
48590 2316 
48591 u\9at8_t
48592  *
48593 buf
48594 ;
48595
48596 2317 
48597 u\9at8_t
48598  *
48599 b\92d
48600 ;
48601
48602 2318 
48603 u\9at8_t
48604  *
48605 b
48606 ;
48607
48608 2319 
48609 size_t
48610  
48611 ºd_Ën
48612 ;
48613
48614 2320 
48615 OCTET_STRING_t
48616  *
48617 ¡
48618 ;
48619
48620 2322 if(
48621 max_Ëngth
48622  =ð0 && !*
48623 ¥\8c
48624 è\15 
48625 »suÉ_sk\9d³d
48626 ;
48627
48628 2324 \1a
48629 ¥ecs
48630 ->
48631 subv¬\9fÁ
48632 ) {
48633
48634 2326 \ 4
48635 ASN_OSUBV_ANY
48636 :
48637
48638 2327 \15 
48639 »suÉ_ç\9eed
48640 ;
48641
48642 2328 \ 4
48643 ASN_OSUBV_BIT
48644 :
48645
48646 2330 \15 
48647 »suÉ_ç\9eed
48648 ;
48649
48650 2331 \ 4
48651 ASN_OSUBV_STR
48652 :
48653
48654 2332 
48655 un\99_by\8bs
48656  = 1;
48657
48658 2333 
48659 þb
48660  = 0;
48661
48662 2334 
48663 cub
48664  = 255;
48665
48666 2336 \ 4
48667 ASN_OSUBV_U16
48668 :
48669
48670 2337 
48671 un\99_by\8bs
48672  = 2;
48673
48674 2338 
48675 þb
48676  = 0;
48677
48678 2339 
48679 cub
48680  = 65535;
48681
48682 2341 \ 4
48683 ASN_OSUBV_U32
48684 :
48685
48686 2342 
48687 un\99_by\8bs
48688  = 4;
48689
48690 2343 
48691 þb
48692  = 0;
48693
48694 2344 
48695 cub
48696  = 0x10FFFF;
48697
48698 2348 if(!
48699 cÚ¡¿\9ats
48700  || !cÚ¡¿\9ats->
48701 ³r_cÚ¡¿\9ats
48702 )
48703
48704 2349 
48705 cÚ¡¿\9ats
48706  = &
48707 td
48708 ->
48709 \92cod\9ag_cÚ¡¿\9ats
48710 ;
48711
48712 2350 if(
48713 cÚ¡¿\9ats
48714 ->
48715 ³r_cÚ¡¿\9ats
48716 ) {
48717
48718 2351 cڡ 
48719 a¢_³r_cÚ¡¿\9at_t
48720  *
48721 pc
48722  = &
48723 cÚ¡¿\9ats
48724 ->
48725 ³r_cÚ¡¿\9ats
48726 ->
48727 v®ue
48728 ;
48729
48730 2352 if(
48731 pc
48732 ->
48733 æags
48734  & 
48735 APC_SEMI_CONSTRAINED
48736 ) {
48737
48738 2353 
48739 þb
48740  = 
48741 pc
48742 ->
48743 low\94_bound
48744 ;
48745
48746 2354 } \vif(
48747 pc
48748 ->
48749 æags
48750  & 
48751 APC_CONSTRAINED
48752 ) {
48753
48754 2355 
48755 þb
48756  = 
48757 pc
48758 ->
48759 low\94_bound
48760 ;
48761
48762 2356 
48763 cub
48764  = 
48765 pc
48766 ->
48767\94_bound
48768 ;
48769
48770 2360 
48771 ºd_Ën
48772  =
48773
48774 2361 
48775         `OCTET_STRING_¿ndom_Ëngth_cÚ¡¿\9aed
48776 (
48777 td
48778
48779 cÚ¡¿\9ats
48780
48781 max_Ëngth
48782 );
48783
48784 2363 
48785 buf
48786  = 
48787         `CALLOC
48788 (
48789 un\99_by\8bs
48790
48791 ºd_Ën
48792  + 1);
48793
48794 2364 if(!
48795 buf
48796 è\15 
48797 »suÉ_ç\9eed
48798 ;
48799
48800 2366 
48801 b\92d
48802  = &
48803 buf
48804 [
48805 un\99_by\8bs
48806  * 
48807 ºd_Ën
48808 ];
48809
48810 2368 \1a
48811 un\99_by\8bs
48812 ) {
48813
48814 2370 \ f
48815 b
48816  = 
48817 buf
48818 ; b < 
48819 b\92d
48820 ; b +ð
48821 un\99_by\8bs
48822 ) {
48823
48824 2371 *(
48825 u\9at8_t
48826  *)
48827 b
48828  = 
48829         `OCTET_STRING__¿ndom_ch¬
48830 (
48831 þb
48832
48833 cub
48834 );
48835
48836 2373 *(
48837 u\9at8_t
48838  *)
48839 b
48840  = 0;
48841
48842 2376 \ f
48843 b
48844  = 
48845 buf
48846 ; b < 
48847 b\92d
48848 ; b +ð
48849 un\99_by\8bs
48850 ) {
48851
48852 2377 
48853 u\9at32_t
48854  
48855 code
48856  = 
48857         `OCTET_STRING__¿ndom_ch¬
48858 (
48859 þb
48860
48861 cub
48862 );
48863
48864 2378 
48865 b
48866 [0] = 
48867 code
48868  >> 8;
48869
48870 2379 
48871 b
48872 [1] = 
48873 code
48874 ;
48875
48876 2381 *(
48877 u\9at16_t
48878  *)
48879 b
48880  = 0;
48881
48882 2384 \ f
48883 b
48884  = 
48885 buf
48886 ; b < 
48887 b\92d
48888 ; b +ð
48889 un\99_by\8bs
48890 ) {
48891
48892 2385 
48893 u\9at32_t
48894  
48895 code
48896  = 
48897         `OCTET_STRING__¿ndom_ch¬
48898 (
48899 þb
48900
48901 cub
48902 );
48903
48904 2386 
48905 b
48906 [0] = 
48907 code
48908  >> 24;
48909
48910 2387 
48911 b
48912 [1] = 
48913 code
48914  >> 16;
48915
48916 2388 
48917 b
48918 [2] = 
48919 code
48920  >> 8;
48921
48922 2389 
48923 b
48924 [3] = 
48925 code
48926 ;
48927
48928 2391 *(
48929 u\9at32_t
48930  *)
48931 b
48932  = 0;
48933
48934 2395 if(*
48935 ¥\8c
48936 ) {
48937
48938 2396 
48939 ¡
48940  = *
48941 ¥\8c
48942 ;
48943
48944 2397 
48945         `FREEMEM
48946 (
48947 ¡
48948 ->
48949 buf
48950 );
48951
48952 2399 
48953 ¡
48954  = (
48955 OCTET_STRING_t
48956  *)(*
48957 ¥\8c
48958  = 
48959         `CALLOC
48960 (1, 
48961 ¥ecs
48962 ->
48963 ¡ruù_size
48964 ));
48965
48966 2400 if(!
48967 ¡
48968 ) {
48969
48970 2401 
48971         `FREEMEM
48972 (
48973 buf
48974 );
48975
48976 2402 \15 
48977 »suÉ_ç\9eed
48978 ;
48979
48980 2406 
48981 ¡
48982 ->
48983 buf
48984  = buf;
48985
48986 2407 
48987 ¡
48988 ->
48989 size
48990  = 
48991 un\99_by\8bs
48992  * 
48993 ºd_Ën
48994 ;
48995
48996 2409 
48997 »suÉ_ok
48998 .
48999 Ëngth
49000  = 
49001 ¡
49002 ->
49003 size
49004 ;
49005
49006 2410 \15 
49007 »suÉ_ok
49008 ;
49009
49010 2411 
49011         }
49012 }
49013
49014         @OPEN_TYPE.c
49015
49016\ 2
49017         ~<a¢_\9a\8bº®.h
49018 >
49019
49020\ 2
49021         ~<OPEN_TYPE.h
49022 >
49023
49024\ 2
49025         ~<cڡr_CHOICE.h
49026 >
49027
49028\ 2
49029         ~<³r_Ý\92ty³.h
49030 >
49031
49032\ 2
49033         ~<\94ºo.h
49034 >
49035
49036 11 
49037 a¢_TYPE_Ý\94©iÚ_t
49038  
49039         ga¢_OP_OPEN_TYPE
49040  = {
49041
49042 12 
49043 OPEN_TYPE_ä\93
49044 ,
49045
49046 13 
49047 OPEN_TYPE_´\9at
49048 ,
49049
49050 14 
49051 OPEN_TYPE_com·»
49052 ,
49053
49054 15 
49055 OPEN_TYPE_decode_b\94
49056 ,
49057
49058 16 
49059 OPEN_TYPE_\92code_d\94
49060 ,
49061
49062 17 
49063 OPEN_TYPE_decode_x\94
49064 ,
49065
49066 18 
49067 OPEN_TYPE_\92code_x\94
49068 ,
49069
49070 19 #ifdeà
49071 ASN_DISABLE_OER_SUPPORT
49072
49073
49074 22 
49075 OPEN_TYPE_decode_Ûr
49076 ,
49077
49078 23 
49079 OPEN_TYPE_\92code_Ûr
49080 ,
49081
49082 25 #ifdeà
49083 ASN_DISABLE_PER_SUPPORT
49084
49085
49086 28 
49087 OPEN_TYPE_decode_u³r
49088 ,
49089
49090 29 
49091 OPEN_TYPE_\92code_u³r
49092 ,
49093
49094 30 
49095 OPEN_TYPE_decode_­\94
49096 ,
49097
49098 31 
49099 OPEN_TYPE_\92code_­\94
49100 ,
49101
49102 37 #undeà
49103 ADVANCE
49104
49105
49106 38 \ 1
49107         #ADVANCE
49108 (
49109 num_by\8bs
49110 ) \
49111
49112 40 
49113 size_t
49114  
49115 num
49116  = 
49117 num_by\8bs
49118 ; \
49119
49120 41 
49121 ±r
49122  = ((cÚ¡ \ 5\8cè+ 
49123 num
49124 ; \
49125
49126 42 
49127 size
49128  -ð
49129 num
49130 ; \
49131
49132 43 
49133 cÚsumed_my£lf
49134  +ð
49135 num
49136 ; \
49137
49138 44 } \1f0)
49139
49140         )
49141
49142 46 
49143 a¢_dec_rv®_t
49144
49145
49146 47 
49147         $OPEN_TYPE_b\94_g\91
49148 (cڡ 
49149 a¢_codec_ùx_t
49150  *
49151 Ýt_codec_ùx
49152 ,
49153
49154 48 cڡ 
49155 a¢_TYPE_desü\9dtÜ_t
49156  *
49157 td
49158\1e*
49159 ¥\8c
49160 ,
49161
49162 49 cڡ 
49163 a¢_TYPE_memb\94_t
49164  *
49165 \96m
49166 , cڡ \1e*
49167 ±r
49168
49169 size_t
49170  
49171 size
49172 ) {
49173
49174 50 
49175 size_t
49176  
49177 cÚsumed_my£lf
49178  = 0;
49179
49180 51 
49181 a¢_ty³_£ËùÜ_»suÉ_t
49182  
49183 £Ëùed
49184 ;
49185
49186 52 \1e*
49187 memb_±r
49188 ;
49189
49190 53 \1e**
49191 memb_±r2
49192 ;
49193
49194 54 \1e*
49195 \9aÃr_v®ue
49196 ;
49197
49198 55 
49199 a¢_dec_rv®_t
49200  
49201 rv
49202 ;
49203
49204 57 if(!(
49205 \96m
49206 ->
49207 æags
49208  & 
49209 ATF_OPEN_TYPE
49210 )) {
49211
49212 58 
49213 ASN__DECODE_FAILED
49214 ;
49215
49216 61 if(!
49217 \96m
49218 ->
49219 ty³_£ËùÜ
49220 ) {
49221
49222 62 
49223         `ASN_DEBUG
49224 ("Type selector is\82ot defined for Open Type %s->%s->%s",
49225
49226 63 
49227 td
49228 ->
49229 Çme
49230
49231 \96m
49232 ->Çme,\83lm->
49233 ty³
49234 ->name);
49235
49236 64 
49237 ASN__DECODE_FAILED
49238 ;
49239
49240 67 
49241 £Ëùed
49242  = 
49243 \96m
49244 ->
49245         `ty³_£ËùÜ
49246 (
49247 td
49248
49249 ¥\8c
49250 );
49251
49252 68 if(!
49253 £Ëùed
49254 .
49255 ´e£nû_\9adex
49256 ) {
49257
49258 69 
49259 ASN__DECODE_FAILED
49260 ;
49261
49262 73 if(
49263 \96m
49264 ->
49265 æags
49266  & 
49267 ATF_POINTER
49268 ) {
49269
49270 74 
49271 memb_±r2
49272  = (\1e**)((\ 5*)
49273 ¥\8c
49274  + 
49275 \96m
49276 ->
49277 memb_off£t
49278 );
49279
49280 76 
49281 memb_±r
49282  = (\ 5*)
49283 ¥\8c
49284  + 
49285 \96m
49286 ->
49287 memb_off£t
49288 ;
49289
49290 77 
49291 memb_±r2
49292  = &
49293 memb_±r
49294 ;
49295
49296 79 if(*
49297 memb_±r2
49298  !ð
49299 NULL
49300 ) {
49301
49302 81 if(
49303         `CHOICE_v¬\9fÁ_£t_´e£nû
49304 (
49305 \96m
49306 ->
49307 ty³
49308 , *
49309 memb_±r2
49310 , 0) != 0) {
49311
49312 82 
49313 ASN__DECODE_FAILED
49314 ;
49315
49316 86 
49317 \9aÃr_v®ue
49318  =
49319
49320 87 (\ 5*)*
49321 memb_±r2
49322
49323
49324 88 + 
49325 \96m
49326 ->
49327 ty³
49328 ->
49329 \96em\92ts
49330 [
49331 £Ëùed
49332 .
49333 ´e£nû_\9adex
49334  - 1].
49335 memb_off£t
49336 ;
49337
49338 90 
49339         `ASN_DEBUG
49340 ("´e£nû %d\n", 
49341 £Ëùed
49342 .
49343 ´e£nû_\9adex
49344 );
49345
49346 92 
49347 rv
49348  = 
49349 £Ëùed
49350 .
49351 ty³_desü\9d
49352 ->
49353 Ý
49354 ->
49355         `b\94_decod\94
49356 (
49357
49358 93 
49359 Ýt_codec_ùx
49360
49361 £Ëùed
49362 .
49363 ty³_desü\9d
49364 , &
49365 \9aÃr_v®ue
49366
49367 ±r
49368
49369 size
49370 ,
49371
49372 94 
49373 \96m
49374 ->
49375 \8fg_mode
49376 );
49377
49378 95 
49379         `ADVANCE
49380 (
49381 rv
49382 .
49383 cÚsumed
49384 );
49385
49386 96 
49387 rv
49388 .
49389 cÚsumed
49390  = 0;
49391
49392 97 \1a
49393 rv
49394 .
49395 code
49396 ) {
49397
49398 98 \ 4
49399 RC_OK
49400 :
49401
49402 99 if(
49403         `CHOICE_v¬\9fÁ_£t_´e£nû
49404 (
49405 \96m
49406 ->
49407 ty³
49408 , *
49409 memb_±r2
49410 ,
49411
49412 100 
49413 £Ëùed
49414 .
49415 ´e£nû_\9adex
49416 )
49417
49418 102 
49419 rv
49420 .
49421 code
49422  = 
49423 RC_OK
49424 ;
49425
49426 103 
49427 rv
49428 .
49429 cÚsumed
49430  = 
49431 cÚsumed_my£lf
49432 ;
49433
49434 104 \15 
49435 rv
49436 ;
49437
49438 109 \ 4
49439 RC_FAIL
49440 :
49441
49442 110 
49443 rv
49444 .
49445 cÚsumed
49446  = 
49447 cÚsumed_my£lf
49448 ;
49449
49450 112 \ 4
49451 RC_WMORE
49452 :
49453
49454 116 if(*
49455 memb_±r2
49456 ) {
49457
49458 117 if(
49459 \96m
49460 ->
49461 æags
49462  & 
49463 ATF_POINTER
49464 ) {
49465
49466 118 
49467         `ASN_STRUCT_FREE
49468 (*
49469 £Ëùed
49470 .
49471 ty³_desü\9d
49472
49473 \9aÃr_v®ue
49474 );
49475
49476 119 *
49477 memb_±r2
49478  = 
49479 NULL
49480 ;
49481
49482 121 
49483         `ASN_STRUCT_RESET
49484 (*
49485 £Ëùed
49486 .
49487 ty³_desü\9d
49488 ,
49489
49490 122 
49491 \9aÃr_v®ue
49492 );
49493
49494 125 \15 
49495 rv
49496 ;
49497
49498 126 
49499         }
49500 }
49501
49502 128 
49503 a¢_dec_rv®_t
49504
49505
49506 129 
49507         $OPEN_TYPE_x\94_g\91
49508 (cڡ 
49509 a¢_codec_ùx_t
49510  *
49511 Ýt_codec_ùx
49512 ,
49513
49514 130 cڡ 
49515 a¢_TYPE_desü\9dtÜ_t
49516  *
49517 td
49518\1e*
49519 ¥\8c
49520 ,
49521
49522 131 cڡ 
49523 a¢_TYPE_memb\94_t
49524  *
49525 \96m
49526 , cڡ \1e*
49527 ±r
49528
49529 size_t
49530  
49531 size
49532 ) {
49533
49534 132 
49535 size_t
49536  
49537 cÚsumed_my£lf
49538  = 0;
49539
49540 133 
49541 a¢_ty³_£ËùÜ_»suÉ_t
49542  
49543 £Ëùed
49544 ;
49545
49546 134 \1e*
49547 memb_±r
49548 ;
49549
49550 135 \1e**
49551 memb_±r2
49552 ;
49553
49554 136 \1e*
49555 \9aÃr_v®ue
49556 ;
49557
49558 137 
49559 a¢_dec_rv®_t
49560  
49561 rv
49562 ;
49563
49564 139 \12
49565 x\94_cÚ\8bxt
49566  = 0;
49567
49568 140 
49569 ssize_t
49570  
49571 ch_size
49572 ;
49573
49574 141 
49575 px\94_chunk_ty³_e
49576  
49577 ch_ty³
49578 ;
49579
49580 143 if(!(
49581 \96m
49582 ->
49583 æags
49584  & 
49585 ATF_OPEN_TYPE
49586 )) {
49587
49588 144 
49589 ASN__DECODE_FAILED
49590 ;
49591
49592 147 if(!
49593 \96m
49594 ->
49595 ty³_£ËùÜ
49596 ) {
49597
49598 148 
49599         `ASN_DEBUG
49600 ("Type selector is\82ot defined for Open Type %s->%s->%s",
49601
49602 149 
49603 td
49604 ->
49605 Çme
49606
49607 \96m
49608 ->Çme,\83lm->
49609 ty³
49610 ->name);
49611
49612 150 
49613 ASN__DECODE_FAILED
49614 ;
49615
49616 153 
49617 £Ëùed
49618  = 
49619 \96m
49620 ->
49621         `ty³_£ËùÜ
49622 (
49623 td
49624
49625 ¥\8c
49626 );
49627
49628 154 if(!
49629 £Ëùed
49630 .
49631 ´e£nû_\9adex
49632 ) {
49633
49634 155 
49635 ASN__DECODE_FAILED
49636 ;
49637
49638 159 
49639         `as£¹
49640 (
49641 \96m
49642 ->
49643 æags
49644  =ð
49645 ATF_OPEN_TYPE
49646 );
49647
49648 160 if(
49649 \96m
49650 ->
49651 æags
49652  & 
49653 ATF_POINTER
49654 ) {
49655
49656 161 
49657 memb_±r2
49658  = (\1e**)((\ 5*)
49659 ¥\8c
49660  + 
49661 \96m
49662 ->
49663 memb_off£t
49664 );
49665
49666 163 
49667 memb_±r
49668  = (\ 5*)
49669 ¥\8c
49670  + 
49671 \96m
49672 ->
49673 memb_off£t
49674 ;
49675
49676 164 
49677 memb_±r2
49678  = &
49679 memb_±r
49680 ;
49681
49682 166 if(*
49683 memb_±r2
49684  !ð
49685 NULL
49686 ) {
49687
49688 168 if(
49689         `CHOICE_v¬\9fÁ_£t_´e£nû
49690 (
49691 \96m
49692 ->
49693 ty³
49694 , *
49695 memb_±r2
49696 , 0)
49697
49698 170 
49699 ASN__DECODE_FAILED
49700 ;
49701
49702 178 
49703 ch_size
49704  = 
49705         `x\94_Ãxt_tok\92
49706 (&
49707 x\94_cÚ\8bxt
49708
49709 ±r
49710
49711 size
49712 , &
49713 ch_ty³
49714 );
49715
49716 179 if(
49717 ch_size
49718  < 0) {
49719
49720 180 
49721 ASN__DECODE_FAILED
49722 ;
49723
49724 182 \1a
49725 ch_ty³
49726 ) {
49727
49728 183 \ 4
49729 PXER_WMORE
49730 :
49731
49732 184 
49733 ASN__DECODE_STARVED
49734 ;
49735
49736 185 \ 4
49737 PXER_COMMENT
49738 :
49739
49740 186 \ 4
49741 PXER_TEXT
49742 :
49743
49744 187 
49745         `ADVANCE
49746 (
49747 ch_size
49748 );
49749
49750 189 \ 4
49751 PXER_TAG
49752 :
49753
49754 199 \1a
49755         `x\94_check_\8fg
49756 (
49757 ±r
49758
49759 ch_size
49760
49761 \96m
49762 ->
49763 Çme
49764 )) {
49765
49766 200 \ 4
49767 XCT_OPENING
49768 :
49769
49770 201 
49771         `ADVANCE
49772 (
49773 ch_size
49774 );
49775
49776 203 \ 4
49777 XCT_BROKEN
49778 :
49779
49780 205 
49781 ASN__DECODE_FAILED
49782 ;
49783
49784 208 
49785 \9aÃr_v®ue
49786  =
49787
49788 209 (\ 5*)*
49789 memb_±r2
49790
49791
49792 210 + 
49793 \96m
49794 ->
49795 ty³
49796 ->
49797 \96em\92ts
49798 [
49799 £Ëùed
49800 .
49801 ´e£nû_\9adex
49802  - 1].
49803 memb_off£t
49804 ;
49805
49806 212 
49807 rv
49808  = 
49809 £Ëùed
49810 .
49811 ty³_desü\9d
49812 ->
49813 Ý
49814 ->
49815         `x\94_decod\94
49816 (
49817
49818 213 
49819 Ýt_codec_ùx
49820
49821 £Ëùed
49822 .
49823 ty³_desü\9d
49824 , &
49825 \9aÃr_v®ue
49826
49827 NULL
49828
49829 ±r
49830
49831 size
49832 );
49833
49834 214 
49835         `ADVANCE
49836 (
49837 rv
49838 .
49839 cÚsumed
49840 );
49841
49842 215 
49843 rv
49844 .
49845 cÚsumed
49846  = 0;
49847
49848 216 \1a
49849 rv
49850 .
49851 code
49852 ) {
49853
49854 217 \ 4
49855 RC_OK
49856 :
49857
49858 218 if(
49859         `CHOICE_v¬\9fÁ_£t_´e£nû
49860 (
49861 \96m
49862 ->
49863 ty³
49864 , *
49865 memb_±r2
49866 ,
49867
49868 219 
49869 £Ëùed
49870 .
49871 ´e£nû_\9adex
49872 )
49873
49874 223 
49875 rv
49876 .
49877 code
49878  = 
49879 RC_FAIL
49880 ;
49881
49882 226 \ 4
49883 RC_FAIL
49884 :
49885
49886 228 
49887 rv
49888 .
49889 cÚsumed
49890  = 
49891 cÚsumed_my£lf
49892 ;
49893
49894 230 \ 4
49895 RC_WMORE
49896 :
49897
49898 235 if(*
49899 memb_±r2
49900 ) {
49901
49902 236 if(
49903 \96m
49904 ->
49905 æags
49906  & 
49907 ATF_POINTER
49908 ) {
49909
49910 237 
49911         `ASN_STRUCT_FREE
49912 (*
49913 £Ëùed
49914 .
49915 ty³_desü\9d
49916
49917 \9aÃr_v®ue
49918 );
49919
49920 238 *
49921 memb_±r2
49922  = 
49923 NULL
49924 ;
49925
49926 240 
49927         `ASN_STRUCT_RESET
49928 (*
49929 £Ëùed
49930 .
49931 ty³_desü\9d
49932 ,
49933
49934 241 
49935 \9aÃr_v®ue
49936 );
49937
49938 244 \15 
49939 rv
49940 ;
49941
49942 251 
49943 ch_size
49944  = 
49945         `x\94_Ãxt_tok\92
49946 (&
49947 x\94_cÚ\8bxt
49948
49949 ±r
49950
49951 size
49952 , &
49953 ch_ty³
49954 );
49955
49956 252 if(
49957 ch_size
49958  < 0) {
49959
49960 253 
49961 ASN__DECODE_FAILED
49962 ;
49963
49964 255 \1a
49965 ch_ty³
49966 ) {
49967
49968 256 \ 4
49969 PXER_WMORE
49970 :
49971
49972 257 
49973 ASN__DECODE_STARVED
49974 ;
49975
49976 258 \ 4
49977 PXER_COMMENT
49978 :
49979
49980 259 \ 4
49981 PXER_TEXT
49982 :
49983
49984 260 
49985         `ADVANCE
49986 (
49987 ch_size
49988 );
49989
49990 262 \ 4
49991 PXER_TAG
49992 :
49993
49994 272 \1a
49995         `x\94_check_\8fg
49996 (
49997 ±r
49998
49999 ch_size
50000
50001 \96m
50002 ->
50003 Çme
50004 )) {
50005
50006 273 \ 4
50007 XCT_CLOSING
50008 :
50009
50010 274 
50011         `ADVANCE
50012 (
50013 ch_size
50014 );
50015
50016 276 \ 4
50017 XCT_BROKEN
50018 :
50019
50020 278 
50021 ASN__DECODE_FAILED
50022 ;
50023
50024 281 
50025 rv
50026 .
50027 cÚsumed
50028  +ð
50029 cÚsumed_my£lf
50030 ;
50031
50032 283 \15 
50033 rv
50034 ;
50035
50036 284 
50037         }
50038 }
50039
50040 287 #iâdeà 
50041 ASN_DISABLE_PER_SUPPORT
50042
50043
50044 289 
50045 a¢_dec_rv®_t
50046
50047
50048 290 
50049         $OPEN_TYPE_u³r_g\91
50050 (cڡ 
50051 a¢_codec_ùx_t
50052  *
50053 Ýt_codec_ùx
50054 ,
50055
50056 291 cڡ 
50057 a¢_TYPE_desü\9dtÜ_t
50058  *
50059 td
50060\1e*
50061 ¥\8c
50062 ,
50063
50064 292 cڡ 
50065 a¢_TYPE_memb\94_t
50066  *
50067 \96m
50068
50069 a¢_³r_d©a_t
50070  *
50071 pd
50072 ) {
50073
50074 293 
50075 a¢_ty³_£ËùÜ_»suÉ_t
50076  
50077 £Ëùed
50078 ;
50079
50080 294 \1e*
50081 memb_±r
50082 ;
50083
50084 295 \1e**
50085 memb_±r2
50086 ;
50087
50088 296 \1e*
50089 \9aÃr_v®ue
50090 ;
50091
50092 297 
50093 a¢_dec_rv®_t
50094  
50095 rv
50096 ;
50097
50098 299 if(!(
50099 \96m
50100 ->
50101 æags
50102  & 
50103 ATF_OPEN_TYPE
50104 )) {
50105
50106 300 
50107 ASN__DECODE_FAILED
50108 ;
50109
50110 303 if(!
50111 \96m
50112 ->
50113 ty³_£ËùÜ
50114 ) {
50115
50116 304 
50117         `ASN_DEBUG
50118 ("Type selector is\82ot defined for Open Type %s->%s->%s",
50119
50120 305 
50121 td
50122 ->
50123 Çme
50124
50125 \96m
50126 ->Çme,\83lm->
50127 ty³
50128 ->name);
50129
50130 306 
50131 ASN__DECODE_FAILED
50132 ;
50133
50134 309 
50135 £Ëùed
50136  = 
50137 \96m
50138 ->
50139         `ty³_£ËùÜ
50140 (
50141 td
50142
50143 ¥\8c
50144 );
50145
50146 310 if(!
50147 £Ëùed
50148 .
50149 ´e£nû_\9adex
50150 ) {
50151
50152 311 
50153 ASN__DECODE_FAILED
50154 ;
50155
50156 315 
50157         `as£¹
50158 (
50159 \96m
50160 ->
50161 æags
50162  =ð
50163 ATF_OPEN_TYPE
50164 );
50165
50166 316 if(
50167 \96m
50168 ->
50169 æags
50170  & 
50171 ATF_POINTER
50172 ) {
50173
50174 317 
50175 memb_±r2
50176  = (\1e**)((\ 5*)
50177 ¥\8c
50178  + 
50179 \96m
50180 ->
50181 memb_off£t
50182 );
50183
50184 319 
50185 memb_±r
50186  = (\ 5*)
50187 ¥\8c
50188  + 
50189 \96m
50190 ->
50191 memb_off£t
50192 ;
50193
50194 320 
50195 memb_±r2
50196  = &
50197 memb_±r
50198 ;
50199
50200 322 if(*
50201 memb_±r2
50202  !ð
50203 NULL
50204 ) {
50205
50206 324 if(
50207         `CHOICE_v¬\9fÁ_£t_´e£nû
50208 (
50209 \96m
50210 ->
50211 ty³
50212 , *
50213 memb_±r2
50214 , 0)
50215
50216 326 
50217 ASN__DECODE_FAILED
50218 ;
50219
50220 330 
50221 \9aÃr_v®ue
50222  =
50223
50224 331 (\ 5*)*
50225 memb_±r2
50226
50227
50228 332 + 
50229 \96m
50230 ->
50231 ty³
50232 ->
50233 \96em\92ts
50234 [
50235 £Ëùed
50236 .
50237 ´e£nû_\9adex
50238  - 1].
50239 memb_off£t
50240 ;
50241
50242 334 
50243 rv
50244  = 
50245         `u³r_Ý\92_ty³_g\91
50246 (
50247 Ýt_codec_ùx
50248
50249 £Ëùed
50250 .
50251 ty³_desü\9d
50252
50253 NULL
50254 ,
50255
50256 335 &
50257 \9aÃr_v®ue
50258
50259 pd
50260 );
50261
50262 336 \1a
50263 rv
50264 .
50265 code
50266 ) {
50267
50268 337 \ 4
50269 RC_OK
50270 :
50271
50272 338 if(
50273         `CHOICE_v¬\9fÁ_£t_´e£nû
50274 (
50275 \96m
50276 ->
50277 ty³
50278 , *
50279 memb_±r2
50280 ,
50281
50282 339 
50283 £Ëùed
50284 .
50285 ´e£nû_\9adex
50286 )
50287
50288 343 
50289 rv
50290 .
50291 code
50292  = 
50293 RC_FAIL
50294 ;
50295
50296 346 \ 4
50297 RC_WMORE
50298 :
50299
50300 347 \ 4
50301 RC_FAIL
50302 :
50303
50304 348 if(*
50305 memb_±r2
50306 ) {
50307
50308 349 if(
50309 \96m
50310 ->
50311 æags
50312  & 
50313 ATF_POINTER
50314 ) {
50315
50316 350 
50317         `ASN_STRUCT_FREE
50318 (*
50319 £Ëùed
50320 .
50321 ty³_desü\9d
50322
50323 \9aÃr_v®ue
50324 );
50325
50326 351 *
50327 memb_±r2
50328  = 
50329 NULL
50330 ;
50331
50332 353 
50333         `ASN_STRUCT_RESET
50334 (*
50335 £Ëùed
50336 .
50337 ty³_desü\9d
50338 ,
50339
50340 354 
50341 \9aÃr_v®ue
50342 );
50343
50344 358 \15 
50345 rv
50346 ;
50347
50348 359 
50349         }
50350 }
50351
50352 361 
50353 a¢_\92c_rv®_t
50354
50355
50356 362 
50357         $OPEN_TYPE_\92code_u³r
50358 (cڡ 
50359 a¢_TYPE_desü\9dtÜ_t
50360  *
50361 td
50362 ,
50363
50364 363 cڡ 
50365 a¢_³r_cÚ¡¿\9ats_t
50366  *
50367 cÚ¡¿\9ats
50368 ,
50369
50370 364 cڡ \1e*
50371 ¥\8c
50372
50373 a¢_³r_ou\8d_t
50374  *
50375 po
50376 ) {
50377
50378 365 cڡ \1e*
50379 memb_±r
50380 ;
50381
50382 366 
50383 a¢_TYPE_memb\94_t
50384  *
50385 \96m
50386 ;
50387
50388 367 
50389 a¢_\92c_rv®_t
50390  
50391 \94
50392  = {0,0,0};
50393
50394 368 \1d
50395 ´e£Á
50396 ;
50397
50398 370 (\1e)
50399 cÚ¡¿\9ats
50400 ;
50401
50402 372 
50403 ´e£Á
50404  = 
50405         `CHOICE_v¬\9fÁ_g\91_´e£nû
50406 (
50407 td
50408
50409 ¥\8c
50410 );
50411
50412 373 if(
50413 ´e£Á
50414  =ð0 ||\85»£Á > 
50415 td
50416 ->
50417 \96em\92ts_couÁ
50418 ) {
50419
50420 374 
50421 ASN__ENCODE_FAILED
50422 ;
50423
50424 376 
50425 ´e£Á
50426 --;
50427
50428 379 
50429         `ASN_DEBUG
50430 ("Encod\9ag % OPEN TYPE\83Ëm\92\88%d", 
50431 td
50432 ->
50433 Çme
50434
50435 ´e£Á
50436 );
50437
50438 381 
50439 \96m
50440  = &
50441 td
50442 ->
50443 \96em\92ts
50444 [
50445 ´e£Á
50446 ];
50447
50448 382 if(
50449 \96m
50450 ->
50451 æags
50452  & 
50453 ATF_POINTER
50454 ) {
50455
50456 384 
50457 memb_±r
50458  =
50459
50460 385 *(cڡ \1e*cڡ *)((cڡ \ 5*)
50461 ¥\8c
50462  + 
50463 \96m
50464 ->
50465 memb_off£t
50466 );
50467
50468 386 if(!
50469 memb_±r
50470 è
50471 ASN__ENCODE_FAILED
50472 ;
50473
50474 388 
50475 memb_±r
50476  = (cڡ \ 5*)
50477 ¥\8c
50478  + 
50479 \96m
50480 ->
50481 memb_off£t
50482 ;
50483
50484 391 if(
50485         `u³r_Ý\92_ty³_put
50486 (
50487 \96m
50488 ->
50489 ty³
50490
50491 NULL
50492
50493 memb_±r
50494
50495 po
50496 ) < 0) {
50497
50498 392 
50499 ASN__ENCODE_FAILED
50500 ;
50501
50502 395 
50503 \94
50504 .
50505 \92coded
50506  = 0;
50507
50508 396 
50509         `ASN__ENCODED_OK
50510 (
50511 \94
50512 );
50513
50514 397 
50515         }
50516 }
50517
50518 399 
50519 a¢_dec_rv®_t
50520
50521
50522 400 
50523         $OPEN_TYPE_­\94_g\91
50524 (cڡ 
50525 a¢_codec_ùx_t
50526  *
50527 Ýt_codec_ùx
50528 ,
50529
50530 401 cڡ 
50531 a¢_TYPE_desü\9dtÜ_t
50532  *
50533 td
50534\1e*
50535 ¥\8c
50536 ,
50537
50538 402 cڡ 
50539 a¢_TYPE_memb\94_t
50540  *
50541 \96m
50542
50543 a¢_³r_d©a_t
50544  *
50545 pd
50546 ) {
50547
50548 403 
50549 a¢_ty³_£ËùÜ_»suÉ_t
50550  
50551 £Ëùed
50552 ;
50553
50554 404 \1e*
50555 memb_±r
50556 ;
50557
50558 405 \1e**
50559 memb_±r2
50560 ;
50561
50562 406 \1e*
50563 \9aÃr_v®ue
50564 ;
50565
50566 407 
50567 a¢_dec_rv®_t
50568  
50569 rv
50570 ;
50571
50572 409 if(!(
50573 \96m
50574 ->
50575 æags
50576  & 
50577 ATF_OPEN_TYPE
50578 )) {
50579
50580 410 
50581 ASN__DECODE_FAILED
50582 ;
50583
50584 413 if(!
50585 \96m
50586 ->
50587 ty³_£ËùÜ
50588 ) {
50589
50590 414 
50591         `ASN_DEBUG
50592 ("Type selector is\82ot defined for Open Type %s->%s->%s",
50593
50594 415 
50595 td
50596 ->
50597 Çme
50598
50599 \96m
50600 ->Çme,\83lm->
50601 ty³
50602 ->name);
50603
50604 416 
50605 ASN__DECODE_FAILED
50606 ;
50607
50608 419 
50609 £Ëùed
50610  = 
50611 \96m
50612 ->
50613         `ty³_£ËùÜ
50614 (
50615 td
50616
50617 ¥\8c
50618 );
50619
50620 420 if(!
50621 £Ëùed
50622 .
50623 ´e£nû_\9adex
50624 ) {
50625
50626 421 
50627 ASN__DECODE_FAILED
50628 ;
50629
50630 425 
50631         `as£¹
50632 (
50633 \96m
50634 ->
50635 æags
50636  =ð
50637 ATF_OPEN_TYPE
50638 );
50639
50640 426 if(
50641 \96m
50642 ->
50643 æags
50644  & 
50645 ATF_POINTER
50646 ) {
50647
50648 427 
50649 memb_±r2
50650  = (\1e**)((\ 5*)
50651 ¥\8c
50652  + 
50653 \96m
50654 ->
50655 memb_off£t
50656 );
50657
50658 429 
50659 memb_±r
50660  = (\ 5*)
50661 ¥\8c
50662  + 
50663 \96m
50664 ->
50665 memb_off£t
50666 ;
50667
50668 430 
50669 memb_±r2
50670  = &
50671 memb_±r
50672 ;
50673
50674 432 if(*
50675 memb_±r2
50676  !ð
50677 NULL
50678 ) {
50679
50680 434 if(
50681         `CHOICE_v¬\9fÁ_£t_´e£nû
50682 (
50683 \96m
50684 ->
50685 ty³
50686 , *
50687 memb_±r2
50688 , 0)
50689
50690 436 
50691 ASN__DECODE_FAILED
50692 ;
50693
50694 440 
50695 \9aÃr_v®ue
50696  =
50697
50698 441 (\ 5*)*
50699 memb_±r2
50700
50701
50702 442 + 
50703 \96m
50704 ->
50705 ty³
50706 ->
50707 \96em\92ts
50708 [
50709 £Ëùed
50710 .
50711 ´e£nû_\9adex
50712  - 1].
50713 memb_off£t
50714 ;
50715
50716 444 
50717 rv
50718  = 
50719         `­\94\92_ty³_g\91
50720 (
50721 Ýt_codec_ùx
50722
50723 £Ëùed
50724 .
50725 ty³_desü\9d
50726
50727 NULL
50728 ,
50729
50730 445 &
50731 \9aÃr_v®ue
50732
50733 pd
50734 );
50735
50736 446 \1a
50737 rv
50738 .
50739 code
50740 ) {
50741
50742 447 \ 4
50743 RC_OK
50744 :
50745
50746 448 if(
50747         `CHOICE_v¬\9fÁ_£t_´e£nû
50748 (
50749 \96m
50750 ->
50751 ty³
50752 , *
50753 memb_±r2
50754 ,
50755
50756 449 
50757 £Ëùed
50758 .
50759 ´e£nû_\9adex
50760 )
50761
50762 453 
50763 rv
50764 .
50765 code
50766  = 
50767 RC_FAIL
50768 ;
50769
50770 456 \ 4
50771 RC_WMORE
50772 :
50773
50774 457 \ 4
50775 RC_FAIL
50776 :
50777
50778 458 if(*
50779 memb_±r2
50780 ) {
50781
50782 459 if(
50783 \96m
50784 ->
50785 æags
50786  & 
50787 ATF_POINTER
50788 ) {
50789
50790 460 
50791         `ASN_STRUCT_FREE
50792 (*
50793 £Ëùed
50794 .
50795 ty³_desü\9d
50796
50797 \9aÃr_v®ue
50798 );
50799
50800 461 *
50801 memb_±r2
50802  = 
50803 NULL
50804 ;
50805
50806 463 
50807         `ASN_STRUCT_RESET
50808 (*
50809 £Ëùed
50810 .
50811 ty³_desü\9d
50812 ,
50813
50814 464 
50815 \9aÃr_v®ue
50816 );
50817
50818 468 \15 
50819 rv
50820 ;
50821
50822 469 
50823         }
50824 }
50825
50826 471 
50827 a¢_\92c_rv®_t
50828
50829
50830 472 
50831         $OPEN_TYPE_\92code_­\94
50832 (cڡ 
50833 a¢_TYPE_desü\9dtÜ_t
50834  *
50835 td
50836 ,
50837
50838 473 cڡ 
50839 a¢_³r_cÚ¡¿\9ats_t
50840  *
50841 cÚ¡¿\9ats
50842 ,
50843
50844 474 cڡ \1e*
50845 ¥\8c
50846
50847 a¢_³r_ou\8d_t
50848  *
50849 po
50850 ) {
50851
50852 475 cڡ \1e*
50853 memb_±r
50854 ;
50855
50856 476 
50857 a¢_TYPE_memb\94_t
50858  *
50859 \96m
50860 ;
50861
50862 477 
50863 a¢_\92c_rv®_t
50864  
50865 \94
50866  = {0,0,0};
50867
50868 478 \1d
50869 ´e£Á
50870 ;
50871
50872 480 (\1e)
50873 cÚ¡¿\9ats
50874 ;
50875
50876 482 
50877 ´e£Á
50878  = 
50879         `CHOICE_v¬\9fÁ_g\91_´e£nû
50880 (
50881 td
50882
50883 ¥\8c
50884 );
50885
50886 483 if(
50887 ´e£Á
50888  =ð0 ||\85»£Á > 
50889 td
50890 ->
50891 \96em\92ts_couÁ
50892 ) {
50893
50894 484 
50895 ASN__ENCODE_FAILED
50896 ;
50897
50898 486 
50899 ´e£Á
50900 --;
50901
50902 489 
50903         `ASN_DEBUG
50904 ("Encod\9ag % OPEN TYPE\83Ëm\92\88%d", 
50905 td
50906 ->
50907 Çme
50908
50909 ´e£Á
50910 );
50911
50912 491 
50913 \96m
50914  = &
50915 td
50916 ->
50917 \96em\92ts
50918 [
50919 ´e£Á
50920 ];
50921
50922 492 if(
50923 \96m
50924 ->
50925 æags
50926  & 
50927 ATF_POINTER
50928 ) {
50929
50930 494 
50931 memb_±r
50932  =
50933
50934 495 *(cڡ \1e*cڡ *)((cڡ \ 5*)
50935 ¥\8c
50936  + 
50937 \96m
50938 ->
50939 memb_off£t
50940 );
50941
50942 496 if(!
50943 memb_±r
50944 è
50945 ASN__ENCODE_FAILED
50946 ;
50947
50948 498 
50949 memb_±r
50950  = (cڡ \ 5*)
50951 ¥\8c
50952  + 
50953 \96m
50954 ->
50955 memb_off£t
50956 ;
50957
50958 501 if(
50959         `­\94\92_ty³_put
50960 (
50961 \96m
50962 ->
50963 ty³
50964
50965 NULL
50966
50967 memb_±r
50968
50969 po
50970 ) < 0) {
50971
50972 502 
50973 ASN__ENCODE_FAILED
50974 ;
50975
50976 505 
50977 \94
50978 .
50979 \92coded
50980  = 0;
50981
50982 506 
50983         `ASN__ENCODED_OK
50984 (
50985 \94
50986 );
50987
50988 507 
50989         }
50990 }
50991
50992         @PLMNIdentity.c
50993
50994\ 2
50995         ~"PLMNId\92t\99y.h
50996 "
50997
50998 11 
50999         $PLMNId\92t\99y_cÚ¡¿\9at
51000 (cڡ 
51001 a¢_TYPE_desü\9dtÜ_t
51002  *
51003 td
51004 , cڡ \1e*
51005 ¥\8c
51006 ,
51007
51008 12 
51009 a¢_­p_cÚ¡¿\9at_ç\9eed_f
51010  *
51011 ùç\9ecb
51012\1e*
51013 ­p_key
51014 ) {
51015
51016 13 cڡ 
51017 OCTET_STRING_t
51018  *
51019 ¡
51020  = (cÚ¡ OCTET_STRING_\88*)
51021 ¥\8c
51022 ;
51023
51024 14 
51025 size_t
51026  
51027 size
51028 ;
51029
51030 16 if(!
51031 ¥\8c
51032 ) {
51033
51034 17 
51035         `ASN__CTFAIL
51036 (
51037 ­p_key
51038
51039 td
51040
51041 ¥\8c
51042 ,
51043
51044 19 
51045 td
51046 ->
51047 Çme
51048
51049 __FILE__
51050
51051 __LINE__
51052 );
51053
51054 23 
51055 size
51056  = 
51057 ¡
51058 ->size;
51059
51060 25 if((
51061 size
51062  == 3)) {
51063
51064 29 
51065         `ASN__CTFAIL
51066 (
51067 ­p_key
51068
51069 td
51070
51071 ¥\8c
51072 ,
51073
51074 31 
51075 td
51076 ->
51077 Çme
51078
51079 __FILE__
51080
51081 __LINE__
51082 );
51083
51084 34 
51085         }
51086 }
51087
51088 40 
51089 a¢_³r_cÚ¡¿\9ats_t
51090  
51091 a¢_PER_ty³_PLMNId\92t\99y_cÚ¡r_1
51092  
51093         gCC_NOTUSED
51094  = {
51095
51096 41 { 
51097 APC_UNCONSTRAINED
51098 , -1, -1, 0, 0 },
51099
51100 42 { 
51101 APC_CONSTRAINED
51102 , 0, 0, 3, 3 } ,
51103
51104 45 \18cڡ 
51105 b\94_\8ev_\8fg_t
51106  
51107         ga¢_DEF_PLMNId\92t\99y_\8fgs_1
51108 [] = {
51109
51110 46 (
51111 ASN_TAG_CLASS_UNIVERSAL
51112  | (4 << 2))
51113
51114 48 
51115 a¢_TYPE_desü\9dtÜ_t
51116  
51117         ga¢_DEF_PLMNId\92t\99y
51118  = {
51119
51120 51 &
51121 a¢_OP_OCTET_STRING
51122 ,
51123
51124 52 
51125 a¢_DEF_PLMNId\92t\99y_\8fgs_1
51126 ,
51127
51128 53 \17(
51129 a¢_DEF_PLMNId\92t\99y_\8fgs_1
51130 )
51131
51132 54 /\17(
51133 a¢_DEF_PLMNId\92t\99y_\8fgs_1
51134 [0]),
51135
51136 55 
51137 a¢_DEF_PLMNId\92t\99y_\8fgs_1
51138 ,
51139
51140 56 \17(
51141 a¢_DEF_PLMNId\92t\99y_\8fgs_1
51142 )
51143
51144 57 /\17(
51145 a¢_DEF_PLMNId\92t\99y_\8fgs_1
51146 [0]),
51147
51148 58 { 0, &
51149 a¢_PER_ty³_PLMNId\92t\99y_cÚ¡r_1
51150
51151 PLMNId\92t\99y_cÚ¡¿\9at
51152  },
51153
51154 60 &
51155 a¢_SPC_OCTET_STRING_¥ecs
51156
51157
51158         @PrintableString.c
51159
51160\ 2
51161         ~<a¢_\9a\8bº®.h
51162 >
51163
51164\ 2
51165         ~<Pr\9a\8fbËS\8c\9ag.h
51166 >
51167
51168 12 \18cڡ \12
51169         g_Pr\9a\8fbËS\8c\9ag_®phab\91
51170 [256] = {
51171
51172 22 \18cڡ \12
51173         g_Pr\9a\8fbËS\8c\9ag_code2v®ue
51174 [74] = {
51175
51176 32 \18cڡ 
51177 b\94_\8ev_\8fg_t
51178  
51179         ga¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
51180 [] = {
51181
51182 33 (
51183 ASN_TAG_CLASS_UNIVERSAL
51184  | (19 << 2)),
51185
51186 34 (
51187 ASN_TAG_CLASS_UNIVERSAL
51188  | (4 << 2))
51189
51190 36 \18\12
51191         $a¢_DEF_Pr\9a\8fbËS\8c\9ag_v2c
51192 (\1d\12
51193 v®ue
51194 ) {
51195
51196 37 \15 
51197 _Pr\9a\8fbËS\8c\9ag_®phab\91
51198 [
51199 v®ue
51200  > 255 ? 0 : value] - 1;
51201
51202 38 
51203         }
51204 }
51205
51206 39 \18\12
51207         $a¢_DEF_Pr\9a\8fbËS\8c\9ag_c2v
51208 (\1d\12
51209 code
51210 ) {
51211
51212 40 if(
51213 code
51214  < 74)
51215
51216 41 \15 
51217 _Pr\9a\8fbËS\8c\9ag_code2v®ue
51218 [
51219 code
51220 ];
51221
51222 43 
51223         }
51224 }
51225
51226 44 \18
51227 a¢_³r_cÚ¡¿\9ats_t
51228  
51229         ga¢_DEF_Pr\9a\8fbËS\8c\9ag_³r_cÚ¡¿\9ats
51230  = {
51231
51232 45 { 
51233 APC_CONSTRAINED
51234 , 4, 4, 0x20, 0x39 },
51235
51236 46 { 
51237 APC_SEMI_CONSTRAINED
51238 , -1, -1, 0, 0 },
51239
51240 47 
51241 a¢_DEF_Pr\9a\8fbËS\8c\9ag_v2c
51242 ,
51243
51244 48 
51245 a¢_DEF_Pr\9a\8fbËS\8c\9ag_c2v
51246
51247
51248 50 
51249 a¢_TYPE_Ý\94©iÚ_t
51250  
51251         ga¢_OP_Pr\9a\8fbËS\8c\9ag
51252  = {
51253
51254 51 
51255 OCTET_STRING_ä\93
51256 ,
51257
51258 52 
51259 OCTET_STRING_´\9at_utf8
51260 ,
51261
51262 53 
51263 OCTET_STRING_com·»
51264 ,
51265
51266 54 
51267 OCTET_STRING_decode_b\94
51268 ,
51269
51270 55 
51271 OCTET_STRING_\92code_d\94
51272 ,
51273
51274 56 
51275 OCTET_STRING_decode_x\94_utf8
51276 ,
51277
51278 57 
51279 OCTET_STRING_\92code_x\94_utf8
51280 ,
51281
51282 58 #ifdef 
51283 ASN_DISABLE_OER_SUPPORT
51284
51285
51286 62 
51287 OCTET_STRING_decode_Ûr
51288 ,
51289
51290 63 
51291 OCTET_STRING_\92code_Ûr
51292 ,
51293
51294 65 #ifdef 
51295 ASN_DISABLE_PER_SUPPORT
51296
51297
51298 71 
51299 OCTET_STRING_decode_u³r
51300 ,
51301
51302 72 
51303 OCTET_STRING_\92code_u³r
51304 ,
51305
51306 73 
51307 OCTET_STRING_decode_­\94
51308 ,
51309
51310 74 
51311 OCTET_STRING_\92code_­\94
51312 ,
51313
51314 76 
51315 OCTET_STRING_¿ndom_f\9el
51316 ,
51317
51318 79 
51319 a¢_TYPE_desü\9dtÜ_t
51320  
51321         ga¢_DEF_Pr\9a\8fbËS\8c\9ag
51322  = {
51323
51324 82 &
51325 a¢_OP_Pr\9a\8fbËS\8c\9ag
51326 ,
51327
51328 83 
51329 a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
51330 ,
51331
51332 84 \17(
51333 a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
51334 )
51335
51336 85 / \17(
51337 a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
51338 [0]) - 1,
51339
51340 86 
51341 a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
51342 ,
51343
51344 87 \17(
51345 a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
51346 )
51347
51348 88 / \17(
51349 a¢_DEF_Pr\9a\8fbËS\8c\9ag_\8fgs
51350 [0]),
51351
51352 89 { 0, &
51353 a¢_DEF_Pr\9a\8fbËS\8c\9ag_³r_cÚ¡¿\9ats
51354
51355 Pr\9a\8fbËS\8c\9ag_cÚ¡¿\9at
51356  },
51357
51358 96 
51359         $Pr\9a\8fbËS\8c\9ag_cÚ¡¿\9at
51360 (cڡ 
51361 a¢_TYPE_desü\9dtÜ_t
51362  *
51363 td
51364 , cڡ \1e*
51365 ¥\8c
51366 ,
51367
51368 97 
51369 a¢_­p_cÚ¡¿\9at_ç\9eed_f
51370  *
51371 ùç\9ecb
51372 ,
51373
51374 98 \1e*
51375 ­p_key
51376 ) {
51377
51378 99 cڡ 
51379 Pr\9a\8fbËS\8c\9ag_t
51380  *
51381 ¡
51382  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
51383 ¥\8c
51384 ;
51385
51386 101 if(
51387 ¡
51388  && st->
51389 buf
51390 ) {
51391
51392 102 
51393 u\9at8_t
51394  *
51395 buf
51396  = 
51397 ¡
51398 ->buf;
51399
51400 103 
51401 u\9at8_t
51402  *
51403 \92d
51404  = 
51405 buf
51406  + 
51407 ¡
51408 ->
51409 size
51410 ;
51411
51412 109 \ f
51413 buf
51414  < 
51415 \92d
51416 ; buf++) {
51417
51418 110 if(!
51419 _Pr\9a\8fbËS\8c\9ag_®phab\91
51420 [*
51421 buf
51422 ]) {
51423
51424 111 
51425         `ASN__CTFAIL
51426 (
51427 ­p_key
51428
51429 td
51430
51431 ¥\8c
51432 ,
51433
51434 115 
51435 td
51436 ->
51437 Çme
51438 ,
51439
51440 116 (\13)((
51441 buf
51442  - 
51443 ¡
51444 ->buf) + 1),
51445
51446 117 *
51447 buf
51448 ,
51449
51450 118 
51451 __FILE__
51452
51453 __LINE__
51454 );
51455
51456 123 
51457         `ASN__CTFAIL
51458 (
51459 ­p_key
51460
51461 td
51462
51463 ¥\8c
51464 ,
51465
51466 125 
51467 td
51468 ->
51469 Çme
51470
51471 __FILE__
51472
51473 __LINE__
51474 );
51475
51476 130 
51477         }
51478 }
51479
51480         @QCI.c
51481
51482\ 2
51483         ~"QCI.h
51484 "
51485
51486 11 
51487         $QCI_cÚ¡¿\9at
51488 (cڡ 
51489 a¢_TYPE_desü\9dtÜ_t
51490  *
51491 td
51492 , cڡ \1e*
51493 ¥\8c
51494 ,
51495
51496 12 
51497 a¢_­p_cÚ¡¿\9at_ç\9eed_f
51498  *
51499 ùç\9ecb
51500\1e*
51501 ­p_key
51502 ) {
51503
51504 13 \13
51505 v®ue
51506 ;
51507
51508 15 if(!
51509 ¥\8c
51510 ) {
51511
51512 16 
51513         `ASN__CTFAIL
51514 (
51515 ­p_key
51516
51517 td
51518
51519 ¥\8c
51520 ,
51521
51522 18 
51523 td
51524 ->
51525 Çme
51526
51527 __FILE__
51528
51529 __LINE__
51530 );
51531
51532 22 
51533 v®ue
51534  = *(cڡ \13*)
51535 ¥\8c
51536 ;
51537
51538 24 if((
51539 v®ue
51540  >= 0 && value <= 255)) {
51541
51542 28 
51543         `ASN__CTFAIL
51544 (
51545 ­p_key
51546
51547 td
51548
51549 ¥\8c
51550 ,
51551
51552 30 
51553 td
51554 ->
51555 Çme
51556
51557 __FILE__
51558
51559 __LINE__
51560 );
51561
51562 33 
51563         }
51564 }
51565
51566 39 
51567 a¢_³r_cÚ¡¿\9ats_t
51568  
51569 a¢_PER_ty³_QCI_cÚ¡r_1
51570  
51571         gCC_NOTUSED
51572  = {
51573
51574 40 { 
51575 APC_CONSTRAINED
51576 , 8, 8, 0, 255 } ,
51577
51578 41 { 
51579 APC_UNCONSTRAINED
51580 , -1, -1, 0, 0 },
51581
51582 44 \18cڡ 
51583 b\94_\8ev_\8fg_t
51584  
51585         ga¢_DEF_QCI_\8fgs_1
51586 [] = {
51587
51588 45 (
51589 ASN_TAG_CLASS_UNIVERSAL
51590  | (2 << 2))
51591
51592 47 
51593 a¢_TYPE_desü\9dtÜ_t
51594  
51595         ga¢_DEF_QCI
51596  = {
51597
51598 50 &
51599 a¢_OP_N©iveIÁeg\94
51600 ,
51601
51602 51 
51603 a¢_DEF_QCI_\8fgs_1
51604 ,
51605
51606 52 \17(
51607 a¢_DEF_QCI_\8fgs_1
51608 )
51609
51610 53 /\17(
51611 a¢_DEF_QCI_\8fgs_1
51612 [0]),
51613
51614 54 
51615 a¢_DEF_QCI_\8fgs_1
51616 ,
51617
51618 55 \17(
51619 a¢_DEF_QCI_\8fgs_1
51620 )
51621
51622 56 /\17(
51623 a¢_DEF_QCI_\8fgs_1
51624 [0]),
51625
51626 57 { 0, &
51627 a¢_PER_ty³_QCI_cÚ¡r_1
51628
51629 QCI_cÚ¡¿\9at
51630  },
51631
51632         @QoSID.c
51633
51634\ 2
51635         ~"QoSID.h
51636 "
51637
51638 10 \18
51639 a¢_³r_cÚ¡¿\9ats_t
51640  
51641 a¢_PER_ty³_QoSID_cÚ¡r_1
51642  
51643         gCC_NOTUSED
51644  = {
51645
51646 11 { 
51647 APC_CONSTRAINED
51648  | 
51649 APC_EXTENSIBLE
51650 , 1, 1, 0, 1 } ,
51651
51652 12 { 
51653 APC_UNCONSTRAINED
51654 , -1, -1, 0, 0 },
51655
51656 15 \18
51657 a¢_TYPE_memb\94_t
51658  
51659         ga¢_MBR_QoSID_1
51660 [] = {
51661
51662 16 { 
51663 ATF_NOFLAGS
51664 , 0, 
51665 off£tof
51666 (\19
51667 QoSID
51668
51669 choiû
51670 .
51671 fiveGC
51672 ),
51673
51674 17 (
51675 ASN_TAG_CLASS_CONTEXT
51676  | (0 << 2)),
51677
51678 19 &
51679 a¢_DEF_FiveQI
51680 ,
51681
51682 25 { 
51683 ATF_NOFLAGS
51684 , 0, 
51685 off£tof
51686 (\19
51687 QoSID
51688
51689 choiû
51690 .
51691 ePC
51692 ),
51693
51694 26 (
51695 ASN_TAG_CLASS_CONTEXT
51696  | (1 << 2)),
51697
51698 28 &
51699 a¢_DEF_QCI
51700 ,
51701
51702 35 \18cڡ 
51703 a¢_TYPE_\8fg2memb\94_t
51704  
51705         ga¢_MAP_QoSID_\8fg2\96_1
51706 [] = {
51707
51708 36 { (
51709 ASN_TAG_CLASS_CONTEXT
51710  | (0 << 2)), 0, 0, 0 },
51711
51712 37 { (
51713 ASN_TAG_CLASS_CONTEXT
51714  | (1 << 2)), 1, 0, 0 }
51715
51716 39 \18
51717 a¢_CHOICE_¥ecifics_t
51718  
51719         ga¢_SPC_QoSID_¥ecs_1
51720  = {
51721
51722 40 \17(\19
51723 QoSID
51724 ),
51725
51726 41 
51727 off£tof
51728 (\19
51729 QoSID
51730
51731 _a¢_ùx
51732 ),
51733
51734 42 
51735 off£tof
51736 (\19
51737 QoSID
51738
51739 ´e£Á
51740 ),
51741
51742 43 \17(((\19
51743 QoSID
51744  *)0)->
51745 ´e£Á
51746 ),
51747
51748 44 
51749 a¢_MAP_QoSID_\8fg2\96_1
51750 ,
51751
51752 49 
51753 a¢_TYPE_desü\9dtÜ_t
51754  
51755         ga¢_DEF_QoSID
51756  = {
51757
51758 52 &
51759 a¢_OP_CHOICE
51760 ,
51761
51762 57 { 0, &
51763 a¢_PER_ty³_QoSID_cÚ¡r_1
51764
51765 CHOICE_cÚ¡¿\9at
51766  },
51767
51768 58 
51769 a¢_MBR_QoSID_1
51770 ,
51771
51772 60 &
51773 a¢_SPC_QoSID_¥ecs_1
51774
51775
51776         @QosFlowIdentifier.c
51777
51778\ 2
51779         ~"QosFlowId\92tif\9br.h
51780 "
51781
51782 11 
51783         $QosFlowId\92tif\9br_cÚ¡¿\9at
51784 (cڡ 
51785 a¢_TYPE_desü\9dtÜ_t
51786  *
51787 td
51788 , cڡ \1e*
51789 ¥\8c
51790 ,
51791
51792 12 
51793 a¢_­p_cÚ¡¿\9at_ç\9eed_f
51794  *
51795 ùç\9ecb
51796\1e*
51797 ­p_key
51798 ) {
51799
51800 13 \13
51801 v®ue
51802 ;
51803
51804 15 if(!
51805 ¥\8c
51806 ) {
51807
51808 16 
51809         `ASN__CTFAIL
51810 (
51811 ­p_key
51812
51813 td
51814
51815 ¥\8c
51816 ,
51817
51818 18 
51819 td
51820 ->
51821 Çme
51822
51823 __FILE__
51824
51825 __LINE__
51826 );
51827
51828 22 
51829 v®ue
51830  = *(cڡ \13*)
51831 ¥\8c
51832 ;
51833
51834 24 if((
51835 v®ue
51836  >= 0 && value <= 63)) {
51837
51838 28 
51839         `ASN__CTFAIL
51840 (
51841 ­p_key
51842
51843 td
51844
51845 ¥\8c
51846 ,
51847
51848 30 
51849 td
51850 ->
51851 Çme
51852
51853 __FILE__
51854
51855 __LINE__
51856 );
51857
51858 33 
51859         }
51860 }
51861
51862 39 
51863 a¢_³r_cÚ¡¿\9ats_t
51864  
51865 a¢_PER_ty³_QosFlowId\92tif\9br_cÚ¡r_1
51866  
51867         gCC_NOTUSED
51868  = {
51869
51870 40 { 
51871 APC_CONSTRAINED
51872  | 
51873 APC_EXTENSIBLE
51874 , 6, 6, 0, 63 } ,
51875
51876 41 { 
51877 APC_UNCONSTRAINED
51878 , -1, -1, 0, 0 },
51879
51880 44 \18cڡ 
51881 b\94_\8ev_\8fg_t
51882  
51883         ga¢_DEF_QosFlowId\92tif\9br_\8fgs_1
51884 [] = {
51885
51886 45 (
51887 ASN_TAG_CLASS_UNIVERSAL
51888  | (2 << 2))
51889
51890 47 
51891 a¢_TYPE_desü\9dtÜ_t
51892  
51893         ga¢_DEF_QosFlowId\92tif\9br
51894  = {
51895
51896 50 &
51897 a¢_OP_N©iveIÁeg\94
51898 ,
51899
51900 51 
51901 a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
51902 ,
51903
51904 52 \17(
51905 a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
51906 )
51907
51908 53 /\17(
51909 a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
51910 [0]),
51911
51912 54 
51913 a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
51914 ,
51915
51916 55 \17(
51917 a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
51918 )
51919
51920 56 /\17(
51921 a¢_DEF_QosFlowId\92tif\9br_\8fgs_1
51922 [0]),
51923
51924 57 { 0, &
51925 a¢_PER_ty³_QosFlowId\92tif\9br_cÚ¡r_1
51926
51927 QosFlowId\92tif\9br_cÚ¡¿\9at
51928  },
51929
51930         @RANUEID.c
51931
51932\ 2
51933         ~"RANUEID.h
51934 "
51935
51936 11 
51937         $RANUEID_cÚ¡¿\9at
51938 (cڡ 
51939 a¢_TYPE_desü\9dtÜ_t
51940  *
51941 td
51942 , cڡ \1e*
51943 ¥\8c
51944 ,
51945
51946 12 
51947 a¢_­p_cÚ¡¿\9at_ç\9eed_f
51948  *
51949 ùç\9ecb
51950\1e*
51951 ­p_key
51952 ) {
51953
51954 13 cڡ 
51955 OCTET_STRING_t
51956  *
51957 ¡
51958  = (cÚ¡ OCTET_STRING_\88*)
51959 ¥\8c
51960 ;
51961
51962 14 
51963 size_t
51964  
51965 size
51966 ;
51967
51968 16 if(!
51969 ¥\8c
51970 ) {
51971
51972 17 
51973         `ASN__CTFAIL
51974 (
51975 ­p_key
51976
51977 td
51978
51979 ¥\8c
51980 ,
51981
51982 19 
51983 td
51984 ->
51985 Çme
51986
51987 __FILE__
51988
51989 __LINE__
51990 );
51991
51992 23 
51993 size
51994  = 
51995 ¡
51996 ->size;
51997
51998 25 if((
51999 size
52000  == 8)) {
52001
52002 29 
52003         `ASN__CTFAIL
52004 (
52005 ­p_key
52006
52007 td
52008
52009 ¥\8c
52010 ,
52011
52012 31 
52013 td
52014 ->
52015 Çme
52016
52017 __FILE__
52018
52019 __LINE__
52020 );
52021
52022 34 
52023         }
52024 }
52025
52026 40 
52027 a¢_³r_cÚ¡¿\9ats_t
52028  
52029 a¢_PER_ty³_RANUEID_cÚ¡r_1
52030  
52031         gCC_NOTUSED
52032  = {
52033
52034 41 { 
52035 APC_UNCONSTRAINED
52036 , -1, -1, 0, 0 },
52037
52038 42 { 
52039 APC_CONSTRAINED
52040 , 0, 0, 8, 8 } ,
52041
52042 45 \18cڡ 
52043 b\94_\8ev_\8fg_t
52044  
52045         ga¢_DEF_RANUEID_\8fgs_1
52046 [] = {
52047
52048 46 (
52049 ASN_TAG_CLASS_UNIVERSAL
52050  | (4 << 2))
52051
52052 48 
52053 a¢_TYPE_desü\9dtÜ_t
52054  
52055         ga¢_DEF_RANUEID
52056  = {
52057
52058 51 &
52059 a¢_OP_OCTET_STRING
52060 ,
52061
52062 52 
52063 a¢_DEF_RANUEID_\8fgs_1
52064 ,
52065
52066 53 \17(
52067 a¢_DEF_RANUEID_\8fgs_1
52068 )
52069
52070 54 /\17(
52071 a¢_DEF_RANUEID_\8fgs_1
52072 [0]),
52073
52074 55 
52075 a¢_DEF_RANUEID_\8fgs_1
52076 ,
52077
52078 56 \17(
52079 a¢_DEF_RANUEID_\8fgs_1
52080 )
52081
52082 57 /\17(
52083 a¢_DEF_RANUEID_\8fgs_1
52084 [0]),
52085
52086 58 { 0, &
52087 a¢_PER_ty³_RANUEID_cÚ¡r_1
52088
52089 RANUEID_cÚ¡¿\9at
52090  },
52091
52092 60 &
52093 a¢_SPC_OCTET_STRING_¥ecs
52094
52095
52096         @RANfunction-Name.c
52097
52098\ 2
52099         ~"RANfunùiÚ-Name.h
52100 "
52101
52102 10 \18cڡ \12
52103         g³rm\99\8bd_®phab\91_\8fbË_2
52104 [256] = {
52105
52106 20 \18cڡ \12
52107         g³rm\99\8bd_®phab\91_code2v®ue_2
52108 [74] = {
52109
52110 28 \18\12
52111         $check_³rm\99\8bd_®phab\91_2
52112 (cڡ \1e*
52113 ¥\8c
52114 ) {
52115
52116 29 cڡ \12*
52117 \8f
52118  = 
52119 ³rm\99\8bd_®phab\91_\8fbË_2
52120 ;
52121
52122 31 cڡ 
52123 Pr\9a\8fbËS\8c\9ag_t
52124  *
52125 ¡
52126  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
52127 ¥\8c
52128 ;
52129
52130 32 cڡ 
52131 u\9at8_t
52132  *
52133 ch
52134  = 
52135 ¡
52136 ->
52137 buf
52138 ;
52139
52140 33 cڡ 
52141 u\9at8_t
52142  *
52143 \92d
52144  = 
52145 ch
52146  + 
52147 ¡
52148 ->
52149 size
52150 ;
52151
52152 35 \ f
52153 ch
52154  < 
52155 \92d
52156 ; ch++) {
52157
52158 36 
52159 u\9at8_t
52160  
52161 cv
52162  = *
52163 ch
52164 ;
52165
52166 37 if(!
52167 \8f
52168 [
52169 cv
52170 ]) \15 -1;
52171
52172 40 
52173         }
52174 }
52175
52176 42 \18cڡ \12
52177         g³rm\99\8bd_®phab\91_\8fbË_3
52178 [256] = {
52179
52180 52 \18cڡ \12
52181         g³rm\99\8bd_®phab\91_code2v®ue_3
52182 [74] = {
52183
52184 60 \18\12
52185         $check_³rm\99\8bd_®phab\91_3
52186 (cڡ \1e*
52187 ¥\8c
52188 ) {
52189
52190 61 cڡ \12*
52191 \8f
52192  = 
52193 ³rm\99\8bd_®phab\91_\8fbË_3
52194 ;
52195
52196 63 cڡ 
52197 Pr\9a\8fbËS\8c\9ag_t
52198  *
52199 ¡
52200  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
52201 ¥\8c
52202 ;
52203
52204 64 cڡ 
52205 u\9at8_t
52206  *
52207 ch
52208  = 
52209 ¡
52210 ->
52211 buf
52212 ;
52213
52214 65 cڡ 
52215 u\9at8_t
52216  *
52217 \92d
52218  = 
52219 ch
52220  + 
52221 ¡
52222 ->
52223 size
52224 ;
52225
52226 67 \ f
52227 ch
52228  < 
52229 \92d
52230 ; ch++) {
52231
52232 68 
52233 u\9at8_t
52234  
52235 cv
52236  = *
52237 ch
52238 ;
52239
52240 69 if(!
52241 \8f
52242 [
52243 cv
52244 ]) \15 -1;
52245
52246 72 
52247         }
52248 }
52249
52250 74 \18cڡ \12
52251         g³rm\99\8bd_®phab\91_\8fbË_4
52252 [256] = {
52253
52254 84 \18cڡ \12
52255         g³rm\99\8bd_®phab\91_code2v®ue_4
52256 [74] = {
52257
52258 92 \18\12
52259         $check_³rm\99\8bd_®phab\91_4
52260 (cڡ \1e*
52261 ¥\8c
52262 ) {
52263
52264 93 cڡ \12*
52265 \8f
52266  = 
52267 ³rm\99\8bd_®phab\91_\8fbË_4
52268 ;
52269
52270 95 cڡ 
52271 Pr\9a\8fbËS\8c\9ag_t
52272  *
52273 ¡
52274  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
52275 ¥\8c
52276 ;
52277
52278 96 cڡ 
52279 u\9at8_t
52280  *
52281 ch
52282  = 
52283 ¡
52284 ->
52285 buf
52286 ;
52287
52288 97 cڡ 
52289 u\9at8_t
52290  *
52291 \92d
52292  = 
52293 ch
52294  + 
52295 ¡
52296 ->
52297 size
52298 ;
52299
52300 99 \ f
52301 ch
52302  < 
52303 \92d
52304 ; ch++) {
52305
52306 100 
52307 u\9at8_t
52308  
52309 cv
52310  = *
52311 ch
52312 ;
52313
52314 101 if(!
52315 \8f
52316 [
52317 cv
52318 ]) \15 -1;
52319
52320 104 
52321         }
52322 }
52323
52324 107 
52325         $memb_¿nFunùiÚ_ShÜtName_cÚ¡¿\9at_1
52326 (cڡ 
52327 a¢_TYPE_desü\9dtÜ_t
52328  *
52329 td
52330 , cڡ \1e*
52331 ¥\8c
52332 ,
52333
52334 108 
52335 a¢_­p_cÚ¡¿\9at_ç\9eed_f
52336  *
52337 ùç\9ecb
52338\1e*
52339 ­p_key
52340 ) {
52341
52342 109 cڡ 
52343 Pr\9a\8fbËS\8c\9ag_t
52344  *
52345 ¡
52346  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
52347 ¥\8c
52348 ;
52349
52350 110 
52351 size_t
52352  
52353 size
52354 ;
52355
52356 112 if(!
52357 ¥\8c
52358 ) {
52359
52360 113 
52361         `ASN__CTFAIL
52362 (
52363 ­p_key
52364
52365 td
52366
52367 ¥\8c
52368 ,
52369
52370 115 
52371 td
52372 ->
52373 Çme
52374
52375 __FILE__
52376
52377 __LINE__
52378 );
52379
52380 119 
52381 size
52382  = 
52383 ¡
52384 ->size;
52385
52386 121 if((
52387 size
52388  >= 1 && size <= 150)
52389
52390 122 && !
52391         `check_³rm\99\8bd_®phab\91_2
52392 (
52393 ¡
52394 )) {
52395
52396 126 
52397         `ASN__CTFAIL
52398 (
52399 ­p_key
52400
52401 td
52402
52403 ¥\8c
52404 ,
52405
52406 128 
52407 td
52408 ->
52409 Çme
52410
52411 __FILE__
52412
52413 __LINE__
52414 );
52415
52416 131 
52417         }
52418 }
52419
52420 133 \18\12
52421         $a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_v2c
52422 (\1d\12
52423 v®ue
52424 ) {
52425
52426 134 if(
52427 v®ue
52428  >ð\17(
52429 ³rm\99\8bd_®phab\91_\8fbË_2
52430 )/\17(permitted_alphabet_table_2[0]))
52431
52432 136 \15 
52433 ³rm\99\8bd_®phab\91_\8fbË_2
52434 [
52435 v®ue
52436 ] - 1;
52437
52438 137 
52439         }
52440 }
52441
52442 138 \18\12
52443         $a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_c2v
52444 (\1d\12
52445 code
52446 ) {
52447
52448 139 if(
52449 code
52450  >ð\17(
52451 ³rm\99\8bd_®phab\91_code2v®ue_2
52452 )/\17(permitted_alphabet_code2value_2[0]))
52453
52454 141 \15 
52455 ³rm\99\8bd_®phab\91_code2v®ue_2
52456 [
52457 code
52458 ];
52459
52460 142 
52461         }
52462 }
52463
52464 144 
52465         $memb_¿nFunùiÚ_E2SM_OID_cÚ¡¿\9at_1
52466 (cڡ 
52467 a¢_TYPE_desü\9dtÜ_t
52468  *
52469 td
52470 , cڡ \1e*
52471 ¥\8c
52472 ,
52473
52474 145 
52475 a¢_­p_cÚ¡¿\9at_ç\9eed_f
52476  *
52477 ùç\9ecb
52478\1e*
52479 ­p_key
52480 ) {
52481
52482 146 cڡ 
52483 Pr\9a\8fbËS\8c\9ag_t
52484  *
52485 ¡
52486  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
52487 ¥\8c
52488 ;
52489
52490 147 
52491 size_t
52492  
52493 size
52494 ;
52495
52496 149 if(!
52497 ¥\8c
52498 ) {
52499
52500 150 
52501         `ASN__CTFAIL
52502 (
52503 ­p_key
52504
52505 td
52506
52507 ¥\8c
52508 ,
52509
52510 152 
52511 td
52512 ->
52513 Çme
52514
52515 __FILE__
52516
52517 __LINE__
52518 );
52519
52520 156 
52521 size
52522  = 
52523 ¡
52524 ->size;
52525
52526 158 if((
52527 size
52528  >= 1 && size <= 1000)
52529
52530 159 && !
52531         `check_³rm\99\8bd_®phab\91_3
52532 (
52533 ¡
52534 )) {
52535
52536 163 
52537         `ASN__CTFAIL
52538 (
52539 ­p_key
52540
52541 td
52542
52543 ¥\8c
52544 ,
52545
52546 165 
52547 td
52548 ->
52549 Çme
52550
52551 __FILE__
52552
52553 __LINE__
52554 );
52555
52556 168 
52557         }
52558 }
52559
52560 170 \18\12
52561         $a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_v2c
52562 (\1d\12
52563 v®ue
52564 ) {
52565
52566 171 if(
52567 v®ue
52568  >ð\17(
52569 ³rm\99\8bd_®phab\91_\8fbË_3
52570 )/\17(permitted_alphabet_table_3[0]))
52571
52572 173 \15 
52573 ³rm\99\8bd_®phab\91_\8fbË_3
52574 [
52575 v®ue
52576 ] - 1;
52577
52578 174 
52579         }
52580 }
52581
52582 175 \18\12
52583         $a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_c2v
52584 (\1d\12
52585 code
52586 ) {
52587
52588 176 if(
52589 code
52590  >ð\17(
52591 ³rm\99\8bd_®phab\91_code2v®ue_3
52592 )/\17(permitted_alphabet_code2value_3[0]))
52593
52594 178 \15 
52595 ³rm\99\8bd_®phab\91_code2v®ue_3
52596 [
52597 code
52598 ];
52599
52600 179 
52601         }
52602 }
52603
52604 181 
52605         $memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡¿\9at_1
52606 (cڡ 
52607 a¢_TYPE_desü\9dtÜ_t
52608  *
52609 td
52610 , cڡ \1e*
52611 ¥\8c
52612 ,
52613
52614 182 
52615 a¢_­p_cÚ¡¿\9at_ç\9eed_f
52616  *
52617 ùç\9ecb
52618\1e*
52619 ­p_key
52620 ) {
52621
52622 183 cڡ 
52623 Pr\9a\8fbËS\8c\9ag_t
52624  *
52625 ¡
52626  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
52627 ¥\8c
52628 ;
52629
52630 184 
52631 size_t
52632  
52633 size
52634 ;
52635
52636 186 if(!
52637 ¥\8c
52638 ) {
52639
52640 187 
52641         `ASN__CTFAIL
52642 (
52643 ­p_key
52644
52645 td
52646
52647 ¥\8c
52648 ,
52649
52650 189 
52651 td
52652 ->
52653 Çme
52654
52655 __FILE__
52656
52657 __LINE__
52658 );
52659
52660 193 
52661 size
52662  = 
52663 ¡
52664 ->size;
52665
52666 195 if((
52667 size
52668  >= 1 && size <= 150)
52669
52670 196 && !
52671         `check_³rm\99\8bd_®phab\91_4
52672 (
52673 ¡
52674 )) {
52675
52676 200 
52677         `ASN__CTFAIL
52678 (
52679 ­p_key
52680
52681 td
52682
52683 ¥\8c
52684 ,
52685
52686 202 
52687 td
52688 ->
52689 Çme
52690
52691 __FILE__
52692
52693 __LINE__
52694 );
52695
52696 205 
52697         }
52698 }
52699
52700 207 \18\12
52701         $a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_v2c
52702 (\1d\12
52703 v®ue
52704 ) {
52705
52706 208 if(
52707 v®ue
52708  >ð\17(
52709 ³rm\99\8bd_®phab\91_\8fbË_4
52710 )/\17(permitted_alphabet_table_4[0]))
52711
52712 210 \15 
52713 ³rm\99\8bd_®phab\91_\8fbË_4
52714 [
52715 v®ue
52716 ] - 1;
52717
52718 211 
52719         }
52720 }
52721
52722 212 \18\12
52723         $a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_c2v
52724 (\1d\12
52725 code
52726 ) {
52727
52728 213 if(
52729 code
52730  >ð\17(
52731 ³rm\99\8bd_®phab\91_code2v®ue_4
52732 )/\17(permitted_alphabet_code2value_4[0]))
52733
52734 215 \15 
52735 ³rm\99\8bd_®phab\91_code2v®ue_4
52736 [
52737 code
52738 ];
52739
52740 216 
52741         }
52742 }
52743
52744 217 \18
52745 a¢_³r_cÚ¡¿\9ats_t
52746  
52747 a¢_PER_memb_¿nFunùiÚ_ShÜtName_cÚ¡r_2
52748  
52749         gCC_NOTUSED
52750  = {
52751
52752 218 { 
52753 APC_CONSTRAINED
52754 , 7, 7, 32, 122 } ,
52755
52756 219 { 
52757 APC_CONSTRAINED
52758  | 
52759 APC_EXTENSIBLE
52760 , 8, 8, 1, 150 } ,
52761
52762 220 
52763 a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_v2c
52764 ,
52765
52766 221 
52767 a¢_PER_MAP_¿nFunùiÚ_ShÜtName_2_c2v
52768
52769
52770 223 \18
52771 a¢_³r_cÚ¡¿\9ats_t
52772  
52773 a¢_PER_memb_¿nFunùiÚ_E2SM_OID_cÚ¡r_3
52774  
52775         gCC_NOTUSED
52776  = {
52777
52778 224 { 
52779 APC_CONSTRAINED
52780 , 7, 7, 32, 122 } ,
52781
52782 225 { 
52783 APC_CONSTRAINED
52784  | 
52785 APC_EXTENSIBLE
52786 , 10, 10, 1, 1000 } ,
52787
52788 226 
52789 a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_v2c
52790 ,
52791
52792 227 
52793 a¢_PER_MAP_¿nFunùiÚ_E2SM_OID_3_c2v
52794
52795
52796 229 \18
52797 a¢_³r_cÚ¡¿\9ats_t
52798  
52799 a¢_PER_memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡r_4
52800  
52801         gCC_NOTUSED
52802  = {
52803
52804 230 { 
52805 APC_CONSTRAINED
52806 , 7, 7, 32, 122 } ,
52807
52808 231 { 
52809 APC_CONSTRAINED
52810  | 
52811 APC_EXTENSIBLE
52812 , 8, 8, 1, 150 } ,
52813
52814 232 
52815 a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_v2c
52816 ,
52817
52818 233 
52819 a¢_PER_MAP_¿nFunùiÚ_Desü\9dtiÚ_4_c2v
52820
52821
52822 235 
52823 a¢_TYPE_memb\94_t
52824  
52825         ga¢_MBR_RANfunùiÚ_Name_1
52826 [] = {
52827
52828 236 { 
52829 ATF_NOFLAGS
52830 , 0, 
52831 off£tof
52832 (\19
52833 RANfunùiÚ_Name
52834
52835 ¿nFunùiÚ_ShÜtName
52836 ),
52837
52838 237 (
52839 ASN_TAG_CLASS_CONTEXT
52840  | (0 << 2)),
52841
52842 239 &
52843 a¢_DEF_Pr\9a\8fbËS\8c\9ag
52844 ,
52845
52846 241 { 0, &
52847 a¢_PER_memb_¿nFunùiÚ_ShÜtName_cÚ¡r_2
52848
52849 memb_¿nFunùiÚ_ShÜtName_cÚ¡¿\9at_1
52850  },
52851
52852 245 { 
52853 ATF_NOFLAGS
52854 , 0, 
52855 off£tof
52856 (\19
52857 RANfunùiÚ_Name
52858
52859 ¿nFunùiÚ_E2SM_OID
52860 ),
52861
52862 246 (
52863 ASN_TAG_CLASS_CONTEXT
52864  | (1 << 2)),
52865
52866 248 &
52867 a¢_DEF_Pr\9a\8fbËS\8c\9ag
52868 ,
52869
52870 250 { 0, &
52871 a¢_PER_memb_¿nFunùiÚ_E2SM_OID_cÚ¡r_3
52872
52873 memb_¿nFunùiÚ_E2SM_OID_cÚ¡¿\9at_1
52874  },
52875
52876 254 { 
52877 ATF_NOFLAGS
52878 , 0, 
52879 off£tof
52880 (\19
52881 RANfunùiÚ_Name
52882
52883 ¿nFunùiÚ_Desü\9dtiÚ
52884 ),
52885
52886 255 (
52887 ASN_TAG_CLASS_CONTEXT
52888  | (2 << 2)),
52889
52890 257 &
52891 a¢_DEF_Pr\9a\8fbËS\8c\9ag
52892 ,
52893
52894 259 { 0, &
52895 a¢_PER_memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡r_4
52896
52897 memb_¿nFunùiÚ_Desü\9dtiÚ_cÚ¡¿\9at_1
52898  },
52899
52900 263 { 
52901 ATF_POINTER
52902 , 1, 
52903 off£tof
52904 (\19
52905 RANfunùiÚ_Name
52906
52907 ¿nFunùiÚ_In¡ªû
52908 ),
52909
52910 264 (
52911 ASN_TAG_CLASS_CONTEXT
52912  | (3 << 2)),
52913
52914 266 &
52915 a¢_DEF_N©iveIÁeg\94
52916 ,
52917
52918 273 \18cڡ \12
52919         ga¢_MAP_RANfunùiÚ_Name_oms_1
52920 [] = { 3 };
52921
52922 274 \18cڡ 
52923 b\94_\8ev_\8fg_t
52924  
52925         ga¢_DEF_RANfunùiÚ_Name_\8fgs_1
52926 [] = {
52927
52928 275 (
52929 ASN_TAG_CLASS_UNIVERSAL
52930  | (16 << 2))
52931
52932 277 \18cڡ 
52933 a¢_TYPE_\8fg2memb\94_t
52934  
52935         ga¢_MAP_RANfunùiÚ_Name_\8fg2\96_1
52936 [] = {
52937
52938 278 { (
52939 ASN_TAG_CLASS_CONTEXT
52940  | (0 << 2)), 0, 0, 0 },
52941
52942 279 { (
52943 ASN_TAG_CLASS_CONTEXT
52944  | (1 << 2)), 1, 0, 0 },
52945
52946 280 { (
52947 ASN_TAG_CLASS_CONTEXT
52948  | (2 << 2)), 2, 0, 0 },
52949
52950 281 { (
52951 ASN_TAG_CLASS_CONTEXT
52952  | (3 << 2)), 3, 0, 0 }
52953
52954 283 
52955 a¢_SEQUENCE_¥ecifics_t
52956  
52957         ga¢_SPC_RANfunùiÚ_Name_¥ecs_1
52958  = {
52959
52960 284 \17(\19
52961 RANfunùiÚ_Name
52962 ),
52963
52964 285 
52965 off£tof
52966 (\19
52967 RANfunùiÚ_Name
52968
52969 _a¢_ùx
52970 ),
52971
52972 286 
52973 a¢_MAP_RANfunùiÚ_Name_\8fg2\96_1
52974 ,
52975
52976 288 
52977 a¢_MAP_RANfunùiÚ_Name_oms_1
52978 ,
52979
52980 292 
52981 a¢_TYPE_desü\9dtÜ_t
52982  
52983         ga¢_DEF_RANfunùiÚ_Name
52984  = {
52985
52986 295 &
52987 a¢_OP_SEQUENCE
52988 ,
52989
52990 296 
52991 a¢_DEF_RANfunùiÚ_Name_\8fgs_1
52992 ,
52993
52994 297 \17(
52995 a¢_DEF_RANfunùiÚ_Name_\8fgs_1
52996 )
52997
52998 298 /\17(
52999 a¢_DEF_RANfunùiÚ_Name_\8fgs_1
53000 [0]),
53001
53002 299 
53003 a¢_DEF_RANfunùiÚ_Name_\8fgs_1
53004 ,
53005
53006 300 \17(
53007 a¢_DEF_RANfunùiÚ_Name_\8fgs_1
53008 )
53009
53010 301 /\17(
53011 a¢_DEF_RANfunùiÚ_Name_\8fgs_1
53012 [0]),
53013
53014 302 { 0, 0, 
53015 SEQUENCE_cÚ¡¿\9at
53016  },
53017
53018 303 
53019 a¢_MBR_RANfunùiÚ_Name_1
53020 ,
53021
53022 305 &
53023 a¢_SPC_RANfunùiÚ_Name_¥ecs_1
53024
53025
53026         @REAL.c
53027
53028\ 1
53029         #_ISOC99_SOURCE
53030
53031
53032         )
53033
53034 6 #iâdeà
53035 _BSD_SOURCE
53036
53037
53038\ 1
53039         #_BSD_SOURCE
53040
53041
53042         )
53043
53044\ 2
53045         ~<a¢_\9a\8bº®.h
53046 >
53047
53048 10 #if 
53049 def\9aed
53050 (
53051 __®pha
53052 )
53053
53054 11 \ 2
53055         ~<sys/»sourû.h
53056 >
53057
53058 13 \ 2
53059         ~<¡dlib.h
53060 >
53061
53062 14 \ 2
53063         ~<m©h.h
53064 >
53065
53066 15 \ 2
53067         ~<æßt.h
53068 >
53069
53070 16 \ 2
53071         ~<\94ºo.h
53072 >
53073
53074 17 \ 2
53075         ~<REAL.h
53076 >
53077
53078 18 \ 2
53079         ~<OCTET_STRING.h
53080 >
53081
53082 20 #undeà
53083 INT_MAX
53084
53085
53086 21 \ 1
53087         #INT_MAX
53088  ((\12)(((\1d\12)-1è>> 1))
53089
53090         )
53091
53092 23 #if !(
53093 def\9aed
53094 (
53095 NAN
53096 è|| def\9aed(
53097 INFINITY
53098 ))
53099
53100 24 \18vÞ©\9e\90\b
53101 »®_z\94o
53102  
53103         gCC_NOTUSED
53104  = 0.0;
53105
53106 26 #iâdef 
53107 NAN
53108
53109
53110 27 \ 1
53111         #NAN
53112  (0.0/0.0)
53113
53114         )
53115
53116 29 #iâdef 
53117 INFINITY
53118
53119
53120 30 \ 1
53121         #INFINITY
53122  (1.0/0.0)
53123
53124         )
53125
53126 33 #ià
53127 def\9aed
53128 (
53129 __þªg__
53130 )
53131
53132 41 #´agm¨
53133 þªg
53134  
53135 d\9fgno¡ic
53136  
53137 push
53138
53139
53140 42 #´agm¨
53141 þªg
53142  
53143 d\9fgno¡ic
53144  
53145 ignÜed
53146  "-Wc11-extensions"
53147
53148 43 \18\12
53149         $a¢_i¢ª
53150 (\b
53151 d
53152 ) {
53153
53154 44 \15 
53155         `i¢ª
53156 (
53157 d
53158 );
53159
53160 45 
53161         }
53162 }
53163
53164 46 \18\12
53165         $a¢_isf\9a\99e
53166 (\b
53167 d
53168 ) {
53169
53170 47 #ifdeà
53171 isf\9a\99e
53172
53173
53174 48 \15 
53175         `isf\9a\99e
53176 (
53177 d
53178 );
53179
53180 50 \15 
53181         `f\9a\99e
53182 (
53183 d
53184 );
53185
53186 52 
53187         }
53188 }
53189
53190 53 #´agm¨
53191 þªg
53192  
53193 d\9fgno¡ic
53194  
53195
53196
53197
53198 55 \ 1
53199         #a¢_i¢ª
53200 (
53201 v
53202 è
53203         `i¢ª
53204 (v)
53205
53206         )
53207
53208 56 #ifdeà
53209 isf\9a\99e
53210
53211
53212 57 \ 1
53213         #a¢_isf\9a\99e
53214 (
53215 d
53216 è
53217         `isf\9a\99e
53218 (dè
53219
53220         )
53221
53222 59 \ 1
53223         #a¢_isf\9a\99e
53224 (
53225 d
53226 è
53227         `f\9a\99e
53228 (dè
53229
53230         )
53231
53232 66 \18cڡ 
53233 b\94_\8ev_\8fg_t
53234  
53235         ga¢_DEF_REAL_\8fgs
53236 [] = {
53237
53238 67 (
53239 ASN_TAG_CLASS_UNIVERSAL
53240  | (9 << 2))
53241
53242 69 
53243 a¢_TYPE_Ý\94©iÚ_t
53244  
53245         ga¢_OP_REAL
53246  = {
53247
53248 70 
53249 ASN__PRIMITIVE_TYPE_ä\93
53250 ,
53251
53252 71 
53253 REAL_´\9at
53254 ,
53255
53256 72 
53257 REAL_com·»
53258 ,
53259
53260 73 
53261 b\94_decode_´im\99ive
53262 ,
53263
53264 74 
53265 d\94_\92code_´im\99ive
53266 ,
53267
53268 75 
53269 REAL_decode_x\94
53270 ,
53271
53272 76 
53273 REAL_\92code_x\94
53274 ,
53275
53276 77 #ifdef 
53277 ASN_DISABLE_OER_SUPPORT
53278
53279
53280 81 
53281 REAL_decode_Ûr
53282 ,
53283
53284 82 
53285 REAL_\92code_Ûr
53286 ,
53287
53288 84 #ifdef 
53289 ASN_DISABLE_PER_SUPPORT
53290
53291
53292 90 
53293 REAL_decode_u³r
53294 ,
53295
53296 91 
53297 REAL_\92code_u³r
53298 ,
53299
53300 92 
53301 REAL_decode_­\94
53302 ,
53303
53304 93 
53305 REAL_\92code_­\94
53306 ,
53307
53308 95 
53309 REAL_¿ndom_f\9el
53310 ,
53311
53312 98 
53313 a¢_TYPE_desü\9dtÜ_t
53314  
53315         ga¢_DEF_REAL
53316  = {
53317
53318 101 &
53319 a¢_OP_REAL
53320 ,
53321
53322 102 
53323 a¢_DEF_REAL_\8fgs
53324 ,
53325
53326 103 \17(
53327 a¢_DEF_REAL_\8fgs
53328 ) / \17(asn_DEF_REAL_tags[0]),
53329
53330 104 
53331 a¢_DEF_REAL_\8fgs
53332 ,
53333
53334 105 \17(
53335 a¢_DEF_REAL_\8fgs
53336 ) / \17(asn_DEF_REAL_tags[0]),
53337
53338 106 { 0, 0, 
53339 a¢_g\92\94ic_no_cÚ¡¿\9at
53340  },
53341
53342 112 \e\f
53343         e¥ec\9flR\97lV®ue
53344  {
53345
53346 113 
53347         mSRV__NOT_A_NUMBER
53348 ,
53349
53350 114 
53351         mSRV__MINUS_INFINITY
53352 ,
53353
53354 115 
53355         mSRV__PLUS_INFINITY
53356
53357
53358 116 } 
53359         t¥ec\9flR\97lV®ue_e
53360 ;
53361
53362 117 \18\19
53363         s¥ec\9flR\97lV®ue_s
53364  {
53365
53366 118 \ 5*
53367         m¡r\9ag
53368 ;
53369
53370 119 
53371 size_t
53372  
53373         mËngth
53374 ;
53375
53376 120 \13
53377         mdv
53378 ;
53379
53380 121 } 
53381         g¥ec\9flR\97lV®ue
53382 [] = {
53383
53384 122 \ 1
53385         #SRV_SET
53386 (
53387 foo
53388
53389
53390 è{ foo, \17(fooè- 1, v® }
53391
53392         )
53393
53394 123 
53395 SRV_SET
53396 ("<NOT-A-NUMBER/>", 0),
53397
53398 124 
53399 SRV_SET
53400 ("<MINUS-INFINITY/>", -1),
53401
53402 125 
53403 SRV_SET
53404 ("<PLUS-INFINITY/>", 1),
53405
53406 126 #undeà
53407 SRV_SET
53408
53409
53410 129 
53411 ssize_t
53412
53413
53414 130 
53415         $REAL__dump
53416 (\b
53417 d
53418\12
53419 ÿnÚiÿl
53420
53421 a¢_­p_cÚsume_by\8bs_f
53422  *
53423 cb
53424\1e*
53425 ­p_key
53426 ) {
53427
53428 131 \ 5
53429 loÿl_buf
53430 [64];
53431
53432 132 \ 5*
53433 buf
53434  = 
53435 loÿl_buf
53436 ;
53437
53438 133 
53439 ssize_t
53440  
53441 buæ\92
53442  = \17(
53443 loÿl_buf
53444 );
53445
53446 134 cڡ \ 5*
53447 fmt
53448  = 
53449 ÿnÚiÿl
53450  ? "%.17E" : "%.15f" ;
53451
53452 135 
53453 ssize_t
53454  
53455 »t
53456 ;
53457
53458 141 if(
53459         `a¢_i¢ª
53460 (
53461 d
53462 )) {
53463
53464 142 
53465 buf
53466  = 
53467 ¥ec\9flR\97lV®ue
53468 [
53469 SRV__NOT_A_NUMBER
53470 ].
53471 ¡r\9ag
53472 ;
53473
53474 143 
53475 buæ\92
53476  = 
53477 ¥ec\9flR\97lV®ue
53478 [
53479 SRV__NOT_A_NUMBER
53480 ].
53481 Ëngth
53482 ;
53483
53484 144 \15 (
53485         `cb
53486 (
53487 buf
53488
53489 buæ\92
53490
53491 ­p_key
53492 ) < 0) ? -1 : buflen;
53493
53494 145 } \vif(!
53495         `a¢_isf\9a\99e
53496 (
53497 d
53498 )) {
53499
53500 146 if(
53501         `cÝysign
53502 (1.0, 
53503 d
53504 ) < 0.0) {
53505
53506 147 
53507 buf
53508  = 
53509 ¥ec\9flR\97lV®ue
53510 [
53511 SRV__MINUS_INFINITY
53512 ].
53513 ¡r\9ag
53514 ;
53515
53516 148 
53517 buæ\92
53518  = 
53519 ¥ec\9flR\97lV®ue
53520 [
53521 SRV__MINUS_INFINITY
53522 ].
53523 Ëngth
53524 ;
53525
53526 150 
53527 buf
53528  = 
53529 ¥ec\9flR\97lV®ue
53530 [
53531 SRV__PLUS_INFINITY
53532 ].
53533 ¡r\9ag
53534 ;
53535
53536 151 
53537 buæ\92
53538  = 
53539 ¥ec\9flR\97lV®ue
53540 [
53541 SRV__PLUS_INFINITY
53542 ].
53543 Ëngth
53544 ;
53545
53546 153 \15 (
53547         `cb
53548 (
53549 buf
53550
53551 buæ\92
53552
53553 ­p_key
53554 ) < 0) ? -1 : buflen;
53555
53556 154 } \vif(
53557         `\9eogb
53558 (
53559 d
53560 è<ð-
53561 INT_MAX
53562 ) {
53563
53564 155 if(
53565         `cÝysign
53566 (1.0, 
53567 d
53568 ) < 0.0) {
53569
53570 156 
53571 buf
53572  = "-0";
53573
53574 157 
53575 buæ\92
53576  = 2;
53577
53578 159 
53579 buf
53580  = "0";
53581
53582 160 
53583 buæ\92
53584  = 1;
53585
53586 162 \15 (
53587         `cb
53588 (
53589 buf
53590
53591 buæ\92
53592
53593 ­p_key
53594 ) < 0) ? -1 : buflen;
53595
53596 169 
53597 »t
53598  = 
53599         `¢´\9atf
53600 (
53601 buf
53602
53603 buæ\92
53604
53605 fmt
53606
53607 d
53608 );
53609
53610 170 if(
53611 »t
53612  < 0) {
53613
53614 172 
53615 buæ\92
53616  <<= 1;
53617
53618 173 if(
53619 buæ\92
53620  > 4096) {
53621
53622 175 if(
53623 buf
53624  !ð
53625 loÿl_buf
53626 è
53627         `FREEMEM
53628 (buf);
53629
53630 178 } \vif(
53631 »t
53632  >ð
53633 buæ\92
53634 ) {
53635
53636 179 
53637 buæ\92
53638  = 
53639 »t
53640  + 1;
53641
53642 181 
53643 buæ\92
53644  = 
53645 »t
53646 ;
53647
53648 184 if(
53649 buf
53650  !ð
53651 loÿl_buf
53652 è
53653         `FREEMEM
53654 (buf);
53655
53656 185 
53657 buf
53658  = (\ 5*)
53659         `MALLOC
53660 (
53661 buæ\92
53662 );
53663
53664 186 if(!
53665 buf
53666\15 -1;
53667
53668 189 if(
53669 ÿnÚiÿl
53670 ) {
53671
53672 194 \ 5*
53673
53674 ;
53675
53676 195 \ 5*
53677 \92d
53678  = 
53679 buf
53680  + 
53681 buæ\92
53682 ;
53683
53684 196 \ 5*
53685 Ï¡_z\94o
53686 ;
53687
53688 197 \ 5*
53689 f\9c¡_z\94o_\9a_run
53690 ;
53691
53692 198 \ 5*
53693 s
53694 ;
53695
53696 201 
53697 LZSTATE_NOTHING
53698 ,
53699
53700 202 
53701 LZSTATE_ZEROES
53702
53703
53704 203 } 
53705 lz_¡©e
53706  = 
53707 LZSTATE_NOTHING
53708 ;
53709
53710 205 
53711
53712  = (
53713 buf
53714 [0] == 0x2d ) ? (buf + 2) : (buf + 1);
53715
53716 206 if(*
53717
53718  >= 0x30) {
53719
53720 207 if(
53721 buf
53722  !ð
53723 loÿl_buf
53724 è
53725         `FREEMEM
53726 (buf);
53727
53728 208 
53729 \94ºo
53730  = 
53731 EINVAL
53732 ;
53733
53734 211 *
53735
53736  = 0x2e;
53737
53738 213 \ f
53739 f\9c¡_z\94o_\9a_run
53740  = 
53741 Ï¡_z\94o
53742  = 
53743 s
53744  = 
53745
53746  + 2; s < 
53747 \92d
53748 ; s++) {
53749
53750 214 \1a*
53751 s
53752 ) {
53753
53754 216 if(
53755 lz_¡©e
53756  =ð
53757 LZSTATE_ZEROES
53758 è
53759 Ï¡_z\94o
53760  = 
53761 f\9c¡_z\94o_\9a_run
53762 ;
53763
53764 219 if(
53765 lz_¡©e
53766  =ð
53767 LZSTATE_NOTHING
53768 è
53769 f\9c¡_z\94o_\9a_run
53770  = 
53771 s
53772 ;
53773
53774 220 
53775 lz_¡©e
53776  = 
53777 LZSTATE_ZEROES
53778 ;
53779
53780 223 
53781 lz_¡©e
53782  = 
53783 LZSTATE_NOTHING
53784 ;
53785
53786 229 if(
53787 s
53788  =ð
53789 \92d
53790 ) {
53791
53792 230 if(
53793 buf
53794  !ð
53795 loÿl_buf
53796 è
53797         `FREEMEM
53798 (buf);
53799
53800 231 
53801 \94ºo
53802  = 
53803 EINVAL
53804 ;
53805
53806 235 
53807         `as£¹
53808 (*
53809 s
53810  == 0x45);
53811
53812 237 \ 5*
53813 E
53814  = 
53815 s
53816 ;
53817
53818 238 \ 5*
53819 exµ\8c
53820  = ++
53821 E
53822 ;
53823
53824 239 \ 5*
53825 s
53826  = 
53827 exµ\8c
53828 ;
53829
53830 240 \12
53831 sign
53832 ;
53833
53834 242 if(*
53835 exµ\8c
53836  == 0x2b ) {
53837
53838 244 
53839 buæ\92
53840  -= 1;
53841
53842 245 
53843 sign
53844  = 0;
53845
53846 247 
53847 sign
53848  = 1;
53849
53850 248 
53851 s
53852 ++;
53853
53854 250 
53855 exµ\8c
53856 ++;
53857
53858 251 if(
53859 exµ\8c
53860  > 
53861 \92d
53862 ) {
53863
53864 252 if(
53865 buf
53866  !ð
53867 loÿl_buf
53868 è
53869         `FREEMEM
53870 (buf);
53871
53872 253 
53873 \94ºo
53874  = 
53875 EINVAL
53876 ;
53877
53878 256 if(*
53879 exµ\8c
53880  == 0x30) {
53881
53882 257 
53883 buæ\92
53884 --;
53885
53886 258 
53887 exµ\8c
53888 ++;
53889
53890 260 if(
53891 lz_¡©e
53892  =ð
53893 LZSTATE_ZEROES
53894 ) {
53895
53896 261 *
53897 Ï¡_z\94o
53898  = 0x45;
53899
53900 262 
53901 buæ\92
53902  -ð
53903 s
53904  - (
53905 Ï¡_z\94o
53906  + 1);
53907
53908 263 
53909 s
53910  = 
53911 Ï¡_z\94o
53912  + 1;
53913
53914 264 if(
53915 sign
53916 ) {
53917
53918 265 *
53919 s
53920 ++ = 0x2d ;
53921
53922 266 
53923 buæ\92
53924 ++;
53925
53926 269 \ f
53927 exµ\8c
53928  <ð
53929 \92d
53930
53931 s
53932 ++,\83xpptr++)
53933
53934 270 *
53935 s
53936  = *
53937 exµ\8c
53938 ;
53939
53940 276 \ 5*
53941 \92d
53942  = 
53943 buf
53944  + 
53945 buæ\92
53946 ;
53947
53948 277 \ 5*
53949 Ï¡_z\94o
53950  = 
53951 \92d
53952 ;
53953
53954 278 \12
53955 ¡Ýlook\9ag
53956  = 0;
53957
53958 279 \ 5*
53959 z
53960 ;
53961
53962 280 \ f
53963 z
53964  = 
53965 \92d
53966  - 1; z > 
53967 buf
53968 ; z--) {
53969
53970 281 \1a*
53971 z
53972 ) {
53973
53974 283 if(!
53975 ¡Ýlook\9ag
53976 )
53977
53978 284 
53979 Ï¡_z\94o
53980  = 
53981 z
53982 ;
53983
53984 288 
53985 ¡Ýlook\9ag
53986  = 1;
53987
53988 295 *
53989 z
53990  = 0x2e;
53991
53992 296 if(
53993 Ï¡_z\94o
53994  =ð
53995 z
53996  + 1) {
53997
53998 297 
53999 Ï¡_z\94o
54000 ++;
54001
54002 299 
54003 buæ\92
54004  = 
54005 Ï¡_z\94o
54006  - 
54007 buf
54008 ;
54009
54010 300 *
54011 Ï¡_z\94o
54012  = '\0';
54013
54014 307 
54015 »t
54016  = 
54017         `cb
54018 (
54019 buf
54020
54021 buæ\92
54022
54023 ­p_key
54024 );
54025
54026 308 if(
54027 buf
54028  !ð
54029 loÿl_buf
54030 è
54031         `FREEMEM
54032 (buf);
54033
54034 309 \15 (
54035 »t
54036  < 0è? -1 : 
54037 buæ\92
54038 ;
54039
54040 310 
54041         }
54042 }
54043
54044 313 
54045         $REAL_´\9at
54046 (cڡ 
54047 a¢_TYPE_desü\9dtÜ_t
54048  *
54049 td
54050 , cڡ \1e*
54051 ¥\8c
54052\12
54053 \9eev\96
54054 ,
54055
54056 314 
54057 a¢_­p_cÚsume_by\8bs_f
54058  *
54059 cb
54060\1e*
54061 ­p_key
54062 ) {
54063
54064 315 cڡ 
54065 REAL_t
54066  *
54067 ¡
54068  = (cÚ¡ REAL_\88*)
54069 ¥\8c
54070 ;
54071
54072 316 
54073 ssize_t
54074  
54075 »t
54076 ;
54077
54078 317 \b
54079 d
54080 ;
54081
54082 319 (\1e)
54083 td
54084 ;
54085
54086 320 (\1e)
54087 \9eev\96
54088 ;
54089
54090 322 if(!
54091 ¡
54092  || !¡->
54093 buf
54094 )
54095
54096 323 
54097 »t
54098  = 
54099         `cb
54100 ("<ab£Á>", 8, 
54101 ­p_key
54102 );
54103
54104 324 \vif(
54105         `a¢_REAL2doubË
54106 (
54107 ¡
54108 , &
54109 d
54110 ))
54111
54112 325 
54113 »t
54114  = 
54115         `cb
54116 ("<\94rÜ>", 7, 
54117 ­p_key
54118 );
54119
54120 327 
54121 »t
54122  = 
54123         `REAL__dump
54124 (
54125 d
54126 , 0, 
54127 cb
54128
54129 ­p_key
54130 );
54131
54132 329 \15 (
54133 »t
54134  < 0) ? -1 : 0;
54135
54136 330 
54137         }
54138 }
54139
54140 333 
54141         $REAL_com·»
54142 (cڡ 
54143 a¢_TYPE_desü\9dtÜ_t
54144  *
54145 td
54146 , cڡ \1e*
54147 ­\8c
54148 ,
54149
54150 334 cڡ \1e*
54151 b±r
54152 ) {
54153
54154 335 cڡ 
54155 REAL_t
54156  *
54157 a
54158  = 
54159 ­\8c
54160 ;
54161
54162 336 cڡ 
54163 REAL_t
54164  *
54165 b
54166  = 
54167 b±r
54168 ;
54169
54170 338 (\1e)
54171 td
54172 ;
54173
54174 340 if(
54175 a
54176  && 
54177 b
54178 ) {
54179
54180 341 \b
54181 adbl
54182
54183 bdbl
54184 ;
54185
54186 342 \12
54187 ¿
54188
54189 rb
54190 ;
54191
54192 343 
54193 ¿
54194  = 
54195         `a¢_REAL2doubË
54196 (
54197 a
54198 , &
54199 adbl
54200 );
54201
54202 344 
54203 rb
54204  = 
54205         `a¢_REAL2doubË
54206 (
54207 b
54208 , &
54209 bdbl
54210 );
54211
54212 345 if(
54213 ¿
54214  =ð0 && 
54215 rb
54216  == 0) {
54217
54218 346 if(
54219         `a¢_i¢ª
54220 (
54221 adbl
54222 )) {
54223
54224 347 if(
54225         `a¢_i¢ª
54226 (
54227 bdbl
54228 )) {
54229
54230 352 } \vif(
54231         `a¢_i¢ª
54232 (
54233 bdbl
54234 )) {
54235
54236 356 if(
54237 adbl
54238  < 
54239 bdbl
54240 ) {
54241
54242 358 } \vif(
54243 adbl
54244  > 
54245 bdbl
54246 ) {
54247
54248 363 } \vif(
54249 ¿
54250 ) {
54251
54252 368 } \vif(!
54253 a
54254 ) {
54255
54256 373 
54257         }
54258 }
54259
54260 375 
54261 a¢_\92c_rv®_t
54262
54263
54264 376 
54265         $REAL_\92code_x\94
54266 (cڡ 
54267 a¢_TYPE_desü\9dtÜ_t
54268  *
54269 td
54270 , cڡ \1e*
54271 ¥\8c
54272\12
54273 \9eev\96
54274 ,
54275
54276 377 \f
54277 x\94_\92cod\94_æags_e
54278  
54279 æags
54280
54281 a¢_­p_cÚsume_by\8bs_f
54282  *
54283 cb
54284 ,
54285
54286 378 \1e*
54287 ­p_key
54288 ) {
54289
54290 379 cڡ 
54291 REAL_t
54292  *
54293 ¡
54294  = (cÚ¡ REAL_\88*)
54295 ¥\8c
54296 ;
54297
54298 380 
54299 a¢_\92c_rv®_t
54300  
54301 \94
54302  = {0,0,0};
54303
54304 381 \b
54305 d
54306 ;
54307
54308 383 (\1e)
54309 \9eev\96
54310 ;
54311
54312 385 if(!
54313 ¡
54314  || !¡->
54315 buf
54316  || 
54317         `a¢_REAL2doubË
54318 (¡, &
54319 d
54320 ))
54321
54322 386 
54323 ASN__ENCODE_FAILED
54324 ;
54325
54326 388 
54327 \94
54328 .
54329 \92coded
54330  = 
54331         `REAL__dump
54332 (
54333 d
54334
54335 æags
54336  & 
54337 XER_F_CANONICAL
54338
54339 cb
54340
54341 ­p_key
54342 );
54343
54344 389 if(
54345 \94
54346 .
54347 \92coded
54348  < 0è
54349 ASN__ENCODE_FAILED
54350 ;
54351
54352 391 
54353         `ASN__ENCODED_OK
54354 (
54355 \94
54356 );
54357
54358 392 
54359         }
54360 }
54361
54362 398 \18\f
54363 x\94_pbd_rv®
54364
54365
54366 399 
54367         $REAL__x\94_body_decode
54368 (cڡ 
54369 a¢_TYPE_desü\9dtÜ_t
54370  *
54371 td
54372\1e*
54373 ¥\8c
54374 ,
54375
54376 400 cڡ \1e*
54377 chunk_buf
54378
54379 size_t
54380  
54381 chunk_size
54382 ) {
54383
54384 401 
54385 REAL_t
54386  *
54387 ¡
54388  = (REAL_\88*)
54389 ¥\8c
54390 ;
54391
54392 402 \b
54393 v®ue
54394 ;
54395
54396 403 cڡ \ 5*
54397 x\94d©a
54398  = (cڡ \ 5*)
54399 chunk_buf
54400 ;
54401
54402 404 \ 5*
54403 \92d±r
54404  = 0;
54405
54406 405 \ 5*
54407 b
54408 ;
54409
54410 407 (\1e)
54411 td
54412 ;
54413
54414 409 if(!
54415 chunk_size
54416 è\15 
54417 XPBD_BROKEN_ENCODING
54418 ;
54419
54420 414 if(
54421 x\94d©a
54422 [0] == 0x3c ) {
54423
54424 415 
54425 size_t
54426  
54427 i
54428 ;
54429
54430 416 \ f
54431 i
54432  = 0; i < \17(
54433 ¥ec\9flR\97lV®ue
54434 )
54435
54436 417 / \17(
54437 ¥ec\9flR\97lV®ue
54438 [0]); 
54439 i
54440 ++) {
54441
54442 418 \19
54443 ¥ec\9flR\97lV®ue_s
54444  *
54445 ¤v
54446  = &
54447 ¥ec\9flR\97lV®ue
54448 [
54449 i
54450 ];
54451
54452 419 \b
54453 dv
54454 ;
54455
54456 421 if(
54457 ¤v
54458 ->
54459 Ëngth
54460  !ð
54461 chunk_size
54462
54463
54464 422 || 
54465         `memcmp
54466 (
54467 ¤v
54468 ->
54469 ¡r\9ag
54470
54471 chunk_buf
54472
54473 chunk_size
54474 ))
54475
54476 430 \1a
54477 ¤v
54478 ->
54479 dv
54480 ) {
54481
54482 431 \ 4-1: 
54483 dv
54484  = - 
54485 INFINITY
54486\ 3;
54487
54488 432 \ 40: 
54489 dv
54490  = 
54491 NAN
54492\ 3;
54493
54494 433 \ 41: 
54495 dv
54496  = 
54497 INFINITY
54498\ 3;
54499
54500 434 \a\15 
54501 XPBD_SYSTEM_FAILURE
54502 ;
54503
54504 437 if(
54505         `a¢_doubË2REAL
54506 (
54507 ¡
54508
54509 dv
54510 ))
54511
54512 438 \15 
54513 XPBD_SYSTEM_FAILURE
54514 ;
54515
54516 440 \15 
54517 XPBD_BODY_CONSUMED
54518 ;
54519
54520 442 
54521         `ASN_DEBUG
54522 ("Unknown XMLSpecialRealValue");
54523
54524 443 \15 
54525 XPBD_BROKEN_ENCODING
54526 ;
54527
54528 449 
54529 b
54530  = (\ 5*)
54531         `MALLOC
54532 (
54533 chunk_size
54534  + 1);
54535
54536 450 if(!
54537 b
54538 è\15 
54539 XPBD_SYSTEM_FAILURE
54540 ;
54541
54542 451 
54543         `memýy
54544 (
54545 b
54546
54547 chunk_buf
54548
54549 chunk_size
54550 );
54551
54552 452 
54553 b
54554 [
54555 chunk_size
54556 ] = 0;
54557
54558 454 
54559 v®ue
54560  = 
54561         `¡¹od
54562 (
54563 b
54564 , &
54565 \92d±r
54566 );
54567
54568 455 
54569         `FREEMEM
54570 (
54571 b
54572 );
54573
54574 456 if(
54575 \92d±r
54576  =ð
54577 b
54578 è\15 
54579 XPBD_BROKEN_ENCODING
54580 ;
54581
54582 458 if(
54583         `a¢_doubË2REAL
54584 (
54585 ¡
54586
54587 v®ue
54588 ))
54589
54590 459 \15 
54591 XPBD_SYSTEM_FAILURE
54592 ;
54593
54594 461 \15 
54595 XPBD_BODY_CONSUMED
54596 ;
54597
54598 462 
54599         }
54600 }
54601
54602 464 
54603 a¢_dec_rv®_t
54604
54605
54606 465 
54607         $REAL_decode_x\94
54608 (cڡ 
54609 a¢_codec_ùx_t
54610  *
54611 Ýt_codec_ùx
54612 ,
54613
54614 466 cڡ 
54615 a¢_TYPE_desü\9dtÜ_t
54616  *
54617 td
54618\1e**
54619 ¥\8c
54620 ,
54621
54622 467 cڡ \ 5*
54623 Ýt_mÇme
54624 , cڡ \1e*
54625 buf_±r
54626
54627 size_t
54628  
54629 size
54630 ) {
54631
54632 468 \15 
54633         `x\94_decode_´im\99ive
54634 (
54635 Ýt_codec_ùx
54636
54637 td
54638 ,
54639
54640 469 
54641 ¥\8c
54642\17(
54643 REAL_t
54644 ), 
54645 Ýt_mÇme
54646 ,
54647
54648 470 
54649 buf_±r
54650
54651 size
54652
54653 REAL__x\94_body_decode
54654 );
54655
54656 471 
54657         }
54658 }
54659
54660 474 
54661         $a¢_REAL2doubË
54662 (cڡ 
54663 REAL_t
54664  *
54665 ¡
54666\b*
54667 dbl_v®ue
54668 ) {
54669
54670 475 \1d\12
54671 oùv
54672 ;
54673
54674 477 if(!
54675 ¡
54676  || !¡->
54677 buf
54678 ) {
54679
54680 478 
54681 \94ºo
54682  = 
54683 EINVAL
54684 ;
54685
54686 482 if(
54687 ¡
54688 ->
54689 size
54690  == 0) {
54691
54692 483 *
54693 dbl_v®ue
54694  = 0;
54695
54696 487 
54697 oùv
54698  = 
54699 ¡
54700 ->
54701 buf
54702 [0];
54703
54704 489 \1a
54705 oùv
54706  & 0xC0) {
54707
54708 498 \1a
54709 ¡
54710 ->
54711 buf
54712 [0]) {
54713
54714 500 *
54715 dbl_v®ue
54716  = 
54717 INFINITY
54718 ;
54719
54720 503 *
54721 dbl_v®ue
54722  = - 
54723 INFINITY
54724 ;
54725
54726 506 *
54727 dbl_v®ue
54728  = 
54729 NAN
54730 ;
54731
54732 509 *
54733 dbl_v®ue
54734  = -0.0;
54735
54736 513 
54737 \94ºo
54738  = 
54739 EINVAL
54740 ;
54741
54742 522 \b
54743 d
54744 ;
54745
54746 523 \ 5*
54747 sourû
54748  = 0;
54749
54750 524 \ 5*
54751 \92d±r
54752 ;
54753
54754 525 \12
54755 u£d_m®loc
54756  = 0;
54757
54758 527 if(
54759 oùv
54760  == 0 || (octv & 0x3C)) {
54761
54762 529 
54763 \94ºo
54764  = 
54765 EINVAL
54766 ;
54767
54768 539 if(
54769 ¡
54770 ->
54771 buf
54772 [¡->
54773 size
54774 ] !ð'\0' || 
54775         `memchr
54776 (st->buf, ',', st->size)) {
54777
54778 540 cڡ 
54779 u\9at8_t
54780  *
54781 p
54782 , *
54783 \92d
54784 ;
54785
54786 541 \ 5*
54787 b
54788 ;
54789
54790 543 
54791 b
54792  = 
54793 sourû
54794  = (\ 5*)
54795         `MALLOC
54796 (
54797 ¡
54798 ->
54799 size
54800  + 1);
54801
54802 544 if(!
54803 sourû
54804\15 -1;
54805
54806 545 
54807 u£d_m®loc
54808  = 1;
54809
54810 548 \ f
54811 p
54812  = 
54813 ¡
54814 ->
54815 buf
54816  + 1, 
54817 \92d
54818  = st->buà+ st->
54819 size
54820 ;
54821
54822 549 
54823 p
54824  < 
54825 \92d
54826
54827 b
54828 ++,\85++)
54829
54830 550 *
54831 b
54832  = (*
54833 p
54834  == ',') ? '.' : *p;
54835
54836 551 *
54837 b
54838  = '\0';
54839
54840 553 
54841 sourû
54842  = (\ 5*)&
54843 ¡
54844 ->
54845 buf
54846 [1];
54847
54848 556 
54849 \92d±r
54850  = 
54851 sourû
54852 ;
54853
54854 557 
54855 d
54856  = 
54857         `¡¹od
54858 (
54859 sourû
54860 , &
54861 \92d±r
54862 );
54863
54864 558 if(*
54865 \92d±r
54866  != '\0') {
54867
54868 560 if(
54869 u£d_m®loc
54870 è
54871         `FREEMEM
54872 (
54873 sourû
54874 );
54875
54876 561 
54877 \94ºo
54878  = 
54879 EINVAL
54880 ;
54881
54882 564 if(
54883 u£d_m®loc
54884 è
54885         `FREEMEM
54886 (
54887 sourû
54888 );
54889
54890 565 if(
54891         `a¢_isf\9a\99e
54892 (
54893 d
54894 )) {
54895
54896 566 *
54897 dbl_v®ue
54898  = 
54899 d
54900 ;
54901
54902 569 
54903 \94ºo
54904  = 
54905 ERANGE
54906 ;
54907
54908 579 \b
54909 m
54910 ;
54911
54912 580 
54913 \9at32_t
54914  
54915 expv®
54916 ;
54917
54918 581 \1d\12
54919 \96\92
54920 ;
54921
54922 582 \12
54923 sÿËF
54924 ;
54925
54926 583 \12
54927 ba£F
54928 ;
54929
54930 584 
54931 u\9at8_t
54932  *
54933 ±r
54934 ;
54935
54936 585 
54937 u\9at8_t
54938  *
54939 \92d
54940 ;
54941
54942 586 \12
54943 sign
54944 ;
54945
54946 588 \1a(
54947 oùv
54948  & 0x30) >> 4) {
54949
54950 589 \ 40x00: 
54951 ba£F
54952  = 1; \ 3;
54953
54954 590 \ 40x01: 
54955 ba£F
54956  = 3; \ 3;
54957
54958 591 \ 40x02: 
54959 ba£F
54960  = 4; \ 3;
54961
54962 594 
54963 \94ºo
54964  = 
54965 EINVAL
54966 ;
54967
54968 598 
54969 sign
54970  = (
54971 oùv
54972  & 0x40);
54973
54974 599 
54975 sÿËF
54976  = (
54977 oùv
54978  & 0x0C) >> 2;
54979
54980 601 if(
54981 ¡
54982 ->
54983 size
54984  <ð1 + (
54985 oùv
54986  & 0x03)) {
54987
54988 602 
54989 \94ºo
54990  = 
54991 EINVAL
54992 ;
54993
54994 606 
54995 \96\92
54996  = (
54997 oùv
54998  & 0x03);
54999
55000 607 if(
55001 \96\92
55002  == 0x03) {
55003
55004 608 
55005 \96\92
55006  = 
55007 ¡
55008 ->
55009 buf
55010 [1];
55011
55012 609 if(
55013 \96\92
55014  =ð0 || 
55015 ¡
55016 ->
55017 size
55018  <= (2 +\83len)) {
55019
55020 610 
55021 \94ºo
55022  = 
55023 EINVAL
55024 ;
55025
55026 614 
55027 ±r
55028  = &
55029 ¡
55030 ->
55031 buf
55032 [2];
55033
55034 616 
55035 ±r
55036  = &
55037 ¡
55038 ->
55039 buf
55040 [1];
55041
55042 620 
55043 expv®
55044  = (\12)(*(
55045 \9at8_t
55046  *)
55047 ±r
55048 );
55049
55050 621 if(
55051 \96\92
55052  >ð\17(
55053 expv®
55054 )-1) {
55055
55056 622 
55057 \94ºo
55058  = 
55059 ERANGE
55060 ;
55061
55062 625 
55063 \92d
55064  = 
55065 ±r
55066  + 
55067 \96\92
55068  + 1;
55069
55070 626 \ f
55071 ±r
55072 ++;\85\8c < 
55073 \92d
55074 ;\85tr++)
55075
55076 627 
55077 expv®
55078  = (expv® * 256è+ *
55079 ±r
55080 ;
55081
55082 629 
55083 m
55084  = 0.0;
55085
55086 632 
55087 \92d
55088  = 
55089 ¡
55090 ->
55091 buf
55092  + st->
55093 size
55094 ;
55095
55096 633 \ f
55097 ±r
55098  < 
55099 \92d
55100 ;\85tr++)
55101
55102 634 
55103 m
55104  = 
55105         `ldexp
55106 (m, 8è+ *
55107 ±r
55108 ;
55109
55110 637 
55111         `ASN_DEBUG
55112 ("m=%.10f, scF=%d, bF=%d,\83xpval=%d,\86dexp()=%f,\86dexp()=%f\n",
55113
55114 638 
55115 m
55116
55117 sÿËF
55118
55119 ba£F
55120
55121 expv®
55122 ,
55123
55124 639 
55125         `ldexp
55126 (
55127 m
55128
55129 expv®
55130  * 
55131 ba£F
55132  + 
55133 sÿËF
55134 ),
55135
55136 640 
55137         `ldexp
55138 (
55139 m
55140
55141 sÿËF
55142 è* 
55143         `pow
55144 Õow(2, 
55145 ba£F
55146 ), 
55147 expv®
55148 )
55149
55150 648 
55151 m
55152  = 
55153         `ldexp
55154 (m, 
55155 expv®
55156  * 
55157 ba£F
55158  + 
55159 sÿËF
55160 );
55161
55162 649 if(
55163         `a¢_isf\9a\99e
55164 (
55165 m
55166 )) {
55167
55168 650 *
55169 dbl_v®ue
55170  = 
55171 sign
55172  ? -
55173 m
55174  : m;
55175
55176 652 
55177 \94ºo
55178  = 
55179 ERANGE
55180 ;
55181
55182 659 
55183         }
55184 }
55185
55186 666 
55187         $a¢_doubË2REAL
55188 (
55189 REAL_t
55190  *
55191 ¡
55192\b
55193 dbl_v®ue
55194 ) {
55195
55196 667 \b
55197 \8b¡
55198  = -0.0;
55199
55200 668 \12
55201 æßt_big_\92d\9fn
55202  = *(cڡ \ 5*)&
55203 \8b¡
55204  != 0;
55205
55206 669 
55207 u\9at8_t
55208  
55209 buf
55210 [16];
55211
55212 670 
55213 u\9at8_t
55214  
55215 dsü
55216 [\17(
55217 dbl_v®ue
55218 )];
55219
55220 672 \ 5
55221 as£¹iÚ_bufãr1
55222 [9 - \17(
55223 dbl_v®ue
55224 )] 
55225 CC_NOTUSED
55226 ;
55227
55228 673 \ 5
55229 as£¹iÚ_bufãr2
55230 [\17(
55231 dbl_v®ue
55232 è- 7] 
55233 CC_NOTUSED
55234 ;
55235
55236 674 
55237 u\9at8_t
55238  *
55239 ±r
55240  = 
55241 buf
55242 ;
55243
55244 675 
55245 u\9at8_t
55246  *
55247 m¡Ý
55248 ;
55249
55250 676 \1d\12
55251 mv®
55252 ;
55253
55254 677 \1d\12
55255 bmsign
55256 ;
55257
55258 678 \1d\12
55259 buæ\92
55260 ;
55261
55262 679 \1d\12
55263 accum
55264 ;
55265
55266 680 \12
55267 expv®
55268 ;
55269
55270 682 if(!
55271 ¡
55272 ) {
55273
55274 683 
55275 \94ºo
55276  = 
55277 EINVAL
55278 ;
55279
55280 692 
55281 expv®
55282  = 
55283         `\9eogb
55284 (
55285 dbl_v®ue
55286 );
55287
55288 693 if(
55289 expv®
55290  <ð-
55291 INT_MAX
55292
55293
55294 694 || 
55295 expv®
55296  =ð
55297 INT_MAX
55298
55299
55300 696 if(!
55301 ¡
55302 ->
55303 buf
55304  || st->
55305 size
55306  < 2) {
55307
55308 697 
55309 ±r
55310  = (
55311 u\9at8_t
55312  *)
55313         `MALLOC
55314 (2);
55315
55316 698 if(!
55317 ±r
55318\15 -1;
55319
55320 699 if(
55321 ¡
55322 ->
55323 buf
55324 è
55325         `FREEMEM
55326 (st->buf);
55327
55328 700 
55329 ¡
55330 ->
55331 buf
55332  = 
55333 ±r
55334 ;
55335
55336 703 if(
55337         `a¢_i¢ª
55338 (
55339 dbl_v®ue
55340 )) {
55341
55342 704 
55343 ¡
55344 ->
55345 buf
55346 [0] = 0x42;
55347
55348 705 
55349 ¡
55350 ->
55351 buf
55352 [1] = 0;
55353
55354 706 
55355 ¡
55356 ->
55357 size
55358  = 1;
55359
55360 707 } \vif(!
55361         `a¢_isf\9a\99e
55362 (
55363 dbl_v®ue
55364 )) {
55365
55366 708 if(
55367         `cÝysign
55368 (1.0, 
55369 dbl_v®ue
55370 ) < 0.0) {
55371
55372 709 
55373 ¡
55374 ->
55375 buf
55376 [0] = 0x41;
55377
55378 711 
55379 ¡
55380 ->
55381 buf
55382 [0] = 0x40;
55383
55384 713 
55385 ¡
55386 ->
55387 buf
55388 [1] = 0;
55389
55390 714 
55391 ¡
55392 ->
55393 size
55394  = 1;
55395
55396 716 if(
55397         `cÝysign
55398 (1.0, 
55399 dbl_v®ue
55400 ) >= 0.0) {
55401
55402 718 
55403 ¡
55404 ->
55405 buf
55406 [0] = 0;
55407
55408 719 
55409 ¡
55410 ->
55411 size
55412  = 0;
55413
55414 722 
55415 ¡
55416 ->
55417 buf
55418 [0] = 0x43;
55419
55420 723 
55421 ¡
55422 ->
55423 buf
55424 [1] = 0;
55425
55426 724 
55427 ¡
55428 ->
55429 size
55430  = 1;
55431
55432 730 if(
55433 æßt_big_\92d\9fn
55434 ) {
55435
55436 731 
55437 u\9at8_t
55438  *
55439 s
55440  = ((u\9at8_\88*)&
55441 dbl_v®ue
55442 ) + 1;
55443
55444 732 
55445 u\9at8_t
55446  *
55447 \92d
55448  = ((u\9at8_\88*)&
55449 dbl_v®ue
55450 ) + \17(\b);
55451
55452 733 
55453 u\9at8_t
55454  *
55455 d
55456 ;
55457
55458 735 
55459 bmsign
55460  = 0x80 | ((
55461 s
55462 [-1] >> 1) & 0x40);
55463
55464 736 \ f
55465 m¡Ý
55466  = 
55467 d
55468  = 
55469 dsü
55470
55471 s
55472  < 
55473 \92d
55474 ; d++, s++) {
55475
55476 737 *
55477 d
55478  = *
55479 s
55480 ;
55481
55482 738 if(*
55483 d
55484 è
55485 m¡Ý
55486  = d;
55487
55488 741 
55489 u\9at8_t
55490  *
55491 s
55492  = ((u\9at8_\88*)&
55493 dbl_v®ue
55494 ) + \17(dbl_value) - 2;
55495
55496 742 
55497 u\9at8_t
55498  *
55499 ¡¬t
55500  = ((u\9at8_\88*)&
55501 dbl_v®ue
55502 );
55503
55504 743 
55505 u\9at8_t
55506  *
55507 d
55508 ;
55509
55510 745 
55511 bmsign
55512  = 0x80 | ((
55513 s
55514 [1] >> 1) & 0x40);
55515
55516 746 \ f
55517 m¡Ý
55518  = 
55519 d
55520  = 
55521 dsü
55522
55523 s
55524  >ð
55525 ¡¬t
55526 ; d++, s--) {
55527
55528 747 *
55529 d
55530  = *
55531 s
55532 ;
55533
55534 748 if(*
55535 d
55536 è
55537 m¡Ý
55538  = d;
55539
55540 753 
55541 dsü
55542 [0] = 0x10 | (dscr[0] & 0x0f);
55543
55544 756 
55545 expv®
55546  -ð8 * ((
55547 m¡Ý
55548  - 
55549 dsü
55550 ) + 1) - 4;
55551
55552 759 
55553 mv®
55554  = *
55555 m¡Ý
55556 ;
55557
55558 760 if(
55559 mv®
55560  && !(mval & 1)) {
55561
55562 761 \12
55563 shiá_couÁ
55564  = 1;
55565
55566 762 \12
55567 ishiá
55568 ;
55569
55570 763 
55571 u\9at8_t
55572  *
55573 m±r
55574 ;
55575
55576 768 if(!(
55577 mv®
55578  & 0x0f))
55579
55580 769 
55581 shiá_couÁ
55582  = 4;
55583
55584 770 \1f((
55585 mv®
55586  >> 
55587 shiá_couÁ
55588 ) & 1) == 0)
55589
55590 771 
55591 shiá_couÁ
55592 ++;
55593
55594 773 
55595 ishiá
55596  = 8 - 
55597 shiá_couÁ
55598 ;
55599
55600 774 
55601 accum
55602  = 0;
55603
55604 777 \ f
55605 m±r
55606  = 
55607 dsü
55608 ; m±¸<ð
55609 m¡Ý
55610 ; mptr++) {
55611
55612 778 
55613 mv®
55614  = *
55615 m±r
55616 ;
55617
55618 779 *
55619 m±r
55620  = 
55621 accum
55622  | (
55623 mv®
55624  >> 
55625 shiá_couÁ
55626 );
55627
55628 780 
55629 accum
55630  = 
55631 mv®
55632  << 
55633 ishiá
55634 ;
55635
55636 784 
55637 expv®
55638  +ð
55639 shiá_couÁ
55640 ;
55641
55642 787 if(
55643 expv®
55644  < 0) {
55645
55646 788 if((
55647 expv®
55648  >> 7) == -1) {
55649
55650 789 *
55651 ±r
55652 ++ = 
55653 bmsign
55654  | 0x00;
55655
55656 790 *
55657 ±r
55658 ++ = 
55659 expv®
55660 ;
55661
55662 791 } \vif((
55663 expv®
55664  >> 15) == -1) {
55665
55666 792 *
55667 ±r
55668 ++ = 
55669 bmsign
55670  | 0x01;
55671
55672 793 *
55673 ±r
55674 ++ = 
55675 expv®
55676  >> 8;
55677
55678 794 *
55679 ±r
55680 ++ = 
55681 expv®
55682 ;
55683
55684 796 *
55685 ±r
55686 ++ = 
55687 bmsign
55688  | 0x02;
55689
55690 797 *
55691 ±r
55692 ++ = 
55693 expv®
55694  >> 16;
55695
55696 798 *
55697 ±r
55698 ++ = 
55699 expv®
55700  >> 8;
55701
55702 799 *
55703 ±r
55704 ++ = 
55705 expv®
55706 ;
55707
55708 801 } \vif(
55709 expv®
55710  <= 0x7f) {
55711
55712 802 *
55713 ±r
55714 ++ = 
55715 bmsign
55716  | 0x00;
55717
55718 803 *
55719 ±r
55720 ++ = 
55721 expv®
55722 ;
55723
55724 804 } \vif(
55725 expv®
55726  <= 0x7fff) {
55727
55728 805 *
55729 ±r
55730 ++ = 
55731 bmsign
55732  | 0x01;
55733
55734 806 *
55735 ±r
55736 ++ = 
55737 expv®
55738  >> 8;
55739
55740 807 *
55741 ±r
55742 ++ = 
55743 expv®
55744 ;
55745
55746 809 
55747         `as£¹
55748 (
55749 expv®
55750  <= 0x7fffff);
55751
55752 810 *
55753 ±r
55754 ++ = 
55755 bmsign
55756  | 0x02;
55757
55758 811 *
55759 ±r
55760 ++ = 
55761 expv®
55762  >> 16;
55763
55764 812 *
55765 ±r
55766 ++ = 
55767 expv®
55768  >> 8;
55769
55770 813 *
55771 ±r
55772 ++ = 
55773 expv®
55774 ;
55775
55776 816 
55777 buæ\92
55778  = (
55779 m¡Ý
55780  - 
55781 dsü
55782 ) + 1;
55783
55784 817 
55785         `memýy
55786 (
55787 ±r
55788
55789 dsü
55790
55791 buæ\92
55792 );
55793
55794 818 
55795 ±r
55796  +ð
55797 buæ\92
55798 ;
55799
55800 819 
55801 buæ\92
55802  = 
55803 ±r
55804  - 
55805 buf
55806 ;
55807
55808 821 
55809 ±r
55810  = (
55811 u\9at8_t
55812  *)
55813         `MALLOC
55814 (
55815 buæ\92
55816  + 1);
55817
55818 822 if(!
55819 ±r
55820\15 -1;
55821
55822 824 
55823         `memýy
55824 (
55825 ±r
55826
55827 buf
55828
55829 buæ\92
55830 );
55831
55832 825 
55833 buf
55834 [
55835 buæ\92
55836 ] = 0;
55837
55838 827 if(
55839 ¡
55840 ->
55841 buf
55842 è
55843         `FREEMEM
55844 (st->buf);
55845
55846 828 
55847 ¡
55848 ->
55849 buf
55850  = 
55851 ±r
55852 ;
55853
55854 829 
55855 ¡
55856 ->
55857 size
55858  = 
55859 buæ\92
55860 ;
55861
55862 832 
55863         }
55864 }
55865
55866 834 \12
55867 CC_ATTR_NO_SANITIZE
55868 ("float-cast-overflow")
55869
55870 835 
55871         $a¢_doubË2æßt
55872 (\b
55873 d
55874\ e*
55875 outcome
55876 ) {
55877
55878 836 \ e
55879 f
55880  = 
55881 d
55882 ;
55883
55884 838 *
55885 outcome
55886  = 
55887 f
55888 ;
55889
55890 840 if(
55891         `a¢_isf\9a\99e
55892 (
55893 d
55894 è=ða¢_isf\9a\99e(
55895 f
55896 )) {
55897
55898 845 
55899         }
55900 }
55901
55902 847 #iâdeà
55903 ASN_DISABLE_OER_SUPPORT
55904
55905
55906 852 
55907 a¢_\92c_rv®_t
55908
55909
55910 853 
55911         $REAL_\92code_Ûr
55912 (cڡ 
55913 a¢_TYPE_desü\9dtÜ_t
55914  *
55915 td
55916 ,
55917
55918 854 cڡ 
55919 a¢_Ûr_cÚ¡¿\9ats_t
55920  *
55921 cÚ¡¿\9ats
55922 , cڡ \1e*
55923 ¥\8c
55924 ,
55925
55926 855 
55927 a¢_­p_cÚsume_by\8bs_f
55928  *
55929 cb
55930\1e*
55931 ­p_key
55932 ) {
55933
55934 856 cڡ 
55935 REAL_t
55936  *
55937 ¡
55938  = 
55939 ¥\8c
55940 ;
55941
55942 857 
55943 a¢_\92c_rv®_t
55944  
55945 \94
55946  = {0,0,0};
55947
55948 858 
55949 ssize_t
55950  
55951 Ën_Ën
55952 ;
55953
55954 860 if(!
55955 ¡
55956  || !¡->
55957 buf
55958  || !
55959 td
55960 )
55961
55962 861 
55963 ASN__ENCODE_FAILED
55964 ;
55965
55966 863 if(!
55967 cÚ¡¿\9ats
55968 ècÚ¡¿\9at ð
55969 td
55970 ->
55971 \92cod\9ag_cÚ¡¿\9ats
55972 .
55973 Ûr_cÚ¡¿\9ats
55974 ;
55975
55976 864 if(
55977 cÚ¡¿\9ats
55978  && cÚ¡¿\9ats->
55979 v®ue
55980 .
55981 width
55982  != 0) {
55983
55984 867 
55985 ASN__ENCODE_FAILED
55986 ;
55987
55988 871 
55989 Ën_Ën
55990  = 
55991         `Ûr_£r\9flize_Ëngth
55992 (
55993 ¡
55994 ->
55995 size
55996
55997 cb
55998
55999 ­p_key
56000 );
56001
56002 872 if(
56003 Ën_Ën
56004  < 0 || 
56005         `cb
56006 (
56007 ¡
56008 ->
56009 buf
56010 , st->
56011 size
56012
56013 ­p_key
56014 ) < 0) {
56015
56016 873 
56017 ASN__ENCODE_FAILED
56018 ;
56019
56020 875 
56021 \94
56022 .
56023 \92coded
56024  = 
56025 Ën_Ën
56026  + 
56027 ¡
56028 ->
56029 size
56030 ;
56031
56032 876 
56033         `ASN__ENCODED_OK
56034 (
56035 \94
56036 );
56037
56038 878 
56039         }
56040 }
56041
56042 880 
56043 a¢_dec_rv®_t
56044
56045
56046 881 
56047         $REAL_decode_Ûr
56048 (cڡ 
56049 a¢_codec_ùx_t
56050  *
56051 Ýt_codec_ùx
56052 ,
56053
56054 882 cڡ 
56055 a¢_TYPE_desü\9dtÜ_t
56056  *
56057 td
56058 ,
56059
56060 883 cڡ 
56061 a¢_Ûr_cÚ¡¿\9ats_t
56062  *
56063 cÚ¡¿\9ats
56064\1e**
56065 ¥\8c
56066 ,
56067
56068 884 cڡ \1e*
56069 ±r
56070
56071 size_t
56072  
56073 size
56074 ) {
56075
56076 885 
56077 a¢_dec_rv®_t
56078  
56079 ok
56080  = {
56081 RC_OK
56082 , 0};
56083
56084 886 
56085 REAL_t
56086  *
56087 ¡
56088 ;
56089
56090 887 
56091 u\9at8_t
56092  *
56093 buf
56094 ;
56095
56096 888 
56097 ssize_t
56098  
56099 Ën_Ën
56100 ;
56101
56102 889 
56103 size_t
56104  
56105 »®_body_Ën
56106 ;
56107
56108 891 (\1e)
56109 Ýt_codec_ùx
56110 ;
56111
56112 893 if(!
56113 cÚ¡¿\9ats
56114 ècÚ¡¿\9at ð
56115 td
56116 ->
56117 \92cod\9ag_cÚ¡¿\9ats
56118 .
56119 Ûr_cÚ¡¿\9ats
56120 ;
56121
56122 894 if(
56123 cÚ¡¿\9ats
56124  && cÚ¡¿\9ats->
56125 v®ue
56126 .
56127 width
56128  != 0) {
56129
56130 897 
56131 ASN__DECODE_FAILED
56132 ;
56133
56134 900 
56135 Ën_Ën
56136  = 
56137         `Ûr_ãtch_Ëngth
56138 (
56139 ±r
56140
56141 size
56142 , &
56143 »®_body_Ën
56144 );
56145
56146 901 if(
56147 Ën_Ën
56148  < 0è
56149 ASN__DECODE_FAILED
56150 ;
56151
56152 902 if(
56153 Ën_Ën
56154  =ð0è
56155 ASN__DECODE_STARVED
56156 ;
56157
56158 904 
56159 ±r
56160  = (cÚ¡ \ 5\8c + 
56161 Ën_Ën
56162 ;
56163
56164 905 
56165 size
56166  -ð
56167 Ën_Ën
56168 ;
56169
56170 907 if(
56171 »®_body_Ën
56172  > 
56173 size
56174 è
56175 ASN__DECODE_STARVED
56176 ;
56177
56178 909 
56179 buf
56180  = 
56181         `CALLOC
56182 (1, 
56183 »®_body_Ën
56184  + 1);
56185
56186 910 if(!
56187 buf
56188 è
56189 ASN__DECODE_FAILED
56190 ;
56191
56192 912 if(!(
56193 ¡
56194  = *
56195 ¥\8c
56196 )) {
56197
56198 913 
56199 ¡
56200  = (*
56201 ¥\8c
56202  = 
56203         `CALLOC
56204 (1, \17(
56205 REAL_t
56206 )));
56207
56208 914 if(!
56209 ¡
56210 ) {
56211
56212 915 
56213         `FREEMEM
56214 (
56215 buf
56216 );
56217
56218 916 
56219 ASN__DECODE_FAILED
56220 ;
56221
56222 919 
56223         `FREEMEM
56224 (
56225 ¡
56226 ->
56227 buf
56228 );
56229
56230 922 
56231         `memýy
56232 (
56233 buf
56234
56235 ±r
56236
56237 »®_body_Ën
56238 );
56239
56240 923 
56241 buf
56242 [
56243 »®_body_Ën
56244 ] = '\0';
56245
56246 925 
56247 ¡
56248 ->
56249 buf
56250  = buf;
56251
56252 926 
56253 ¡
56254 ->
56255 size
56256  = 
56257 »®_body_Ën
56258 ;
56259
56260 928 
56261 ok
56262 .
56263 cÚsumed
56264  = 
56265 Ën_Ën
56266  + 
56267 »®_body_Ën
56268 ;
56269
56270 929 \15 
56271 ok
56272 ;
56273
56274 930 
56275         }
56276 }
56277
56278 934 #iâdeà
56279 ASN_DISABLE_PER_SUPPORT
56280
56281
56282 936 
56283 a¢_dec_rv®_t
56284
56285
56286 937 
56287         $REAL_decode_u³r
56288 (cڡ 
56289 a¢_codec_ùx_t
56290  *
56291 Ýt_codec_ùx
56292 ,
56293
56294 938 cڡ 
56295 a¢_TYPE_desü\9dtÜ_t
56296  *
56297 td
56298 ,
56299
56300 939 cڡ 
56301 a¢_³r_cÚ¡¿\9ats_t
56302  *
56303 cÚ¡¿\9ats
56304\1e**
56305 ¥\8c
56306 ,
56307
56308 940 
56309 a¢_³r_d©a_t
56310  *
56311 pd
56312 ) {
56313
56314 941 (\1e)
56315 cÚ¡¿\9ats
56316 ;
56317
56318 942 \15 
56319         `OCTET_STRING_decode_u³r
56320 (
56321 Ýt_codec_ùx
56322
56323 td
56324 , 0, 
56325 ¥\8c
56326
56327 pd
56328 );
56329
56330 943 
56331         }
56332 }
56333
56334 945 
56335 a¢_\92c_rv®_t
56336
56337
56338 946 
56339         $REAL_\92code_u³r
56340 (cڡ 
56341 a¢_TYPE_desü\9dtÜ_t
56342  *
56343 td
56344 ,
56345
56346 947 cڡ 
56347 a¢_³r_cÚ¡¿\9ats_t
56348  *
56349 cÚ¡¿\9ats
56350 , cڡ \1e*
56351 ¥\8c
56352 ,
56353
56354 948 
56355 a¢_³r_ou\8d_t
56356  *
56357 po
56358 ) {
56359
56360 949 (\1e)
56361 cÚ¡¿\9ats
56362 ;
56363
56364 950 \15 
56365         `OCTET_STRING_\92code_u³r
56366 (
56367 td
56368 , 0, 
56369 ¥\8c
56370
56371 po
56372 );
56373
56374 951 
56375         }
56376 }
56377
56378 953 
56379 a¢_dec_rv®_t
56380
56381
56382 954 
56383         $REAL_decode_­\94
56384 (cڡ 
56385 a¢_codec_ùx_t
56386  *
56387 Ýt_codec_ùx
56388 ,
56389
56390 955 cڡ 
56391 a¢_TYPE_desü\9dtÜ_t
56392  *
56393 td
56394 ,
56395
56396 956 cڡ 
56397 a¢_³r_cÚ¡¿\9ats_t
56398  *
56399 cÚ¡¿\9ats
56400 ,
56401
56402 957 \1e**
56403 ¥\8c
56404
56405 a¢_³r_d©a_t
56406  *
56407 pd
56408 ) {
56409
56410 958 (\1e)
56411 cÚ¡¿\9ats
56412 ;
56413
56414 959 \15 
56415         `OCTET_STRING_decode_­\94
56416 (
56417 Ýt_codec_ùx
56418
56419 td
56420 , 0, 
56421 ¥\8c
56422
56423 pd
56424 );
56425
56426 960 
56427         }
56428 }
56429
56430 962 
56431 a¢_\92c_rv®_t
56432
56433
56434 963 
56435         $REAL_\92code_­\94
56436 (cڡ 
56437 a¢_TYPE_desü\9dtÜ_t
56438  *
56439 td
56440 ,
56441
56442 964 cڡ 
56443 a¢_³r_cÚ¡¿\9ats_t
56444  *
56445 cÚ¡¿\9ats
56446 ,
56447
56448 965 cڡ \1e*
56449 ¥\8c
56450
56451 a¢_³r_ou\8d_t
56452  *
56453 po
56454 ) {
56455
56456 966 (\1e)
56457 cÚ¡¿\9ats
56458 ;
56459
56460 967 \15 
56461         `OCTET_STRING_\92code_­\94
56462 (
56463 td
56464 , 0, 
56465 ¥\8c
56466
56467 po
56468 );
56469
56470 968 
56471         }
56472 }
56473
56474 972 
56475 a¢_¿ndom_f\9el_»suÉ_t
56476
56477
56478 973 
56479         $REAL_¿ndom_f\9el
56480 (cڡ 
56481 a¢_TYPE_desü\9dtÜ_t
56482  *
56483 td
56484\1e**
56485 ¥\8c
56486 ,
56487
56488 974 cڡ 
56489 a¢_\92cod\9ag_cÚ¡¿\9ats_t
56490  *
56491 cÚ¡¿\9ats
56492 ,
56493
56494 975 
56495 size_t
56496  
56497 max_Ëngth
56498 ) {
56499
56500 976 
56501 a¢_¿ndom_f\9el_»suÉ_t
56502  
56503 »suÉ_ok
56504  = {
56505 ARFILL_OK
56506 , 1};
56507
56508 977 
56509 a¢_¿ndom_f\9el_»suÉ_t
56510  
56511 »suÉ_ç\9eed
56512  = {
56513 ARFILL_FAILED
56514 , 0};
56515
56516 978 
56517 a¢_¿ndom_f\9el_»suÉ_t
56518  
56519 »suÉ_sk\9d³d
56520  = {
56521 ARFILL_SKIPPED
56522 , 0};
56523
56524 979 \18cڡ \b
56525 v®ues
56526 [] = {
56527
56528 980 0, -0.0, -1, 1, -
56529 M_E
56530 , M_E, -3.14, 3.14, -
56531 M_PI
56532 , M_PI, -255, 255,
56533
56534 987 -
56535 FLT_MIN
56536 , FLT_MIN,
56537
56538 988 -
56539 FLT_MAX
56540 , FLT_MAX,
56541
56542 989 -
56543 DBL_MIN
56544 , DBL_MIN,
56545
56546 990 -
56547 DBL_MAX
56548 , DBL_MAX,
56549
56550 991 #ifdeà 
56551 FLT_TRUE_MIN
56552
56553
56554 992 -
56555 FLT_TRUE_MIN
56556 , FLT_TRUE_MIN,
56557
56558 994 #ifdeà 
56559 DBL_TRUE_MIN
56560
56561
56562 995 -
56563 DBL_TRUE_MIN
56564 , DBL_TRUE_MIN,
56565
56566 997 
56567 INFINITY
56568 , -INFINITY, 
56569 NAN
56570 };
56571
56572 998 
56573 REAL_t
56574  *
56575 ¡
56576 ;
56577
56578 999 \b
56579 d
56580 ;
56581
56582 1001 (\1e)
56583 cÚ¡¿\9ats
56584 ;
56585
56586 1003 if(
56587 max_Ëngth
56588  =ð0è\15 
56589 »suÉ_sk\9d³d
56590 ;
56591
56592 1005 
56593 d
56594  = 
56595 v®ues
56596 [
56597         `a¢_¿ndom_b\91w\93n
56598 (0, \17(values) / \17(values[0]) - 1)];
56599
56600 1007 if(*
56601 ¥\8c
56602 ) {
56603
56604 1008 
56605 ¡
56606  = *
56607 ¥\8c
56608 ;
56609
56610 1010 
56611 ¡
56612  = (
56613 REAL_t
56614 *)(*
56615 ¥\8c
56616  = 
56617         `CALLOC
56618 (1, \17(REAL_t)));
56619
56620 1011 if(!
56621 ¡
56622 ) {
56623
56624 1012 \15 
56625 »suÉ_ç\9eed
56626 ;
56627
56628 1016 if(
56629         `a¢_doubË2REAL
56630 (
56631 ¡
56632
56633 d
56634 )) {
56635
56636 1017 if(
56637 ¡
56638  =ð*
56639 ¥\8c
56640 ) {
56641
56642 1018 
56643         `ASN_STRUCT_RESET
56644 (*
56645 td
56646
56647 ¡
56648 );
56649
56650 1020 
56651         `ASN_STRUCT_FREE
56652 (*
56653 td
56654
56655 ¡
56656 );
56657
56658 1022 \15 
56659 »suÉ_ç\9eed
56660 ;
56661
56662 1025 
56663 »suÉ_ok
56664 .
56665 Ëngth
56666  = 
56667 ¡
56668 ->
56669 size
56670 ;
56671
56672 1026 \15 
56673 »suÉ_ok
56674 ;
56675
56676 1027 
56677         }
56678 }
56679
56680         @RIC-EventTriggerStyle-Item.c
56681
56682\ 2
56683         ~"RIC-Ev\92tTrigg\94StyË-I\8bm.h
56684 "
56685
56686 10 
56687 a¢_TYPE_memb\94_t
56688  
56689         ga¢_MBR_RIC_Ev\92tTrigg\94StyË_I\8bm_1
56690 [] = {
56691
56692 11 { 
56693 ATF_NOFLAGS
56694 , 0, 
56695 off£tof
56696 (\19
56697 RIC_Ev\92tTrigg\94StyË_I\8bm
56698
56699 ric_Ev\92tTrigg\94StyË_Ty³
56700 ),
56701
56702 12 (
56703 ASN_TAG_CLASS_CONTEXT
56704  | (0 << 2)),
56705
56706 14 &
56707 a¢_DEF_RIC_StyË_Ty³
56708 ,
56709
56710 20 { 
56711 ATF_NOFLAGS
56712 , 0, 
56713 off£tof
56714 (\19
56715 RIC_Ev\92tTrigg\94StyË_I\8bm
56716
56717 ric_Ev\92tTrigg\94StyË_Name
56718 ),
56719
56720 21 (
56721 ASN_TAG_CLASS_CONTEXT
56722  | (1 << 2)),
56723
56724 23 &
56725 a¢_DEF_RIC_StyË_Name
56726 ,
56727
56728 29 { 
56729 ATF_NOFLAGS
56730 , 0, 
56731 off£tof
56732 (\19
56733 RIC_Ev\92tTrigg\94StyË_I\8bm
56734
56735 ric_Ev\92tTrigg\94FÜm©_Ty³
56736 ),
56737
56738 30 (
56739 ASN_TAG_CLASS_CONTEXT
56740  | (2 << 2)),
56741
56742 32 &
56743 a¢_DEF_RIC_FÜm©_Ty³
56744 ,
56745
56746 39 \18cڡ 
56747 b\94_\8ev_\8fg_t
56748  
56749         ga¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
56750 [] = {
56751
56752 40 (
56753 ASN_TAG_CLASS_UNIVERSAL
56754  | (16 << 2))
56755
56756 42 \18cڡ 
56757 a¢_TYPE_\8fg2memb\94_t
56758  
56759         ga¢_MAP_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fg2\96_1
56760 [] = {
56761
56762 43 { (
56763 ASN_TAG_CLASS_CONTEXT
56764  | (0 << 2)), 0, 0, 0 },
56765
56766 44 { (
56767 ASN_TAG_CLASS_CONTEXT
56768  | (1 << 2)), 1, 0, 0 },
56769
56770 45 { (
56771 ASN_TAG_CLASS_CONTEXT
56772  | (2 << 2)), 2, 0, 0 }
56773
56774 47 
56775 a¢_SEQUENCE_¥ecifics_t
56776  
56777         ga¢_SPC_RIC_Ev\92tTrigg\94StyË_I\8bm_¥ecs_1
56778  = {
56779
56780 48 \17(\19
56781 RIC_Ev\92tTrigg\94StyË_I\8bm
56782 ),
56783
56784 49 
56785 off£tof
56786 (\19
56787 RIC_Ev\92tTrigg\94StyË_I\8bm
56788
56789 _a¢_ùx
56790 ),
56791
56792 50 
56793 a¢_MAP_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fg2\96_1
56794 ,
56795
56796 55 
56797 a¢_TYPE_desü\9dtÜ_t
56798  
56799         ga¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm
56800  = {
56801
56802 58 &
56803 a¢_OP_SEQUENCE
56804 ,
56805
56806 59 
56807 a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
56808 ,
56809
56810 60 \17(
56811 a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
56812 )
56813
56814 61 /\17(
56815 a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
56816 [0]),
56817
56818 62 
56819 a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
56820 ,
56821
56822 63 \17(
56823 a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
56824 )
56825
56826 64 /\17(
56827 a¢_DEF_RIC_Ev\92tTrigg\94StyË_I\8bm_\8fgs_1
56828 [0]),
56829
56830 65 { 0, 0, 
56831 SEQUENCE_cÚ¡¿\9at
56832  },
56833
56834 66 
56835 a¢_MBR_RIC_Ev\92tTrigg\94StyË_I\8bm_1
56836 ,
56837
56838 68 &
56839 a¢_SPC_RIC_Ev\92tTrigg\94StyË_I\8bm_¥ecs_1
56840
56841
56842         @RIC-Format-Type.c
56843
56844\ 2
56845         ~"RIC-FÜm©-Ty³.h
56846 "
56847
56848 14 \18cڡ 
56849 b\94_\8ev_\8fg_t
56850  
56851         ga¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
56852 [] = {
56853
56854 15 (
56855 ASN_TAG_CLASS_UNIVERSAL
56856  | (2 << 2))
56857
56858 17 
56859 a¢_TYPE_desü\9dtÜ_t
56860  
56861         ga¢_DEF_RIC_FÜm©_Ty³
56862  = {
56863
56864 20 &
56865 a¢_OP_N©iveIÁeg\94
56866 ,
56867
56868 21 
56869 a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
56870 ,
56871
56872 22 \17(
56873 a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
56874 )
56875
56876 23 /\17(
56877 a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
56878 [0]),
56879
56880 24 
56881 a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
56882 ,
56883
56884 25 \17(
56885 a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
56886 )
56887
56888 26 /\17(
56889 a¢_DEF_RIC_FÜm©_Ty³_\8fgs_1
56890 [0]),
56891
56892 27 { 0, 0, 
56893 N©iveIÁeg\94_cÚ¡¿\9at
56894  },
56895
56896         @RIC-ReportStyle-Item.c
56897
56898\ 2
56899         ~"RIC-R\95ÜtStyË-I\8bm.h
56900 "
56901
56902 10 
56903 a¢_TYPE_memb\94_t
56904  
56905         ga¢_MBR_RIC_R\95ÜtStyË_I\8bm_1
56906 [] = {
56907
56908 11 { 
56909 ATF_NOFLAGS
56910 , 0, 
56911 off£tof
56912 (\19
56913 RIC_R\95ÜtStyË_I\8bm
56914
56915 ric_R\95ÜtStyË_Ty³
56916 ),
56917
56918 12 (
56919 ASN_TAG_CLASS_CONTEXT
56920  | (0 << 2)),
56921
56922 14 &
56923 a¢_DEF_RIC_StyË_Ty³
56924 ,
56925
56926 20 { 
56927 ATF_NOFLAGS
56928 , 0, 
56929 off£tof
56930 (\19
56931 RIC_R\95ÜtStyË_I\8bm
56932
56933 ric_R\95ÜtStyË_Name
56934 ),
56935
56936 21 (
56937 ASN_TAG_CLASS_CONTEXT
56938  | (1 << 2)),
56939
56940 23 &
56941 a¢_DEF_RIC_StyË_Name
56942 ,
56943
56944 29 { 
56945 ATF_NOFLAGS
56946 , 0, 
56947 off£tof
56948 (\19
56949 RIC_R\95ÜtStyË_I\8bm
56950
56951 ric_AùiÚFÜm©_Ty³
56952 ),
56953
56954 30 (
56955 ASN_TAG_CLASS_CONTEXT
56956  | (2 << 2)),
56957
56958 32 &
56959 a¢_DEF_RIC_FÜm©_Ty³
56960 ,
56961
56962 38 { 
56963 ATF_NOFLAGS
56964 , 0, 
56965 off£tof
56966 (\19
56967 RIC_R\95ÜtStyË_I\8bm
56968
56969 m\97sInfo_AùiÚ_Li¡
56970 ),
56971
56972 39 (
56973 ASN_TAG_CLASS_CONTEXT
56974  | (3 << 2)),
56975
56976 41 &
56977 a¢_DEF_M\97su»m\92tInfo_AùiÚ_Li¡
56978 ,
56979
56980 47 { 
56981 ATF_NOFLAGS
56982 , 0, 
56983 off£tof
56984 (\19
56985 RIC_R\95ÜtStyË_I\8bm
56986
56987 ric_IndiÿtiÚH\97d\94FÜm©_Ty³
56988 ),
56989
56990 48 (
56991 ASN_TAG_CLASS_CONTEXT
56992  | (4 << 2)),
56993
56994 50 &
56995 a¢_DEF_RIC_FÜm©_Ty³
56996 ,
56997
56998 56 { 
56999 ATF_NOFLAGS
57000 , 0, 
57001 off£tof
57002 (\19
57003 RIC_R\95ÜtStyË_I\8bm
57004
57005 ric_IndiÿtiÚMes§geFÜm©_Ty³
57006 ),
57007
57008 57 (
57009 ASN_TAG_CLASS_CONTEXT
57010  | (5 << 2)),
57011
57012 59 &
57013 a¢_DEF_RIC_FÜm©_Ty³
57014 ,
57015
57016 66 \18cڡ 
57017 b\94_\8ev_\8fg_t
57018  
57019         ga¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
57020 [] = {
57021
57022 67 (
57023 ASN_TAG_CLASS_UNIVERSAL
57024  | (16 << 2))
57025
57026 69 \18cڡ 
57027 a¢_TYPE_\8fg2memb\94_t
57028  
57029         ga¢_MAP_RIC_R\95ÜtStyË_I\8bm_\8fg2\96_1
57030 [] = {
57031
57032 70 { (
57033 ASN_TAG_CLASS_CONTEXT
57034  | (0 << 2)), 0, 0, 0 },
57035
57036 71 { (
57037 ASN_TAG_CLASS_CONTEXT
57038  | (1 << 2)), 1, 0, 0 },
57039
57040 72 { (
57041 ASN_TAG_CLASS_CONTEXT
57042  | (2 << 2)), 2, 0, 0 },
57043
57044 73 { (
57045 ASN_TAG_CLASS_CONTEXT
57046  | (3 << 2)), 3, 0, 0 },
57047
57048 74 { (
57049 ASN_TAG_CLASS_CONTEXT
57050  | (4 << 2)), 4, 0, 0 },
57051
57052 75 { (
57053 ASN_TAG_CLASS_CONTEXT
57054  | (5 << 2)), 5, 0, 0 }
57055
57056 77 
57057 a¢_SEQUENCE_¥ecifics_t
57058  
57059         ga¢_SPC_RIC_R\95ÜtStyË_I\8bm_¥ecs_1
57060  = {
57061
57062 78 \17(\19
57063 RIC_R\95ÜtStyË_I\8bm
57064 ),
57065
57066 79 
57067 off£tof
57068 (\19
57069 RIC_R\95ÜtStyË_I\8bm
57070
57071 _a¢_ùx
57072 ),
57073
57074 80 
57075 a¢_MAP_RIC_R\95ÜtStyË_I\8bm_\8fg2\96_1
57076 ,
57077
57078 85 
57079 a¢_TYPE_desü\9dtÜ_t
57080  
57081         ga¢_DEF_RIC_R\95ÜtStyË_I\8bm
57082  = {
57083
57084 88 &
57085 a¢_OP_SEQUENCE
57086 ,
57087
57088 89 
57089 a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
57090 ,
57091
57092 90 \17(
57093 a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
57094 )
57095
57096 91 /\17(
57097 a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
57098 [0]),
57099
57100 92 
57101 a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
57102 ,
57103
57104 93 \17(
57105 a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
57106 )
57107
57108 94 /\17(
57109 a¢_DEF_RIC_R\95ÜtStyË_I\8bm_\8fgs_1
57110 [0]),
57111
57112 95 { 0, 0, 
57113 SEQUENCE_cÚ¡¿\9at
57114  },
57115
57116 96 
57117 a¢_MBR_RIC_R\95ÜtStyË_I\8bm_1
57118 ,
57119
57120 98 &
57121 a¢_SPC_RIC_R\95ÜtStyË_I\8bm_¥ecs_1
57122
57123
57124         @RIC-Style-Name.c
57125
57126\ 2
57127         ~"RIC-StyË-Name.h
57128 "
57129
57130 10 \18cڡ \12
57131         g³rm\99\8bd_®phab\91_\8fbË_1
57132 [256] = {
57133
57134 20 \18cڡ \12
57135         g³rm\99\8bd_®phab\91_code2v®ue_1
57136 [74] = {
57137
57138 28 \18\12
57139         $check_³rm\99\8bd_®phab\91_1
57140 (cڡ \1e*
57141 ¥\8c
57142 ) {
57143
57144 29 cڡ \12*
57145 \8f
57146  = 
57147 ³rm\99\8bd_®phab\91_\8fbË_1
57148 ;
57149
57150 31 cڡ 
57151 Pr\9a\8fbËS\8c\9ag_t
57152  *
57153 ¡
57154  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
57155 ¥\8c
57156 ;
57157
57158 32 cڡ 
57159 u\9at8_t
57160  *
57161 ch
57162  = 
57163 ¡
57164 ->
57165 buf
57166 ;
57167
57168 33 cڡ 
57169 u\9at8_t
57170  *
57171 \92d
57172  = 
57173 ch
57174  + 
57175 ¡
57176 ->
57177 size
57178 ;
57179
57180 35 \ f
57181 ch
57182  < 
57183 \92d
57184 ; ch++) {
57185
57186 36 
57187 u\9at8_t
57188  
57189 cv
57190  = *
57191 ch
57192 ;
57193
57194 37 if(!
57195 \8f
57196 [
57197 cv
57198 ]) \15 -1;
57199
57200 40 
57201         }
57202 }
57203
57204 43 
57205         $RIC_StyË_Name_cÚ¡¿\9at
57206 (cڡ 
57207 a¢_TYPE_desü\9dtÜ_t
57208  *
57209 td
57210 , cڡ \1e*
57211 ¥\8c
57212 ,
57213
57214 44 
57215 a¢_­p_cÚ¡¿\9at_ç\9eed_f
57216  *
57217 ùç\9ecb
57218\1e*
57219 ­p_key
57220 ) {
57221
57222 45 cڡ 
57223 Pr\9a\8fbËS\8c\9ag_t
57224  *
57225 ¡
57226  = (cÚ¡ Pr\9a\8fbËS\8c\9ag_\88*)
57227 ¥\8c
57228 ;
57229
57230 46 
57231 size_t
57232  
57233 size
57234 ;
57235
57236 48 if(!
57237 ¥\8c
57238 ) {
57239
57240 49 
57241         `ASN__CTFAIL
57242 (
57243 ­p_key
57244
57245 td
57246
57247 ¥\8c
57248 ,
57249
57250 51 
57251 td
57252 ->
57253 Çme
57254
57255 __FILE__
57256
57257 __LINE__
57258 );
57259
57260 55 
57261 size
57262  = 
57263 ¡
57264 ->size;
57265
57266 57 if((
57267 size
57268  >= 1 && size <= 150)
57269
57270 58 && !
57271         `check_³rm\99\8bd_®phab\91_1
57272 (
57273 ¡
57274 )) {
57275
57276 62 
57277         `ASN__CTFAIL
57278 (
57279 ­p_key
57280
57281 td
57282
57283 ¥\8c
57284 ,
57285
57286 64 
57287 td
57288 ->
57289 Çme
57290
57291 __FILE__
57292
57293 __LINE__
57294 );
57295
57296 67 
57297         }
57298 }
57299
57300 69 \18\12
57301         $a¢_PER_MAP_RIC_StyË_Name_1_v2c
57302 (\1d\12
57303 v®ue
57304 ) {
57305
57306 70 if(
57307 v®ue
57308  >ð\17(
57309 ³rm\99\8bd_®phab\91_\8fbË_1
57310 )/\17(permitted_alphabet_table_1[0]))
57311
57312 72 \15 
57313 ³rm\99\8bd_®phab\91_\8fbË_1
57314 [
57315 v®ue
57316 ] - 1;
57317
57318 73 
57319         }
57320 }
57321
57322 74 \18\12
57323         $a¢_PER_MAP_RIC_StyË_Name_1_c2v
57324 (\1d\12
57325 code
57326 ) {
57327
57328 75 if(
57329 code
57330  >ð\17(
57331 ³rm\99\8bd_®phab\91_code2v®ue_1
57332 )/\17(permitted_alphabet_code2value_1[0]))
57333
57334 77 \15 
57335 ³rm\99\8bd_®phab\91_code2v®ue_1
57336 [
57337 code
57338 ];
57339
57340 78 
57341         }
57342 }
57343
57344 83 
57345 a¢_³r_cÚ¡¿\9ats_t
57346  
57347 a¢_PER_ty³_RIC_StyË_Name_cÚ¡r_1
57348  
57349         gCC_NOTUSED
57350  = {
57351
57352 84 { 
57353 APC_CONSTRAINED
57354 , 7, 7, 32, 122 } ,
57355
57356 85 { 
57357 APC_CONSTRAINED
57358  | 
57359 APC_EXTENSIBLE
57360 , 8, 8, 1, 150 } ,
57361
57362 86 
57363 a¢_PER_MAP_RIC_StyË_Name_1_v2c
57364 ,
57365
57366 87 
57367 a¢_PER_MAP_RIC_StyË_Name_1_c2v
57368
57369
57370 89 \18cڡ 
57371 b\94_\8ev_\8fg_t
57372  
57373         ga¢_DEF_RIC_StyË_Name_\8fgs_1
57374 [] = {
57375
57376 90 (
57377 ASN_TAG_CLASS_UNIVERSAL
57378  | (19 << 2))
57379
57380 92 
57381 a¢_TYPE_desü\9dtÜ_t
57382  
57383         ga¢_DEF_RIC_StyË_Name
57384  = {
57385
57386 95 &
57387 a¢_OP_Pr\9a\8fbËS\8c\9ag
57388 ,
57389
57390 96 
57391 a¢_DEF_RIC_StyË_Name_\8fgs_1
57392 ,
57393
57394 97 \17(
57395 a¢_DEF_RIC_StyË_Name_\8fgs_1
57396 )
57397
57398 98 /\17(
57399 a¢_DEF_RIC_StyË_Name_\8fgs_1
57400 [0]),
57401
57402 99 
57403 a¢_DEF_RIC_StyË_Name_\8fgs_1
57404 ,
57405
57406 100 \17(
57407 a¢_DEF_RIC_StyË_Name_\8fgs_1
57408 )
57409
57410 101 /\17(
57411 a¢_DEF_RIC_StyË_Name_\8fgs_1
57412 [0]),
57413
57414 102 { 0, &
57415 a¢_PER_ty³_RIC_StyË_Name_cÚ¡r_1
57416
57417 RIC_StyË_Name_cÚ¡¿\9at
57418  },
57419
57420         @RIC-Style-Type.c
57421
57422\ 2
57423         ~"RIC-StyË-Ty³.h
57424 "
57425
57426 14 \18cڡ 
57427 b\94_\8ev_\8fg_t
57428  
57429         ga¢_DEF_RIC_StyË_Ty³_\8fgs_1
57430 [] = {
57431
57432 15 (
57433 ASN_TAG_CLASS_UNIVERSAL
57434  | (2 << 2))
57435
57436 17 
57437 a¢_TYPE_desü\9dtÜ_t
57438  
57439         ga¢_DEF_RIC_StyË_Ty³
57440  = {
57441
57442 20 &
57443 a¢_OP_N©iveIÁeg\94
57444 ,
57445
57446 21 
57447 a¢_DEF_RIC_StyË_Ty³_\8fgs_1
57448 ,
57449
57450 22 \17(
57451 a¢_DEF_RIC_StyË_Ty³_\8fgs_1
57452 )
57453
57454 23 /\17(
57455 a¢_DEF_RIC_StyË_Ty³_\8fgs_1
57456 [0]),
57457
57458 24 
57459 a¢_DEF_RIC_StyË_Ty³_\8fgs_1
57460 ,
57461
57462 25 \17(
57463 a¢_DEF_RIC_StyË_Ty³_\8fgs_1
57464 )
57465
57466 26 /\17(
57467 a¢_DEF_RIC_StyË_Ty³_\8fgs_1
57468 [0]),
57469
57470 27 { 0, 0, 
57471 N©iveIÁeg\94_cÚ¡¿\9at
57472  },
57473
57474         @RRC-MessageID.c
57475
57476\ 2
57477         ~"RRC-Mes§geID.h
57478 "
57479
57480 10 \18
57481 a¢_³r_cÚ¡¿\9ats_t
57482  
57483 a¢_PER_ty³_¼cTy³_cÚ¡r_2
57484  
57485         gCC_NOTUSED
57486  = {
57487
57488 11 { 
57489 APC_CONSTRAINED
57490  | 
57491 APC_EXTENSIBLE
57492 , 1, 1, 0, 1 } ,
57493
57494 12 { 
57495 APC_UNCONSTRAINED
57496 , -1, -1, 0, 0 },
57497
57498 15 \18
57499 a¢_TYPE_memb\94_t
57500  
57501         ga¢_MBR_¼cTy³_2
57502 [] = {
57503
57504 16 { 
57505 ATF_NOFLAGS
57506 , 0, 
57507 off£tof
57508 (\19
57509 RRC_Mes§geID__¼cTy³
57510
57511 choiû
57512 .
57513 lTE
57514 ),
57515
57516 17 (
57517 ASN_TAG_CLASS_CONTEXT
57518  | (0 << 2)),
57519
57520 19 &
57521 a¢_DEF_RRCþass_LTE
57522 ,
57523
57524 25 { 
57525 ATF_NOFLAGS
57526 , 0, 
57527 off£tof
57528 (\19
57529 RRC_Mes§geID__¼cTy³
57530
57531 choiû
57532 .
57533 nR
57534 ),
57535
57536 26 (
57537 ASN_TAG_CLASS_CONTEXT
57538  | (1 << 2)),
57539
57540 28 &
57541 a¢_DEF_RRCþass_NR
57542 ,
57543
57544 35 \18cڡ 
57545 a¢_TYPE_\8fg2memb\94_t
57546  
57547         ga¢_MAP_¼cTy³_\8fg2\96_2
57548 [] = {
57549
57550 36 { (
57551 ASN_TAG_CLASS_CONTEXT
57552  | (0 << 2)), 0, 0, 0 },
57553
57554 37 { (
57555 ASN_TAG_CLASS_CONTEXT
57556  | (1 << 2)), 1, 0, 0 }
57557
57558 39 \18
57559 a¢_CHOICE_¥ecifics_t
57560  
57561         ga¢_SPC_¼cTy³_¥ecs_2
57562  = {
57563
57564 40 \17(\19
57565 RRC_Mes§geID__¼cTy³
57566 ),
57567
57568 41 
57569 off£tof
57570 (\19
57571 RRC_Mes§geID__¼cTy³
57572
57573 _a¢_ùx
57574 ),
57575
57576 42 
57577 off£tof
57578 (\19
57579 RRC_Mes§geID__¼cTy³
57580
57581 ´e£Á
57582 ),
57583
57584 43 \17(((\19
57585 RRC_Mes§geID__¼cTy³
57586  *)0)->
57587 ´e£Á
57588 ),
57589
57590 44 
57591 a¢_MAP_¼cTy³_\8fg2\96_2
57592 ,
57593
57594 50 
57595 a¢_TYPE_desü\9dtÜ_t
57596  
57597         ga¢_DEF_¼cTy³_2
57598  = {
57599
57600 53 &
57601 a¢_OP_CHOICE
57602 ,
57603
57604 58 { 0, &
57605 a¢_PER_ty³_¼cTy³_cÚ¡r_2
57606
57607 CHOICE_cÚ¡¿\9at
57608  },
57609
57610 59 
57611 a¢_MBR_¼cTy³_2
57612 ,
57613
57614 61 &
57615 a¢_SPC_¼cTy³_¥ecs_2
57616
57617
57618 64 \18
57619 a¢_TYPE_memb\94_t
57620  
57621         ga¢_MBR_RRC_Mes§geID_1
57622 [] = {
57623
57624 65 { 
57625 ATF_NOFLAGS
57626 , 0, 
57627 off£tof
57628 (\19
57629 RRC_Mes§geID
57630
57631 ¼cTy³
57632 ),
57633
57634 66 (
57635 ASN_TAG_CLASS_CONTEXT
57636  | (0 << 2)),
57637
57638 68 &
57639 a¢_DEF_¼cTy³_2
57640 ,
57641
57642 74 { 
57643 ATF_NOFLAGS
57644 , 0, 
57645 off£tof
57646 (\19
57647 RRC_Mes§geID
57648
57649 mes§geID
57650 ),
57651
57652 75 (
57653 ASN_TAG_CLASS_CONTEXT
57654  | (1 << 2)),
57655
57656 77 &
57657 a¢_DEF_N©iveIÁeg\94
57658 ,
57659
57660 84 \18cڡ 
57661 b\94_\8ev_\8fg_t
57662  
57663         ga¢_DEF_RRC_Mes§geID_\8fgs_1
57664 [] = {
57665
57666 85 (
57667 ASN_TAG_CLASS_UNIVERSAL
57668  | (16 << 2))
57669
57670 87 \18cڡ 
57671 a¢_TYPE_\8fg2memb\94_t
57672  
57673         ga¢_MAP_RRC_Mes§geID_\8fg2\96_1
57674 [] = {
57675
57676 88 { (
57677 ASN_TAG_CLASS_CONTEXT
57678  | (0 << 2)), 0, 0, 0 },
57679
57680 89 { (
57681 ASN_TAG_CLASS_CONTEXT
57682  | (1 << 2)), 1, 0, 0 }
57683
57684 91 \18
57685 a¢_SEQUENCE_¥ecifics_t
57686  
57687         ga¢_SPC_RRC_Mes§geID_¥ecs_1
57688  = {
57689
57690 92 \17(\19
57691 RRC_Mes§geID
57692 ),
57693
57694 93 
57695 off£tof
57696 (\19
57697 RRC_Mes§geID
57698
57699 _a¢_ùx
57700 ),
57701
57702 94 
57703 a¢_MAP_RRC_Mes§geID_\8fg2\96_1
57704 ,
57705
57706 99 
57707 a¢_TYPE_desü\9dtÜ_t
57708  
57709         ga¢_DEF_RRC_Mes§geID
57710  = {
57711
57712 102 &
57713 a¢_OP_SEQUENCE
57714 ,
57715
57716 103 
57717 a¢_DEF_RRC_Mes§geID_\8fgs_1
57718 ,
57719
57720 104 \17(
57721 a¢_DEF_RRC_Mes§geID_\8fgs_1
57722 )
57723
57724 105 /\17(
57725 a¢_DEF_RRC_Mes§geID_\8fgs_1
57726 [0]),
57727
57728 106 
57729 a¢_DEF_RRC_Mes§geID_\8fgs_1
57730 ,
57731
57732 107 \17(
57733 a¢_DEF_RRC_Mes§geID_\8fgs_1
57734 )
57735
57736 108 /\17(
57737 a¢_DEF_RRC_Mes§geID_\8fgs_1
57738 [0]),
57739
57740 109 { 0, 0, 
57741 SEQUENCE_cÚ¡¿\9at
57742  },
57743
57744 110 
57745 a¢_MBR_RRC_Mes§geID_1
57746 ,
57747
57748 112 &
57749 a¢_SPC_RRC_Mes§geID_¥ecs_1
57750
57751
57752         @RRCclass-LTE.c
57753
57754\ 2
57755         ~"RRCþass-LTE.h
57756 "
57757
57758 14 
57759 a¢_³r_cÚ¡¿\9ats_t
57760  
57761 a¢_PER_ty³_RRCþass_LTE_cÚ¡r_1
57762  
57763         gCC_NOTUSED
57764  = {
57765
57766 15 { 
57767 APC_CONSTRAINED
57768  | 
57769 APC_EXTENSIBLE
57770 , 4, 4, 0, 11 } ,
57771
57772 16 { 
57773 APC_UNCONSTRAINED
57774 , -1, -1, 0, 0 },
57775
57776 19 \18cڡ 
57777 a¢_INTEGER_\92um_m­_t
57778  
57779         ga¢_MAP_RRCþass_LTE_v®ue2\92um_1
57780 [] = {
57781
57782 34 \18cڡ \1d\12
57783         ga¢_MAP_RRCþass_LTE_\92um2v®ue_1
57784 [] = {
57785
57786 49 cڡ 
57787 a¢_INTEGER_¥ecifics_t
57788  
57789         ga¢_SPC_RRCþass_LTE_¥ecs_1
57790  = {
57791
57792 50 
57793 a¢_MAP_RRCþass_LTE_v®ue2\92um_1
57794 ,
57795
57796 51 
57797 a¢_MAP_RRCþass_LTE_\92um2v®ue_1
57798 ,
57799
57800 58 \18cڡ 
57801 b\94_\8ev_\8fg_t
57802  
57803         ga¢_DEF_RRCþass_LTE_\8fgs_1
57804 [] = {
57805
57806 59 (
57807 ASN_TAG_CLASS_UNIVERSAL
57808  | (10 << 2))
57809
57810 61 
57811 a¢_TYPE_desü\9dtÜ_t
57812  
57813         ga¢_DEF_RRCþass_LTE
57814  = {
57815
57816 64 &
57817 a¢_OP_N©iveEnum\94©ed
57818 ,
57819
57820 65 
57821 a¢_DEF_RRCþass_LTE_\8fgs_1
57822 ,
57823
57824 66 \17(
57825 a¢_DEF_RRCþass_LTE_\8fgs_1
57826 )
57827
57828 67 /\17(
57829 a¢_DEF_RRCþass_LTE_\8fgs_1
57830 [0]),
57831
57832 68 
57833 a¢_DEF_RRCþass_LTE_\8fgs_1
57834 ,
57835
57836 69 \17(
57837 a¢_DEF_RRCþass_LTE_\8fgs_1
57838 )
57839
57840 70 /\17(
57841 a¢_DEF_RRCþass_LTE_\8fgs_1
57842 [0]),
57843
57844 71 { 0, &
57845 a¢_PER_ty³_RRCþass_LTE_cÚ¡r_1
57846
57847 N©iveEnum\94©ed_cÚ¡¿\9at
57848  },
57849
57850 73 &
57851 a¢_SPC_RRCþass_LTE_¥ecs_1
57852
57853
57854         @RRCclass-NR.c
57855
57856\ 2
57857         ~"RRCþass-NR.h
57858 "
57859
57860 14 
57861 a¢_³r_cÚ¡¿\9ats_t
57862  
57863 a¢_PER_ty³_RRCþass_NR_cÚ¡r_1
57864  
57865         gCC_NOTUSED
57866  = {
57867
57868 15 { 
57869 APC_CONSTRAINED
57870  | 
57871 APC_EXTENSIBLE
57872 , 3, 3, 0, 7 } ,
57873
57874 16 { 
57875 APC_UNCONSTRAINED
57876 , -1, -1, 0, 0 },
57877
57878 19 \18cڡ 
57879 a¢_INTEGER_\92um_m­_t
57880  
57881         ga¢_MAP_RRCþass_NR_v®ue2\92um_1
57882 [] = {
57883
57884 30 \18cڡ \1d\12
57885         ga¢_MAP_RRCþass_NR_\92um2v®ue_1
57886 [] = {
57887
57888 41 cڡ 
57889 a¢_INTEGER_¥ecifics_t
57890  
57891         ga¢_SPC_RRCþass_NR_¥ecs_1
57892  = {
57893
57894 42 
57895 a¢_MAP_RRCþass_NR_v®ue2\92um_1
57896 ,
57897
57898 43 
57899 a¢_MAP_RRCþass_NR_\92um2v®ue_1
57900 ,
57901
57902 50 \18cڡ 
57903 b\94_\8ev_\8fg_t
57904  
57905         ga¢_DEF_RRCþass_NR_\8fgs_1
57906 [] = {
57907
57908 51 (
57909 ASN_TAG_CLASS_UNIVERSAL
57910  | (10 << 2))
57911
57912 53 
57913 a¢_TYPE_desü\9dtÜ_t
57914  
57915         ga¢_DEF_RRCþass_NR
57916  = {
57917
57918 56 &
57919 a¢_OP_N©iveEnum\94©ed
57920 ,
57921
57922 57 
57923 a¢_DEF_RRCþass_NR_\8fgs_1
57924 ,
57925
57926 58 \17(
57927 a¢_DEF_RRCþass_NR_\8fgs_1
57928 )
57929
57930 59 /\17(
57931 a¢_DEF_RRCþass_NR_\8fgs_1
57932 [0]),
57933
57934 60 
57935 a¢_DEF_RRCþass_NR_\8fgs_1
57936 ,
57937
57938 61 \17(
57939 a¢_DEF_RRCþass_NR_\8fgs_1
57940 )
57941
57942 62 /\17(
57943 a¢_DEF_RRCþass_NR_\8fgs_1
57944 [0]),
57945
57946 63 { 0, &
57947 a¢_PER_ty³_RRCþass_NR_cÚ¡r_1
57948
57949 N©iveEnum\94©ed_cÚ¡¿\9at
57950  },
57951
57952 65 &
57953 a¢_SPC_RRCþass_NR_¥ecs_1
57954
57955
57956         @S-NSSAI.c
57957
57958\ 2
57959         ~"S-NSSAI.h
57960 "
57961
57962 10 
57963 a¢_TYPE_memb\94_t
57964  
57965         ga¢_MBR_S_NSSAI_1
57966 [] = {
57967
57968 11 { 
57969 ATF_NOFLAGS
57970 , 0, 
57971 off£tof
57972 (\19
57973 S_NSSAI
57974
57975 sST
57976 ),
57977
57978 12 (
57979 ASN_TAG_CLASS_CONTEXT
57980  | (0 << 2)),
57981
57982 14 &
57983 a¢_DEF_SST
57984 ,
57985
57986 20 { 
57987 ATF_POINTER
57988 , 1, 
57989 off£tof
57990 (\19
57991 S_NSSAI
57992
57993 sD
57994 ),
57995
57996 21 (
57997 ASN_TAG_CLASS_CONTEXT
57998  | (1 << 2)),
57999
58000 23 &
58001 a¢_DEF_SD
58002 ,
58003
58004 30 \18cڡ \12
58005         ga¢_MAP_S_NSSAI_oms_1
58006 [] = { 1 };
58007
58008 31 \18cڡ 
58009 b\94_\8ev_\8fg_t
58010  
58011         ga¢_DEF_S_NSSAI_\8fgs_1
58012 [] = {
58013
58014 32 (
58015 ASN_TAG_CLASS_UNIVERSAL
58016  | (16 << 2))
58017
58018 34 \18cڡ 
58019 a¢_TYPE_\8fg2memb\94_t
58020  
58021         ga¢_MAP_S_NSSAI_\8fg2\96_1
58022 [] = {
58023
58024 35 { (
58025 ASN_TAG_CLASS_CONTEXT
58026  | (0 << 2)), 0, 0, 0 },
58027
58028 36 { (
58029 ASN_TAG_CLASS_CONTEXT
58030  | (1 << 2)), 1, 0, 0 }
58031
58032 38 
58033 a¢_SEQUENCE_¥ecifics_t
58034  
58035         ga¢_SPC_S_NSSAI_¥ecs_1
58036  = {
58037
58038 39 \17(\19
58039 S_NSSAI
58040 ),
58041
58042 40 
58043 off£tof
58044 (\19
58045 S_NSSAI
58046
58047 _a¢_ùx
58048 ),
58049
58050 41 
58051 a¢_MAP_S_NSSAI_\8fg2\96_1
58052 ,
58053
58054 43 
58055 a¢_MAP_S_NSSAI_oms_1
58056 ,
58057
58058 47 
58059 a¢_TYPE_desü\9dtÜ_t
58060  
58061         ga¢_DEF_S_NSSAI
58062  = {
58063
58064 50 &
58065 a¢_OP_SEQUENCE
58066 ,
58067
58068 51 
58069 a¢_DEF_S_NSSAI_\8fgs_1
58070 ,
58071
58072 52 \17(
58073 a¢_DEF_S_NSSAI_\8fgs_1
58074 )
58075
58076 53 /\17(
58077 a¢_DEF_S_NSSAI_\8fgs_1
58078 [0]),
58079
58080 54 
58081 a¢_DEF_S_NSSAI_\8fgs_1
58082 ,
58083
58084 55 \17(
58085 a¢_DEF_S_NSSAI_\8fgs_1
58086 )
58087
58088 56 /\17(
58089 a¢_DEF_S_NSSAI_\8fgs_1
58090 [0]),
58091
58092 57 { 0, 0, 
58093 SEQUENCE_cÚ¡¿\9at
58094  },
58095
58096 58 
58097 a¢_MBR_S_NSSAI_1
58098 ,
58099
58100 60 &
58101 a¢_SPC_S_NSSAI_¥ecs_1
58102
58103
58104         @SD.c
58105
58106\ 2
58107         ~"SD.h
58108 "
58109
58110 11 
58111         $SD_cÚ¡¿\9at
58112 (cڡ 
58113 a¢_TYPE_desü\9dtÜ_t
58114  *
58115 td
58116 , cڡ \1e*
58117 ¥\8c
58118 ,
58119
58120 12 
58121 a¢_­p_cÚ¡¿\9at_ç\9eed_f
58122  *
58123 ùç\9ecb
58124\1e*
58125 ­p_key
58126 ) {
58127
58128 13 cڡ 
58129 OCTET_STRING_t
58130  *
58131 ¡
58132  = (cÚ¡ OCTET_STRING_\88*)
58133 ¥\8c
58134 ;
58135
58136 14 
58137 size_t
58138  
58139 size
58140 ;
58141
58142 16 if(!
58143 ¥\8c
58144 ) {
58145
58146 17 
58147         `ASN__CTFAIL
58148 (
58149 ­p_key
58150
58151 td
58152
58153 ¥\8c
58154 ,
58155
58156 19 
58157 td
58158 ->
58159 Çme
58160
58161 __FILE__
58162
58163 __LINE__
58164 );
58165
58166 23 
58167 size
58168  = 
58169 ¡
58170 ->size;
58171
58172 25 if((
58173 size
58174  == 3)) {
58175
58176 29 
58177         `ASN__CTFAIL
58178 (
58179 ­p_key
58180
58181 td
58182
58183 ¥\8c
58184 ,
58185
58186 31 
58187 td
58188 ->
58189 Çme
58190
58191 __FILE__
58192
58193 __LINE__
58194 );
58195
58196 34 
58197         }
58198 }
58199
58200 40 
58201 a¢_³r_cÚ¡¿\9ats_t
58202  
58203 a¢_PER_ty³_SD_cÚ¡r_1
58204  
58205         gCC_NOTUSED
58206  = {
58207
58208 41 { 
58209 APC_UNCONSTRAINED
58210 , -1, -1, 0, 0 },
58211
58212 42 { 
58213 APC_CONSTRAINED
58214 , 0, 0, 3, 3 } ,
58215
58216 45 \18cڡ 
58217 b\94_\8ev_\8fg_t
58218  
58219         ga¢_DEF_SD_\8fgs_1
58220 [] = {
58221
58222 46 (
58223 ASN_TAG_CLASS_UNIVERSAL
58224  | (4 << 2))
58225
58226 48 
58227 a¢_TYPE_desü\9dtÜ_t
58228  
58229         ga¢_DEF_SD
58230  = {
58231
58232 51 &
58233 a¢_OP_OCTET_STRING
58234 ,
58235
58236 52 
58237 a¢_DEF_SD_\8fgs_1
58238 ,
58239
58240 53 \17(
58241 a¢_DEF_SD_\8fgs_1
58242 )
58243
58244 54 /\17(
58245 a¢_DEF_SD_\8fgs_1
58246 [0]),
58247
58248 55 
58249 a¢_DEF_SD_\8fgs_1
58250 ,
58251
58252 56 \17(
58253 a¢_DEF_SD_\8fgs_1
58254 )
58255
58256 57 /\17(
58257 a¢_DEF_SD_\8fgs_1
58258 [0]),
58259
58260 58 { 0, &
58261 a¢_PER_ty³_SD_cÚ¡r_1
58262
58263 SD_cÚ¡¿\9at
58264  },
58265
58266 60 &
58267 a¢_SPC_OCTET_STRING_¥ecs
58268
58269
58270         @SST.c
58271
58272\ 2
58273         ~"SST.h
58274 "
58275
58276 11 
58277         $SST_cÚ¡¿\9at
58278 (cڡ 
58279 a¢_TYPE_desü\9dtÜ_t
58280  *
58281 td
58282 , cڡ \1e*
58283 ¥\8c
58284 ,
58285
58286 12 
58287 a¢_­p_cÚ¡¿\9at_ç\9eed_f
58288  *
58289 ùç\9ecb
58290\1e*
58291 ­p_key
58292 ) {
58293
58294 13 cڡ 
58295 OCTET_STRING_t
58296  *
58297 ¡
58298  = (cÚ¡ OCTET_STRING_\88*)
58299 ¥\8c
58300 ;
58301
58302 14 
58303 size_t
58304  
58305 size
58306 ;
58307
58308 16 if(!
58309 ¥\8c
58310 ) {
58311
58312 17 
58313         `ASN__CTFAIL
58314 (
58315 ­p_key
58316
58317 td
58318
58319 ¥\8c
58320 ,
58321
58322 19 
58323 td
58324 ->
58325 Çme
58326
58327 __FILE__
58328
58329 __LINE__
58330 );
58331
58332 23 
58333 size
58334  = 
58335 ¡
58336 ->size;
58337
58338 25 if((
58339 size
58340  == 1)) {
58341
58342 29 
58343         `ASN__CTFAIL
58344 (
58345 ­p_key
58346
58347 td
58348
58349 ¥\8c
58350 ,
58351
58352 31 
58353 td
58354 ->
58355 Çme
58356
58357 __FILE__
58358
58359 __LINE__
58360 );
58361
58362 34 
58363         }
58364 }
58365
58366 40 
58367 a¢_³r_cÚ¡¿\9ats_t
58368  
58369 a¢_PER_ty³_SST_cÚ¡r_1
58370  
58371         gCC_NOTUSED
58372  = {
58373
58374 41 { 
58375 APC_UNCONSTRAINED
58376 , -1, -1, 0, 0 },
58377
58378 42 { 
58379 APC_CONSTRAINED
58380 , 0, 0, 1, 1 } ,
58381
58382 45 \18cڡ 
58383 b\94_\8ev_\8fg_t
58384  
58385         ga¢_DEF_SST_\8fgs_1
58386 [] = {
58387
58388 46 (
58389 ASN_TAG_CLASS_UNIVERSAL
58390  | (4 << 2))
58391
58392 48 
58393 a¢_TYPE_desü\9dtÜ_t
58394  
58395         ga¢_DEF_SST
58396  = {
58397
58398 51 &
58399 a¢_OP_OCTET_STRING
58400 ,
58401
58402 52 
58403 a¢_DEF_SST_\8fgs_1
58404 ,
58405
58406 53 \17(
58407 a¢_DEF_SST_\8fgs_1
58408 )
58409
58410 54 /\17(
58411 a¢_DEF_SST_\8fgs_1
58412 [0]),
58413
58414 55 
58415 a¢_DEF_SST_\8fgs_1
58416 ,
58417
58418 56 \17(
58419 a¢_DEF_SST_\8fgs_1
58420 )
58421
58422 57 /\17(
58423 a¢_DEF_SST_\8fgs_1
58424 [0]),
58425
58426 58 { 0, &
58427 a¢_PER_ty³_SST_cÚ¡r_1
58428
58429 SST_cÚ¡¿\9at
58430  },
58431
58432 60 &
58433 a¢_SPC_OCTET_STRING_¥ecs
58434
58435
58436         @ServingCell-ARFCN.c
58437
58438\ 2
58439         ~"S\94v\9agC\96l-ARFCN.h
58440 "
58441
58442 10 \ 2
58443         ~"NR-ARFCN.h
58444 "
58445
58446 11 \18
58447 a¢_³r_cÚ¡¿\9ats_t
58448  
58449 a¢_PER_ty³_S\94v\9agC\96l_ARFCN_cÚ¡r_1
58450  
58451         gCC_NOTUSED
58452  = {
58453
58454 12 { 
58455 APC_CONSTRAINED
58456  | 
58457 APC_EXTENSIBLE
58458 , 1, 1, 0, 1 } ,
58459
58460 13 { 
58461 APC_UNCONSTRAINED
58462 , -1, -1, 0, 0 },
58463
58464 16 \18
58465 a¢_TYPE_memb\94_t
58466  
58467         ga¢_MBR_S\94v\9agC\96l_ARFCN_1
58468 [] = {
58469
58470 17 { 
58471 ATF_POINTER
58472 , 0, 
58473 off£tof
58474 (\19
58475 S\94v\9agC\96l_ARFCN
58476
58477 choiû
58478 .
58479 nR
58480 ),
58481
58482 18 (
58483 ASN_TAG_CLASS_CONTEXT
58484  | (0 << 2)),
58485
58486 20 &
58487 a¢_DEF_NR_ARFCN
58488 ,
58489
58490 26 { 
58491 ATF_NOFLAGS
58492 , 0, 
58493 off£tof
58494 (\19
58495 S\94v\9agC\96l_ARFCN
58496
58497 choiû
58498 .
58499 eUTRA
58500 ),
58501
58502 27 (
58503 ASN_TAG_CLASS_CONTEXT
58504  | (1 << 2)),
58505
58506 29 &
58507 a¢_DEF_E_UTRA_ARFCN
58508 ,
58509
58510 36 \18cڡ 
58511 a¢_TYPE_\8fg2memb\94_t
58512  
58513         ga¢_MAP_S\94v\9agC\96l_ARFCN_\8fg2\96_1
58514 [] = {
58515
58516 37 { (
58517 ASN_TAG_CLASS_CONTEXT
58518  | (0 << 2)), 0, 0, 0 },
58519
58520 38 { (
58521 ASN_TAG_CLASS_CONTEXT
58522  | (1 << 2)), 1, 0, 0 }
58523
58524 40 \18
58525 a¢_CHOICE_¥ecifics_t
58526  
58527         ga¢_SPC_S\94v\9agC\96l_ARFCN_¥ecs_1
58528  = {
58529
58530 41 \17(\19
58531 S\94v\9agC\96l_ARFCN
58532 ),
58533
58534 42 
58535 off£tof
58536 (\19
58537 S\94v\9agC\96l_ARFCN
58538
58539 _a¢_ùx
58540 ),
58541
58542 43 
58543 off£tof
58544 (\19
58545 S\94v\9agC\96l_ARFCN
58546
58547 ´e£Á
58548 ),
58549
58550 44 \17(((\19
58551 S\94v\9agC\96l_ARFCN
58552  *)0)->
58553 ´e£Á
58554 ),
58555
58556 45 
58557 a¢_MAP_S\94v\9agC\96l_ARFCN_\8fg2\96_1
58558 ,
58559
58560 50 
58561 a¢_TYPE_desü\9dtÜ_t
58562  
58563         ga¢_DEF_S\94v\9agC\96l_ARFCN
58564  = {
58565
58566 53 &
58567 a¢_OP_CHOICE
58568 ,
58569
58570 58 { 0, &
58571 a¢_PER_ty³_S\94v\9agC\96l_ARFCN_cÚ¡r_1
58572
58573 CHOICE_cÚ¡¿\9at
58574  },
58575
58576 59 
58577 a¢_MBR_S\94v\9agC\96l_ARFCN_1
58578 ,
58579
58580 61 &
58581 a¢_SPC_S\94v\9agC\96l_ARFCN_¥ecs_1
58582
58583
58584         @ServingCell-PCI.c
58585
58586\ 2
58587         ~"S\94v\9agC\96l-PCI.h
58588 "
58589
58590 10 \18
58591 a¢_³r_cÚ¡¿\9ats_t
58592  
58593 a¢_PER_ty³_S\94v\9agC\96l_PCI_cÚ¡r_1
58594  
58595         gCC_NOTUSED
58596  = {
58597
58598 11 { 
58599 APC_CONSTRAINED
58600  | 
58601 APC_EXTENSIBLE
58602 , 1, 1, 0, 1 } ,
58603
58604 12 { 
58605 APC_UNCONSTRAINED
58606 , -1, -1, 0, 0 },
58607
58608 15 \18
58609 a¢_TYPE_memb\94_t
58610  
58611         ga¢_MBR_S\94v\9agC\96l_PCI_1
58612 [] = {
58613
58614 16 { 
58615 ATF_NOFLAGS
58616 , 0, 
58617 off£tof
58618 (\19
58619 S\94v\9agC\96l_PCI
58620
58621 choiû
58622 .
58623 nR
58624 ),
58625
58626 17 (
58627 ASN_TAG_CLASS_CONTEXT
58628  | (0 << 2)),
58629
58630 19 &
58631 a¢_DEF_NR_PCI
58632 ,
58633
58634 25 { 
58635 ATF_NOFLAGS
58636 , 0, 
58637 off£tof
58638 (\19
58639 S\94v\9agC\96l_PCI
58640
58641 choiû
58642 .
58643 eUTRA
58644 ),
58645
58646 26 (
58647 ASN_TAG_CLASS_CONTEXT
58648  | (1 << 2)),
58649
58650 28 &
58651 a¢_DEF_E_UTRA_PCI
58652 ,
58653
58654 35 \18cڡ 
58655 a¢_TYPE_\8fg2memb\94_t
58656  
58657         ga¢_MAP_S\94v\9agC\96l_PCI_\8fg2\96_1
58658 [] = {
58659
58660 36 { (
58661 ASN_TAG_CLASS_CONTEXT
58662  | (0 << 2)), 0, 0, 0 },
58663
58664 37 { (
58665 ASN_TAG_CLASS_CONTEXT
58666  | (1 << 2)), 1, 0, 0 }
58667
58668 39 \18
58669 a¢_CHOICE_¥ecifics_t
58670  
58671         ga¢_SPC_S\94v\9agC\96l_PCI_¥ecs_1
58672  = {
58673
58674 40 \17(\19
58675 S\94v\9agC\96l_PCI
58676 ),
58677
58678 41 
58679 off£tof
58680 (\19
58681 S\94v\9agC\96l_PCI
58682
58683 _a¢_ùx
58684 ),
58685
58686 42 
58687 off£tof
58688 (\19
58689 S\94v\9agC\96l_PCI
58690
58691 ´e£Á
58692 ),
58693
58694 43 \17(((\19
58695 S\94v\9agC\96l_PCI
58696  *)0)->
58697 ´e£Á
58698 ),
58699
58700 44 
58701 a¢_MAP_S\94v\9agC\96l_PCI_\8fg2\96_1
58702 ,
58703
58704 49 
58705 a¢_TYPE_desü\9dtÜ_t
58706  
58707         ga¢_DEF_S\94v\9agC\96l_PCI
58708  = {
58709
58710 52 &
58711 a¢_OP_CHOICE
58712 ,
58713
58714 57 { 0, &
58715 a¢_PER_ty³_S\94v\9agC\96l_PCI_cÚ¡r_1
58716
58717 CHOICE_cÚ¡¿\9at
58718  },
58719
58720 58 
58721 a¢_MBR_S\94v\9agC\96l_PCI_1
58722 ,
58723
58724 60 &
58725 a¢_SPC_S\94v\9agC\96l_PCI_¥ecs_1
58726
58727
58728         @SubscriberProfileIDforRFP.c
58729
58730\ 2
58731         ~"Subsüib\94Prof\9eeIDfÜRFP.h
58732 "
58733
58734 11 
58735         $Subsüib\94Prof\9eeIDfÜRFP_cÚ¡¿\9at
58736 (cڡ 
58737 a¢_TYPE_desü\9dtÜ_t
58738  *
58739 td
58740 , cڡ \1e*
58741 ¥\8c
58742 ,
58743
58744 12 
58745 a¢_­p_cÚ¡¿\9at_ç\9eed_f
58746  *
58747 ùç\9ecb
58748\1e*
58749 ­p_key
58750 ) {
58751
58752 13 \13
58753 v®ue
58754 ;
58755
58756 15 if(!
58757 ¥\8c
58758 ) {
58759
58760 16 
58761         `ASN__CTFAIL
58762 (
58763 ­p_key
58764
58765 td
58766
58767 ¥\8c
58768 ,
58769
58770 18 
58771 td
58772 ->
58773 Çme
58774
58775 __FILE__
58776
58777 __LINE__
58778 );
58779
58780 22 
58781 v®ue
58782  = *(cڡ \13*)
58783 ¥\8c
58784 ;
58785
58786 24 if((
58787 v®ue
58788  >= 1 && value <= 256)) {
58789
58790 28 
58791         `ASN__CTFAIL
58792 (
58793 ­p_key
58794
58795 td
58796
58797 ¥\8c
58798 ,
58799
58800 30 
58801 td
58802 ->
58803 Çme
58804
58805 __FILE__
58806
58807 __LINE__
58808 );
58809
58810 33 
58811         }
58812 }
58813
58814 39 \18
58815 a¢_³r_cÚ¡¿\9ats_t
58816  
58817 a¢_PER_ty³_Subsüib\94Prof\9eeIDfÜRFP_cÚ¡r_1
58818  
58819         gCC_NOTUSED
58820  = {
58821
58822 40 { 
58823 APC_CONSTRAINED
58824 , 8, 8, 1, 256 } ,
58825
58826 41 { 
58827 APC_UNCONSTRAINED
58828 , -1, -1, 0, 0 },
58829
58830 44 \18cڡ 
58831 b\94_\8ev_\8fg_t
58832  
58833         ga¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
58834 [] = {
58835
58836 45 (
58837 ASN_TAG_CLASS_UNIVERSAL
58838  | (2 << 2))
58839
58840 47 
58841 a¢_TYPE_desü\9dtÜ_t
58842  
58843         ga¢_DEF_Subsüib\94Prof\9eeIDfÜRFP
58844  = {
58845
58846 50 &
58847 a¢_OP_N©iveIÁeg\94
58848 ,
58849
58850 51 
58851 a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
58852 ,
58853
58854 52 \17(
58855 a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
58856 )
58857
58858 53 /\17(
58859 a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
58860 [0]),
58861
58862 54 
58863 a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
58864 ,
58865
58866 55 \17(
58867 a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
58868 )
58869
58870 56 /\17(
58871 a¢_DEF_Subsüib\94Prof\9eeIDfÜRFP_\8fgs_1
58872 [0]),
58873
58874 57 { 0, &
58875 a¢_PER_ty³_Subsüib\94Prof\9eeIDfÜRFP_cÚ¡r_1
58876
58877 Subsüib\94Prof\9eeIDfÜRFP_cÚ¡¿\9at
58878  },
58879
58880         @SupportedSULBandList.c
58881
58882\ 2
58883         ~"SuµÜ\8bdSULBªdLi¡.h
58884 "
58885
58886 10 \ 2
58887         ~"SuµÜ\8bdSULF»qBªdI\8bm.h
58888 "
58889
58890 11 
58891 a¢_³r_cÚ¡¿\9ats_t
58892  
58893 a¢_PER_ty³_SuµÜ\8bdSULBªdLi¡_cÚ¡r_1
58894  
58895         gCC_NOTUSED
58896  = {
58897
58898 12 { 
58899 APC_UNCONSTRAINED
58900 , -1, -1, 0, 0 },
58901
58902 13 { 
58903 APC_CONSTRAINED
58904 , 6, 6, 0, 32 } ,
58905
58906 16 
58907 a¢_TYPE_memb\94_t
58908  
58909         ga¢_MBR_SuµÜ\8bdSULBªdLi¡_1
58910 [] = {
58911
58912 17 { 
58913 ATF_POINTER
58914 , 0, 0,
58915
58916 18 (
58917 ASN_TAG_CLASS_UNIVERSAL
58918  | (16 << 2)),
58919
58920 20 &
58921 a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm
58922 ,
58923
58924 27 \18cڡ 
58925 b\94_\8ev_\8fg_t
58926  
58927         ga¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
58928 [] = {
58929
58930 28 (
58931 ASN_TAG_CLASS_UNIVERSAL
58932  | (16 << 2))
58933
58934 30 
58935 a¢_SET_OF_¥ecifics_t
58936  
58937         ga¢_SPC_SuµÜ\8bdSULBªdLi¡_¥ecs_1
58938  = {
58939
58940 31 \17(\19
58941 SuµÜ\8bdSULBªdLi¡
58942 ),
58943
58944 32 
58945 off£tof
58946 (\19
58947 SuµÜ\8bdSULBªdLi¡
58948
58949 _a¢_ùx
58950 ),
58951
58952 35 
58953 a¢_TYPE_desü\9dtÜ_t
58954  
58955         ga¢_DEF_SuµÜ\8bdSULBªdLi¡
58956  = {
58957
58958 38 &
58959 a¢_OP_SEQUENCE_OF
58960 ,
58961
58962 39 
58963 a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
58964 ,
58965
58966 40 \17(
58967 a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
58968 )
58969
58970 41 /\17(
58971 a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
58972 [0]),
58973
58974 42 
58975 a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
58976 ,
58977
58978 43 \17(
58979 a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
58980 )
58981
58982 44 /\17(
58983 a¢_DEF_SuµÜ\8bdSULBªdLi¡_\8fgs_1
58984 [0]),
58985
58986 45 { 0, &
58987 a¢_PER_ty³_SuµÜ\8bdSULBªdLi¡_cÚ¡r_1
58988
58989 SEQUENCE_OF_cÚ¡¿\9at
58990  },
58991
58992 46 
58993 a¢_MBR_SuµÜ\8bdSULBªdLi¡_1
58994 ,
58995
58996 48 &
58997 a¢_SPC_SuµÜ\8bdSULBªdLi¡_¥ecs_1
58998
58999
59000         @SupportedSULFreqBandItem.c
59001
59002\ 2
59003         ~"SuµÜ\8bdSULF»qBªdI\8bm.h
59004 "
59005
59006 11 
59007         $memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
59008 (cڡ 
59009 a¢_TYPE_desü\9dtÜ_t
59010  *
59011 td
59012 , cڡ \1e*
59013 ¥\8c
59014 ,
59015
59016 12 
59017 a¢_­p_cÚ¡¿\9at_ç\9eed_f
59018  *
59019 ùç\9ecb
59020\1e*
59021 ­p_key
59022 ) {
59023
59024 13 \13
59025 v®ue
59026 ;
59027
59028 15 if(!
59029 ¥\8c
59030 ) {
59031
59032 16 
59033         `ASN__CTFAIL
59034 (
59035 ­p_key
59036
59037 td
59038
59039 ¥\8c
59040 ,
59041
59042 18 
59043 td
59044 ->
59045 Çme
59046
59047 __FILE__
59048
59049 __LINE__
59050 );
59051
59052 22 
59053 v®ue
59054  = *(cڡ \13*)
59055 ¥\8c
59056 ;
59057
59058 24 if((
59059 v®ue
59060  >= 1 && value <= 1024)) {
59061
59062 28 
59063         `ASN__CTFAIL
59064 (
59065 ­p_key
59066
59067 td
59068
59069 ¥\8c
59070 ,
59071
59072 30 
59073 td
59074 ->
59075 Çme
59076
59077 __FILE__
59078
59079 __LINE__
59080 );
59081
59082 33 
59083         }
59084 }
59085
59086 35 \18
59087 a¢_³r_cÚ¡¿\9ats_t
59088  
59089 a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
59090  
59091         gCC_NOTUSED
59092  = {
59093
59094 36 { 
59095 APC_CONSTRAINED
59096  | 
59097 APC_EXTENSIBLE
59098 , 10, 10, 1, 1024 } ,
59099
59100 37 { 
59101 APC_UNCONSTRAINED
59102 , -1, -1, 0, 0 },
59103
59104 40 
59105 a¢_TYPE_memb\94_t
59106  
59107         ga¢_MBR_SuµÜ\8bdSULF»qBªdI\8bm_1
59108 [] = {
59109
59110 41 { 
59111 ATF_NOFLAGS
59112 , 0, 
59113 off£tof
59114 (\19
59115 SuµÜ\8bdSULF»qBªdI\8bm
59116
59117 äeqBªdIndiÿtÜNr
59118 ),
59119
59120 42 (
59121 ASN_TAG_CLASS_CONTEXT
59122  | (0 << 2)),
59123
59124 44 &
59125 a¢_DEF_N©iveIÁeg\94
59126 ,
59127
59128 46 { 0, &
59129 a¢_PER_memb_äeqBªdIndiÿtÜNr_cÚ¡r_2
59130
59131 memb_äeqBªdIndiÿtÜNr_cÚ¡¿\9at_1
59132  },
59133
59134 51 \18cڡ 
59135 b\94_\8ev_\8fg_t
59136  
59137         ga¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
59138 [] = {
59139
59140 52 (
59141 ASN_TAG_CLASS_UNIVERSAL
59142  | (16 << 2))
59143
59144 54 \18cڡ 
59145 a¢_TYPE_\8fg2memb\94_t
59146  
59147         ga¢_MAP_SuµÜ\8bdSULF»qBªdI\8bm_\8fg2\96_1
59148 [] = {
59149
59150 55 { (
59151 ASN_TAG_CLASS_CONTEXT
59152  | (0 << 2)), 0, 0, 0 }
59153
59154 57 
59155 a¢_SEQUENCE_¥ecifics_t
59156  
59157         ga¢_SPC_SuµÜ\8bdSULF»qBªdI\8bm_¥ecs_1
59158  = {
59159
59160 58 \17(\19
59161 SuµÜ\8bdSULF»qBªdI\8bm
59162 ),
59163
59164 59 
59165 off£tof
59166 (\19
59167 SuµÜ\8bdSULF»qBªdI\8bm
59168
59169 _a¢_ùx
59170 ),
59171
59172 60 
59173 a¢_MAP_SuµÜ\8bdSULF»qBªdI\8bm_\8fg2\96_1
59174 ,
59175
59176 65 
59177 a¢_TYPE_desü\9dtÜ_t
59178  
59179         ga¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm
59180  = {
59181
59182 68 &
59183 a¢_OP_SEQUENCE
59184 ,
59185
59186 69 
59187 a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
59188 ,
59189
59190 70 \17(
59191 a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
59192 )
59193
59194 71 /\17(
59195 a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
59196 [0]),
59197
59198 72 
59199 a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
59200 ,
59201
59202 73 \17(
59203 a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
59204 )
59205
59206 74 /\17(
59207 a¢_DEF_SuµÜ\8bdSULF»qBªdI\8bm_\8fgs_1
59208 [0]),
59209
59210 75 { 0, 0, 
59211 SEQUENCE_cÚ¡¿\9at
59212  },
59213
59214 76 
59215 a¢_MBR_SuµÜ\8bdSULF»qBªdI\8bm_1
59216 ,
59217
59218 78 &
59219 a¢_SPC_SuµÜ\8bdSULF»qBªdI\8bm_¥ecs_1
59220
59221
59222         @TestCond-Expression.c
59223
59224\ 2
59225         ~"Te¡CÚd-Ex´essiÚ.h
59226 "
59227
59228 14 
59229 a¢_³r_cÚ¡¿\9ats_t
59230  
59231 a¢_PER_ty³_Te¡CÚd_Ex´essiÚ_cÚ¡r_1
59232  
59233         gCC_NOTUSED
59234  = {
59235
59236 15 { 
59237 APC_CONSTRAINED
59238  | 
59239 APC_EXTENSIBLE
59240 , 3, 3, 0, 4 } ,
59241
59242 16 { 
59243 APC_UNCONSTRAINED
59244 , -1, -1, 0, 0 },
59245
59246 19 \18cڡ 
59247 a¢_INTEGER_\92um_m­_t
59248  
59249         ga¢_MAP_Te¡CÚd_Ex´essiÚ_v®ue2\92um_1
59250 [] = {
59251
59252 27 \18cڡ \1d\12
59253         ga¢_MAP_Te¡CÚd_Ex´essiÚ_\92um2v®ue_1
59254 [] = {
59255
59256 35 cڡ 
59257 a¢_INTEGER_¥ecifics_t
59258  
59259         ga¢_SPC_Te¡CÚd_Ex´essiÚ_¥ecs_1
59260  = {
59261
59262 36 
59263 a¢_MAP_Te¡CÚd_Ex´essiÚ_v®ue2\92um_1
59264 ,
59265
59266 37 
59267 a¢_MAP_Te¡CÚd_Ex´essiÚ_\92um2v®ue_1
59268 ,
59269
59270 44 \18cڡ 
59271 b\94_\8ev_\8fg_t
59272  
59273         ga¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
59274 [] = {
59275
59276 45 (
59277 ASN_TAG_CLASS_UNIVERSAL
59278  | (10 << 2))
59279
59280 47 
59281 a¢_TYPE_desü\9dtÜ_t
59282  
59283         ga¢_DEF_Te¡CÚd_Ex´essiÚ
59284  = {
59285
59286 50 &
59287 a¢_OP_N©iveEnum\94©ed
59288 ,
59289
59290 51 
59291 a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
59292 ,
59293
59294 52 \17(
59295 a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
59296 )
59297
59298 53 /\17(
59299 a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
59300 [0]),
59301
59302 54 
59303 a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
59304 ,
59305
59306 55 \17(
59307 a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
59308 )
59309
59310 56 /\17(
59311 a¢_DEF_Te¡CÚd_Ex´essiÚ_\8fgs_1
59312 [0]),
59313
59314 57 { 0, &
59315 a¢_PER_ty³_Te¡CÚd_Ex´essiÚ_cÚ¡r_1
59316
59317 N©iveEnum\94©ed_cÚ¡¿\9at
59318  },
59319
59320 59 &
59321 a¢_SPC_Te¡CÚd_Ex´essiÚ_¥ecs_1
59322
59323
59324         @TestCond-Type.c
59325
59326\ 2
59327         ~"Te¡CÚd-Ty³.h
59328 "
59329
59330 34 \18
59331 a¢_³r_cÚ¡¿\9ats_t
59332  
59333 a¢_PER_ty³_gBR_cÚ¡r_2
59334  
59335         gCC_NOTUSED
59336  = {
59337
59338 35 { 
59339 APC_CONSTRAINED
59340  | 
59341 APC_EXTENSIBLE
59342 , 0, 0, 0, 0 } ,
59343
59344 36 { 
59345 APC_UNCONSTRAINED
59346 , -1, -1, 0, 0 },
59347
59348 39 \18
59349 a¢_³r_cÚ¡¿\9ats_t
59350  
59351 a¢_PER_ty³_aMBR_cÚ¡r_5
59352  
59353         gCC_NOTUSED
59354  = {
59355
59356 40 { 
59357 APC_CONSTRAINED
59358  | 
59359 APC_EXTENSIBLE
59360 , 0, 0, 0, 0 } ,
59361
59362 41 { 
59363 APC_UNCONSTRAINED
59364 , -1, -1, 0, 0 },
59365
59366 44 \18
59367 a¢_³r_cÚ¡¿\9ats_t
59368  
59369 a¢_PER_ty³_isS\8ft_cÚ¡r_8
59370  
59371         gCC_NOTUSED
59372  = {
59373
59374 45 { 
59375 APC_CONSTRAINED
59376  | 
59377 APC_EXTENSIBLE
59378 , 0, 0, 0, 0 } ,
59379
59380 46 { 
59381 APC_UNCONSTRAINED
59382 , -1, -1, 0, 0 },
59383
59384 49 \18
59385 a¢_³r_cÚ¡¿\9ats_t
59386  
59387 a¢_PER_ty³_isC©M_cÚ¡r_11
59388  
59389         gCC_NOTUSED
59390  = {
59391
59392 50 { 
59393 APC_CONSTRAINED
59394  | 
59395 APC_EXTENSIBLE
59396 , 0, 0, 0, 0 } ,
59397
59398 51 { 
59399 APC_UNCONSTRAINED
59400 , -1, -1, 0, 0 },
59401
59402 54 \18
59403 a¢_³r_cÚ¡¿\9ats_t
59404  
59405 a¢_PER_ty³_rSRP_cÚ¡r_14
59406  
59407         gCC_NOTUSED
59408  = {
59409
59410 55 { 
59411 APC_CONSTRAINED
59412  | 
59413 APC_EXTENSIBLE
59414 , 0, 0, 0, 0 } ,
59415
59416 56 { 
59417 APC_UNCONSTRAINED
59418 , -1, -1, 0, 0 },
59419
59420 59 \18
59421 a¢_³r_cÚ¡¿\9ats_t
59422  
59423 a¢_PER_ty³_rSRQ_cÚ¡r_17
59424  
59425         gCC_NOTUSED
59426  = {
59427
59428 60 { 
59429 APC_CONSTRAINED
59430  | 
59431 APC_EXTENSIBLE
59432 , 0, 0, 0, 0 } ,
59433
59434 61 { 
59435 APC_UNCONSTRAINED
59436 , -1, -1, 0, 0 },
59437
59438 64 
59439 a¢_³r_cÚ¡¿\9ats_t
59440  
59441 a¢_PER_ty³_Te¡CÚd_Ty³_cÚ¡r_1
59442  
59443         gCC_NOTUSED
59444  = {
59445
59446 65 { 
59447 APC_CONSTRAINED
59448  | 
59449 APC_EXTENSIBLE
59450 , 3, 3, 0, 5 } ,
59451
59452 66 { 
59453 APC_UNCONSTRAINED
59454 , -1, -1, 0, 0 },
59455
59456 69 \18cڡ 
59457 a¢_INTEGER_\92um_m­_t
59458  
59459         ga¢_MAP_gBR_v®ue2\92um_2
59460 [] = {
59461
59462 73 \18cڡ \1d\12
59463         ga¢_MAP_gBR_\92um2v®ue_2
59464 [] = {
59465
59466 77 \18cڡ 
59467 a¢_INTEGER_¥ecifics_t
59468  
59469         ga¢_SPC_gBR_¥ecs_2
59470  = {
59471
59472 78 
59473 a¢_MAP_gBR_v®ue2\92um_2
59474 ,
59475
59476 79 
59477 a¢_MAP_gBR_\92um2v®ue_2
59478 ,
59479
59480 86 \18cڡ 
59481 b\94_\8ev_\8fg_t
59482  
59483         ga¢_DEF_gBR_\8fgs_2
59484 [] = {
59485
59486 87 (
59487 ASN_TAG_CLASS_CONTEXT
59488  | (0 << 2)),
59489
59490 88 (
59491 ASN_TAG_CLASS_UNIVERSAL
59492  | (10 << 2))
59493
59494 91 
59495 a¢_TYPE_desü\9dtÜ_t
59496  
59497         ga¢_DEF_gBR_2
59498  = {
59499
59500 94 &
59501 a¢_OP_N©iveEnum\94©ed
59502 ,
59503
59504 95 
59505 a¢_DEF_gBR_\8fgs_2
59506 ,
59507
59508 96 \17(
59509 a¢_DEF_gBR_\8fgs_2
59510 )
59511
59512 97 /\17(
59513 a¢_DEF_gBR_\8fgs_2
59514 [0]) - 1,
59515
59516 98 
59517 a¢_DEF_gBR_\8fgs_2
59518 ,
59519
59520 99 \17(
59521 a¢_DEF_gBR_\8fgs_2
59522 )
59523
59524 100 /\17(
59525 a¢_DEF_gBR_\8fgs_2
59526 [0]),
59527
59528 101 { 0, &
59529 a¢_PER_ty³_gBR_cÚ¡r_2
59530
59531 N©iveEnum\94©ed_cÚ¡¿\9at
59532  },
59533
59534 103 &
59535 a¢_SPC_gBR_¥ecs_2
59536
59537
59538 106 \18cڡ 
59539 a¢_INTEGER_\92um_m­_t
59540  
59541         ga¢_MAP_aMBR_v®ue2\92um_5
59542 [] = {
59543
59544 110 \18cڡ \1d\12
59545         ga¢_MAP_aMBR_\92um2v®ue_5
59546 [] = {
59547
59548 114 \18cڡ 
59549 a¢_INTEGER_¥ecifics_t
59550  
59551         ga¢_SPC_aMBR_¥ecs_5
59552  = {
59553
59554 115 
59555 a¢_MAP_aMBR_v®ue2\92um_5
59556 ,
59557
59558 116 
59559 a¢_MAP_aMBR_\92um2v®ue_5
59560 ,
59561
59562 123 \18cڡ 
59563 b\94_\8ev_\8fg_t
59564  
59565         ga¢_DEF_aMBR_\8fgs_5
59566 [] = {
59567
59568 124 (
59569 ASN_TAG_CLASS_CONTEXT
59570  | (1 << 2)),
59571
59572 125 (
59573 ASN_TAG_CLASS_UNIVERSAL
59574  | (10 << 2))
59575
59576 128 
59577 a¢_TYPE_desü\9dtÜ_t
59578  
59579         ga¢_DEF_aMBR_5
59580  = {
59581
59582 131 &
59583 a¢_OP_N©iveEnum\94©ed
59584 ,
59585
59586 132 
59587 a¢_DEF_aMBR_\8fgs_5
59588 ,
59589
59590 133 \17(
59591 a¢_DEF_aMBR_\8fgs_5
59592 )
59593
59594 134 /\17(
59595 a¢_DEF_aMBR_\8fgs_5
59596 [0]) - 1,
59597
59598 135 
59599 a¢_DEF_aMBR_\8fgs_5
59600 ,
59601
59602 136 \17(
59603 a¢_DEF_aMBR_\8fgs_5
59604 )
59605
59606 137 /\17(
59607 a¢_DEF_aMBR_\8fgs_5
59608 [0]),
59609
59610 138 { 0, &
59611 a¢_PER_ty³_aMBR_cÚ¡r_5
59612
59613 N©iveEnum\94©ed_cÚ¡¿\9at
59614  },
59615
59616 140 &
59617 a¢_SPC_aMBR_¥ecs_5
59618
59619
59620 143 \18cڡ 
59621 a¢_INTEGER_\92um_m­_t
59622  
59623         ga¢_MAP_isS\8ft_v®ue2\92um_8
59624 [] = {
59625
59626 147 \18cڡ \1d\12
59627         ga¢_MAP_isS\8ft_\92um2v®ue_8
59628 [] = {
59629
59630 151 \18cڡ 
59631 a¢_INTEGER_¥ecifics_t
59632  
59633         ga¢_SPC_isS\8ft_¥ecs_8
59634  = {
59635
59636 152 
59637 a¢_MAP_isS\8ft_v®ue2\92um_8
59638 ,
59639
59640 153 
59641 a¢_MAP_isS\8ft_\92um2v®ue_8
59642 ,
59643
59644 160 \18cڡ 
59645 b\94_\8ev_\8fg_t
59646  
59647         ga¢_DEF_isS\8ft_\8fgs_8
59648 [] = {
59649
59650 161 (
59651 ASN_TAG_CLASS_CONTEXT
59652  | (2 << 2)),
59653
59654 162 (
59655 ASN_TAG_CLASS_UNIVERSAL
59656  | (10 << 2))
59657
59658 165 
59659 a¢_TYPE_desü\9dtÜ_t
59660  
59661         ga¢_DEF_isS\8ft_8
59662  = {
59663
59664 168 &
59665 a¢_OP_N©iveEnum\94©ed
59666 ,
59667
59668 169 
59669 a¢_DEF_isS\8ft_\8fgs_8
59670 ,
59671
59672 170 \17(
59673 a¢_DEF_isS\8ft_\8fgs_8
59674 )
59675
59676 171 /\17(
59677 a¢_DEF_isS\8ft_\8fgs_8
59678 [0]) - 1,
59679
59680 172 
59681 a¢_DEF_isS\8ft_\8fgs_8
59682 ,
59683
59684 173 \17(
59685 a¢_DEF_isS\8ft_\8fgs_8
59686 )
59687
59688 174 /\17(
59689 a¢_DEF_isS\8ft_\8fgs_8
59690 [0]),
59691
59692 175 { 0, &
59693 a¢_PER_ty³_isS\8ft_cÚ¡r_8
59694
59695 N©iveEnum\94©ed_cÚ¡¿\9at
59696  },
59697
59698 177 &
59699 a¢_SPC_isS\8ft_¥ecs_8
59700
59701
59702 180 \18cڡ 
59703 a¢_INTEGER_\92um_m­_t
59704  
59705         ga¢_MAP_isC©M_v®ue2\92um_11
59706 [] = {
59707
59708 184 \18cڡ \1d\12
59709         ga¢_MAP_isC©M_\92um2v®ue_11
59710 [] = {
59711
59712 188 \18cڡ 
59713 a¢_INTEGER_¥ecifics_t
59714  
59715         ga¢_SPC_isC©M_¥ecs_11
59716  = {
59717
59718 189 
59719 a¢_MAP_isC©M_v®ue2\92um_11
59720 ,
59721
59722 190 
59723 a¢_MAP_isC©M_\92um2v®ue_11
59724 ,
59725
59726 197 \18cڡ 
59727 b\94_\8ev_\8fg_t
59728  
59729         ga¢_DEF_isC©M_\8fgs_11
59730 [] = {
59731
59732 198 (
59733 ASN_TAG_CLASS_CONTEXT
59734  | (3 << 2)),
59735
59736 199 (
59737 ASN_TAG_CLASS_UNIVERSAL
59738  | (10 << 2))
59739
59740 202 
59741 a¢_TYPE_desü\9dtÜ_t
59742  
59743         ga¢_DEF_isC©M_11
59744  = {
59745
59746 205 &
59747 a¢_OP_N©iveEnum\94©ed
59748 ,
59749
59750 206 
59751 a¢_DEF_isC©M_\8fgs_11
59752 ,
59753
59754 207 \17(
59755 a¢_DEF_isC©M_\8fgs_11
59756 )
59757
59758 208 /\17(
59759 a¢_DEF_isC©M_\8fgs_11
59760 [0]) - 1,
59761
59762 209 
59763 a¢_DEF_isC©M_\8fgs_11
59764 ,
59765
59766 210 \17(
59767 a¢_DEF_isC©M_\8fgs_11
59768 )
59769
59770 211 /\17(
59771 a¢_DEF_isC©M_\8fgs_11
59772 [0]),
59773
59774 212 { 0, &
59775 a¢_PER_ty³_isC©M_cÚ¡r_11
59776
59777 N©iveEnum\94©ed_cÚ¡¿\9at
59778  },
59779
59780 214 &
59781 a¢_SPC_isC©M_¥ecs_11
59782
59783
59784 217 \18cڡ 
59785 a¢_INTEGER_\92um_m­_t
59786  
59787         ga¢_MAP_rSRP_v®ue2\92um_14
59788 [] = {
59789
59790 221 \18cڡ \1d\12
59791         ga¢_MAP_rSRP_\92um2v®ue_14
59792 [] = {
59793
59794 225 \18cڡ 
59795 a¢_INTEGER_¥ecifics_t
59796  
59797         ga¢_SPC_rSRP_¥ecs_14
59798  = {
59799
59800 226 
59801 a¢_MAP_rSRP_v®ue2\92um_14
59802 ,
59803
59804 227 
59805 a¢_MAP_rSRP_\92um2v®ue_14
59806 ,
59807
59808 234 \18cڡ 
59809 b\94_\8ev_\8fg_t
59810  
59811         ga¢_DEF_rSRP_\8fgs_14
59812 [] = {
59813
59814 235 (
59815 ASN_TAG_CLASS_CONTEXT
59816  | (4 << 2)),
59817
59818 236 (
59819 ASN_TAG_CLASS_UNIVERSAL
59820  | (10 << 2))
59821
59822 239 
59823 a¢_TYPE_desü\9dtÜ_t
59824  
59825         ga¢_DEF_rSRP_14
59826  = {
59827
59828 242 &
59829 a¢_OP_N©iveEnum\94©ed
59830 ,
59831
59832 243 
59833 a¢_DEF_rSRP_\8fgs_14
59834 ,
59835
59836 244 \17(
59837 a¢_DEF_rSRP_\8fgs_14
59838 )
59839
59840 245 /\17(
59841 a¢_DEF_rSRP_\8fgs_14
59842 [0]) - 1,
59843
59844 246 
59845 a¢_DEF_rSRP_\8fgs_14
59846 ,
59847
59848 247 \17(
59849 a¢_DEF_rSRP_\8fgs_14
59850 )
59851
59852 248 /\17(
59853 a¢_DEF_rSRP_\8fgs_14
59854 [0]),
59855
59856 249 { 0, &
59857 a¢_PER_ty³_rSRP_cÚ¡r_14
59858
59859 N©iveEnum\94©ed_cÚ¡¿\9at
59860  },
59861
59862 251 &
59863 a¢_SPC_rSRP_¥ecs_14
59864
59865
59866 254 \18cڡ 
59867 a¢_INTEGER_\92um_m­_t
59868  
59869         ga¢_MAP_rSRQ_v®ue2\92um_17
59870 [] = {
59871
59872 258 \18cڡ \1d\12
59873         ga¢_MAP_rSRQ_\92um2v®ue_17
59874 [] = {
59875
59876 262 \18cڡ 
59877 a¢_INTEGER_¥ecifics_t
59878  
59879         ga¢_SPC_rSRQ_¥ecs_17
59880  = {
59881
59882 263 
59883 a¢_MAP_rSRQ_v®ue2\92um_17
59884 ,
59885
59886 264 
59887 a¢_MAP_rSRQ_\92um2v®ue_17
59888 ,
59889
59890 271 \18cڡ 
59891 b\94_\8ev_\8fg_t
59892  
59893         ga¢_DEF_rSRQ_\8fgs_17
59894 [] = {
59895
59896 272 (
59897 ASN_TAG_CLASS_CONTEXT
59898  | (5 << 2)),
59899
59900 273 (
59901 ASN_TAG_CLASS_UNIVERSAL
59902  | (10 << 2))
59903
59904 276 
59905 a¢_TYPE_desü\9dtÜ_t
59906  
59907         ga¢_DEF_rSRQ_17
59908  = {
59909
59910 279 &
59911 a¢_OP_N©iveEnum\94©ed
59912 ,
59913
59914 280 
59915 a¢_DEF_rSRQ_\8fgs_17
59916 ,
59917
59918 281 \17(
59919 a¢_DEF_rSRQ_\8fgs_17
59920 )
59921
59922 282 /\17(
59923 a¢_DEF_rSRQ_\8fgs_17
59924 [0]) - 1,
59925
59926 283 
59927 a¢_DEF_rSRQ_\8fgs_17
59928 ,
59929
59930 284 \17(
59931 a¢_DEF_rSRQ_\8fgs_17
59932 )
59933
59934 285 /\17(
59935 a¢_DEF_rSRQ_\8fgs_17
59936 [0]),
59937
59938 286 { 0, &
59939 a¢_PER_ty³_rSRQ_cÚ¡r_17
59940
59941 N©iveEnum\94©ed_cÚ¡¿\9at
59942  },
59943
59944 288 &
59945 a¢_SPC_rSRQ_¥ecs_17
59946
59947
59948 291 
59949 a¢_TYPE_memb\94_t
59950  
59951         ga¢_MBR_Te¡CÚd_Ty³_1
59952 [] = {
59953
59954 292 { 
59955 ATF_NOFLAGS
59956 , 0, 
59957 off£tof
59958 (\19
59959 Te¡CÚd_Ty³
59960
59961 choiû
59962 .
59963 gBR
59964 ),
59965
59966 293 (
59967 ASN_TAG_CLASS_CONTEXT
59968  | (0 << 2)),
59969
59970 295 &
59971 a¢_DEF_gBR_2
59972 ,
59973
59974 301 { 
59975 ATF_NOFLAGS
59976 , 0, 
59977 off£tof
59978 (\19
59979 Te¡CÚd_Ty³
59980
59981 choiû
59982 .
59983 aMBR
59984 ),
59985
59986 302 (
59987 ASN_TAG_CLASS_CONTEXT
59988  | (1 << 2)),
59989
59990 304 &
59991 a¢_DEF_aMBR_5
59992 ,
59993
59994 310 { 
59995 ATF_NOFLAGS
59996 , 0, 
59997 off£tof
59998 (\19
59999 Te¡CÚd_Ty³
60000
60001 choiû
60002 .
60003 isS\8ft
60004 ),
60005
60006 311 (
60007 ASN_TAG_CLASS_CONTEXT
60008  | (2 << 2)),
60009
60010 313 &
60011 a¢_DEF_isS\8ft_8
60012 ,
60013
60014 319 { 
60015 ATF_NOFLAGS
60016 , 0, 
60017 off£tof
60018 (\19
60019 Te¡CÚd_Ty³
60020
60021 choiû
60022 .
60023 isC©M
60024 ),
60025
60026 320 (
60027 ASN_TAG_CLASS_CONTEXT
60028  | (3 << 2)),
60029
60030 322 &
60031 a¢_DEF_isC©M_11
60032 ,
60033
60034 328 { 
60035 ATF_NOFLAGS
60036 , 0, 
60037 off£tof
60038 (\19
60039 Te¡CÚd_Ty³
60040
60041 choiû
60042 .
60043 rSRP
60044 ),
60045
60046 329 (
60047 ASN_TAG_CLASS_CONTEXT
60048  | (4 << 2)),
60049
60050 331 &
60051 a¢_DEF_rSRP_14
60052 ,
60053
60054 337 { 
60055 ATF_NOFLAGS
60056 , 0, 
60057 off£tof
60058 (\19
60059 Te¡CÚd_Ty³
60060
60061 choiû
60062 .
60063 rSRQ
60064 ),
60065
60066 338 (
60067 ASN_TAG_CLASS_CONTEXT
60068  | (5 << 2)),
60069
60070 340 &
60071 a¢_DEF_rSRQ_17
60072 ,
60073
60074 347 \18cڡ 
60075 a¢_TYPE_\8fg2memb\94_t
60076  
60077         ga¢_MAP_Te¡CÚd_Ty³_\8fg2\96_1
60078 [] = {
60079
60080 348 { (
60081 ASN_TAG_CLASS_CONTEXT
60082  | (0 << 2)), 0, 0, 0 },
60083
60084 349 { (
60085 ASN_TAG_CLASS_CONTEXT
60086  | (1 << 2)), 1, 0, 0 },
60087
60088 350 { (
60089 ASN_TAG_CLASS_CONTEXT
60090  | (2 << 2)), 2, 0, 0 },
60091
60092 351 { (
60093 ASN_TAG_CLASS_CONTEXT
60094  | (3 << 2)), 3, 0, 0 },
60095
60096 352 { (
60097 ASN_TAG_CLASS_CONTEXT
60098  | (4 << 2)), 4, 0, 0 },
60099
60100 353 { (
60101 ASN_TAG_CLASS_CONTEXT
60102  | (5 << 2)), 5, 0, 0 }
60103
60104 355 
60105 a¢_CHOICE_¥ecifics_t
60106  
60107         ga¢_SPC_Te¡CÚd_Ty³_¥ecs_1
60108  = {
60109
60110 356 \17(\19
60111 Te¡CÚd_Ty³
60112 ),
60113
60114 357 
60115 off£tof
60116 (\19
60117 Te¡CÚd_Ty³
60118
60119 _a¢_ùx
60120 ),
60121
60122 358 
60123 off£tof
60124 (\19
60125 Te¡CÚd_Ty³
60126
60127 ´e£Á
60128 ),
60129
60130 359 \17(((\19
60131 Te¡CÚd_Ty³
60132  *)0)->
60133 ´e£Á
60134 ),
60135
60136 360 
60137 a¢_MAP_Te¡CÚd_Ty³_\8fg2\96_1
60138 ,
60139
60140 365 
60141 a¢_TYPE_desü\9dtÜ_t
60142  
60143         ga¢_DEF_Te¡CÚd_Ty³
60144  = {
60145
60146 368 &
60147 a¢_OP_CHOICE
60148 ,
60149
60150 373 { 0, &
60151 a¢_PER_ty³_Te¡CÚd_Ty³_cÚ¡r_1
60152
60153 CHOICE_cÚ¡¿\9at
60154  },
60155
60156 374 
60157 a¢_MBR_Te¡CÚd_Ty³_1
60158 ,
60159
60160 376 &
60161 a¢_SPC_Te¡CÚd_Ty³_¥ecs_1
60162
60163
60164         @TestCond-Value.c
60165
60166\ 2
60167         ~"Te¡CÚd-V®ue.h
60168 "
60169
60170 10 
60171 a¢_³r_cÚ¡¿\9ats_t
60172  
60173 a¢_PER_ty³_Te¡CÚd_V®ue_cÚ¡r_1
60174  
60175         gCC_NOTUSED
60176  = {
60177
60178 11 { 
60179 APC_CONSTRAINED
60180  | 
60181 APC_EXTENSIBLE
60182 , 3, 3, 0, 5 } ,
60183
60184 12 { 
60185 APC_UNCONSTRAINED
60186 , -1, -1, 0, 0 },
60187
60188 15 
60189 a¢_TYPE_memb\94_t
60190  
60191         ga¢_MBR_Te¡CÚd_V®ue_1
60192 [] = {
60193
60194 16 { 
60195 ATF_NOFLAGS
60196 , 0, 
60197 off£tof
60198 (\19
60199 Te¡CÚd_V®ue
60200
60201 choiû
60202 .
60203 v®ueIÁ
60204 ),
60205
60206 17 (
60207 ASN_TAG_CLASS_CONTEXT
60208  | (0 << 2)),
60209
60210 19 &
60211 a¢_DEF_N©iveIÁeg\94
60212 ,
60213
60214 25 { 
60215 ATF_NOFLAGS
60216 , 0, 
60217 off£tof
60218 (\19
60219 Te¡CÚd_V®ue
60220
60221 choiû
60222 .
60223 v®ueEnum
60224 ),
60225
60226 26 (
60227 ASN_TAG_CLASS_CONTEXT
60228  | (1 << 2)),
60229
60230 28 &
60231 a¢_DEF_N©iveIÁeg\94
60232 ,
60233
60234 34 { 
60235 ATF_NOFLAGS
60236 , 0, 
60237 off£tof
60238 (\19
60239 Te¡CÚd_V®ue
60240
60241 choiû
60242 .
60243 v®ueBoÞ
60244 ),
60245
60246 35 (
60247 ASN_TAG_CLASS_CONTEXT
60248  | (2 << 2)),
60249
60250 37 &
60251 a¢_DEF_BOOLEAN
60252 ,
60253
60254 43 { 
60255 ATF_NOFLAGS
60256 , 0, 
60257 off£tof
60258 (\19
60259 Te¡CÚd_V®ue
60260
60261 choiû
60262 .
60263 v®ueB\99S
60264 ),
60265
60266 44 (
60267 ASN_TAG_CLASS_CONTEXT
60268  | (3 << 2)),
60269
60270 46 &
60271 a¢_DEF_BIT_STRING
60272 ,
60273
60274 52 { 
60275 ATF_NOFLAGS
60276 , 0, 
60277 off£tof
60278 (\19
60279 Te¡CÚd_V®ue
60280
60281 choiû
60282 .
60283 v®ueOùS
60284 ),
60285
60286 53 (
60287 ASN_TAG_CLASS_CONTEXT
60288  | (4 << 2)),
60289
60290 55 &
60291 a¢_DEF_OCTET_STRING
60292 ,
60293
60294 61 { 
60295 ATF_NOFLAGS
60296 , 0, 
60297 off£tof
60298 (\19
60299 Te¡CÚd_V®ue
60300
60301 choiû
60302 .
60303 v®ueP¹S
60304 ),
60305
60306 62 (
60307 ASN_TAG_CLASS_CONTEXT
60308  | (5 << 2)),
60309
60310 64 &
60311 a¢_DEF_Pr\9a\8fbËS\8c\9ag
60312 ,
60313
60314 71 \18cڡ 
60315 a¢_TYPE_\8fg2memb\94_t
60316  
60317         ga¢_MAP_Te¡CÚd_V®ue_\8fg2\96_1
60318 [] = {
60319
60320 72 { (
60321 ASN_TAG_CLASS_CONTEXT
60322  | (0 << 2)), 0, 0, 0 },
60323
60324 73 { (
60325 ASN_TAG_CLASS_CONTEXT
60326  | (1 << 2)), 1, 0, 0 },
60327
60328 74 { (
60329 ASN_TAG_CLASS_CONTEXT
60330  | (2 << 2)), 2, 0, 0 },
60331
60332 75 { (
60333 ASN_TAG_CLASS_CONTEXT
60334  | (3 << 2)), 3, 0, 0 },
60335
60336 76 { (
60337 ASN_TAG_CLASS_CONTEXT
60338  | (4 << 2)), 4, 0, 0 },
60339
60340 77 { (
60341 ASN_TAG_CLASS_CONTEXT
60342  | (5 << 2)), 5, 0, 0 }
60343
60344 79 
60345 a¢_CHOICE_¥ecifics_t
60346  
60347         ga¢_SPC_Te¡CÚd_V®ue_¥ecs_1
60348  = {
60349
60350 80 \17(\19
60351 Te¡CÚd_V®ue
60352 ),
60353
60354 81 
60355 off£tof
60356 (\19
60357 Te¡CÚd_V®ue
60358
60359 _a¢_ùx
60360 ),
60361
60362 82 
60363 off£tof
60364 (\19
60365 Te¡CÚd_V®ue
60366
60367 ´e£Á
60368 ),
60369
60370 83 \17(((\19
60371 Te¡CÚd_V®ue
60372  *)0)->
60373 ´e£Á
60374 ),
60375
60376 84 
60377 a¢_MAP_Te¡CÚd_V®ue_\8fg2\96_1
60378 ,
60379
60380 89 
60381 a¢_TYPE_desü\9dtÜ_t
60382  
60383         ga¢_DEF_Te¡CÚd_V®ue
60384  = {
60385
60386 92 &
60387 a¢_OP_CHOICE
60388 ,
60389
60390 97 { 0, &
60391 a¢_PER_ty³_Te¡CÚd_V®ue_cÚ¡r_1
60392
60393 CHOICE_cÚ¡¿\9at
60394  },
60395
60396 98 
60397 a¢_MBR_Te¡CÚd_V®ue_1
60398 ,
60399
60400 100 &
60401 a¢_SPC_Te¡CÚd_V®ue_¥ecs_1
60402
60403
60404         @TestCondInfo.c
60405
60406\ 2
60407         ~"Te¡CÚdInfo.h
60408 "
60409
60410 10 
60411 a¢_TYPE_memb\94_t
60412  
60413         ga¢_MBR_Te¡CÚdInfo_1
60414 [] = {
60415
60416 11 { 
60417 ATF_NOFLAGS
60418 , 0, 
60419 off£tof
60420 (\19
60421 Te¡CÚdInfo
60422
60423 \8b¡Ty³
60424 ),
60425
60426 12 (
60427 ASN_TAG_CLASS_CONTEXT
60428  | (0 << 2)),
60429
60430 14 &
60431 a¢_DEF_Te¡CÚd_Ty³
60432 ,
60433
60434 20 { 
60435 ATF_NOFLAGS
60436 , 0, 
60437 off£tof
60438 (\19
60439 Te¡CÚdInfo
60440
60441 \8b¡Ex´
60442 ),
60443
60444 21 (
60445 ASN_TAG_CLASS_CONTEXT
60446  | (1 << 2)),
60447
60448 23 &
60449 a¢_DEF_Te¡CÚd_Ex´essiÚ
60450 ,
60451
60452 29 { 
60453 ATF_NOFLAGS
60454 , 0, 
60455 off£tof
60456 (\19
60457 Te¡CÚdInfo
60458
60459 \8b¡V®ue
60460 ),
60461
60462 30 (
60463 ASN_TAG_CLASS_CONTEXT
60464  | (2 << 2)),
60465
60466 32 &
60467 a¢_DEF_Te¡CÚd_V®ue
60468 ,
60469
60470 39 \18cڡ 
60471 b\94_\8ev_\8fg_t
60472  
60473         ga¢_DEF_Te¡CÚdInfo_\8fgs_1
60474 [] = {
60475
60476 40 (
60477 ASN_TAG_CLASS_UNIVERSAL
60478  | (16 << 2))
60479
60480 42 \18cڡ 
60481 a¢_TYPE_\8fg2memb\94_t
60482  
60483         ga¢_MAP_Te¡CÚdInfo_\8fg2\96_1
60484 [] = {
60485
60486 43 { (
60487 ASN_TAG_CLASS_CONTEXT
60488  | (0 << 2)), 0, 0, 0 },
60489
60490 44 { (
60491 ASN_TAG_CLASS_CONTEXT
60492  | (1 << 2)), 1, 0, 0 },
60493
60494 45 { (
60495 ASN_TAG_CLASS_CONTEXT
60496  | (2 << 2)), 2, 0, 0 }
60497
60498 47 
60499 a¢_SEQUENCE_¥ecifics_t
60500  
60501         ga¢_SPC_Te¡CÚdInfo_¥ecs_1
60502  = {
60503
60504 48 \17(\19
60505 Te¡CÚdInfo
60506 ),
60507
60508 49 
60509 off£tof
60510 (\19
60511 Te¡CÚdInfo
60512
60513 _a¢_ùx
60514 ),
60515
60516 50 
60517 a¢_MAP_Te¡CÚdInfo_\8fg2\96_1
60518 ,
60519
60520 55 
60521 a¢_TYPE_desü\9dtÜ_t
60522  
60523         ga¢_DEF_Te¡CÚdInfo
60524  = {
60525
60526 58 &
60527 a¢_OP_SEQUENCE
60528 ,
60529
60530 59 
60531 a¢_DEF_Te¡CÚdInfo_\8fgs_1
60532 ,
60533
60534 60 \17(
60535 a¢_DEF_Te¡CÚdInfo_\8fgs_1
60536 )
60537
60538 61 /\17(
60539 a¢_DEF_Te¡CÚdInfo_\8fgs_1
60540 [0]),
60541
60542 62 
60543 a¢_DEF_Te¡CÚdInfo_\8fgs_1
60544 ,
60545
60546 63 \17(
60547 a¢_DEF_Te¡CÚdInfo_\8fgs_1
60548 )
60549
60550 64 /\17(
60551 a¢_DEF_Te¡CÚdInfo_\8fgs_1
60552 [0]),
60553
60554 65 { 0, 0, 
60555 SEQUENCE_cÚ¡¿\9at
60556  },
60557
60558 66 
60559 a¢_MBR_Te¡CÚdInfo_1
60560 ,
60561
60562 68 &
60563 a¢_SPC_Te¡CÚdInfo_¥ecs_1
60564
60565
60566         @TimeStamp.c
60567
60568\ 2
60569         ~"TimeS\8fmp.h
60570 "
60571
60572 11 
60573         $TimeS\8fmp_cÚ¡¿\9at
60574 (cڡ 
60575 a¢_TYPE_desü\9dtÜ_t
60576  *
60577 td
60578 , cڡ \1e*
60579 ¥\8c
60580 ,
60581
60582 12 
60583 a¢_­p_cÚ¡¿\9at_ç\9eed_f
60584  *
60585 ùç\9ecb
60586\1e*
60587 ­p_key
60588 ) {
60589
60590 13 cڡ 
60591 OCTET_STRING_t
60592  *
60593 ¡
60594  = (cÚ¡ OCTET_STRING_\88*)
60595 ¥\8c
60596 ;
60597
60598 14 
60599 size_t
60600  
60601 size
60602 ;
60603
60604 16 if(!
60605 ¥\8c
60606 ) {
60607
60608 17 
60609         `ASN__CTFAIL
60610 (
60611 ­p_key
60612
60613 td
60614
60615 ¥\8c
60616 ,
60617
60618 19 
60619 td
60620 ->
60621 Çme
60622
60623 __FILE__
60624
60625 __LINE__
60626 );
60627
60628 23 
60629 size
60630  = 
60631 ¡
60632 ->size;
60633
60634 25 if((
60635 size
60636  == 4)) {
60637
60638 29 
60639         `ASN__CTFAIL
60640 (
60641 ­p_key
60642
60643 td
60644
60645 ¥\8c
60646 ,
60647
60648 31 
60649 td
60650 ->
60651 Çme
60652
60653 __FILE__
60654
60655 __LINE__
60656 );
60657
60658 34 
60659         }
60660 }
60661
60662 40 
60663 a¢_³r_cÚ¡¿\9ats_t
60664  
60665 a¢_PER_ty³_TimeS\8fmp_cÚ¡r_1
60666  
60667         gCC_NOTUSED
60668  = {
60669
60670 41 { 
60671 APC_UNCONSTRAINED
60672 , -1, -1, 0, 0 },
60673
60674 42 { 
60675 APC_CONSTRAINED
60676 , 0, 0, 4, 4 } ,
60677
60678 45 \18cڡ 
60679 b\94_\8ev_\8fg_t
60680  
60681         ga¢_DEF_TimeS\8fmp_\8fgs_1
60682 [] = {
60683
60684 46 (
60685 ASN_TAG_CLASS_UNIVERSAL
60686  | (4 << 2))
60687
60688 48 
60689 a¢_TYPE_desü\9dtÜ_t
60690  
60691         ga¢_DEF_TimeS\8fmp
60692  = {
60693
60694 51 &
60695 a¢_OP_OCTET_STRING
60696 ,
60697
60698 52 
60699 a¢_DEF_TimeS\8fmp_\8fgs_1
60700 ,
60701
60702 53 \17(
60703 a¢_DEF_TimeS\8fmp_\8fgs_1
60704 )
60705
60706 54 /\17(
60707 a¢_DEF_TimeS\8fmp_\8fgs_1
60708 [0]),
60709
60710 55 
60711 a¢_DEF_TimeS\8fmp_\8fgs_1
60712 ,
60713
60714 56 \17(
60715 a¢_DEF_TimeS\8fmp_\8fgs_1
60716 )
60717
60718 57 /\17(
60719 a¢_DEF_TimeS\8fmp_\8fgs_1
60720 [0]),
60721
60722 58 { 0, &
60723 a¢_PER_ty³_TimeS\8fmp_cÚ¡r_1
60724
60725 TimeS\8fmp_cÚ¡¿\9at
60726  },
60727
60728 60 &
60729 a¢_SPC_OCTET_STRING_¥ecs
60730
60731
60732         @UEID-EN-GNB.c
60733
60734\ 2
60735         ~"UEID-EN-GNB.h
60736 "
60737
60738 10 \ 2
60739         ~"UEID-GNB-CU-CP-E1AP-ID-Li¡.h
60740 "
60741
60742 11 
60743 a¢_TYPE_memb\94_t
60744  
60745         ga¢_MBR_UEID_EN_GNB_1
60746 [] = {
60747
60748 12 { 
60749 ATF_NOFLAGS
60750 , 0, 
60751 off£tof
60752 (\19
60753 UEID_EN_GNB
60754
60755 m_eNB_UE_X2AP_ID
60756 ),
60757
60758 13 (
60759 ASN_TAG_CLASS_CONTEXT
60760  | (0 << 2)),
60761
60762 15 &
60763 a¢_DEF_ENB_UE_X2AP_ID
60764 ,
60765
60766 21 { 
60767 ATF_POINTER
60768 , 1, 
60769 off£tof
60770 (\19
60771 UEID_EN_GNB
60772
60773 m_eNB_UE_X2AP_ID_Ex\8bnsiÚ
60774 ),
60775
60776 22 (
60777 ASN_TAG_CLASS_CONTEXT
60778  | (1 << 2)),
60779
60780 24 &
60781 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ
60782 ,
60783
60784 30 { 
60785 ATF_NOFLAGS
60786 , 0, 
60787 off£tof
60788 (\19
60789 UEID_EN_GNB
60790
60791 glob®ENB_ID
60792 ),
60793
60794 31 (
60795 ASN_TAG_CLASS_CONTEXT
60796  | (2 << 2)),
60797
60798 33 &
60799 a¢_DEF_Glob®ENB_ID
60800 ,
60801
60802 39 { 
60803 ATF_POINTER
60804 , 3, 
60805 off£tof
60806 (\19
60807 UEID_EN_GNB
60808
60809 gNB_CU_UE_F1AP_ID
60810 ),
60811
60812 40 (
60813 ASN_TAG_CLASS_CONTEXT
60814  | (3 << 2)),
60815
60816 42 &
60817 a¢_DEF_GNB_CU_UE_F1AP_ID
60818 ,
60819
60820 48 { 
60821 ATF_POINTER
60822 , 2, 
60823 off£tof
60824 (\19
60825 UEID_EN_GNB
60826
60827 gNB_CU_CP_UE_E1AP_ID_Li¡
60828 ),
60829
60830 49 (
60831 ASN_TAG_CLASS_CONTEXT
60832  | (4 << 2)),
60833
60834 51 &
60835 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡
60836 ,
60837
60838 57 { 
60839 ATF_POINTER
60840 , 1, 
60841 off£tof
60842 (\19
60843 UEID_EN_GNB
60844
60845 ¿n_UEID
60846 ),
60847
60848 58 (
60849 ASN_TAG_CLASS_CONTEXT
60850  | (5 << 2)),
60851
60852 60 &
60853 a¢_DEF_RANUEID
60854 ,
60855
60856 67 \18cڡ \12
60857         ga¢_MAP_UEID_EN_GNB_oms_1
60858 [] = { 1, 3, 4, 5 };
60859
60860 68 \18cڡ 
60861 b\94_\8ev_\8fg_t
60862  
60863         ga¢_DEF_UEID_EN_GNB_\8fgs_1
60864 [] = {
60865
60866 69 (
60867 ASN_TAG_CLASS_UNIVERSAL
60868  | (16 << 2))
60869
60870 71 \18cڡ 
60871 a¢_TYPE_\8fg2memb\94_t
60872  
60873         ga¢_MAP_UEID_EN_GNB_\8fg2\96_1
60874 [] = {
60875
60876 72 { (
60877 ASN_TAG_CLASS_CONTEXT
60878  | (0 << 2)), 0, 0, 0 },
60879
60880 73 { (
60881 ASN_TAG_CLASS_CONTEXT
60882  | (1 << 2)), 1, 0, 0 },
60883
60884 74 { (
60885 ASN_TAG_CLASS_CONTEXT
60886  | (2 << 2)), 2, 0, 0 },
60887
60888 75 { (
60889 ASN_TAG_CLASS_CONTEXT
60890  | (3 << 2)), 3, 0, 0 },
60891
60892 76 { (
60893 ASN_TAG_CLASS_CONTEXT
60894  | (4 << 2)), 4, 0, 0 },
60895
60896 77 { (
60897 ASN_TAG_CLASS_CONTEXT
60898  | (5 << 2)), 5, 0, 0 }
60899
60900 79 
60901 a¢_SEQUENCE_¥ecifics_t
60902  
60903         ga¢_SPC_UEID_EN_GNB_¥ecs_1
60904  = {
60905
60906 80 \17(\19
60907 UEID_EN_GNB
60908 ),
60909
60910 81 
60911 off£tof
60912 (\19
60913 UEID_EN_GNB
60914
60915 _a¢_ùx
60916 ),
60917
60918 82 
60919 a¢_MAP_UEID_EN_GNB_\8fg2\96_1
60920 ,
60921
60922 84 
60923 a¢_MAP_UEID_EN_GNB_oms_1
60924 ,
60925
60926 88 
60927 a¢_TYPE_desü\9dtÜ_t
60928  
60929         ga¢_DEF_UEID_EN_GNB
60930  = {
60931
60932 91 &
60933 a¢_OP_SEQUENCE
60934 ,
60935
60936 92 
60937 a¢_DEF_UEID_EN_GNB_\8fgs_1
60938 ,
60939
60940 93 \17(
60941 a¢_DEF_UEID_EN_GNB_\8fgs_1
60942 )
60943
60944 94 /\17(
60945 a¢_DEF_UEID_EN_GNB_\8fgs_1
60946 [0]),
60947
60948 95 
60949 a¢_DEF_UEID_EN_GNB_\8fgs_1
60950 ,
60951
60952 96 \17(
60953 a¢_DEF_UEID_EN_GNB_\8fgs_1
60954 )
60955
60956 97 /\17(
60957 a¢_DEF_UEID_EN_GNB_\8fgs_1
60958 [0]),
60959
60960 98 { 0, 0, 
60961 SEQUENCE_cÚ¡¿\9at
60962  },
60963
60964 99 
60965 a¢_MBR_UEID_EN_GNB_1
60966 ,
60967
60968 101 &
60969 a¢_SPC_UEID_EN_GNB_¥ecs_1
60970
60971
60972         @UEID-ENB.c
60973
60974\ 2
60975         ~"UEID-ENB.h
60976 "
60977
60978 10 \ 2
60979         ~"Glob®ENB-ID.h
60980 "
60981
60982 11 
60983 a¢_TYPE_memb\94_t
60984  
60985         ga¢_MBR_UEID_ENB_1
60986 [] = {
60987
60988 12 { 
60989 ATF_NOFLAGS
60990 , 0, 
60991 off£tof
60992 (\19
60993 UEID_ENB
60994
60995 mME_UE_S1AP_ID
60996 ),
60997
60998 13 (
60999 ASN_TAG_CLASS_CONTEXT
61000  | (0 << 2)),
61001
61002 15 &
61003 a¢_DEF_MME_UE_S1AP_ID
61004 ,
61005
61006 21 { 
61007 ATF_NOFLAGS
61008 , 0, 
61009 off£tof
61010 (\19
61011 UEID_ENB
61012
61013 gUMMEI
61014 ),
61015
61016 22 (
61017 ASN_TAG_CLASS_CONTEXT
61018  | (1 << 2)),
61019
61020 24 &
61021 a¢_DEF_GUMMEI
61022 ,
61023
61024 30 { 
61025 ATF_POINTER
61026 , 3, 
61027 off£tof
61028 (\19
61029 UEID_ENB
61030
61031 m_eNB_UE_X2AP_ID
61032 ),
61033
61034 31 (
61035 ASN_TAG_CLASS_CONTEXT
61036  | (2 << 2)),
61037
61038 33 &
61039 a¢_DEF_ENB_UE_X2AP_ID
61040 ,
61041
61042 39 { 
61043 ATF_POINTER
61044 , 2, 
61045 off£tof
61046 (\19
61047 UEID_ENB
61048
61049 m_eNB_UE_X2AP_ID_Ex\8bnsiÚ
61050 ),
61051
61052 40 (
61053 ASN_TAG_CLASS_CONTEXT
61054  | (3 << 2)),
61055
61056 42 &
61057 a¢_DEF_ENB_UE_X2AP_ID_Ex\8bnsiÚ
61058 ,
61059
61060 48 { 
61061 ATF_POINTER
61062 , 1, 
61063 off£tof
61064 (\19
61065 UEID_ENB
61066
61067 glob®ENB_ID
61068 ),
61069
61070 49 (
61071 ASN_TAG_CLASS_CONTEXT
61072  | (4 << 2)),
61073
61074 51 &
61075 a¢_DEF_Glob®ENB_ID
61076 ,
61077
61078 58 \18cڡ \12
61079         ga¢_MAP_UEID_ENB_oms_1
61080 [] = { 2, 3, 4 };
61081
61082 59 \18cڡ 
61083 b\94_\8ev_\8fg_t
61084  
61085         ga¢_DEF_UEID_ENB_\8fgs_1
61086 [] = {
61087
61088 60 (
61089 ASN_TAG_CLASS_UNIVERSAL
61090  | (16 << 2))
61091
61092 62 \18cڡ 
61093 a¢_TYPE_\8fg2memb\94_t
61094  
61095         ga¢_MAP_UEID_ENB_\8fg2\96_1
61096 [] = {
61097
61098 63 { (
61099 ASN_TAG_CLASS_CONTEXT
61100  | (0 << 2)), 0, 0, 0 },
61101
61102 64 { (
61103 ASN_TAG_CLASS_CONTEXT
61104  | (1 << 2)), 1, 0, 0 },
61105
61106 65 { (
61107 ASN_TAG_CLASS_CONTEXT
61108  | (2 << 2)), 2, 0, 0 },
61109
61110 66 { (
61111 ASN_TAG_CLASS_CONTEXT
61112  | (3 << 2)), 3, 0, 0 },
61113
61114 67 { (
61115 ASN_TAG_CLASS_CONTEXT
61116  | (4 << 2)), 4, 0, 0 }
61117
61118 69 
61119 a¢_SEQUENCE_¥ecifics_t
61120  
61121         ga¢_SPC_UEID_ENB_¥ecs_1
61122  = {
61123
61124 70 \17(\19
61125 UEID_ENB
61126 ),
61127
61128 71 
61129 off£tof
61130 (\19
61131 UEID_ENB
61132
61133 _a¢_ùx
61134 ),
61135
61136 72 
61137 a¢_MAP_UEID_ENB_\8fg2\96_1
61138 ,
61139
61140 74 
61141 a¢_MAP_UEID_ENB_oms_1
61142 ,
61143
61144 78 
61145 a¢_TYPE_desü\9dtÜ_t
61146  
61147         ga¢_DEF_UEID_ENB
61148  = {
61149
61150 81 &
61151 a¢_OP_SEQUENCE
61152 ,
61153
61154 82 
61155 a¢_DEF_UEID_ENB_\8fgs_1
61156 ,
61157
61158 83 \17(
61159 a¢_DEF_UEID_ENB_\8fgs_1
61160 )
61161
61162 84 /\17(
61163 a¢_DEF_UEID_ENB_\8fgs_1
61164 [0]),
61165
61166 85 
61167 a¢_DEF_UEID_ENB_\8fgs_1
61168 ,
61169
61170 86 \17(
61171 a¢_DEF_UEID_ENB_\8fgs_1
61172 )
61173
61174 87 /\17(
61175 a¢_DEF_UEID_ENB_\8fgs_1
61176 [0]),
61177
61178 88 { 0, 0, 
61179 SEQUENCE_cÚ¡¿\9at
61180  },
61181
61182 89 
61183 a¢_MBR_UEID_ENB_1
61184 ,
61185
61186 91 &
61187 a¢_SPC_UEID_ENB_¥ecs_1
61188
61189
61190         @UEID-GNB-CU-CP-E1AP-ID-Item.c
61191
61192\ 2
61193         ~"UEID-GNB-CU-CP-E1AP-ID-I\8bm.h
61194 "
61195
61196 10 
61197 a¢_TYPE_memb\94_t
61198  
61199         ga¢_MBR_UEID_GNB_CU_CP_E1AP_ID_I\8bm_1
61200 [] = {
61201
61202 11 { 
61203 ATF_NOFLAGS
61204 , 0, 
61205 off£tof
61206 (\19
61207 UEID_GNB_CU_CP_E1AP_ID_I\8bm
61208
61209 gNB_CU_CP_UE_E1AP_ID
61210 ),
61211
61212 12 (
61213 ASN_TAG_CLASS_CONTEXT
61214  | (0 << 2)),
61215
61216 14 &
61217 a¢_DEF_GNB_CU_CP_UE_E1AP_ID
61218 ,
61219
61220 21 \18cڡ 
61221 b\94_\8ev_\8fg_t
61222  
61223         ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
61224 [] = {
61225
61226 22 (
61227 ASN_TAG_CLASS_UNIVERSAL
61228  | (16 << 2))
61229
61230 24 \18cڡ 
61231 a¢_TYPE_\8fg2memb\94_t
61232  
61233         ga¢_MAP_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fg2\96_1
61234 [] = {
61235
61236 25 { (
61237 ASN_TAG_CLASS_CONTEXT
61238  | (0 << 2)), 0, 0, 0 }
61239
61240 27 
61241 a¢_SEQUENCE_¥ecifics_t
61242  
61243         ga¢_SPC_UEID_GNB_CU_CP_E1AP_ID_I\8bm_¥ecs_1
61244  = {
61245
61246 28 \17(\19
61247 UEID_GNB_CU_CP_E1AP_ID_I\8bm
61248 ),
61249
61250 29 
61251 off£tof
61252 (\19
61253 UEID_GNB_CU_CP_E1AP_ID_I\8bm
61254
61255 _a¢_ùx
61256 ),
61257
61258 30 
61259 a¢_MAP_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fg2\96_1
61260 ,
61261
61262 35 
61263 a¢_TYPE_desü\9dtÜ_t
61264  
61265         ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm
61266  = {
61267
61268 38 &
61269 a¢_OP_SEQUENCE
61270 ,
61271
61272 39 
61273 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
61274 ,
61275
61276 40 \17(
61277 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
61278 )
61279
61280 41 /\17(
61281 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
61282 [0]),
61283
61284 42 
61285 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
61286 ,
61287
61288 43 \17(
61289 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
61290 )
61291
61292 44 /\17(
61293 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm_\8fgs_1
61294 [0]),
61295
61296 45 { 0, 0, 
61297 SEQUENCE_cÚ¡¿\9at
61298  },
61299
61300 46 
61301 a¢_MBR_UEID_GNB_CU_CP_E1AP_ID_I\8bm_1
61302 ,
61303
61304 48 &
61305 a¢_SPC_UEID_GNB_CU_CP_E1AP_ID_I\8bm_¥ecs_1
61306
61307
61308         @UEID-GNB-CU-CP-E1AP-ID-List.c
61309
61310\ 2
61311         ~"UEID-GNB-CU-CP-E1AP-ID-Li¡.h
61312 "
61313
61314 10 \ 2
61315         ~"UEID-GNB-CU-CP-E1AP-ID-I\8bm.h
61316 "
61317
61318 11 
61319 a¢_³r_cÚ¡¿\9ats_t
61320  
61321 a¢_PER_ty³_UEID_GNB_CU_CP_E1AP_ID_Li¡_cÚ¡r_1
61322  
61323         gCC_NOTUSED
61324  = {
61325
61326 12 { 
61327 APC_UNCONSTRAINED
61328 , -1, -1, 0, 0 },
61329
61330 13 { 
61331 APC_CONSTRAINED
61332 , 16, 16, 1, 65535 } ,
61333
61334 16 
61335 a¢_TYPE_memb\94_t
61336  
61337         ga¢_MBR_UEID_GNB_CU_CP_E1AP_ID_Li¡_1
61338 [] = {
61339
61340 17 { 
61341 ATF_POINTER
61342 , 0, 0,
61343
61344 18 (
61345 ASN_TAG_CLASS_UNIVERSAL
61346  | (16 << 2)),
61347
61348 20 &
61349 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_I\8bm
61350 ,
61351
61352 27 \18cڡ 
61353 b\94_\8ev_\8fg_t
61354  
61355         ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
61356 [] = {
61357
61358 28 (
61359 ASN_TAG_CLASS_UNIVERSAL
61360  | (16 << 2))
61361
61362 30 
61363 a¢_SET_OF_¥ecifics_t
61364  
61365         ga¢_SPC_UEID_GNB_CU_CP_E1AP_ID_Li¡_¥ecs_1
61366  = {
61367
61368 31 \17(\19
61369 UEID_GNB_CU_CP_E1AP_ID_Li¡
61370 ),
61371
61372 32 
61373 off£tof
61374 (\19
61375 UEID_GNB_CU_CP_E1AP_ID_Li¡
61376
61377 _a¢_ùx
61378 ),
61379
61380 35 
61381 a¢_TYPE_desü\9dtÜ_t
61382  
61383         ga¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡
61384  = {
61385
61386 38 &
61387 a¢_OP_SEQUENCE_OF
61388 ,
61389
61390 39 
61391 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
61392 ,
61393
61394 40 \17(
61395 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
61396 )
61397
61398 41 /\17(
61399 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
61400 [0]),
61401
61402 42 
61403 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
61404 ,
61405
61406 43 \17(
61407 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
61408 )
61409
61410 44 /\17(
61411 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡_\8fgs_1
61412 [0]),
61413
61414 45 { 0, &
61415 a¢_PER_ty³_UEID_GNB_CU_CP_E1AP_ID_Li¡_cÚ¡r_1
61416
61417 SEQUENCE_OF_cÚ¡¿\9at
61418  },
61419
61420 46 
61421 a¢_MBR_UEID_GNB_CU_CP_E1AP_ID_Li¡_1
61422 ,
61423
61424 48 &
61425 a¢_SPC_UEID_GNB_CU_CP_E1AP_ID_Li¡_¥ecs_1
61426
61427
61428         @UEID-GNB-CU-CP-F1AP-ID-Item.c
61429
61430\ 2
61431         ~"UEID-GNB-CU-CP-F1AP-ID-I\8bm.h
61432 "
61433
61434 10 
61435 a¢_TYPE_memb\94_t
61436  
61437         ga¢_MBR_UEID_GNB_CU_CP_F1AP_ID_I\8bm_1
61438 [] = {
61439
61440 11 { 
61441 ATF_NOFLAGS
61442 , 0, 
61443 off£tof
61444 (\19
61445 UEID_GNB_CU_CP_F1AP_ID_I\8bm
61446
61447 gNB_CU_UE_F1AP_ID
61448 ),
61449
61450 12 (
61451 ASN_TAG_CLASS_CONTEXT
61452  | (0 << 2)),
61453
61454 14 &
61455 a¢_DEF_GNB_CU_UE_F1AP_ID
61456 ,
61457
61458 21 \18cڡ 
61459 b\94_\8ev_\8fg_t
61460  
61461         ga¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
61462 [] = {
61463
61464 22 (
61465 ASN_TAG_CLASS_UNIVERSAL
61466  | (16 << 2))
61467
61468 24 \18cڡ 
61469 a¢_TYPE_\8fg2memb\94_t
61470  
61471         ga¢_MAP_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fg2\96_1
61472 [] = {
61473
61474 25 { (
61475 ASN_TAG_CLASS_CONTEXT
61476  | (0 << 2)), 0, 0, 0 }
61477
61478 27 
61479 a¢_SEQUENCE_¥ecifics_t
61480  
61481         ga¢_SPC_UEID_GNB_CU_CP_F1AP_ID_I\8bm_¥ecs_1
61482  = {
61483
61484 28 \17(\19
61485 UEID_GNB_CU_CP_F1AP_ID_I\8bm
61486 ),
61487
61488 29 
61489 off£tof
61490 (\19
61491 UEID_GNB_CU_CP_F1AP_ID_I\8bm
61492
61493 _a¢_ùx
61494 ),
61495
61496 30 
61497 a¢_MAP_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fg2\96_1
61498 ,
61499
61500 35 
61501 a¢_TYPE_desü\9dtÜ_t
61502  
61503         ga¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm
61504  = {
61505
61506 38 &
61507 a¢_OP_SEQUENCE
61508 ,
61509
61510 39 
61511 a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
61512 ,
61513
61514 40 \17(
61515 a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
61516 )
61517
61518 41 /\17(
61519 a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
61520 [0]),
61521
61522 42 
61523 a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
61524 ,
61525
61526 43 \17(
61527 a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
61528 )
61529
61530 44 /\17(
61531 a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm_\8fgs_1
61532 [0]),
61533
61534 45 { 0, 0, 
61535 SEQUENCE_cÚ¡¿\9at
61536  },
61537
61538 46 
61539 a¢_MBR_UEID_GNB_CU_CP_F1AP_ID_I\8bm_1
61540 ,
61541
61542 48 &
61543 a¢_SPC_UEID_GNB_CU_CP_F1AP_ID_I\8bm_¥ecs_1
61544
61545
61546         @UEID-GNB-CU-F1AP-ID-List.c
61547
61548\ 2
61549         ~"UEID-GNB-CU-F1AP-ID-Li¡.h
61550 "
61551
61552 10 \ 2
61553         ~"UEID-GNB-CU-CP-F1AP-ID-I\8bm.h
61554 "
61555
61556 11 
61557 a¢_³r_cÚ¡¿\9ats_t
61558  
61559 a¢_PER_ty³_UEID_GNB_CU_F1AP_ID_Li¡_cÚ¡r_1
61560  
61561         gCC_NOTUSED
61562  = {
61563
61564 12 { 
61565 APC_UNCONSTRAINED
61566 , -1, -1, 0, 0 },
61567
61568 13 { 
61569 APC_CONSTRAINED
61570 , 2, 2, 1, 4 } ,
61571
61572 16 
61573 a¢_TYPE_memb\94_t
61574  
61575         ga¢_MBR_UEID_GNB_CU_F1AP_ID_Li¡_1
61576 [] = {
61577
61578 17 { 
61579 ATF_POINTER
61580 , 0, 0,
61581
61582 18 (
61583 ASN_TAG_CLASS_UNIVERSAL
61584  | (16 << 2)),
61585
61586 20 &
61587 a¢_DEF_UEID_GNB_CU_CP_F1AP_ID_I\8bm
61588 ,
61589
61590 27 \18cڡ 
61591 b\94_\8ev_\8fg_t
61592  
61593         ga¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
61594 [] = {
61595
61596 28 (
61597 ASN_TAG_CLASS_UNIVERSAL
61598  | (16 << 2))
61599
61600 30 
61601 a¢_SET_OF_¥ecifics_t
61602  
61603         ga¢_SPC_UEID_GNB_CU_F1AP_ID_Li¡_¥ecs_1
61604  = {
61605
61606 31 \17(\19
61607 UEID_GNB_CU_F1AP_ID_Li¡
61608 ),
61609
61610 32 
61611 off£tof
61612 (\19
61613 UEID_GNB_CU_F1AP_ID_Li¡
61614
61615 _a¢_ùx
61616 ),
61617
61618 35 
61619 a¢_TYPE_desü\9dtÜ_t
61620  
61621         ga¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡
61622  = {
61623
61624 38 &
61625 a¢_OP_SEQUENCE_OF
61626 ,
61627
61628 39 
61629 a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
61630 ,
61631
61632 40 \17(
61633 a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
61634 )
61635
61636 41 /\17(
61637 a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
61638 [0]),
61639
61640 42 
61641 a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
61642 ,
61643
61644 43 \17(
61645 a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
61646 )
61647
61648 44 /\17(
61649 a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡_\8fgs_1
61650 [0]),
61651
61652 45 { 0, &
61653 a¢_PER_ty³_UEID_GNB_CU_F1AP_ID_Li¡_cÚ¡r_1
61654
61655 SEQUENCE_OF_cÚ¡¿\9at
61656  },
61657
61658 46 
61659 a¢_MBR_UEID_GNB_CU_F1AP_ID_Li¡_1
61660 ,
61661
61662 48 &
61663 a¢_SPC_UEID_GNB_CU_F1AP_ID_Li¡_¥ecs_1
61664
61665
61666         @UEID-GNB-CU-UP.c
61667
61668\ 2
61669         ~"UEID-GNB-CU-UP.h
61670 "
61671
61672 10 
61673 a¢_TYPE_memb\94_t
61674  
61675         ga¢_MBR_UEID_GNB_CU_UP_1
61676 [] = {
61677
61678 11 { 
61679 ATF_NOFLAGS
61680 , 0, 
61681 off£tof
61682 (\19
61683 UEID_GNB_CU_UP
61684
61685 gNB_CU_CP_UE_E1AP_ID
61686 ),
61687
61688 12 (
61689 ASN_TAG_CLASS_CONTEXT
61690  | (0 << 2)),
61691
61692 14 &
61693 a¢_DEF_GNB_CU_CP_UE_E1AP_ID
61694 ,
61695
61696 20 { 
61697 ATF_POINTER
61698 , 1, 
61699 off£tof
61700 (\19
61701 UEID_GNB_CU_UP
61702
61703 ¿n_UEID
61704 ),
61705
61706 21 (
61707 ASN_TAG_CLASS_CONTEXT
61708  | (1 << 2)),
61709
61710 23 &
61711 a¢_DEF_RANUEID
61712 ,
61713
61714 30 \18cڡ \12
61715         ga¢_MAP_UEID_GNB_CU_UP_oms_1
61716 [] = { 1 };
61717
61718 31 \18cڡ 
61719 b\94_\8ev_\8fg_t
61720  
61721         ga¢_DEF_UEID_GNB_CU_UP_\8fgs_1
61722 [] = {
61723
61724 32 (
61725 ASN_TAG_CLASS_UNIVERSAL
61726  | (16 << 2))
61727
61728 34 \18cڡ 
61729 a¢_TYPE_\8fg2memb\94_t
61730  
61731         ga¢_MAP_UEID_GNB_CU_UP_\8fg2\96_1
61732 [] = {
61733
61734 35 { (
61735 ASN_TAG_CLASS_CONTEXT
61736  | (0 << 2)), 0, 0, 0 },
61737
61738 36 { (
61739 ASN_TAG_CLASS_CONTEXT
61740  | (1 << 2)), 1, 0, 0 }
61741
61742 38 
61743 a¢_SEQUENCE_¥ecifics_t
61744  
61745         ga¢_SPC_UEID_GNB_CU_UP_¥ecs_1
61746  = {
61747
61748 39 \17(\19
61749 UEID_GNB_CU_UP
61750 ),
61751
61752 40 
61753 off£tof
61754 (\19
61755 UEID_GNB_CU_UP
61756
61757 _a¢_ùx
61758 ),
61759
61760 41 
61761 a¢_MAP_UEID_GNB_CU_UP_\8fg2\96_1
61762 ,
61763
61764 43 
61765 a¢_MAP_UEID_GNB_CU_UP_oms_1
61766 ,
61767
61768 47 
61769 a¢_TYPE_desü\9dtÜ_t
61770  
61771         ga¢_DEF_UEID_GNB_CU_UP
61772  = {
61773
61774 50 &
61775 a¢_OP_SEQUENCE
61776 ,
61777
61778 51 
61779 a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
61780 ,
61781
61782 52 \17(
61783 a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
61784 )
61785
61786 53 /\17(
61787 a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
61788 [0]),
61789
61790 54 
61791 a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
61792 ,
61793
61794 55 \17(
61795 a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
61796 )
61797
61798 56 /\17(
61799 a¢_DEF_UEID_GNB_CU_UP_\8fgs_1
61800 [0]),
61801
61802 57 { 0, 0, 
61803 SEQUENCE_cÚ¡¿\9at
61804  },
61805
61806 58 
61807 a¢_MBR_UEID_GNB_CU_UP_1
61808 ,
61809
61810 60 &
61811 a¢_SPC_UEID_GNB_CU_UP_¥ecs_1
61812
61813
61814         @UEID-GNB-DU.c
61815
61816\ 2
61817         ~"UEID-GNB-DU.h
61818 "
61819
61820 10 
61821 a¢_TYPE_memb\94_t
61822  
61823         ga¢_MBR_UEID_GNB_DU_1
61824 [] = {
61825
61826 11 { 
61827 ATF_NOFLAGS
61828 , 0, 
61829 off£tof
61830 (\19
61831 UEID_GNB_DU
61832
61833 gNB_CU_UE_F1AP_ID
61834 ),
61835
61836 12 (
61837 ASN_TAG_CLASS_CONTEXT
61838  | (0 << 2)),
61839
61840 14 &
61841 a¢_DEF_GNB_CU_UE_F1AP_ID
61842 ,
61843
61844 20 { 
61845 ATF_POINTER
61846 , 1, 
61847 off£tof
61848 (\19
61849 UEID_GNB_DU
61850
61851 ¿n_UEID
61852 ),
61853
61854 21 (
61855 ASN_TAG_CLASS_CONTEXT
61856  | (1 << 2)),
61857
61858 23 &
61859 a¢_DEF_RANUEID
61860 ,
61861
61862 30 \18cڡ \12
61863         ga¢_MAP_UEID_GNB_DU_oms_1
61864 [] = { 1 };
61865
61866 31 \18cڡ 
61867 b\94_\8ev_\8fg_t
61868  
61869         ga¢_DEF_UEID_GNB_DU_\8fgs_1
61870 [] = {
61871
61872 32 (
61873 ASN_TAG_CLASS_UNIVERSAL
61874  | (16 << 2))
61875
61876 34 \18cڡ 
61877 a¢_TYPE_\8fg2memb\94_t
61878  
61879         ga¢_MAP_UEID_GNB_DU_\8fg2\96_1
61880 [] = {
61881
61882 35 { (
61883 ASN_TAG_CLASS_CONTEXT
61884  | (0 << 2)), 0, 0, 0 },
61885
61886 36 { (
61887 ASN_TAG_CLASS_CONTEXT
61888  | (1 << 2)), 1, 0, 0 }
61889
61890 38 
61891 a¢_SEQUENCE_¥ecifics_t
61892  
61893         ga¢_SPC_UEID_GNB_DU_¥ecs_1
61894  = {
61895
61896 39 \17(\19
61897 UEID_GNB_DU
61898 ),
61899
61900 40 
61901 off£tof
61902 (\19
61903 UEID_GNB_DU
61904
61905 _a¢_ùx
61906 ),
61907
61908 41 
61909 a¢_MAP_UEID_GNB_DU_\8fg2\96_1
61910 ,
61911
61912 43 
61913 a¢_MAP_UEID_GNB_DU_oms_1
61914 ,
61915
61916 47 
61917 a¢_TYPE_desü\9dtÜ_t
61918  
61919         ga¢_DEF_UEID_GNB_DU
61920  = {
61921
61922 50 &
61923 a¢_OP_SEQUENCE
61924 ,
61925
61926 51 
61927 a¢_DEF_UEID_GNB_DU_\8fgs_1
61928 ,
61929
61930 52 \17(
61931 a¢_DEF_UEID_GNB_DU_\8fgs_1
61932 )
61933
61934 53 /\17(
61935 a¢_DEF_UEID_GNB_DU_\8fgs_1
61936 [0]),
61937
61938 54 
61939 a¢_DEF_UEID_GNB_DU_\8fgs_1
61940 ,
61941
61942 55 \17(
61943 a¢_DEF_UEID_GNB_DU_\8fgs_1
61944 )
61945
61946 56 /\17(
61947 a¢_DEF_UEID_GNB_DU_\8fgs_1
61948 [0]),
61949
61950 57 { 0, 0, 
61951 SEQUENCE_cÚ¡¿\9at
61952  },
61953
61954 58 
61955 a¢_MBR_UEID_GNB_DU_1
61956 ,
61957
61958 60 &
61959 a¢_SPC_UEID_GNB_DU_¥ecs_1
61960
61961
61962         @UEID-GNB.c
61963
61964\ 2
61965         ~"UEID-GNB.h
61966 "
61967
61968 10 \ 2
61969         ~"UEID-GNB-CU-F1AP-ID-Li¡.h
61970 "
61971
61972 11 \ 2
61973         ~"UEID-GNB-CU-CP-E1AP-ID-Li¡.h
61974 "
61975
61976 12 \ 2
61977         ~"Glob®GNB-ID.h
61978 "
61979
61980 13 \ 2
61981         ~"Glob®NGRANNodeID.h
61982 "
61983
61984 14 
61985 a¢_TYPE_memb\94_t
61986  
61987         ga¢_MBR_UEID_GNB_1
61988 [] = {
61989
61990 15 { 
61991 ATF_NOFLAGS
61992 , 0, 
61993 off£tof
61994 (\19
61995 UEID_GNB
61996
61997 amf_UE_NGAP_ID
61998 ),
61999
62000 16 (
62001 ASN_TAG_CLASS_CONTEXT
62002  | (0 << 2)),
62003
62004 18 &
62005 a¢_DEF_AMF_UE_NGAP_ID
62006 ,
62007
62008 24 { 
62009 ATF_NOFLAGS
62010 , 0, 
62011 off£tof
62012 (\19
62013 UEID_GNB
62014
62015 guami
62016 ),
62017
62018 25 (
62019 ASN_TAG_CLASS_CONTEXT
62020  | (1 << 2)),
62021
62022 27 &
62023 a¢_DEF_GUAMI
62024 ,
62025
62026 33 { 
62027 ATF_POINTER
62028 , 6, 
62029 off£tof
62030 (\19
62031 UEID_GNB
62032
62033 gNB_CU_UE_F1AP_ID_Li¡
62034 ),
62035
62036 34 (
62037 ASN_TAG_CLASS_CONTEXT
62038  | (2 << 2)),
62039
62040 36 &
62041 a¢_DEF_UEID_GNB_CU_F1AP_ID_Li¡
62042 ,
62043
62044 42 { 
62045 ATF_POINTER
62046 , 5, 
62047 off£tof
62048 (\19
62049 UEID_GNB
62050
62051 gNB_CU_CP_UE_E1AP_ID_Li¡
62052 ),
62053
62054 43 (
62055 ASN_TAG_CLASS_CONTEXT
62056  | (3 << 2)),
62057
62058 45 &
62059 a¢_DEF_UEID_GNB_CU_CP_E1AP_ID_Li¡
62060 ,
62061
62062 51 { 
62063 ATF_POINTER
62064 , 4, 
62065 off£tof
62066 (\19
62067 UEID_GNB
62068
62069 ¿n_UEID
62070 ),
62071
62072 52 (
62073 ASN_TAG_CLASS_CONTEXT
62074  | (4 << 2)),
62075
62076 54 &
62077 a¢_DEF_RANUEID
62078 ,
62079
62080 60 { 
62081 ATF_POINTER
62082 , 3, 
62083 off£tof
62084 (\19
62085 UEID_GNB
62086
62087 m_NG_RAN_UE_XnAP_ID
62088 ),
62089
62090 61 (
62091 ASN_TAG_CLASS_CONTEXT
62092  | (5 << 2)),
62093
62094 63 &
62095 a¢_DEF_NG_RANnodeUEXnAPID
62096 ,
62097
62098 69 { 
62099 ATF_POINTER
62100 , 2, 
62101 off£tof
62102 (\19
62103 UEID_GNB
62104
62105 glob®GNB_ID
62106 ),
62107
62108 70 (
62109 ASN_TAG_CLASS_CONTEXT
62110  | (6 << 2)),
62111
62112 72 &
62113 a¢_DEF_Glob®GNB_ID
62114 ,
62115
62116 78 { 
62117 ATF_POINTER
62118 , 1, 
62119 off£tof
62120 (\19
62121 UEID_GNB
62122
62123 glob®NG_RANNode_ID
62124 ),
62125
62126 79 (
62127 ASN_TAG_CLASS_CONTEXT
62128  | (7 << 2)),
62129
62130 81 &
62131 a¢_DEF_Glob®NGRANNodeID
62132 ,
62133
62134 88 \18cڡ \12
62135         ga¢_MAP_UEID_GNB_oms_1
62136 [] = { 2, 3, 4, 5, 6, 7 };
62137
62138 89 \18cڡ 
62139 b\94_\8ev_\8fg_t
62140  
62141         ga¢_DEF_UEID_GNB_\8fgs_1
62142 [] = {
62143
62144 90 (
62145 ASN_TAG_CLASS_UNIVERSAL
62146  | (16 << 2))
62147
62148 92 \18cڡ 
62149 a¢_TYPE_\8fg2memb\94_t
62150  
62151         ga¢_MAP_UEID_GNB_\8fg2\96_1
62152 [] = {
62153
62154 93 { (
62155 ASN_TAG_CLASS_CONTEXT
62156  | (0 << 2)), 0, 0, 0 },
62157
62158 94 { (
62159 ASN_TAG_CLASS_CONTEXT
62160  | (1 << 2)), 1, 0, 0 },
62161
62162 95 { (
62163 ASN_TAG_CLASS_CONTEXT
62164  | (2 << 2)), 2, 0, 0 },
62165
62166 96 { (
62167 ASN_TAG_CLASS_CONTEXT
62168  | (3 << 2)), 3, 0, 0 },
62169
62170 97 { (
62171 ASN_TAG_CLASS_CONTEXT
62172  | (4 << 2)), 4, 0, 0 },
62173
62174 98 { (
62175 ASN_TAG_CLASS_CONTEXT
62176  | (5 << 2)), 5, 0, 0 },
62177
62178 99 { (
62179 ASN_TAG_CLASS_CONTEXT
62180  | (6 << 2)), 6, 0, 0 },
62181
62182 100 { (
62183 ASN_TAG_CLASS_CONTEXT
62184  | (7 << 2)), 7, 0, 0 }
62185
62186 102 
62187 a¢_SEQUENCE_¥ecifics_t
62188  
62189         ga¢_SPC_UEID_GNB_¥ecs_1
62190  = {
62191
62192 103 \17(\19
62193 UEID_GNB
62194 ),
62195
62196 104 
62197 off£tof
62198 (\19
62199 UEID_GNB
62200
62201 _a¢_ùx
62202 ),
62203
62204 105 
62205 a¢_MAP_UEID_GNB_\8fg2\96_1
62206 ,
62207
62208 107 
62209 a¢_MAP_UEID_GNB_oms_1
62210 ,
62211
62212 111 
62213 a¢_TYPE_desü\9dtÜ_t
62214  
62215         ga¢_DEF_UEID_GNB
62216  = {
62217
62218 114 &
62219 a¢_OP_SEQUENCE
62220 ,
62221
62222 115 
62223 a¢_DEF_UEID_GNB_\8fgs_1
62224 ,
62225
62226 116 \17(
62227 a¢_DEF_UEID_GNB_\8fgs_1
62228 )
62229
62230 117 /\17(
62231 a¢_DEF_UEID_GNB_\8fgs_1
62232 [0]),
62233
62234 118 
62235 a¢_DEF_UEID_GNB_\8fgs_1
62236 ,
62237
62238 119 \17(
62239 a¢_DEF_UEID_GNB_\8fgs_1
62240 )
62241
62242 120 /\17(
62243 a¢_DEF_UEID_GNB_\8fgs_1
62244 [0]),
62245
62246 121 { 0, 0, 
62247 SEQUENCE_cÚ¡¿\9at
62248  },
62249
62250 122 
62251 a¢_MBR_UEID_GNB_1
62252 ,
62253
62254 124 &
62255 a¢_SPC_UEID_GNB_¥ecs_1
62256
62257
62258         @UEID-NG-ENB-DU.c
62259
62260\ 2
62261         ~"UEID-NG-ENB-DU.h
62262 "
62263
62264 10 
62265 a¢_TYPE_memb\94_t
62266  
62267         ga¢_MBR_UEID_NG_ENB_DU_1
62268 [] = {
62269
62270 11 { 
62271 ATF_NOFLAGS
62272 , 0, 
62273 off£tof
62274 (\19
62275 UEID_NG_ENB_DU
62276
62277 ng_eNB_CU_UE_W1AP_ID
62278 ),
62279
62280 12 (
62281 ASN_TAG_CLASS_CONTEXT
62282  | (0 << 2)),
62283
62284 14 &
62285 a¢_DEF_NGENB_CU_UE_W1AP_ID
62286 ,
62287
62288 21 \18cڡ 
62289 b\94_\8ev_\8fg_t
62290  
62291         ga¢_DEF_UEID_NG_ENB_DU_\8fgs_1
62292 [] = {
62293
62294 22 (
62295 ASN_TAG_CLASS_UNIVERSAL
62296  | (16 << 2))
62297
62298 24 \18cڡ 
62299 a¢_TYPE_\8fg2memb\94_t
62300  
62301         ga¢_MAP_UEID_NG_ENB_DU_\8fg2\96_1
62302 [] = {
62303
62304 25 { (
62305 ASN_TAG_CLASS_CONTEXT
62306  | (0 << 2)), 0, 0, 0 }
62307
62308 27 
62309 a¢_SEQUENCE_¥ecifics_t
62310  
62311         ga¢_SPC_UEID_NG_ENB_DU_¥ecs_1
62312  = {
62313
62314 28 \17(\19
62315 UEID_NG_ENB_DU
62316 ),
62317
62318 29 
62319 off£tof
62320 (\19
62321 UEID_NG_ENB_DU
62322
62323 _a¢_ùx
62324 ),
62325
62326 30 
62327 a¢_MAP_UEID_NG_ENB_DU_\8fg2\96_1
62328 ,
62329
62330 35 
62331 a¢_TYPE_desü\9dtÜ_t
62332  
62333         ga¢_DEF_UEID_NG_ENB_DU
62334  = {
62335
62336 38 &
62337 a¢_OP_SEQUENCE
62338 ,
62339
62340 39 
62341 a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
62342 ,
62343
62344 40 \17(
62345 a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
62346 )
62347
62348 41 /\17(
62349 a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
62350 [0]),
62351
62352 42 
62353 a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
62354 ,
62355
62356 43 \17(
62357 a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
62358 )
62359
62360 44 /\17(
62361 a¢_DEF_UEID_NG_ENB_DU_\8fgs_1
62362 [0]),
62363
62364 45 { 0, 0, 
62365 SEQUENCE_cÚ¡¿\9at
62366  },
62367
62368 46 
62369 a¢_MBR_UEID_NG_ENB_DU_1
62370 ,
62371
62372 48 &
62373 a¢_SPC_UEID_NG_ENB_DU_¥ecs_1
62374
62375
62376         @UEID-NG-ENB.c
62377
62378\ 2
62379         ~"UEID-NG-ENB.h
62380 "
62381
62382 10 \ 2
62383         ~"Glob®NgENB-ID.h
62384 "
62385
62386 11 \ 2
62387         ~"Glob®NGRANNodeID.h
62388 "
62389
62390 12 
62391 a¢_TYPE_memb\94_t
62392  
62393         ga¢_MBR_UEID_NG_ENB_1
62394 [] = {
62395
62396 13 { 
62397 ATF_NOFLAGS
62398 , 0, 
62399 off£tof
62400 (\19
62401 UEID_NG_ENB
62402
62403 amf_UE_NGAP_ID
62404 ),
62405
62406 14 (
62407 ASN_TAG_CLASS_CONTEXT
62408  | (0 << 2)),
62409
62410 16 &
62411 a¢_DEF_AMF_UE_NGAP_ID
62412 ,
62413
62414 22 { 
62415 ATF_NOFLAGS
62416 , 0, 
62417 off£tof
62418 (\19
62419 UEID_NG_ENB
62420
62421 guami
62422 ),
62423
62424 23 (
62425 ASN_TAG_CLASS_CONTEXT
62426  | (1 << 2)),
62427
62428 25 &
62429 a¢_DEF_GUAMI
62430 ,
62431
62432 31 { 
62433 ATF_POINTER
62434 , 4, 
62435 off£tof
62436 (\19
62437 UEID_NG_ENB
62438
62439 ng_eNB_CU_UE_W1AP_ID
62440 ),
62441
62442 32 (
62443 ASN_TAG_CLASS_CONTEXT
62444  | (2 << 2)),
62445
62446 34 &
62447 a¢_DEF_NGENB_CU_UE_W1AP_ID
62448 ,
62449
62450 40 { 
62451 ATF_POINTER
62452 , 3, 
62453 off£tof
62454 (\19
62455 UEID_NG_ENB
62456
62457 m_NG_RAN_UE_XnAP_ID
62458 ),
62459
62460 41 (
62461 ASN_TAG_CLASS_CONTEXT
62462  | (3 << 2)),
62463
62464 43 &
62465 a¢_DEF_NG_RANnodeUEXnAPID
62466 ,
62467
62468 49 { 
62469 ATF_POINTER
62470 , 2, 
62471 off£tof
62472 (\19
62473 UEID_NG_ENB
62474
62475 glob®NgENB_ID
62476 ),
62477
62478 50 (
62479 ASN_TAG_CLASS_CONTEXT
62480  | (4 << 2)),
62481
62482 52 &
62483 a¢_DEF_Glob®NgENB_ID
62484 ,
62485
62486 58 { 
62487 ATF_POINTER
62488 , 1, 
62489 off£tof
62490 (\19
62491 UEID_NG_ENB
62492
62493 glob®NG_RANNode_ID
62494 ),
62495
62496 59 (
62497 ASN_TAG_CLASS_CONTEXT
62498  | (5 << 2)),
62499
62500 61 &
62501 a¢_DEF_Glob®NGRANNodeID
62502 ,
62503
62504 68 \18cڡ \12
62505         ga¢_MAP_UEID_NG_ENB_oms_1
62506 [] = { 2, 3, 4, 5 };
62507
62508 69 \18cڡ 
62509 b\94_\8ev_\8fg_t
62510  
62511         ga¢_DEF_UEID_NG_ENB_\8fgs_1
62512 [] = {
62513
62514 70 (
62515 ASN_TAG_CLASS_UNIVERSAL
62516  | (16 << 2))
62517
62518 72 \18cڡ 
62519 a¢_TYPE_\8fg2memb\94_t
62520  
62521         ga¢_MAP_UEID_NG_ENB_\8fg2\96_1
62522 [] = {
62523
62524 73 { (
62525 ASN_TAG_CLASS_CONTEXT
62526  | (0 << 2)), 0, 0, 0 },
62527
62528 74 { (
62529 ASN_TAG_CLASS_CONTEXT
62530  | (1 << 2)), 1, 0, 0 },
62531
62532 75 { (
62533 ASN_TAG_CLASS_CONTEXT
62534  | (2 << 2)), 2, 0, 0 },
62535
62536 76 { (
62537 ASN_TAG_CLASS_CONTEXT
62538  | (3 << 2)), 3, 0, 0 },
62539
62540 77 { (
62541 ASN_TAG_CLASS_CONTEXT
62542  | (4 << 2)), 4, 0, 0 },
62543
62544 78 { (
62545 ASN_TAG_CLASS_CONTEXT
62546  | (5 << 2)), 5, 0, 0 }
62547
62548 80 
62549 a¢_SEQUENCE_¥ecifics_t
62550  
62551         ga¢_SPC_UEID_NG_ENB_¥ecs_1
62552  = {
62553
62554 81 \17(\19
62555 UEID_NG_ENB
62556 ),
62557
62558 82 
62559 off£tof
62560 (\19
62561 UEID_NG_ENB
62562
62563 _a¢_ùx
62564 ),
62565
62566 83 
62567 a¢_MAP_UEID_NG_ENB_\8fg2\96_1
62568 ,
62569
62570 85 
62571 a¢_MAP_UEID_NG_ENB_oms_1
62572 ,
62573
62574 89 
62575 a¢_TYPE_desü\9dtÜ_t
62576  
62577         ga¢_DEF_UEID_NG_ENB
62578  = {
62579
62580 92 &
62581 a¢_OP_SEQUENCE
62582 ,
62583
62584 93 
62585 a¢_DEF_UEID_NG_ENB_\8fgs_1
62586 ,
62587
62588 94 \17(
62589 a¢_DEF_UEID_NG_ENB_\8fgs_1
62590 )
62591
62592 95 /\17(
62593 a¢_DEF_UEID_NG_ENB_\8fgs_1
62594 [0]),
62595
62596 96 
62597 a¢_DEF_UEID_NG_ENB_\8fgs_1
62598 ,
62599
62600 97 \17(
62601 a¢_DEF_UEID_NG_ENB_\8fgs_1
62602 )
62603
62604 98 /\17(
62605 a¢_DEF_UEID_NG_ENB_\8fgs_1
62606 [0]),
62607
62608 99 { 0, 0, 
62609 SEQUENCE_cÚ¡¿\9at
62610  },
62611
62612 100 
62613 a¢_MBR_UEID_NG_ENB_1
62614 ,
62615
62616 102 &
62617 a¢_SPC_UEID_NG_ENB_¥ecs_1
62618
62619
62620         @UEID.c
62621
62622\ 2
62623         ~"UEID.h
62624 "
62625
62626 10 \ 2
62627         ~"UEID-GNB.h
62628 "
62629
62630 11 \ 2
62631         ~"UEID-GNB-DU.h
62632 "
62633
62634 12 \ 2
62635         ~"UEID-GNB-CU-UP.h
62636 "
62637
62638 13 \ 2
62639         ~"UEID-NG-ENB.h
62640 "
62641
62642 14 \ 2
62643         ~"UEID-NG-ENB-DU.h
62644 "
62645
62646 15 \ 2
62647         ~"UEID-EN-GNB.h
62648 "
62649
62650 16 \ 2
62651         ~"UEID-ENB.h
62652 "
62653
62654 17 
62655 a¢_³r_cÚ¡¿\9ats_t
62656  
62657 a¢_PER_ty³_UEID_cÚ¡r_1
62658  
62659         gCC_NOTUSED
62660  = {
62661
62662 18 { 
62663 APC_CONSTRAINED
62664  | 
62665 APC_EXTENSIBLE
62666 , 3, 3, 0, 6 } ,
62667
62668 19 { 
62669 APC_UNCONSTRAINED
62670 , -1, -1, 0, 0 },
62671
62672 22 
62673 a¢_TYPE_memb\94_t
62674  
62675         ga¢_MBR_UEID_1
62676 [] = {
62677
62678 23 { 
62679 ATF_POINTER
62680 , 0, 
62681 off£tof
62682 (\19
62683 UEID
62684
62685 choiû
62686 .
62687 gNB_UEID
62688 ),
62689
62690 24 (
62691 ASN_TAG_CLASS_CONTEXT
62692  | (0 << 2)),
62693
62694 26 &
62695 a¢_DEF_UEID_GNB
62696 ,
62697
62698 32 { 
62699 ATF_POINTER
62700 , 0, 
62701 off£tof
62702 (\19
62703 UEID
62704
62705 choiû
62706 .
62707 gNB_DU_UEID
62708 ),
62709
62710 33 (
62711 ASN_TAG_CLASS_CONTEXT
62712  | (1 << 2)),
62713
62714 35 &
62715 a¢_DEF_UEID_GNB_DU
62716 ,
62717
62718 41 { 
62719 ATF_POINTER
62720 , 0, 
62721 off£tof
62722 (\19
62723 UEID
62724
62725 choiû
62726 .
62727 gNB_CU_UP_UEID
62728 ),
62729
62730 42 (
62731 ASN_TAG_CLASS_CONTEXT
62732  | (2 << 2)),
62733
62734 44 &
62735 a¢_DEF_UEID_GNB_CU_UP
62736 ,
62737
62738 50 { 
62739 ATF_POINTER
62740 , 0, 
62741 off£tof
62742 (\19
62743 UEID
62744
62745 choiû
62746 .
62747 ng_eNB_UEID
62748 ),
62749
62750 51 (
62751 ASN_TAG_CLASS_CONTEXT
62752  | (3 << 2)),
62753
62754 53 &
62755 a¢_DEF_UEID_NG_ENB
62756 ,
62757
62758 59 { 
62759 ATF_POINTER
62760 , 0, 
62761 off£tof
62762 (\19
62763 UEID
62764
62765 choiû
62766 .
62767 ng_eNB_DU_UEID
62768 ),
62769
62770 60 (
62771 ASN_TAG_CLASS_CONTEXT
62772  | (4 << 2)),
62773
62774 62 &
62775 a¢_DEF_UEID_NG_ENB_DU
62776 ,
62777
62778 68 { 
62779 ATF_POINTER
62780 , 0, 
62781 off£tof
62782 (\19
62783 UEID
62784
62785 choiû
62786 .
62787 \92_gNB_UEID
62788 ),
62789
62790 69 (
62791 ASN_TAG_CLASS_CONTEXT
62792  | (5 << 2)),
62793
62794 71 &
62795 a¢_DEF_UEID_EN_GNB
62796 ,
62797
62798 77 { 
62799 ATF_POINTER
62800 , 0, 
62801 off£tof
62802 (\19
62803 UEID
62804
62805 choiû
62806 .
62807 eNB_UEID
62808 ),
62809
62810 78 (
62811 ASN_TAG_CLASS_CONTEXT
62812  | (6 << 2)),
62813
62814 80 &
62815 a¢_DEF_UEID_ENB
62816 ,
62817
62818 87 \18cڡ 
62819 a¢_TYPE_\8fg2memb\94_t
62820  
62821         ga¢_MAP_UEID_\8fg2\96_1
62822 [] = {
62823
62824 88 { (
62825 ASN_TAG_CLASS_CONTEXT
62826  | (0 << 2)), 0, 0, 0 },
62827
62828 89 { (
62829 ASN_TAG_CLASS_CONTEXT
62830  | (1 << 2)), 1, 0, 0 },
62831
62832 90 { (
62833 ASN_TAG_CLASS_CONTEXT
62834  | (2 << 2)), 2, 0, 0 },
62835
62836 91 { (
62837 ASN_TAG_CLASS_CONTEXT
62838  | (3 << 2)), 3, 0, 0 },
62839
62840 92 { (
62841 ASN_TAG_CLASS_CONTEXT
62842  | (4 << 2)), 4, 0, 0 },
62843
62844 93 { (
62845 ASN_TAG_CLASS_CONTEXT
62846  | (5 << 2)), 5, 0, 0 },
62847
62848 94 { (
62849 ASN_TAG_CLASS_CONTEXT
62850  | (6 << 2)), 6, 0, 0 }
62851
62852 96 
62853 a¢_CHOICE_¥ecifics_t
62854  
62855         ga¢_SPC_UEID_¥ecs_1
62856  = {
62857
62858 97 \17(\19
62859 UEID
62860 ),
62861
62862 98 
62863 off£tof
62864 (\19
62865 UEID
62866
62867 _a¢_ùx
62868 ),
62869
62870 99 
62871 off£tof
62872 (\19
62873 UEID
62874
62875 ´e£Á
62876 ),
62877
62878 100 \17(((\19
62879 UEID
62880  *)0)->
62881 ´e£Á
62882 ),
62883
62884 101 
62885 a¢_MAP_UEID_\8fg2\96_1
62886 ,
62887
62888 106 
62889 a¢_TYPE_desü\9dtÜ_t
62890  
62891         ga¢_DEF_UEID
62892  = {
62893
62894 109 &
62895 a¢_OP_CHOICE
62896 ,
62897
62898 114 { 0, &
62899 a¢_PER_ty³_UEID_cÚ¡r_1
62900
62901 CHOICE_cÚ¡¿\9at
62902  },
62903
62904 115 
62905 a¢_MBR_UEID_1
62906 ,
62907
62908 117 &
62909 a¢_SPC_UEID_¥ecs_1
62910
62911
62912         @asn_SEQUENCE_OF.c
62913
62914\ 2
62915         ~<a¢_\9a\8bº®.h
62916 >
62917
62918\ 2
62919         ~<a¢_SEQUENCE_OF.h
62920 >
62921
62922\e
62923         $A_SEQUENCE_OF
62924 (\1eè
62925         ta¢_£qu\92û
62926 ;
62927
62928 11 
62929         $a¢_£qu\92û_d\96
62930 (\1e*
62931 a¢_£qu\92û_of_x
62932\12
62933 numb\94
62934\12
62935 _do_ä\93
62936 ) {
62937
62938 12 
62939 a¢_£qu\92û
62940  *
62941 as
62942  = (a¢_£qu\92û *)
62943 a¢_£qu\92û_of_x
62944 ;
62945
62946 14 if(
62947 as
62948 ) {
62949
62950 15 \1e*
62951 ±r
62952 ;
62953
62954 16 \12
62955 n
62956 ;
62957
62958 18 if(
62959 numb\94
62960  < 0 ||\82umb\94 >ð
62961 as
62962 ->
62963 couÁ
62964 )
62965
62966 21 if(
62967 _do_ä\93
62968  && 
62969 as
62970 ->
62971 ä\93
62972 ) {
62973
62974 22 
62975 ±r
62976  = 
62977 as
62978 ->
62979 ¬¿y
62980 [
62981 numb\94
62982 ];
62983
62984 24 
62985 ±r
62986  = 0;
62987
62988 30 --
62989 as
62990 ->
62991 couÁ
62992 ;
62993
62994 31 \ f
62995 n
62996  = 
62997 numb\94
62998 ;\82 < 
62999 as
63000 ->
63001 couÁ
63002 ;\82++)
63003
63004 32 
63005 as
63006 ->
63007 ¬¿y
63008 [
63009 n
63010 ] =\87s->array[n+1];
63011
63012 38 if(
63013 ±r
63014 è
63015 as
63016 ->
63017         `ä\93
63018 (ptr);
63019
63020 40 
63021         }
63022 }
63023
63024         @asn_SET_OF.c
63025
63026\ 2
63027         ~<a¢_\9a\8bº®.h
63028 >
63029
63030\ 2
63031         ~<a¢_SET_OF.h
63032 >
63033
63034\ 2
63035         ~<\94ºo.h
63036 >
63037
63038 13 
63039         $a¢_£t_add
63040 (\1e*
63041 a¢_£t_of_x
63042\1e*
63043 ±r
63044 ) {
63045
63046 14 
63047 a¢_ªÚymous_£t_
63048  *
63049 as
63050  = 
63051         `_A_SET_FROM_VOID
63052 (
63053 a¢_£t_of_x
63054 );
63055
63056 16 if(
63057 as
63058  =ð0 || 
63059 ±r
63060  == 0) {
63061
63062 17 
63063 \94ºo
63064  = 
63065 EINVAL
63066 ;
63067
63068 24 if(
63069 as
63070 ->
63071 couÁ
63072  =ðas->
63073 size
63074 ) {
63075
63076 25 \12
63077 _Ãwsize
63078  = 
63079 as
63080 ->
63081 size
63082  ? (as->size << 1) : 4;
63083
63084 26 \1e*
63085 _Ãw_¬r
63086 ;
63087
63088 27 
63089 _Ãw_¬r
63090  = 
63091         `REALLOC
63092 (
63093 as
63094 ->
63095 ¬¿y
63096
63097 _Ãwsize
63098  * \17(as->array[0]));
63099
63100 28 if(
63101 _Ãw_¬r
63102 ) {
63103
63104 29 
63105 as
63106 ->
63107 ¬¿y
63108  = (\1e**)
63109 _Ãw_¬r
63110 ;
63111
63112 30 
63113 as
63114 ->
63115 size
63116  = 
63117 _Ãwsize
63118 ;
63119
63120 37 
63121 as
63122 ->
63123 ¬¿y
63124 [as->
63125 couÁ
63126 ++] = 
63127 ±r
63128 ;
63129
63130 40 
63131         }
63132 }
63133
63134 43 
63135         $a¢_£t_d\96
63136 (\1e*
63137 a¢_£t_of_x
63138\12
63139 numb\94
63140\12
63141 _do_ä\93
63142 ) {
63143
63144 44 
63145 a¢_ªÚymous_£t_
63146  *
63147 as
63148  = 
63149         `_A_SET_FROM_VOID
63150 (
63151 a¢_£t_of_x
63152 );
63153
63154 46 if(
63155 as
63156 ) {
63157
63158 47 \1e*
63159 ±r
63160 ;
63161
63162 48 if(
63163 numb\94
63164  < 0 ||\82umb\94 >ð
63165 as
63166 ->
63167 couÁ
63168 )
63169
63170 51 if(
63171 _do_ä\93
63172  && 
63173 as
63174 ->
63175 ä\93
63176 ) {
63177
63178 52 
63179 ±r
63180  = 
63181 as
63182 ->
63183 ¬¿y
63184 [
63185 numb\94
63186 ];
63187
63188 54 
63189 ±r
63190  = 0;
63191
63192 57 
63193 as
63194 ->
63195 ¬¿y
63196 [
63197 numb\94
63198 ] =\87s->¬¿y[--as->
63199 couÁ
63200 ];
63201
63202 63 if(
63203 ±r
63204 è
63205 as
63206 ->
63207         `ä\93
63208 (ptr);
63209
63210 65 
63211         }
63212 }
63213
63214 71 
63215         $a¢_£t_em±y
63216 (\1e*
63217 a¢_£t_of_x
63218 ) {
63219
63220 72 
63221 a¢_ªÚymous_£t_
63222  *
63223 as
63224  = 
63225         `_A_SET_FROM_VOID
63226 (
63227 a¢_£t_of_x
63228 );
63229
63230 74 if(
63231 as
63232 ) {
63233
63234 75 if(
63235 as
63236 ->
63237 ¬¿y
63238 ) {
63239
63240 76 if(
63241 as
63242 ->
63243 ä\93
63244 ) {
63245
63246 77 \1f
63247 as
63248 ->
63249 couÁ
63250 --)
63251
63252 78 
63253 as
63254 ->
63255         `ä\93
63256 ×s->
63257 ¬¿y
63258 [as->
63259 couÁ
63260 ]);
63261
63262 80 
63263         `FREEMEM
63264 (
63265 as
63266 ->
63267 ¬¿y
63268 );
63269
63270 81 
63271 as
63272 ->
63273 ¬¿y
63274  = 0;
63275
63276 83 
63277 as
63278 ->
63279 couÁ
63280  = 0;
63281
63282 84 
63283 as
63284 ->
63285 size
63286  = 0;
63287
63288 87 
63289         }
63290 }
63291
63292         @asn_application.c
63293
63294\ 2
63295         ~<a¢_\9a\8bº®.h
63296 >
63297
63298\ 2
63299         ~<a¢_­¶iÿtiÚ.h
63300 >
63301
63302\ 2
63303         ~<\94ºo.h
63304 >
63305
63306\18
63307 a¢_\92c_rv®_t
63308  
63309 a¢_\92code_\9a\8bº®
63310 (cڡ 
63311 a¢_codec_ùx_t
63312  *
63313 Ýt_codec_ùx
63314 ,
63315
63316 10 \f
63317 a¢_\8cªsãr_syÁax
63318  
63319 syÁax
63320 ,
63321
63322 11 cڡ 
63323 a¢_TYPE_desü\9dtÜ_t
63324  *
63325 td
63326 ,
63327
63328 12 cڡ \1e*
63329 ¥\8c
63330 ,
63331
63332 13 
63333 a¢_­p_cÚsume_by\8bs_f
63334  *
63335 ÿÎback
63336 ,
63337
63338 14 \1e*
63339 ÿÎback_key
63340 );
63341
63342 17 \19
63343         sÿÎback_couÁ_by\8bs_key
63344  {
63345
63346 18 
63347 a¢_­p_cÚsume_by\8bs_f
63348  *
63349         mÿÎback
63350 ;
63351
63352 19 \1e*
63353         mÿÎback_key
63354 ;
63355
63356 20 
63357 size_t
63358  
63359         mcompu\8bd_size
63360 ;
63361
63362 27 
63363         $ÿÎback_couÁ_by\8bs_cb
63364 (cڡ \1e*
63365 d©a
63366
63367 size_t
63368  
63369 size
63370\1e*
63371 keyp
63372 ) {
63373
63374 28 \19
63375 ÿÎback_couÁ_by\8bs_key
63376  *
63377 key
63378  = 
63379 keyp
63380 ;
63381
63382 29 \12
63383 »t
63384 ;
63385
63386 31 
63387 »t
63388  = 
63389 key
63390 ->
63391         `ÿÎback
63392 (
63393 d©a
63394
63395 size
63396 , key->
63397 ÿÎback_key
63398 );
63399
63400 32 if(
63401 »t
63402  >= 0) {
63403
63404 33 
63405 key
63406 ->
63407 compu\8bd_size
63408  +ð
63409 size
63410 ;
63411
63412 36 \15 
63413 »t
63414 ;
63415
63416 37 
63417         }
63418 }
63419
63420 39 \19
63421         sov\94run_\92cod\94_key
63422  {
63423
63424 40 \1e*
63425         mbufãr
63426 ;
63427
63428 41 
63429 size_t
63430  
63431         mbufãr_size
63432 ;
63433
63434 42 
63435 size_t
63436  
63437         mcompu\8bd_size
63438 ;
63439
63440 45 \19
63441         sdyÇmic_\92cod\94_key
63442  {
63443
63444 46 \1e*
63445         mbufãr
63446 ;
63447
63448 47 
63449 size_t
63450  
63451         mbufãr_size
63452 ;
63453
63454 48 
63455 size_t
63456  
63457         mcompu\8bd_size
63458 ;
63459
63460 51 \19
63461         sÿÎback_ç\9eu»_ÿtch_key
63462  {
63463
63464 52 
63465 a¢_­p_cÚsume_by\8bs_f
63466  *
63467         mÿÎback
63468 ;
63469
63470 53 \1e*
63471         mÿÎback_key
63472 ;
63473
63474 54 \12
63475         mÿÎback_ç\9eed
63476 ;
63477
63478 62 
63479         $ov\94run_\92cod\94_cb
63480 (cڡ \1e*
63481 d©a
63482
63483 size_t
63484  
63485 size
63486\1e*
63487 keyp
63488 ) {
63489
63490 63 \19
63491 ov\94run_\92cod\94_key
63492  *
63493 key
63494  = 
63495 keyp
63496 ;
63497
63498 65 if(
63499 key
63500 ->
63501 compu\8bd_size
63502  + 
63503 size
63504  > key->
63505 bufãr_size
63506 ) {
63507
63508 70 
63509 key
63510 ->
63511 bufãr_size
63512  = 0;
63513
63514 72 
63515         `memýy
63516 ((\ 5*)
63517 key
63518 ->
63519 bufãr
63520  + key->
63521 compu\8bd_size
63522
63523 d©a
63524
63525 size
63526 );
63527
63528 74 
63529 key
63530 ->
63531 compu\8bd_size
63532  +ð
63533 size
63534 ;
63535
63536 77 
63537         }
63538 }
63539
63540 84 
63541         $dyÇmic_\92cod\94_cb
63542 (cڡ \1e*
63543 d©a
63544
63545 size_t
63546  
63547 size
63548\1e*
63549 keyp
63550 ) {
63551
63552 85 \19
63553 dyÇmic_\92cod\94_key
63554  *
63555 key
63556  = 
63557 keyp
63558 ;
63559
63560 87 if(
63561 key
63562 ->
63563 bufãr
63564 ) {
63565
63566 88 if(
63567 key
63568 ->
63569 compu\8bd_size
63570  + 
63571 size
63572  >ðkey->
63573 bufãr_size
63574 ) {
63575
63576 89 \1e*
63577 p
63578 ;
63579
63580 90 
63581 size_t
63582  
63583 Ãw_size
63584  = 
63585 key
63586 ->
63587 bufãr_size
63588 ;
63589
63590 93 
63591 Ãw_size
63592  *= 2;
63593
63594 94 } \1f
63595 Ãw_size
63596  <ð
63597 key
63598 ->
63599 compu\8bd_size
63600  + 
63601 size
63602 );
63603
63604 96 
63605 p
63606  = 
63607         `REALLOC
63608 (
63609 key
63610 ->
63611 bufãr
63612
63613 Ãw_size
63614 );
63615
63616 97 if(
63617 p
63618 ) {
63619
63620 98 
63621 key
63622 ->
63623 bufãr
63624  = 
63625 p
63626 ;
63627
63628 99 
63629 key
63630 ->
63631 bufãr_size
63632  = 
63633 Ãw_size
63634 ;
63635
63636 101 
63637         `FREEMEM
63638 (
63639 key
63640 ->
63641 bufãr
63642 );
63643
63644 102 
63645 key
63646 ->
63647 bufãr
63648  = 0;
63649
63650 103 
63651 key
63652 ->
63653 bufãr_size
63654  = 0;
63655
63656 104 
63657 key
63658 ->
63659 compu\8bd_size
63660  +ð
63661 size
63662 ;
63663
63664 108 
63665         `memýy
63666 ((\ 5*)
63667 key
63668 ->
63669 bufãr
63670  + key->
63671 compu\8bd_size
63672
63673 d©a
63674
63675 size
63676 );
63677
63678 111 
63679 key
63680 ->
63681 compu\8bd_size
63682  +ð
63683 size
63684 ;
63685
63686 114 
63687         }
63688 }
63689
63690 120 
63691         $ÿÎback_ç\9eu»_ÿtch_cb
63692 (cڡ \1e*
63693 d©a
63694
63695 size_t
63696  
63697 size
63698\1e*
63699 keyp
63700 ) {
63701
63702 121 \19
63703 ÿÎback_ç\9eu»_ÿtch_key
63704  *
63705 key
63706  = 
63707 keyp
63708 ;
63709
63710 122 \12
63711 »t
63712 ;
63713
63714 124 
63715 »t
63716  = 
63717 key
63718 ->
63719         `ÿÎback
63720 (
63721 d©a
63722
63723 size
63724 , key->
63725 ÿÎback_key
63726 );
63727
63728 125 if(
63729 »t
63730  < 0) {
63731
63732 126 
63733 key
63734 ->
63735 ÿÎback_ç\9eed
63736  = 1;
63737
63738 129 \15 
63739 »t
63740 ;
63741
63742 130 
63743         }
63744 }
63745
63746 132 
63747 a¢_\92c_rv®_t
63748
63749
63750 133 
63751         $a¢_\92code
63752 (cڡ 
63753 a¢_codec_ùx_t
63754  *
63755 Ýt_codec_ùx
63756 ,
63757
63758 134 \f
63759 a¢_\8cªsãr_syÁax
63760  
63761 syÁax
63762 , cڡ 
63763 a¢_TYPE_desü\9dtÜ_t
63764  *
63765 td
63766 ,
63767
63768 135 cڡ \1e*
63769 ¥\8c
63770
63771 a¢_­p_cÚsume_by\8bs_f
63772  *
63773 ÿÎback
63774\1e*
63775 ÿÎback_key
63776 ) {
63777
63778 136 \19
63779 ÿÎback_ç\9eu»_ÿtch_key
63780  
63781 cb_key
63782 ;
63783
63784 137 
63785 a¢_\92c_rv®_t
63786  
63787 \94
63788  = {0,0,0};
63789
63790 139 if(!
63791 ÿÎback
63792 ) {
63793
63794 140 
63795 \94ºo
63796  = 
63797 EINVAL
63798 ;
63799
63800 141 
63801 ASN__ENCODE_FAILED
63802 ;
63803
63804 144 
63805 cb_key
63806 .
63807 ÿÎback
63808  = callback;
63809
63810 145 
63811 cb_key
63812 .
63813 ÿÎback_key
63814  = callback_key;
63815
63816 146 
63817 cb_key
63818 .
63819 ÿÎback_ç\9eed
63820  = 0;
63821
63822 148 
63823 \94
63824  = 
63825         `a¢_\92code_\9a\8bº®
63826 (
63827 Ýt_codec_ùx
63828
63829 syÁax
63830
63831 td
63832
63833 ¥\8c
63834 ,
63835
63836 149 
63837 ÿÎback_ç\9eu»_ÿtch_cb
63838 , &
63839 cb_key
63840 );
63841
63842 150 if(
63843 cb_key
63844 .
63845 ÿÎback_ç\9eed
63846 ) {
63847
63848 151 
63849         `as£¹
63850 (
63851 \94
63852 .
63853 \92coded
63854  == -1);
63855
63856 152 
63857         `as£¹
63858 (
63859 \94ºo
63860  =ð
63861 EBADF
63862 );
63863
63864 153 
63865 \94ºo
63866  = 
63867 EIO
63868 ;
63869
63870 156 \15 
63871 \94
63872 ;
63873
63874 157 
63875         }
63876 }
63877
63878 159 
63879 a¢_\92c_rv®_t
63880
63881
63882 160 
63883         $a¢_\92code_to_bufãr
63884 (cڡ 
63885 a¢_codec_ùx_t
63886  *
63887 Ýt_codec_ùx
63888 ,
63889
63890 161 \f
63891 a¢_\8cªsãr_syÁax
63892  
63893 syÁax
63894 ,
63895
63896 162 cڡ 
63897 a¢_TYPE_desü\9dtÜ_t
63898  *
63899 td
63900 , cڡ \1e*
63901 ¥\8c
63902 ,
63903
63904 163 \1e*
63905 bufãr
63906
63907 size_t
63908  
63909 bufãr_size
63910 ) {
63911
63912 164 \19
63913 ov\94run_\92cod\94_key
63914  
63915 buf_key
63916 ;
63917
63918 165 
63919 a¢_\92c_rv®_t
63920  
63921 \94
63922  = {0,0,0};
63923
63924 167 if(
63925 bufãr_size
63926  > 0 && !
63927 bufãr
63928 ) {
63929
63930 168 
63931 \94ºo
63932  = 
63933 EINVAL
63934 ;
63935
63936 169 
63937 ASN__ENCODE_FAILED
63938 ;
63939
63940 172 
63941 buf_key
63942 .
63943 bufãr
63944  = buffer;
63945
63946 173 
63947 buf_key
63948 .
63949 bufãr_size
63950  = buffer_size;
63951
63952 174 
63953 buf_key
63954 .
63955 compu\8bd_size
63956  = 0;
63957
63958 176 
63959 \94
63960  = 
63961         `a¢_\92code_\9a\8bº®
63962 (
63963 Ýt_codec_ùx
63964
63965 syÁax
63966
63967 td
63968
63969 ¥\8c
63970 ,
63971
63972 177 
63973 ov\94run_\92cod\94_cb
63974 , &
63975 buf_key
63976 );
63977
63978 179 if(
63979 \94
63980 .
63981 \92coded
63982  >ð0 && (
63983 size_t
63984 ër.\92coded !ð
63985 buf_key
63986 .
63987 compu\8bd_size
63988 ) {
63989
63990 180 
63991         `ASN_DEBUG
63992 ("a¢_\92code(è»tuºed %" 
63993 ASN_PRI_SSIZE
63994
63995
63996 181 " y\91\85roduûd %" 
63997 ASN_PRI_SIZE
63998  " bytes",
63999
64000 182 
64001 \94
64002 .
64003 \92coded
64004
64005 buf_key
64006 .
64007 compu\8bd_size
64008 );
64009
64010 183 
64011         `as£¹
64012 (
64013 \94
64014 .
64015 \92coded
64016  < 0 || (
64017 size_t
64018 ër.\92coded =ð
64019 buf_key
64020 .
64021 compu\8bd_size
64022 );
64023
64024 186 \15 
64025 \94
64026 ;
64027
64028 187 
64029         }
64030 }
64031
64032 189 
64033 a¢_\92code_to_Ãw_bufãr_»suÉ_t
64034
64035
64036 190 
64037         $a¢_\92code_to_Ãw_bufãr
64038 (cڡ 
64039 a¢_codec_ùx_t
64040  *
64041 Ýt_codec_ùx
64042 ,
64043
64044 191 \f
64045 a¢_\8cªsãr_syÁax
64046  
64047 syÁax
64048 ,
64049
64050 192 cڡ 
64051 a¢_TYPE_desü\9dtÜ_t
64052  *
64053 td
64054 , cڡ \1e*
64055 ¥\8c
64056 ) {
64057
64058 193 \19
64059 dyÇmic_\92cod\94_key
64060  
64061 buf_key
64062 ;
64063
64064 194 
64065 a¢_\92code_to_Ãw_bufãr_»suÉ_t
64066  
64067 »s
64068 ;
64069
64070 196 
64071 buf_key
64072 .
64073 bufãr_size
64074  = 16;
64075
64076 197 
64077 buf_key
64078 .
64079 bufãr
64080  = 
64081         `MALLOC
64082 (buf_key.
64083 bufãr_size
64084 );
64085
64086 198 
64087 buf_key
64088 .
64089 compu\8bd_size
64090  = 0;
64091
64092 200 
64093 »s
64094 .
64095 »suÉ
64096  = 
64097         `a¢_\92code_\9a\8bº®
64098 (
64099 Ýt_codec_ùx
64100
64101 syÁax
64102
64103 td
64104
64105 ¥\8c
64106 ,
64107
64108 201 
64109 dyÇmic_\92cod\94_cb
64110 , &
64111 buf_key
64112 );
64113
64114 203 if(
64115 »s
64116 .
64117 »suÉ
64118 .
64119 \92coded
64120  >= 0
64121
64122 204 && (
64123 size_t
64124 )
64125 »s
64126 .
64127 »suÉ
64128 .
64129 \92coded
64130  !ð
64131 buf_key
64132 .
64133 compu\8bd_size
64134 ) {
64135
64136 205 
64137         `ASN_DEBUG
64138 ("a¢_\92code(è»tuºed %" 
64139 ASN_PRI_SSIZE
64140
64141
64142 206 " y\91\85roduûd %" 
64143 ASN_PRI_SIZE
64144  " bytes",
64145
64146 207 
64147 »s
64148 .
64149 »suÉ
64150 .
64151 \92coded
64152
64153 buf_key
64154 .
64155 compu\8bd_size
64156 );
64157
64158 208 
64159         `as£¹
64160 (
64161 »s
64162 .
64163 »suÉ
64164 .
64165 \92coded
64166  < 0
64167
64168 209 || (
64169 size_t
64170 )
64171 »s
64172 .
64173 »suÉ
64174 .
64175 \92coded
64176  =ð
64177 buf_key
64178 .
64179 compu\8bd_size
64180 );
64181
64182 212 
64183 »s
64184 .
64185 bufãr
64186  = 
64187 buf_key
64188 .buffer;
64189
64190 215 if(
64191 »s
64192 .
64193 bufãr
64194 ) {
64195
64196 216 
64197         `as£¹
64198 (
64199 buf_key
64200 .
64201 compu\8bd_size
64202  < buf_key.
64203 bufãr_size
64204 );
64205
64206 217 ((\ 5*)
64207 »s
64208 .
64209 bufãr
64210 )[
64211 buf_key
64212 .
64213 compu\8bd_size
64214 ] = '\0';
64215
64216 220 \15 
64217 »s
64218 ;
64219
64220 221 
64221         }
64222 }
64223
64224 223 \18
64225 a¢_\92c_rv®_t
64226
64227
64228 224 
64229         $a¢_\92code_\9a\8bº®
64230 (cڡ 
64231 a¢_codec_ùx_t
64232  *
64233 Ýt_codec_ùx
64234 ,
64235
64236 225 \f
64237 a¢_\8cªsãr_syÁax
64238  
64239 syÁax
64240 ,
64241
64242 226 cڡ 
64243 a¢_TYPE_desü\9dtÜ_t
64244  *
64245 td
64246 , cڡ \1e*
64247 ¥\8c
64248 ,
64249
64250 227 
64251 a¢_­p_cÚsume_by\8bs_f
64252  *
64253 ÿÎback
64254\1e*
64255 ÿÎback_key
64256 ) {
64257
64258 228 
64259 a¢_\92c_rv®_t
64260  
64261 \94
64262  = {0,0,0};
64263
64264 229 \f
64265 x\94_\92cod\94_æags_e
64266  
64267 x\94_æags
64268  = 
64269 XER_F_CANONICAL
64270 ;
64271
64272 231 (\1e)
64273 Ýt_codec_ùx
64274 ;
64275
64276 233 if(!
64277 td
64278  || !
64279 ¥\8c
64280 ) {
64281
64282 234 
64283 \94ºo
64284  = 
64285 EINVAL
64286 ;
64287
64288 235 
64289 ASN__ENCODE_FAILED
64290 ;
64291
64292 238 \1a
64293 syÁax
64294 ) {
64295
64296 239 \ 4
64297 ATS_NONSTANDARD_PLAINTEXT
64298 :
64299
64300 240 if(
64301 td
64302 ->
64303 Ý
64304 ->
64305 ´\9at_¡ruù
64306 ) {
64307
64308 241 \19
64309 ÿÎback_couÁ_by\8bs_key
64310  
64311 cb_key
64312 ;
64313
64314 242 
64315 cb_key
64316 .
64317 ÿÎback
64318  = callback;
64319
64320 243 
64321 cb_key
64322 .
64323 ÿÎback_key
64324  = callback_key;
64325
64326 244 
64327 cb_key
64328 .
64329 compu\8bd_size
64330  = 0;
64331
64332 245 if(
64333 td
64334 ->
64335 Ý
64336 ->
64337         `´\9at_¡ruù
64338 Ñd, 
64339 ¥\8c
64340 , 1, 
64341 ÿÎback_couÁ_by\8bs_cb
64342 ,
64343
64344 246 &
64345 cb_key
64346 )
64347
64348 248 || 
64349         `ÿÎback_couÁ_by\8bs_cb
64350 ("\n", 1, &
64351 cb_key
64352 ) < 0) {
64353
64354 249 
64355 \94ºo
64356  = 
64357 EBADF
64358 ;
64359
64360 250 
64361 \94
64362 .
64363 \92coded
64364  = -1;
64365
64366 251 
64367 \94
64368 .
64369 ç\9eed_ty³
64370  = 
64371 td
64372 ;
64373
64374 252 
64375 \94
64376 .
64377 ¡ruùu»_±r
64378  = 
64379 ¥\8c
64380 ;
64381
64382 254 
64383 \94
64384 .
64385 \92coded
64386  = 
64387 cb_key
64388 .
64389 compu\8bd_size
64390 ;
64391
64392 255 
64393 \94
64394 .
64395 ç\9eed_ty³
64396  = 0;
64397
64398 256 
64399 \94
64400 .
64401 ¡ruùu»_±r
64402  = 0;
64403
64404 259 
64405 \94ºo
64406  = 
64407 ENOENT
64408 ;
64409
64410 260 
64411 ASN__ENCODE_FAILED
64412 ;
64413
64414 264 \ 4
64415 ATS_RANDOM
64416 :
64417
64418 265 
64419 \94ºo
64420  = 
64421 ENOENT
64422 ;
64423
64424 266 
64425 ASN__ENCODE_FAILED
64426 ;
64427
64428 268 \ 4
64429 ATS_BER
64430 :
64431
64432 271 \ 4
64433 ATS_DER
64434 :
64435
64436 272 if(
64437 td
64438 ->
64439 Ý
64440 ->
64441 d\94_\92cod\94
64442 ) {
64443
64444 273 
64445 \94
64446  = 
64447         `d\94_\92code
64448 (
64449 td
64450
64451 ¥\8c
64452
64453 ÿÎback
64454
64455 ÿÎback_key
64456 );
64457
64458 274 if(
64459 \94
64460 .
64461 \92coded
64462  == -1) {
64463
64464 275 if(
64465 \94
64466 .
64467 ç\9eed_ty³
64468  &&\83r.ç\9eed_ty³->
64469 Ý
64470 ->
64471 d\94_\92cod\94
64472 ) {
64473
64474 276 
64475 \94ºo
64476  = 
64477 EBADF
64478 ;
64479
64480 278 
64481 \94ºo
64482  = 
64483 ENOENT
64484 ;
64485
64486 282 
64487 \94ºo
64488  = 
64489 ENOENT
64490 ;
64491
64492 283 
64493 ASN__ENCODE_FAILED
64494 ;
64495
64496 286 \ 4
64497 ATS_CER
64498 :
64499
64500 287 
64501 \94ºo
64502  = 
64503 ENOENT
64504 ;
64505
64506 288 
64507 ASN__ENCODE_FAILED
64508 ;
64509
64510 290 #ifdeà 
64511 ASN_DISABLE_OER_SUPPORT
64512
64513
64514 291 \ 4
64515 ATS_BASIC_OER
64516 :
64517
64518 292 \ 4
64519 ATS_CANONICAL_OER
64520 :
64521
64522 293 
64523 \94ºo
64524  = 
64525 ENOENT
64526 ;
64527
64528 294 
64529 ASN__ENCODE_FAILED
64530 ;
64531
64532 297 \ 4
64533 ATS_BASIC_OER
64534 :
64535
64536 300 \ 4
64537 ATS_CANONICAL_OER
64538 :
64539
64540 301 if(
64541 td
64542 ->
64543 Ý
64544 ->
64545 Ûr_\92cod\94
64546 ) {
64547
64548 302 
64549 \94
64550  = 
64551         `Ûr_\92code
64552 (
64553 td
64554
64555 ¥\8c
64556
64557 ÿÎback
64558
64559 ÿÎback_key
64560 );
64561
64562 303 if(
64563 \94
64564 .
64565 \92coded
64566  == -1) {
64567
64568 304 if(
64569 \94
64570 .
64571 ç\9eed_ty³
64572  &&\83r.ç\9eed_ty³->
64573 Ý
64574 ->
64575 Ûr_\92cod\94
64576 ) {
64577
64578 305 
64579 \94ºo
64580  = 
64581 EBADF
64582 ;
64583
64584 307 
64585 \94ºo
64586  = 
64587 ENOENT
64588 ;
64589
64590 311 
64591 \94ºo
64592  = 
64593 ENOENT
64594 ;
64595
64596 312 
64597 ASN__ENCODE_FAILED
64598 ;
64599
64600 317 #ifdeà 
64601 ASN_DISABLE_PER_SUPPORT
64602
64603
64604 318 \ 4
64605 ATS_UNALIGNED_BASIC_PER
64606 :
64607
64608 319 \ 4
64609 ATS_UNALIGNED_CANONICAL_PER
64610 :
64611
64612 320 \ 4
64613 ATS_ALIGNED_BASIC_PER
64614 :
64615
64616 321 \ 4
64617 ATS_ALIGNED_CANONICAL_PER
64618 :
64619
64620 322 
64621 \94ºo
64622  = 
64623 ENOENT
64624 ;
64625
64626 323 
64627 ASN__ENCODE_FAILED
64628 ;
64629
64630 326 \ 4
64631 ATS_UNALIGNED_BASIC_PER
64632 :
64633
64634 329 \ 4
64635 ATS_UNALIGNED_CANONICAL_PER
64636 :
64637
64638 330 if(
64639 td
64640 ->
64641 Ý
64642 ->
64643 u³r_\92cod\94
64644 ) {
64645
64646 331 
64647 \94
64648  = 
64649         `u³r_\92code
64650 (
64651 td
64652 , 0, 
64653 ¥\8c
64654
64655 ÿÎback
64656
64657 ÿÎback_key
64658 );
64659
64660 332 if(
64661 \94
64662 .
64663 \92coded
64664  == -1) {
64665
64666 333 if(
64667 \94
64668 .
64669 ç\9eed_ty³
64670  &&\83r.ç\9eed_ty³->
64671 Ý
64672 ->
64673 u³r_\92cod\94
64674 ) {
64675
64676 334 
64677 \94ºo
64678  = 
64679 EBADF
64680 ;
64681
64682 336 
64683 \94ºo
64684  = 
64685 ENOENT
64686 ;
64687
64688 339 
64689         `ASN_DEBUG
64690 ("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
64691 \94
64692 .
64693 \92coded
64694 );
64695
64696 340 if(
64697 \94
64698 .
64699 \92coded
64700  == 0) {
64701
64702 342 if(
64703         `ÿÎback
64704 ("\0", 1, 
64705 ÿÎback_key
64706 ) < 0) {
64707
64708 343 
64709 \94ºo
64710  = 
64711 EBADF
64712 ;
64713
64714 344 
64715 ASN__ENCODE_FAILED
64716 ;
64717
64718 346 
64719 \94
64720 .
64721 \92coded
64722  = 8;
64723
64724 349 
64725 \94
64726 .
64727 \92coded
64728  = (er.encoded + 7) >> 3;
64729
64730 352 
64731 \94ºo
64732  = 
64733 ENOENT
64734 ;
64735
64736 353 
64737 ASN__ENCODE_FAILED
64738 ;
64739
64740 356 \ 4
64741 ATS_ALIGNED_BASIC_PER
64742 :
64743
64744 359 \ 4
64745 ATS_ALIGNED_CANONICAL_PER
64746 :
64747
64748 360 if(
64749 td
64750 ->
64751 Ý
64752 ->
64753 ­\94_\92cod\94
64754 ) {
64755
64756 361 
64757 \94
64758  = 
64759         `­\94_\92code
64760 (
64761 td
64762 , 0, 
64763 ¥\8c
64764
64765 ÿÎback
64766
64767 ÿÎback_key
64768 );
64769
64770 362 if(
64771 \94
64772 .
64773 \92coded
64774  == -1) {
64775
64776 363 if(
64777 \94
64778 .
64779 ç\9eed_ty³
64780  &&\83r.ç\9eed_ty³->
64781 Ý
64782 ->
64783 ­\94_\92cod\94
64784 ) {
64785
64786 364 
64787 \94ºo
64788  = 
64789 EBADF
64790 ;
64791
64792 366 
64793 \94ºo
64794  = 
64795 ENOENT
64796 ;
64797
64798 369 
64799         `ASN_DEBUG
64800 ("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
64801 \94
64802 .
64803 \92coded
64804 );
64805
64806 370 if(
64807 \94
64808 .
64809 \92coded
64810  == 0) {
64811
64812 372 if(
64813         `ÿÎback
64814 ("\0", 1, 
64815 ÿÎback_key
64816 ) < 0) {
64817
64818 373 
64819 \94ºo
64820  = 
64821 EBADF
64822 ;
64823
64824 374 
64825 ASN__ENCODE_FAILED
64826 ;
64827
64828 376 
64829 \94
64830 .
64831 \92coded
64832  = 8;
64833
64834 379 
64835 \94
64836 .
64837 \92coded
64838  = (er.encoded + 7) >> 3;
64839
64840 382 
64841 \94ºo
64842  = 
64843 ENOENT
64844 ;
64845
64846 383 
64847 ASN__ENCODE_FAILED
64848 ;
64849
64850 388 \ 4
64851 ATS_BASIC_XER
64852 :
64853
64854 390 
64855 x\94_æags
64856  &ð~
64857 XER_F_CANONICAL
64858 ;
64859
64860 391 
64861 x\94_æags
64862  |ð
64863 XER_F_BASIC
64864 ;
64865
64866 393 \ 4
64867 ATS_CANONICAL_XER
64868 :
64869
64870 394 if(
64871 td
64872 ->
64873 Ý
64874 ->
64875 x\94_\92cod\94
64876 ) {
64877
64878 395 
64879 \94
64880  = 
64881         `x\94_\92code
64882 (
64883 td
64884
64885 ¥\8c
64886
64887 x\94_æags
64888
64889 ÿÎback
64890
64891 ÿÎback_key
64892 );
64893
64894 396 if(
64895 \94
64896 .
64897 \92coded
64898  == -1) {
64899
64900 397 if(
64901 \94
64902 .
64903 ç\9eed_ty³
64904  &&\83r.ç\9eed_ty³->
64905 Ý
64906 ->
64907 x\94_\92cod\94
64908 ) {
64909
64910 398 
64911 \94ºo
64912  = 
64913 EBADF
64914 ;
64915
64916 400 
64917 \94ºo
64918  = 
64919 ENOENT
64920 ;
64921
64922 404 
64923 \94ºo
64924  = 
64925 ENOENT
64926 ;
64927
64928 405 
64929 ASN__ENCODE_FAILED
64930 ;
64931
64932 410 
64933 \94ºo
64934  = 
64935 ENOENT
64936 ;
64937
64938 411 
64939 ASN__ENCODE_FAILED
64940 ;
64941
64942 414 \15 
64943 \94
64944 ;
64945
64946 415 
64947         }
64948 }
64949
64950 417 
64951 a¢_dec_rv®_t
64952
64953
64954 418 
64955         $a¢_decode
64956 (cڡ 
64957 a¢_codec_ùx_t
64958  *
64959 Ýt_codec_ùx
64960 ,
64961
64962 419 \f
64963 a¢_\8cªsãr_syÁax
64964  
64965 syÁax
64966 , cڡ 
64967 a¢_TYPE_desü\9dtÜ_t
64968  *
64969 td
64970 ,
64971
64972 420 \1e**
64973 ¥\8c
64974 , cڡ \1e*
64975 bufãr
64976
64977 size_t
64978  
64979 size
64980 ) {
64981
64982 421 if(!
64983 td
64984  || !td->
64985 Ý
64986  || !
64987 ¥\8c
64988  || (
64989 size
64990  && !
64991 bufãr
64992 )) {
64993
64994 422 
64995 ASN__DECODE_FAILED
64996 ;
64997
64998 425 \1a
64999 syÁax
65000 ) {
65001
65002 426 \ 4
65003 ATS_CER
65004 :
65005
65006 427 \ 4
65007 ATS_NONSTANDARD_PLAINTEXT
65008 :
65009
65010 429 
65011 \94ºo
65012  = 
65013 ENOENT
65014 ;
65015
65016 430 
65017 ASN__DECODE_FAILED
65018 ;
65019
65020 432 \ 4
65021 ATS_RANDOM
65022 :
65023
65024 433 if(!
65025 td
65026 ->
65027 Ý
65028 ->
65029 ¿ndom_f\9el
65030 ) {
65031
65032 434 
65033 ASN__DECODE_FAILED
65034 ;
65035
65036 436 if(
65037         `a¢_¿ndom_f\9el
65038 (
65039 td
65040
65041 ¥\8c
65042 , 16000) == 0) {
65043
65044 437 
65045 a¢_dec_rv®_t
65046  
65047 »t
65048  = {
65049 RC_OK
65050 , 0};
65051
65052 438 \15 
65053 »t
65054 ;
65055
65056 440 
65057 ASN__DECODE_FAILED
65058 ;
65059
65060 445 \ 4
65061 ATS_DER
65062 :
65063
65064 446 \ 4
65065 ATS_BER
65066 :
65067
65068 447 \15 
65069         `b\94_decode
65070 (
65071 Ýt_codec_ùx
65072
65073 td
65074
65075 ¥\8c
65076
65077 bufãr
65078
65079 size
65080 );
65081
65082 449 \ 4
65083 ATS_BASIC_OER
65084 :
65085
65086 450 \ 4
65087 ATS_CANONICAL_OER
65088 :
65089
65090 451 #ifdeà 
65091 ASN_DISABLE_OER_SUPPORT
65092
65093
65094 452 
65095 \94ºo
65096  = 
65097 ENOENT
65098 ;
65099
65100 453 
65101 ASN__DECODE_FAILED
65102 ;
65103
65104 455 \15 
65105         `Ûr_decode
65106 (
65107 Ýt_codec_ùx
65108
65109 td
65110
65111 ¥\8c
65112
65113 bufãr
65114
65115 size
65116 );
65117
65118 458 \ 4
65119 ATS_UNALIGNED_BASIC_PER
65120 :
65121
65122 459 \ 4
65123 ATS_UNALIGNED_CANONICAL_PER
65124 :
65125
65126 460 #ifdeà 
65127 ASN_DISABLE_PER_SUPPORT
65128
65129
65130 461 
65131 \94ºo
65132  = 
65133 ENOENT
65134 ;
65135
65136 462 
65137 ASN__DECODE_FAILED
65138 ;
65139
65140 464 \15 
65141         `u³r_decode_com¶\91e
65142 (
65143 Ýt_codec_ùx
65144
65145 td
65146
65147 ¥\8c
65148
65149 bufãr
65150
65151 size
65152 );
65153
65154 467 \ 4
65155 ATS_ALIGNED_BASIC_PER
65156 :
65157
65158 468 \ 4
65159 ATS_ALIGNED_CANONICAL_PER
65160 :
65161
65162 469 #ifdeà 
65163 ASN_DISABLE_PER_SUPPORT
65164
65165
65166 470 
65167 \94ºo
65168  = 
65169 ENOENT
65170 ;
65171
65172 471 
65173 ASN__DECODE_FAILED
65174 ;
65175
65176 473 \15 
65177         `­\94_decode_com¶\91e
65178 (
65179 Ýt_codec_ùx
65180
65181 td
65182
65183 ¥\8c
65184
65185 bufãr
65186
65187 size
65188 );
65189
65190 476 \ 4
65191 ATS_BASIC_XER
65192 :
65193
65194 477 \ 4
65195 ATS_CANONICAL_XER
65196 :
65197
65198 478 \15 
65199         `x\94_decode
65200 (
65201 Ýt_codec_ùx
65202
65203 td
65204
65205 ¥\8c
65206
65207 bufãr
65208
65209 size
65210 );
65211
65212 480 
65213         }
65214 }
65215
65216         @asn_bit_data.c
65217
65218\ 2
65219         ~<a¢_sy¡em.h
65220 >
65221
65222\ 2
65223         ~<a¢_\9a\8bº®.h
65224 >
65225
65226\ 2
65227         ~<a¢_b\99_d©a.h
65228 >
65229
65230 14 
65231 a¢_b\99_d©a_t
65232  *
65233
65234 15 
65235         $a¢_b\99_d©a_Ãw_cÚtiguous
65236 (cڡ \1e*
65237 d©a
65238
65239 size_t
65240  
65241 size_b\99s
65242 ) {
65243
65244 16 
65245 size_t
65246  
65247 size_by\8bs
65248  = (
65249 size_b\99s
65250  + 7) / 8;
65251
65252 17 
65253 a¢_b\99_d©a_t
65254  *
65255 pd
65256 ;
65257
65258 18 
65259 u\9at8_t
65260  *
65261 by\8bs
65262 ;
65263
65264 21 
65265 pd
65266  = 
65267         `CALLOC
65268 (1, \17(*pdè+ 
65269 size_by\8bs
65270  + 1);
65271
65272 22 if(!
65273 pd
65274 ) {
65275
65276 23 \15 
65277 NULL
65278 ;
65279
65280 25 
65281 by\8bs
65282  = (\1e*)(((\ 5*)
65283 pd
65284 ) + \17(*pd));
65285
65286 26 
65287         `memýy
65288 (
65289 by\8bs
65290
65291 d©a
65292
65293 size_by\8bs
65294 );
65295
65296 27 
65297 by\8bs
65298 [
65299 size_by\8bs
65300 ] = 0;
65301
65302 28 
65303 pd
65304 ->
65305 bufãr
65306  = 
65307 by\8bs
65308 ;
65309
65310 29 
65311 pd
65312 ->
65313 nboff
65314  = 0;
65315
65316 30 
65317 pd
65318 ->
65319 nb\99s
65320  = 
65321 size_b\99s
65322 ;
65323
65324 32 \15 
65325 pd
65326 ;
65327
65328 33 
65329         }
65330 }
65331
65332 37 
65333         $a¢_b\99_d©a_¡r\9ag
65334 (
65335 a¢_b\99_d©a_t
65336  *
65337 pd
65338 ) {
65339
65340 38 \18\ 5
65341 buf
65342 [2][32];
65343
65344 39 \18\12
65345 n
65346 ;
65347
65348 40 
65349 n
65350  = (n+1) % 2;
65351
65352 41 
65353         `¢´\9atf
65354 (
65355 buf
65356 [
65357 n
65358 ], \17(buf[n]),
65359
65360 42 "{m=%" 
65361 ASN_PRI_SIZE
65362  " span %" ASN_PRI_SIZE "[%" ASN_PRI_SIZE
65363
65364 43 "..%" 
65365 ASN_PRI_SIZE
65366  "] (%" ASN_PRI_SIZE ")}",
65367
65368 44 
65369 pd
65370 ->
65371 moved
65372 , ((
65373 u\9a\8d\8c_t
65374 )Õd->
65375 bufãr
65376 è& 0xf),\85d->
65377 nboff
65378 ,\85d->
65379 nb\99s
65380 ,
65381
65382 45 
65383 pd
65384 ->
65385 nb\99s
65386  -\85d->
65387 nboff
65388 );
65389
65390 46 \15 
65391 buf
65392 [
65393 n
65394 ];
65395
65396 47 
65397         }
65398 }
65399
65400 50 
65401         $a¢_g\91_undo
65402 (
65403 a¢_b\99_d©a_t
65404  *
65405 pd
65406\12
65407 nb\99s
65408 ) {
65409
65410 51 if((
65411 ssize_t
65412 )
65413 pd
65414 ->
65415 nboff
65416  < 
65417 nb\99s
65418 ) {
65419
65420 52 
65421         `as£¹
65422 ((
65423 ssize_t
65424 )
65425 pd
65426 ->
65427 nboff
65428  < 
65429 nb\99s
65430 );
65431
65432 54 
65433 pd
65434 ->
65435 nboff
65436  -ð
65437 nb\99s
65438 ;
65439
65440 55 
65441 pd
65442 ->
65443 moved
65444  -ð
65445 nb\99s
65446 ;
65447
65448 57 
65449         }
65450 }
65451
65452 62 
65453 \9at32_t
65454
65455
65456 63 
65457         $a¢_g\91_ãw_b\99s
65458 (
65459 a¢_b\99_d©a_t
65460  *
65461 pd
65462\12
65463 nb\99s
65464 ) {
65465
65466 64 
65467 size_t
65468  
65469 off
65470 ;
65471
65472 65 
65473 ssize_t
65474  
65475 Æeá
65476 ;
65477
65478 66 
65479 u\9at32_t
65480  
65481 accum
65482 ;
65483
65484 67 cڡ 
65485 u\9at8_t
65486  *
65487 buf
65488 ;
65489
65490 69 if(
65491 nb\99s
65492  < 0)
65493
65494 72 
65495 Æeá
65496  = 
65497 pd
65498 ->
65499 nb\99s
65500  -\85d->
65501 nboff
65502 ;
65503
65504 73 if(
65505 nb\99s
65506  > 
65507 Æeá
65508 ) {
65509
65510 74 
65511 \9at32_t
65512  
65513 \8f\9ev
65514
65515 vh\97d
65516 ;
65517
65518 75 if(!
65519 pd
65520 ->
65521 »f\9el
65522  || 
65523 nb\99s
65524  > 31) \15 -1;
65525
65526 77 
65527         `ASN_DEBUG
65528 ("Obtain\81he\84est %d bits (want %d)",
65529
65530 78 (\12)
65531 Æeá
65532 , (\12)
65533 nb\99s
65534 );
65535
65536 79 
65537 \8f\9ev
65538  = 
65539         `a¢_g\91_ãw_b\99s
65540 (
65541 pd
65542
65543 Æeá
65544 );
65545
65546 80 if(
65547 \8f\9ev
65548  < 0) \15 -1;
65549
65550 82 if(
65551 pd
65552 ->
65553         `»f\9el
65554 (pd))
65555
65556 84 
65557 nb\99s
65558  -ð
65559 Æeá
65560 ;
65561
65562 85 
65563 vh\97d
65564  = 
65565         `a¢_g\91_ãw_b\99s
65566 (
65567 pd
65568
65569 nb\99s
65570 );
65571
65572 87 
65573 \8f\9ev
65574  = (\8f\9ev << 
65575 nb\99s
65576 è| 
65577 vh\97d
65578 ;
65579
65580 88 \15 
65581 \8f\9ev
65582 ;
65583
65584 94 if(
65585 pd
65586 ->
65587 nboff
65588  >= 8) {
65589
65590 95 
65591 pd
65592 ->
65593 bufãr
65594  +ðÕd->
65595 nboff
65596  >> 3);
65597
65598 96 
65599 pd
65600 ->
65601 nb\99s
65602  -ðÕd->
65603 nboff
65604  & ~0x07);
65605
65606 97 
65607 pd
65608 ->
65609 nboff
65610  &= 0x07;
65611
65612 99 
65613 pd
65614 ->
65615 moved
65616  +ð
65617 nb\99s
65618 ;
65619
65620 100 
65621 pd
65622 ->
65623 nboff
65624  +ð
65625 nb\99s
65626 ;
65627
65628 101 
65629 off
65630  = 
65631 pd
65632 ->
65633 nboff
65634 ;
65635
65636 102 
65637 buf
65638  = 
65639 pd
65640 ->
65641 bufãr
65642 ;
65643
65644 107 if(
65645 off
65646  <= 8)
65647
65648 108 
65649 accum
65650  = 
65651 nb\99s
65652  ? (
65653 buf
65654 [0]è>> (8 - 
65655 off
65656 ) : 0;
65657
65658 109 \vif(
65659 off
65660  <= 16)
65661
65662 110 
65663 accum
65664  = ((
65665 buf
65666 [0] << 8è+ buf[1]è>> (16 - 
65667 off
65668 );
65669
65670 111 \vif(
65671 off
65672  <= 24)
65673
65674 112 
65675 accum
65676  = ((
65677 buf
65678 [0] << 16è+ (buf[1] << 8è+ buf[2]è>> (24 - 
65679 off
65680 );
65681
65682 113 \vif(
65683 off
65684  <= 31)
65685
65686 114 
65687 accum
65688  = (((
65689 u\9at32_t
65690 )
65691 buf
65692 [0] << 24) + (buf[1] << 16)
65693
65694 115 + (
65695 buf
65696 [2] << 8è+ (buf[3])è>> (32 - 
65697 off
65698 );
65699
65700 116 \vif(
65701 nb\99s
65702  <= 31) {
65703
65704 117 
65705 a¢_b\99_d©a_t
65706  
65707 \8dd
65708  = *
65709 pd
65710 ;
65711
65712 119 
65713         `a¢_g\91_undo
65714 (&
65715 \8dd
65716
65717 nb\99s
65718 );
65719
65720 123 
65721 accum
65722  = 
65723         `a¢_g\91_ãw_b\99s
65724 (&
65725 \8dd
65726
65727 nb\99s
65728  - 24) << 24;
65729
65730 124 
65731 accum
65732  |ð
65733         `a¢_g\91_ãw_b\99s
65734 (&
65735 \8dd
65736 , 24);
65737
65738 126 
65739         `a¢_g\91_undo
65740 (
65741 pd
65742
65743 nb\99s
65744 );
65745
65746 130 
65747 accum
65748  &ð(((
65749 u\9at32_t
65750 )1 << 
65751 nb\99s
65752 ) - 1);
65753
65754 132 
65755         `ASN_DEBUG
65756 (" [PER got %2d<=%2d bits => span %d %+ld[%d..%d]:%02x (%d) => 0x%x]",
65757
65758 133 (\12)
65759 nb\99s
65760 , (\12)
65761 Æeá
65762 ,
65763
65764 134 (\12)
65765 pd
65766 ->
65767 moved
65768 ,
65769
65770 135 (((\13)
65771 pd
65772 ->
65773 bufãr
65774 ) & 0xf),
65775
65776 136 (\12)
65777 pd
65778 ->
65779 nboff
65780 , (\12íd->
65781 nb\99s
65782 ,
65783
65784 137 ((
65785 pd
65786 ->
65787 bufãr
65788  !ð
65789 NULL
65790 )?pd->buffer[0]:0),
65791
65792 138 (\12)(
65793 pd
65794 ->
65795 nb\99s
65796  -\85d->
65797 nboff
65798 ),
65799
65800 139 (\12)
65801 accum
65802 );
65803
65804 141 \15 
65805 accum
65806 ;
65807
65808 142 
65809         }
65810 }
65811
65812 148 
65813         $a¢_g\91_mªy_b\99s
65814 (
65815 a¢_b\99_d©a_t
65816  *
65817 pd
65818
65819 u\9at8_t
65820  *
65821
65822\12
65823 ®right
65824\12
65825 nb\99s
65826 ) {
65827
65828 149 
65829 \9at32_t
65830  
65831 v®ue
65832 ;
65833
65834 151 if(
65835 ®right
65836  && (
65837 nb\99s
65838  & 7)) {
65839
65840 153 
65841 v®ue
65842  = 
65843         `a¢_g\91_ãw_b\99s
65844 (
65845 pd
65846
65847 nb\99s
65848  & 0x07);
65849
65850 154 if(
65851 v®ue
65852  < 0) \15 -1;
65853
65854 155 *
65855
65856 ++ = 
65857 v®ue
65858 ;
65859
65860 156 
65861 nb\99s
65862  &= ~7;
65863
65864 159 \1f
65865 nb\99s
65866 ) {
65867
65868 160 if(
65869 nb\99s
65870  >= 24) {
65871
65872 161 
65873 v®ue
65874  = 
65875         `a¢_g\91_ãw_b\99s
65876 (
65877 pd
65878 , 24);
65879
65880 162 if(
65881 v®ue
65882  < 0) \15 -1;
65883
65884 163 *(
65885
65886 ++èð
65887 v®ue
65888  >> 16;
65889
65890 164 *(
65891
65892 ++èð
65893 v®ue
65894  >> 8;
65895
65896 165 *(
65897
65898 ++èð
65899 v®ue
65900 ;
65901
65902 166 
65903 nb\99s
65904  -= 24;
65905
65906 168 
65907 v®ue
65908  = 
65909         `a¢_g\91_ãw_b\99s
65910 (
65911 pd
65912
65913 nb\99s
65914 );
65915
65916 169 if(
65917 v®ue
65918  < 0) \15 -1;
65919
65920 170 if(
65921 nb\99s
65922  & 7) {
65923
65924 171 
65925 v®ue
65926  <<ð8 - (
65927 nb\99s
65928  & 7),
65929
65930 172 
65931 nb\99s
65932  += 8 - (nbits & 7);
65933
65934 173 if(
65935 nb\99s
65936  > 24)
65937
65938 174 *
65939
65940 ++ = 
65941 v®ue
65942  >> 24;
65943
65944 176 if(
65945 nb\99s
65946  > 16)
65947
65948 177 *
65949
65950 ++ = 
65951 v®ue
65952  >> 16;
65953
65954 178 if(
65955 nb\99s
65956  > 8)
65957
65958 179 *
65959
65960 ++ = 
65961 v®ue
65962  >> 8;
65963
65964 180 *
65965
65966 ++ = 
65967 v®ue
65968 ;
65969
65970 186 
65971         }
65972 }
65973
65974 192 
65975         $a¢_put_ãw_b\99s
65976 (
65977 a¢_b\99_ou\8d_t
65978  *
65979 po
65980
65981 u\9at32_t
65982  
65983 b\99s
65984\12
65985 ob\99s
65986 ) {
65987
65988 193 
65989 size_t
65990  
65991 off
65992 ;
65993
65994 194 
65995 size_t
65996  
65997 omsk
65998 ;
65999
66000 195 
66001 u\9at8_t
66002  *
66003 buf
66004 ;
66005
66006 197 if(
66007 ob\99s
66008  <= 0 || obits >= 32) \15 obits ? -1 : 0;
66009
66010 199 
66011         `ASN_DEBUG
66012 ("[PER\85ut %d bits %x\81o %p+%d bits]",
66013
66014 200 
66015 ob\99s
66016 , (\12)
66017 b\99s
66018 , (\1e*)
66019 po
66020 ->
66021 bufãr
66022 , (\12ío->
66023 nboff
66024 );
66025
66026 205 if(
66027 po
66028 ->
66029 nboff
66030  >= 8) {
66031
66032 206 
66033 po
66034 ->
66035 bufãr
66036  +ðÕo->
66037 nboff
66038  >> 3);
66039
66040 207 
66041 po
66042 ->
66043 nb\99s
66044  -ðÕo->
66045 nboff
66046  & ~0x07);
66047
66048 208 
66049 po
66050 ->
66051 nboff
66052  &= 0x07;
66053
66054 214 if(
66055 po
66056 ->
66057 nboff
66058  + 
66059 ob\99s
66060  >\85o->
66061 nb\99s
66062 ) {
66063
66064 215 
66065 size_t
66066  
66067 com¶\91e_by\8bs
66068 ;
66069
66070 216 if(!
66071 po
66072 ->
66073 bufãr
66074 èpo->bufã¸ðpo->
66075 tmp¥aû
66076 ;
66077
66078 217 
66079 com¶\91e_by\8bs
66080  = (
66081 po
66082 ->
66083 bufãr
66084  -\85o->
66085 tmp¥aû
66086 );
66087
66088 218 
66089         `ASN_DEBUG
66090 ("[PER output %ld complete + %ld]",
66091
66092 219 (\13)
66093 com¶\91e_by\8bs
66094 , (\13)
66095 po
66096 ->
66097 æushed_by\8bs
66098 );
66099
66100 220 if(
66101 po
66102 ->
66103         `ou\8dut
66104 Õo->
66105 tmp¥aû
66106
66107 com¶\91e_by\8bs
66108 ,\85o->
66109 Ý_key
66110 ) < 0)
66111
66112 222 if(
66113 po
66114 ->
66115 nboff
66116 )
66117
66118 223 
66119 po
66120 ->
66121 tmp¥aû
66122 [0] =\85o->
66123 bufãr
66124 [0];
66125
66126 224 
66127 po
66128 ->
66129 bufãr
66130  =\85o->
66131 tmp¥aû
66132 ;
66133
66134 225 
66135 po
66136 ->
66137 nb\99s
66138  = 8 * \17Õo->
66139 tmp¥aû
66140 );
66141
66142 226 
66143 po
66144 ->
66145 æushed_by\8bs
66146  +ð
66147 com¶\91e_by\8bs
66148 ;
66149
66150 232 
66151 buf
66152  = 
66153 po
66154 ->
66155 bufãr
66156 ;
66157
66158 233 
66159 omsk
66160  = ~((1 << (8 - 
66161 po
66162 ->
66163 nboff
66164 )) - 1);
66165
66166 234 
66167 off
66168  = (
66169 po
66170 ->
66171 nboff
66172  + 
66173 ob\99s
66174 );
66175
66176 237 
66177 b\99s
66178  &ð(((
66179 u\9at32_t
66180 )1 << 
66181 ob\99s
66182 ) - 1);
66183
66184 239 
66185         `ASN_DEBUG
66186 ("[PER ou\88%d %u/%x (t=%d,o=%dè%x&%x=%x]", 
66187 ob\99s
66188 ,
66189
66190 240 (\12)
66191 b\99s
66192 , (\12)bits,
66193
66194 241 (\12)
66195 po
66196 ->
66197 nboff
66198 , (\12)
66199 off
66200 ,
66201
66202 242 
66203 buf
66204 [0], (\12)(
66205 omsk
66206 &0xff),
66207
66208 243 (\12)(
66209 buf
66210 [0] & 
66211 omsk
66212 ));
66213
66214 245 if(
66215 off
66216  <= 8)
66217
66218 246 
66219 po
66220 ->
66221 nboff
66222  = 
66223 off
66224 ,
66225
66226 247 
66227 b\99s
66228  <<ð(8 - 
66229 off
66230 ),
66231
66232 248 
66233 buf
66234 [0] = (buf[0] & 
66235 omsk
66236 è| 
66237 b\99s
66238 ;
66239
66240 249 \vif(
66241 off
66242  <= 16)
66243
66244 250 
66245 po
66246 ->
66247 nboff
66248  = 
66249 off
66250 ,
66251
66252 251 
66253 b\99s
66254  <<ð(16 - 
66255 off
66256 ),
66257
66258 252 
66259 buf
66260 [0] = (buf[0] & 
66261 omsk
66262 è| (
66263 b\99s
66264  >> 8),
66265
66266 253 
66267 buf
66268 [1] = 
66269 b\99s
66270 ;
66271
66272 254 \vif(
66273 off
66274  <= 24)
66275
66276 255 
66277 po
66278 ->
66279 nboff
66280  = 
66281 off
66282 ,
66283
66284 256 
66285 b\99s
66286  <<ð(24 - 
66287 off
66288 ),
66289
66290 257 
66291 buf
66292 [0] = (buf[0] & 
66293 omsk
66294 è| (
66295 b\99s
66296  >> 16),
66297
66298 258 
66299 buf
66300 [1] = 
66301 b\99s
66302  >> 8,
66303
66304 259 
66305 buf
66306 [2] = 
66307 b\99s
66308 ;
66309
66310 260 \vif(
66311 off
66312  <= 31)
66313
66314 261 
66315 po
66316 ->
66317 nboff
66318  = 
66319 off
66320 ,
66321
66322 262 
66323 b\99s
66324  <<ð(32 - 
66325 off
66326 ),
66327
66328 263 
66329 buf
66330 [0] = (buf[0] & 
66331 omsk
66332 è| (
66333 b\99s
66334  >> 24),
66335
66336 264 
66337 buf
66338 [1] = 
66339 b\99s
66340  >> 16,
66341
66342 265 
66343 buf
66344 [2] = 
66345 b\99s
66346  >> 8,
66347
66348 266 
66349 buf
66350 [3] = 
66351 b\99s
66352 ;
66353
66354 268 if(
66355         `a¢_put_ãw_b\99s
66356 (
66357 po
66358
66359 b\99s
66360  >> (
66361 ob\99s
66362  - 24), 24)) \15 -1;
66363
66364 269 if(
66365         `a¢_put_ãw_b\99s
66366 (
66367 po
66368
66369 b\99s
66370
66371 ob\99s
66372  - 24)) \15 -1;
66373
66374 272 
66375         `ASN_DEBUG
66376 ("[PER out %u/%x => %02x buf+%ld]",
66377
66378 273 (\12)
66379 b\99s
66380 , (\12)b\99s, 
66381 buf
66382 [0],
66383
66384 274 (\13)(
66385 po
66386 ->
66387 bufãr
66388  -\85o->
66389 tmp¥aû
66390 ));
66391
66392 277 
66393         }
66394 }
66395
66396 284 
66397         $a¢_put_mªy_b\99s
66398 (
66399 a¢_b\99_ou\8d_t
66400  *
66401 po
66402 , cڡ 
66403 u\9at8_t
66404  *
66405 ¤c
66406\12
66407 nb\99s
66408 ) {
66409
66410 286 \1f
66411 nb\99s
66412 ) {
66413
66414 287 
66415 u\9at32_t
66416  
66417 v®ue
66418 ;
66419
66420 289 if(
66421 nb\99s
66422  >= 24) {
66423
66424 290 
66425 v®ue
66426  = (
66427 ¤c
66428 [0] << 16) | (src[1] << 8) | src[2];
66429
66430 291 
66431 ¤c
66432  += 3;
66433
66434 292 
66435 nb\99s
66436  -= 24;
66437
66438 293 if(
66439         `a¢_put_ãw_b\99s
66440 (
66441 po
66442
66443 v®ue
66444 , 24))
66445
66446 296 
66447 v®ue
66448  = 
66449 ¤c
66450 [0];
66451
66452 297 if(
66453 nb\99s
66454  > 8)
66455
66456 298 
66457 v®ue
66458  = (v®u\90<< 8è| 
66459 ¤c
66460 [1];
66461
66462 299 if(
66463 nb\99s
66464  > 16)
66465
66466 300 
66467 v®ue
66468  = (v®u\90<< 8è| 
66469 ¤c
66470 [2];
66471
66472 301 if(
66473 nb\99s
66474  & 0x07)
66475
66476 302 
66477 v®ue
66478  >>ð(8 - (
66479 nb\99s
66480  & 0x07));
66481
66482 303 if(
66483         `a¢_put_ãw_b\99s
66484 (
66485 po
66486
66487 v®ue
66488
66489 nb\99s
66490 ))
66491
66492 310 
66493         }
66494 }
66495
66496 314 
66497         $a¢_put_®igÃd_æush
66498 (
66499 a¢_b\99_ou\8d_t
66500  *
66501 po
66502 ) {
66503
66504 315 
66505 u\9at32_t
66506  
66507 unu£d_b\99s
66508  = (0x7 & (8 - (
66509 po
66510 ->
66511 nboff
66512  & 0x07)));
66513
66514 316 
66515 size_t
66516  
66517 com¶\91e_by\8bs
66518  =
66519
66520 317 (
66521 po
66522 ->
66523 bufãr
66524  ?\85o->bufã¸-\85o->
66525 tmp¥aû
66526  : 0è+ (Õo->
66527 nboff
66528  + 7) >> 3);
66529
66530 319 if(
66531 unu£d_b\99s
66532 ) {
66533
66534 320 
66535 po
66536 ->
66537 bufãr
66538 [po->
66539 nboff
66540  >> 3] &ð~0u << 
66541 unu£d_b\99s
66542 ;
66543
66544 323 if(
66545 po
66546 ->
66547         `ou\8dut
66548 Õo->
66549 tmp¥aû
66550
66551 com¶\91e_by\8bs
66552 ,\85o->
66553 Ý_key
66554 ) < 0) {
66555
66556 326 
66557 po
66558 ->
66559 bufãr
66560  =\85o->
66561 tmp¥aû
66562 ;
66563
66564 327 
66565 po
66566 ->
66567 nboff
66568  = 0;
66569
66570 328 
66571 po
66572 ->
66573 nb\99s
66574  = 8 * \17Õo->
66575 tmp¥aû
66576 );
66577
66578 329 
66579 po
66580 ->
66581 æushed_by\8bs
66582  +ð
66583 com¶\91e_by\8bs
66584 ;
66585
66586 332 
66587         }
66588 }
66589
66590         @asn_codecs_prim.c
66591
66592\ 2
66593         ~<a¢_\9a\8bº®.h
66594 >
66595
66596\ 2
66597         ~<a¢_codecs_´im.h
66598 >
66599
66600\ 2
66601         ~<\94ºo.h
66602 >
66603
66604 12 
66605 a¢_dec_rv®_t
66606
66607
66608 13 
66609         $b\94_decode_´im\99ive
66610 (cڡ 
66611 a¢_codec_ùx_t
66612  *
66613 Ýt_codec_ùx
66614 ,
66615
66616 14 cڡ 
66617 a¢_TYPE_desü\9dtÜ_t
66618  *
66619 td
66620\1e**
66621 ¥\8c
66622 ,
66623
66624 15 cڡ \1e*
66625 buf_±r
66626
66627 size_t
66628  
66629 size
66630\12
66631 \8fg_mode
66632 ) {
66633
66634 16 
66635 ASN__PRIMITIVE_TYPE_t
66636  *
66637 ¡
66638  = (ASN__PRIMITIVE_TYPE_\88*)*
66639 ¥\8c
66640 ;
66641
66642 17 
66643 a¢_dec_rv®_t
66644  
66645 rv®
66646 ;
66647
66648 18 
66649 b\94_\8ev_Ën_t
66650  
66651 Ëngth
66652  = 0;
66653
66654 23 if(
66655 ¡
66656  =ð
66657 NULL
66658 ) {
66659
66660 24 
66661 ¡
66662  = (
66663 ASN__PRIMITIVE_TYPE_t
66664  *)
66665         `CALLOC
66666 (1, \17(*st));
66667
66668 25 if(
66669 ¡
66670  =ð
66671 NULL
66672 è
66673 ASN__DECODE_FAILED
66674 ;
66675
66676 26 *
66677 ¥\8c
66678  = (\1e*)
66679 ¡
66680 ;
66681
66682 29 
66683         `ASN_DEBUG
66684 ("Decoding %s\87s\85lain\85rimitive (tm=%d)",
66685
66686 30 
66687 td
66688 ->
66689 Çme
66690
66691 \8fg_mode
66692 );
66693
66694 35 
66695 rv®
66696  = 
66697         `b\94_check_\8fgs
66698 (
66699 Ýt_codec_ùx
66700
66701 td
66702 , 0, 
66703 buf_±r
66704
66705 size
66706 ,
66707
66708 36 
66709 \8fg_mode
66710 , 0, &
66711 Ëngth
66712 , 0);
66713
66714 37 if(
66715 rv®
66716 .
66717 code
66718  !ð
66719 RC_OK
66720 )
66721
66722 38 \15 
66723 rv®
66724 ;
66725
66726 40 
66727         `ASN_DEBUG
66728 ("% Ëngth i %d by\8bs", 
66729 td
66730 ->
66731 Çme
66732 , (\12)
66733 Ëngth
66734 );
66735
66736 45 
66737 buf_±r
66738  = ((cÚ¡ \ 5*)buf_±rè+ 
66739 rv®
66740 .
66741 cÚsumed
66742 ;
66743
66744 46 
66745 size
66746  -ð
66747 rv®
66748 .
66749 cÚsumed
66750 ;
66751
66752 47 if(
66753 Ëngth
66754  > (
66755 b\94_\8ev_Ën_t
66756 )
66757 size
66758 ) {
66759
66760 48 
66761 rv®
66762 .
66763 code
66764  = 
66765 RC_WMORE
66766 ;
66767
66768 49 
66769 rv®
66770 .
66771 cÚsumed
66772  = 0;
66773
66774 50 \15 
66775 rv®
66776 ;
66777
66778 53 
66779 ¡
66780 ->
66781 size
66782  = (\12)
66783 Ëngth
66784 ;
66785
66786 55 if(\17(
66787 ¡
66788 ->
66789 size
66790 è!ð\17(
66791 Ëngth
66792 )
66793
66794 56 && (
66795 b\94_\8ev_Ën_t
66796 )
66797 ¡
66798 ->
66799 size
66800  !ð
66801 Ëngth
66802 ) {
66803
66804 57 
66805 ¡
66806 ->
66807 size
66808  = 0;
66809
66810 58 
66811 ASN__DECODE_FAILED
66812 ;
66813
66814 61 
66815 ¡
66816 ->
66817 buf
66818  = (
66819 u\9at8_t
66820  *)
66821         `MALLOC
66822 (
66823 Ëngth
66824  + 1);
66825
66826 62 if(!
66827 ¡
66828 ->
66829 buf
66830 ) {
66831
66832 63 
66833 ¡
66834 ->
66835 size
66836  = 0;
66837
66838 64 
66839 ASN__DECODE_FAILED
66840 ;
66841
66842 67 
66843         `memýy
66844 (
66845 ¡
66846 ->
66847 buf
66848
66849 buf_±r
66850
66851 Ëngth
66852 );
66853
66854 68 
66855 ¡
66856 ->
66857 buf
66858 [
66859 Ëngth
66860 ] = '\0';
66861
66862 70 
66863 rv®
66864 .
66865 code
66866  = 
66867 RC_OK
66868 ;
66869
66870 71 
66871 rv®
66872 .
66873 cÚsumed
66874  +ð
66875 Ëngth
66876 ;
66877
66878 73 
66879         `ASN_DEBUG
66880 ("Took %ld/%ld bytes\81o\83ncode %s",
66881
66882 74 (\13)
66883 rv®
66884 .
66885 cÚsumed
66886 ,
66887
66888 75 (\13)
66889 Ëngth
66890
66891 td
66892 ->
66893 Çme
66894 );
66895
66896 77 \15 
66897 rv®
66898 ;
66899
66900 78 
66901         }
66902 }
66903
66904 83 
66905 a¢_\92c_rv®_t
66906
66907
66908 84 
66909         $d\94_\92code_´im\99ive
66910 (cڡ 
66911 a¢_TYPE_desü\9dtÜ_t
66912  *
66913 td
66914 , cڡ \1e*
66915 ¥\8c
66916 ,
66917
66918 85 \12
66919 \8fg_mode
66920
66921 b\94_\8ev_\8fg_t
66922  
66923 \8fg
66924 ,
66925
66926 86 
66927 a¢_­p_cÚsume_by\8bs_f
66928  *
66929 cb
66930\1e*
66931 ­p_key
66932 ) {
66933
66934 87 
66935 a¢_\92c_rv®_t
66936  
66937 \94
66938  = {0,0,0};
66939
66940 88 cڡ 
66941 ASN__PRIMITIVE_TYPE_t
66942  *
66943 ¡
66944  = (cÚ¡ ASN__PRIMITIVE_TYPE_\88*)
66945 ¥\8c
66946 ;
66947
66948 90 
66949         `ASN_DEBUG
66950 ("%s %s\87s\87\85rimitive\81ype (tm=%d)",
66951
66952 91 
66953 cb
66954 ?"Encod\9ag":"E¡im©\9ag", 
66955 td
66956 ->
66957 Çme
66958
66959 \8fg_mode
66960 );
66961
66962 93 
66963 \94
66964 .
66965 \92coded
66966  = 
66967         `d\94_wr\99e_\8fgs
66968 (
66969 td
66970
66971 ¡
66972 ->
66973 size
66974
66975 \8fg_mode
66976 , 0, 
66977 \8fg
66978 ,
66979
66980 94 
66981 cb
66982
66983 ­p_key
66984 );
66985
66986 95 
66987         `ASN_DEBUG
66988 ("% wrÙ\90\8fg %d", 
66989 td
66990 ->
66991 Çme
66992 , (\12)
66993 \94
66994 .
66995 \92coded
66996 );
66997
66998 96 if(
66999 \94
67000 .
67001 \92coded
67002  == -1) {
67003
67004 97 
67005 \94
67006 .
67007 ç\9eed_ty³
67008  = 
67009 td
67010 ;
67011
67012 98 
67013 \94
67014 .
67015 ¡ruùu»_±r
67016  = 
67017 ¥\8c
67018 ;
67019
67020 99 \15 
67021 \94
67022 ;
67023
67024 102 if(
67025 cb
67026  && 
67027 ¡
67028 ->
67029 buf
67030 ) {
67031
67032 103 if(
67033         `cb
67034 (
67035 ¡
67036 ->
67037 buf
67038 , st->
67039 size
67040
67041 ­p_key
67042 ) < 0) {
67043
67044 104 
67045 \94
67046 .
67047 \92coded
67048  = -1;
67049
67050 105 
67051 \94
67052 .
67053 ç\9eed_ty³
67054  = 
67055 td
67056 ;
67057
67058 106 
67059 \94
67060 .
67061 ¡ruùu»_±r
67062  = 
67063 ¥\8c
67064 ;
67065
67066 107 \15 
67067 \94
67068 ;
67069
67070 110 
67071         `as£¹
67072 (
67073 ¡
67074 ->
67075 buf
67076  || st->
67077 size
67078  == 0);
67079
67080 113 
67081 \94
67082 .
67083 \92coded
67084  +ð
67085 ¡
67086 ->
67087 size
67088 ;
67089
67090 114 
67091         `ASN__ENCODED_OK
67092 (
67093 \94
67094 );
67095
67096 115 
67097         }
67098 }
67099
67100 118 
67101         $ASN__PRIMITIVE_TYPE_ä\93
67102 (cڡ 
67103 a¢_TYPE_desü\9dtÜ_t
67104  *
67105 td
67106\1e*
67107 ¥\8c
67108 ,
67109
67110 119 \f
67111 a¢_¡ruù_ä\93_m\91hod
67112  
67113 m\91hod
67114 ) {
67115
67116 120 
67117 ASN__PRIMITIVE_TYPE_t
67118  *
67119 ¡
67120  = (ASN__PRIMITIVE_TYPE_\88*)
67121 ¥\8c
67122 ;
67123
67124 122 if(!
67125 td
67126  || !
67127 ¥\8c
67128 )
67129
67130 125 
67131         `ASN_DEBUG
67132 ("F»e\9ag % a ¨´im\99iv\90ty³", 
67133 td
67134 ->
67135 Çme
67136 );
67137
67138 127 if(
67139 ¡
67140 ->
67141 buf
67142 )
67143
67144 128 
67145         `FREEMEM
67146 (
67147 ¡
67148 ->
67149 buf
67150 );
67151
67152 130 \1a
67153 m\91hod
67154 ) {
67155
67156 131 \ 4
67157 ASFM_FREE_EVERYTHING
67158 :
67159
67160 132 
67161         `FREEMEM
67162 (
67163 ¥\8c
67164 );
67165
67166 134 \ 4
67167 ASFM_FREE_UNDERLYING
67168 :
67169
67170 136 \ 4
67171 ASFM_FREE_UNDERLYING_AND_RESET
67172 :
67173
67174 137 
67175         `mem£t
67176 (
67177 ¥\8c
67178 , 0, \17(
67179 ASN__PRIMITIVE_TYPE_t
67180 ));
67181
67182 140 
67183         }
67184 }
67185
67186 146 \19
67187         sxdp_¬g_s
67188  {
67189
67190 147 cڡ 
67191 a¢_TYPE_desü\9dtÜ_t
67192  *
67193         mty³_desü\9d
67194 ;
67195
67196 148 \1e*
67197         m¡ruù_key
67198 ;
67199
67200 149 
67201 x\94_´im\99ive_body_decod\94_f
67202  *
67203         m´im_body_decod\94
67204 ;
67205
67206 150 \12
67207         mdecoded_som\91h\9ag
67208 ;
67209
67210 151 \12
67211         mwªt_mÜe
67212 ;
67213
67214 160 
67215         $x\94_decode__uÃx³ùed_\8fg
67216 (\1e*
67217 key
67218 , cڡ \1e*
67219 chunk_buf
67220
67221 size_t
67222  
67223 chunk_size
67224 ) {
67225
67226 161 \19
67227 xdp_¬g_s
67228  *
67229 ¬g
67230  = (\19xdp_¬g_ *)
67231 key
67232 ;
67233
67234 162 \f
67235 x\94_pbd_rv®
67236  
67237 b»t
67238 ;
67239
67240 167 
67241         `as£¹
67242 (
67243 chunk_size
67244  && ((cڡ \ 5*)
67245 chunk_buf
67246 )[0] == 0x3c);
67247
67248 172 if(
67249 ¬g
67250 ->
67251 decoded_som\91h\9ag
67252 )
67253
67254 175 
67255 b»t
67256  = 
67257 ¬g
67258 ->
67259         `´im_body_decod\94
67260 ×rg->
67261 ty³_desü\9d
67262 ,
67263
67264 176 
67265 ¬g
67266 ->
67267 ¡ruù_key
67268
67269 chunk_buf
67270
67271 chunk_size
67272 );
67273
67274 177 \1a
67275 b»t
67276 ) {
67277
67278 178 \ 4
67279 XPBD_SYSTEM_FAILURE
67280 :
67281
67282 179 \ 4
67283 XPBD_DECODER_LIMIT
67284 :
67285
67286 180 \ 4
67287 XPBD_BROKEN_ENCODING
67288 :
67289
67290 182 \ 4
67291 XPBD_BODY_CONSUMED
67292 :
67293
67294 184 
67295 ¬g
67296 ->
67297 decoded_som\91h\9ag
67298  = 1;
67299
67300 186 \ 4
67301 XPBD_NOT_BODY_IGNORE
67302 :
67303
67304 191 
67305         }
67306 }
67307
67308 193 \18
67309 ssize_t
67310
67311
67312 194 
67313         $x\94_decode__´im\99ive_body
67314 (\1e*
67315 key
67316 , cڡ \1e*
67317 chunk_buf
67318
67319 size_t
67320  
67321 chunk_size
67322\12
67323 have_mÜe
67324 ) {
67325
67326 195 \19
67327 xdp_¬g_s
67328  *
67329 ¬g
67330  = (\19xdp_¬g_ *)
67331 key
67332 ;
67333
67334 196 \f
67335 x\94_pbd_rv®
67336  
67337 b»t
67338 ;
67339
67340 197 
67341 size_t
67342  
67343 Ëad_w¥_size
67344 ;
67345
67346 199 if(
67347 ¬g
67348 ->
67349 decoded_som\91h\9ag
67350 ) {
67351
67352 200 if(
67353         `x\94_wh\99e¥aû_¥ª
67354 (
67355 chunk_buf
67356
67357 chunk_size
67358 ) == chunk_size) {
67359
67360 206 \15 
67361 chunk_size
67362 ;
67363
67364 214 if(!
67365 have_mÜe
67366 ) {
67367
67368 223 
67369 ¬g
67370 ->
67371 wªt_mÜe
67372  = 1;
67373
67374 227 
67375 Ëad_w¥_size
67376  = 
67377         `x\94_wh\99e¥aû_¥ª
67378 (
67379 chunk_buf
67380
67381 chunk_size
67382 );
67383
67384 228 
67385 chunk_buf
67386  = (cÚ¡ \ 5*)chunk_buà+ 
67387 Ëad_w¥_size
67388 ;
67389
67390 229 
67391 chunk_size
67392  -ð
67393 Ëad_w¥_size
67394 ;
67395
67396 231 
67397 b»t
67398  = 
67399 ¬g
67400 ->
67401         `´im_body_decod\94
67402 ×rg->
67403 ty³_desü\9d
67404 ,
67405
67406 232 
67407 ¬g
67408 ->
67409 ¡ruù_key
67410
67411 chunk_buf
67412
67413 chunk_size
67414 );
67415
67416 233 \1a
67417 b»t
67418 ) {
67419
67420 234 \ 4
67421 XPBD_SYSTEM_FAILURE
67422 :
67423
67424 235 \ 4
67425 XPBD_DECODER_LIMIT
67426 :
67427
67428 236 \ 4
67429 XPBD_BROKEN_ENCODING
67430 :
67431
67432 238 \ 4
67433 XPBD_BODY_CONSUMED
67434 :
67435
67436 240 
67437 ¬g
67438 ->
67439 decoded_som\91h\9ag
67440  = 1;
67441
67442 242 \ 4
67443 XPBD_NOT_BODY_IGNORE
67444 :
67445
67446 243 \15 
67447 Ëad_w¥_size
67448  + 
67449 chunk_size
67450 ;
67451
67452 247 
67453         }
67454 }
67455
67456 250 
67457 a¢_dec_rv®_t
67458
67459
67460 251 
67461         $x\94_decode_´im\99ive
67462 (cڡ 
67463 a¢_codec_ùx_t
67464  *
67465 Ýt_codec_ùx
67466 ,
67467
67468 252 cڡ 
67469 a¢_TYPE_desü\9dtÜ_t
67470  *
67471 td
67472\1e**
67473 ¥\8c
67474 ,
67475
67476 253 
67477 size_t
67478  
67479 ¡ruù_size
67480 , cڡ \ 5*
67481 Ýt_mÇme
67482 ,
67483
67484 254 cڡ \1e*
67485 buf_±r
67486
67487 size_t
67488  
67489 size
67490 ,
67491
67492 255 
67493 x\94_´im\99ive_body_decod\94_f
67494  *
67495 ´im_body_decod\94
67496 ) {
67497
67498 256 cڡ \ 5*
67499 xml_\8fg
67500  = 
67501 Ýt_mÇme
67502  ? o±_mÇm\90
67503 td
67504 ->xml_tag;
67505
67506 257 
67507 a¢_¡ruù_ùx_t
67508  
67509 s_ùx
67510 ;
67511
67512 258 \19
67513 xdp_¬g_s
67514  
67515 s_¬g
67516 ;
67517
67518 259 
67519 a¢_dec_rv®_t
67520  
67521 rc
67522 ;
67523
67524 264 if(!*
67525 ¥\8c
67526 ) {
67527
67528 265 *
67529 ¥\8c
67530  = 
67531         `CALLOC
67532 (1, 
67533 ¡ruù_size
67534 );
67535
67536 266 if(!*
67537 ¥\8c
67538 è
67539 ASN__DECODE_FAILED
67540 ;
67541
67542 269 
67543         `mem£t
67544 (&
67545 s_ùx
67546 , 0, \17(s_ctx));
67547
67548 270 
67549 s_¬g
67550 .
67551 ty³_desü\9d
67552  = 
67553 td
67554 ;
67555
67556 271 
67557 s_¬g
67558 .
67559 ¡ruù_key
67560  = *
67561 ¥\8c
67562 ;
67563
67564 272 
67565 s_¬g
67566 .
67567 ´im_body_decod\94
67568  =\85rim_body_decoder;
67569
67570 273 
67571 s_¬g
67572 .
67573 decoded_som\91h\9ag
67574  = 0;
67575
67576 274 
67577 s_¬g
67578 .
67579 wªt_mÜe
67580  = 0;
67581
67582 276 
67583 rc
67584  = 
67585         `x\94_decode_g\92\94®
67586 (
67587 Ýt_codec_ùx
67588 , &
67589 s_ùx
67590 , &
67591 s_¬g
67592 ,
67593
67594 277 
67595 xml_\8fg
67596
67597 buf_±r
67598
67599 size
67600 ,
67601
67602 278 
67603 x\94_decode__uÃx³ùed_\8fg
67604
67605 x\94_decode__´im\99ive_body
67606 );
67607
67608 279 \1a
67609 rc
67610 .
67611 code
67612 ) {
67613
67614 280 \ 4
67615 RC_OK
67616 :
67617
67618 281 if(!
67619 s_¬g
67620 .
67621 decoded_som\91h\9ag
67622 ) {
67623
67624 282 \ 5
67625 ch
67626 ;
67627
67628 283 
67629         `ASN_DEBUG
67630 ("Primitive body is\82ot\84ecognized, "
67631
67632 290 if(
67633         `´im_body_decod\94
67634 (
67635 s_¬g
67636 .
67637 ty³_desü\9d
67638 ,
67639
67640 291 
67641 s_¬g
67642 .
67643 ¡ruù_key
67644 , &
67645 ch
67646 , 0)
67647
67648 292 !ð
67649 XPBD_BODY_CONSUMED
67650 ) {
67651
67652 296 
67653 ASN__DECODE_FAILED
67654 ;
67655
67656 300 \ 4
67657 RC_WMORE
67658 :
67659
67660 305 
67661 rc
67662 .
67663 cÚsumed
67664  = 0;
67665
67666 307 \ 4
67667 RC_FAIL
67668 :
67669
67670 308 
67671 rc
67672 .
67673 cÚsumed
67674  = 0;
67675
67676 309 if(
67677 s_¬g
67678 .
67679 wªt_mÜe
67680 )
67681
67682 310 
67683 rc
67684 .
67685 code
67686  = 
67687 RC_WMORE
67688 ;
67689
67690 312 
67691 ASN__DECODE_FAILED
67692 ;
67693
67694 315 \15 
67695 rc
67696 ;
67697
67698 316 
67699         }
67700 }
67701
67702         @asn_internal.c
67703
67704\ 2
67705         ~<a¢_\9a\8bº®.h
67706 >
67707
67708
67709 ssize_t
67710
67711
67712
67713         $a¢__fÜm©_to_ÿÎback
67714 (\12(*
67715 cb
67716 )(cڡ \1e*, 
67717 size_t
67718\1e*
67719 key
67720 ), \1e*key,
67721
67722 5 cڡ \ 5*
67723 fmt
67724 , ...) {
67725
67726\ 5
67727 sü©ch
67728 [64];
67729
67730\ 5*
67731 buf
67732  = 
67733 sü©ch
67734 ;
67735
67736
67737 size_t
67738  
67739 buf_size
67740  = \17(
67741 sü©ch
67742 );
67743
67744\12
67745 wrÙe
67746 ;
67747
67748 10 \12
67749 cb_»t
67750 ;
67751
67752 13 
67753 va_li¡
67754  
67755 ¬gs
67756 ;
67757
67758 14 
67759         `va_¡¬t
67760 (
67761 ¬gs
67762
67763 fmt
67764 );
67765
67766 16 
67767 wrÙe
67768  = 
67769         `v¢´\9atf
67770 (
67771 buf
67772
67773 buf_size
67774
67775 fmt
67776
67777 ¬gs
67778 );
67779
67780 17 if(
67781 wrÙe
67782  < (
67783 ssize_t
67784 )
67785 buf_size
67786 ) {
67787
67788 18 if(
67789 wrÙe
67790  < 0) {
67791
67792 19 if(
67793 buf
67794  !ð
67795 sü©ch
67796 è
67797         `FREEMEM
67798 (buf);
67799
67800 20 
67801         `va_\92d
67802 (
67803 ¬gs
67804 );
67805
67806 26 
67807 buf_size
67808  <<= 1;
67809
67810 27 if(
67811 buf
67812  =ð
67813 sü©ch
67814 ) {
67815
67816 28 
67817 buf
67818  = 
67819         `MALLOC
67820 (
67821 buf_size
67822 );
67823
67824 29 if(!
67825 buf
67826 è{ 
67827         `va_\92d
67828 (
67829 ¬gs
67830 ); \15 -1; }
67831
67832 31 \1e*
67833 p
67834  = 
67835         `REALLOC
67836 (
67837 buf
67838
67839 buf_size
67840 );
67841
67842 32 if(!
67843 p
67844 ) {
67845
67846 33 
67847         `FREEMEM
67848 (
67849 buf
67850 );
67851
67852 34 
67853         `va_\92d
67854 (
67855 ¬gs
67856 );
67857
67858 37 
67859 buf
67860  = 
67861 p
67862 ;
67863
67864 41 
67865 cb_»t
67866  = 
67867         `cb
67868 (
67869 buf
67870
67871 wrÙe
67872
67873 key
67874 );
67875
67876 42 if(
67877 buf
67878  !ð
67879 sü©ch
67880 è
67881         `FREEMEM
67882 (buf);
67883
67884 43 if(
67885 cb_»t
67886  < 0) {
67887
67888 47 \15 
67889 wrÙe
67890 ;
67891
67892 48 
67893         }
67894 }
67895
67896         @asn_random_fill.c
67897
67898\ 2
67899         ~<a¢_\9a\8bº®.h
67900 >
67901
67902\ 2
67903         ~<a¢_¿ndom_f\9el.h
67904 >
67905
67906\ 2
67907         ~<cڡr_TYPE.h
67908 >
67909
67910 11 
67911         $a¢_¿ndom_f\9el
67912 (cڡ \19
67913 a¢_TYPE_desü\9dtÜ_s
67914  *
67915 td
67916\1e**
67917 ¡ruù_±r
67918 ,
67919
67920 12 
67921 size_t
67922  
67923 Ëngth
67924 ) {
67925
67926 14 if(
67927 td
67928  &&\81d->
67929 Ý
67930 ->
67931 ¿ndom_f\9el
67932 ) {
67933
67934 15 
67935 a¢_¿ndom_f\9el_»suÉ_t
67936  
67937 »s
67938  =
67939
67940 16 
67941 td
67942 ->
67943 Ý
67944 ->
67945         `¿ndom_f\9el
67946 Ñd, 
67947 ¡ruù_±r
67948 , 0, 
67949 Ëngth
67950 );
67951
67952 17 \15 (
67953 »s
67954 .
67955 code
67956  =ð
67957 ARFILL_OK
67958 ) ? 0 : -1;
67959
67960 21 
67961         }
67962 }
67963
67964 23 \18
67965 u\9atmax_t
67966
67967
67968 24 
67969         $a¢__\9atmax_¿nge
67970 (
67971 \9atmax_t
67972  
67973 lb
67974 , iÁmax_\88
67975 ub
67976 ) {
67977
67978 25 
67979         `as£¹
67980 (
67981 lb
67982  <ð
67983 ub
67984 );
67985
67986 26 if((
67987 ub
67988  < 0è=ð(
67989 lb
67990  < 0)) {
67991
67992 27 \15 
67993 ub
67994  - 
67995 lb
67996 ;
67997
67998 28 } \vif(
67999 lb
68000  < 0) {
68001
68002 29 \15 1 + ((
68003 u\9atmax_t
68004 )
68005 ub
68006  + (u\9atmax_t)-(
68007 lb
68008  + 1));
68009
68010 31 
68011         `as£¹
68012 (!"Unreachable");
68013
68014 34 
68015         }
68016 }
68017
68018 36 
68019 \9atmax_t
68020
68021
68022 37 
68023         $a¢_¿ndom_b\91w\93n
68024 (
68025 \9atmax_t
68026  
68027 lb
68028 , iÁmax_\88
68029 rb
68030 ) {
68031
68032 38 if(
68033 lb
68034  =ð
68035 rb
68036 ) {
68037
68038 39 \15 
68039 lb
68040 ;
68041
68042 41 cڡ 
68043 u\9atmax_t
68044  
68045 \9atmax_max
68046  = ((~(uintmax_t)0) >> 1);
68047
68048 42 
68049 u\9atmax_t
68050  
68051 ¿nge
68052  = 
68053         `a¢__\9atmax_¿nge
68054 (
68055 lb
68056
68057 rb
68058 );
68059
68060 43 
68061 u\9atmax_t
68062  
68063 v®ue
68064  = 0;
68065
68066 44 
68067 u\9atmax_t
68068  
68069 gÙ_\92\8cÝy
68070  = 0;
68071
68072 46 
68073         `as£¹
68074 (
68075 RAND_MAX
68076  > 0xffffff);
68077
68078 47 
68079         `as£¹
68080 (
68081 ¿nge
68082  < 
68083 \9atmax_max
68084 );
68085
68086 49 \ f
68087 gÙ_\92\8cÝy
68088  < 
68089 ¿nge
68090 ;) {
68091
68092 50 
68093 gÙ_\92\8cÝy
68094  = (got_entropy << 24) | 0xffffff;
68095
68096 51 
68097 v®ue
68098  = (v®u\90<< 24è| (
68099         `¿ndom
68100 () % 0xffffff);
68101
68102 54 \15 
68103 lb
68104  + (
68105 \9atmax_t
68106 )(
68107 v®ue
68108  % (
68109 ¿nge
68110  + 1));
68111
68112 56 
68113         }
68114 }
68115
68116         @ber_decoder.c
68117
68118\ 2
68119         ~<a¢_\9a\8bº®.h
68120 >
68121
68122 7 #undeà
68123 ADVANCE
68124
68125
68126\ 1
68127         #ADVANCE
68128 (
68129 num_by\8bs
68130 ) do { \
68131
68132
68133 size_t
68134  
68135 num
68136  = 
68137 num_by\8bs
68138 ; \
68139
68140 10 
68141 ±r
68142  = ((cÚ¡ \ 5\8cè+ 
68143 num
68144 ; \
68145
68146 11 
68147 size
68148  -ð
68149 num
68150 ; \
68151
68152 12 
68153 cÚsumed_my£lf
68154  +ð
68155 num
68156 ; \
68157
68158 13 } \1f0)
68159
68160         )
68161
68162 14 #undeà
68163 RETURN
68164
68165
68166 15 \ 1
68167         #RETURN
68168 (
68169 _code
68170 ) do { \
68171
68172 16 
68173 a¢_dec_rv®_t
68174  
68175 rv®
68176 ; \
68177
68178 17 
68179 rv®
68180 .
68181 code
68182  = 
68183 _code
68184 ; \
68185
68186 18 if(
68187 Ýt_ùx
68188 èÝt_ùx->
68189 ¡\95
68190  = step; \
68191
68192 19 if(
68193 _code
68194  =ð
68195 RC_OK
68196  || 
68197 Ýt_ùx
68198 ) \
68199
68200 20 
68201 rv®
68202 .
68203 cÚsumed
68204  = 
68205 cÚsumed_my£lf
68206 ; \
68207
68208 22 
68209 rv®
68210 .
68211 cÚsumed
68212  = 0; \
68213
68214 23 \15 
68215 rv®
68216 ; \
68217
68218 24 } \1f0)
68219
68220         )
68221
68222 29 
68223 a¢_dec_rv®_t
68224
68225
68226 30 
68227         $b\94_decode
68228 (cڡ 
68229 a¢_codec_ùx_t
68230  *
68231 Ýt_codec_ùx
68232 ,
68233
68234 31 cڡ 
68235 a¢_TYPE_desü\9dtÜ_t
68236  *
68237 ty³_desü\9d
68238\1e**
68239 ¡ruù_±r
68240 ,
68241
68242 32 cڡ \1e*
68243 ±r
68244
68245 size_t
68246  
68247 size
68248 ) {
68249
68250 33 
68251 a¢_codec_ùx_t
68252  
68253 s_codec_ùx
68254 ;
68255
68256 39 if(
68257 Ýt_codec_ùx
68258 ) {
68259
68260 40 if(
68261 Ýt_codec_ùx
68262 ->
68263 max_¡ack_size
68264 ) {
68265
68266 41 
68267 s_codec_ùx
68268  = *
68269 Ýt_codec_ùx
68270 ;
68271
68272 42 
68273 Ýt_codec_ùx
68274  = &
68275 s_codec_ùx
68276 ;
68277
68278 46 
68279         `mem£t
68280 (&
68281 s_codec_ùx
68282 , 0, \17(s_codec_ctx));
68283
68284 47 
68285 s_codec_ùx
68286 .
68287 max_¡ack_size
68288  = 
68289 ASN__DEFAULT_STACK_MAX
68290 ;
68291
68292 48 
68293 Ýt_codec_ùx
68294  = &
68295 s_codec_ùx
68296 ;
68297
68298 54 \15 
68299 ty³_desü\9d
68300 ->
68301 Ý
68302 ->
68303         `b\94_decod\94
68304 (
68305 Ýt_codec_ùx
68306 ,\81ype_descriptor,
68307
68308 55 
68309 ¡ruù_±r
68310 ,
68311
68312 56 
68313 ±r
68314
68315 size
68316 ,
68317
68318 59 
68319         }
68320 }
68321
68322 64 
68323 a¢_dec_rv®_t
68324
68325
68326 65 
68327         $b\94_check_\8fgs
68328 (cڡ 
68329 a¢_codec_ùx_t
68330  *
68331 Ýt_codec_ùx
68332 ,
68333
68334 66 cڡ 
68335 a¢_TYPE_desü\9dtÜ_t
68336  *
68337 td
68338
68339 a¢_¡ruù_ùx_t
68340  *
68341 Ýt_ùx
68342 ,
68343
68344 67 cڡ \1e*
68345 ±r
68346
68347 size_t
68348  
68349 size
68350\12
68351 \8fg_mode
68352\12
68353 Ï¡_\8fg_fÜm
68354 ,
68355
68356 68 
68357 b\94_\8ev_Ën_t
68358  *
68359 Ï¡_Ëngth
68360\12*
68361 Ýt_\8ev_fÜm
68362 ) {
68363
68364 69 
68365 ssize_t
68366  
68367 cÚsumed_my£lf
68368  = 0;
68369
68370 70 
68371 ssize_t
68372  
68373 \8fg_Ën
68374 ;
68375
68376 71 
68377 ssize_t
68378  
68379 Ën_Ën
68380 ;
68381
68382 72 
68383 b\94_\8ev_\8fg_t
68384  
68385 \8ev_\8fg
68386 ;
68387
68388 73 
68389 b\94_\8ev_Ën_t
68390  
68391 \8ev_Ën
68392 ;
68393
68394 74 
68395 b\94_\8ev_Ën_t
68396  
68397 lim\99_Ën
68398  = -1;
68399
68400 75 \12
68401 ex³ù_00_\8brm\9a©Üs
68402  = 0;
68403
68404 76 \12
68405 \8ev_cÚ¡r
68406  = -1;
68407
68408 77 \12
68409 ¡\95
68410  = 
68411 Ýt_ùx
68412  ? opt_ctx->step : 0;
68413
68414 78 \12
68415 \8fgno
68416 ;
68417
68418 83 if(
68419         `ASN__STACK_OVERFLOW_CHECK
68420 (
68421 Ýt_codec_ùx
68422 ))
68423
68424 84 
68425         `RETURN
68426 (
68427 RC_FAIL
68428 );
68429
68430 108 
68431 \8fgno
68432  = 
68433 ¡\95
68434
68435
68436 109 + (
68437 \8fg_mode
68438 ==1?-1:0)
68439
68440 111 
68441         `ASN_DEBUG
68442 ("ber_check_tags(%s, size=%ld,\81m=%d, step=%d,\81agno=%d)",
68443
68444 112 
68445 td
68446 ->
68447 Çme
68448 , (\13)
68449 size
68450
68451 \8fg_mode
68452
68453 ¡\95
68454
68455 \8fgno
68456 );
68457
68458 115 if(
68459 \8fg_mode
68460  =ð0 && 
68461 \8fgno
68462  =ð(\12)
68463 td
68464 ->
68465 \8fgs_couÁ
68466 ) {
68467
68468 121 
68469 \8fg_Ën
68470  = 
68471         `b\94_ãtch_\8fg
68472 (
68473 ±r
68474
68475 size
68476 , &
68477 \8ev_\8fg
68478 );
68479
68480 122 \1a
68481 \8fg_Ën
68482 ) {
68483
68484 123 \ 4-1: 
68485         `RETURN
68486 (
68487 RC_FAIL
68488 );
68489
68490 124 \ 40: 
68491         `RETURN
68492 (
68493 RC_WMORE
68494 );
68495
68496 126 
68497 \8ev_cÚ¡r
68498  = 
68499         `BER_TLV_CONSTRUCTED
68500 (
68501 ±r
68502 );
68503
68504 127 
68505 Ën_Ën
68506  = 
68507         `b\94_ãtch_Ëngth
68508 (
68509 \8ev_cÚ¡r
68510 ,
68511
68512 128 (cڡ \ 5*)
68513 ±r
68514  + 
68515 \8fg_Ën
68516
68517 size
68518  -\81ag_Ën, &
68519 \8ev_Ën
68520 );
68521
68522 129 \1a
68523 Ën_Ën
68524 ) {
68525
68526 130 \ 4-1: 
68527         `RETURN
68528 (
68529 RC_FAIL
68530 );
68531
68532 131 \ 40: 
68533         `RETURN
68534 (
68535 RC_WMORE
68536 );
68537
68538 133 
68539         `ASN_DEBUG
68540 ("Advancing %ld in ANY case",
68541
68542 134 (\13)(
68543 \8fg_Ën
68544  + 
68545 Ën_Ën
68546 ));
68547
68548 135 
68549         `ADVANCE
68550 (
68551 \8fg_Ën
68552  + 
68553 Ën_Ën
68554 );
68555
68556 137 
68557         `as£¹
68558 (
68559 \8fgno
68560  < (\12)
68561 td
68562 ->
68563 \8fgs_couÁ
68564 );
68565
68566 139 \ f(\1e)
68567 \8fgno
68568 ;\81agnØ< (\12)
68569 td
68570 ->
68571 \8fgs_couÁ
68572 ;\81agno++, 
68573 ¡\95
68574 ++) {
68575
68576 144 
68577 \8fg_Ën
68578  = 
68579         `b\94_ãtch_\8fg
68580 (
68581 ±r
68582
68583 size
68584 , &
68585 \8ev_\8fg
68586 );
68587
68588 145 
68589         `ASN_DEBUG
68590 ("Fetching\81ag from {%p,%ld}: "
68591
68592 147 
68593 ±r
68594 , (\13)
68595 size
68596 ,
68597
68598 148 (\13)
68599 \8fg_Ën
68600
68601 ¡\95
68602
68603 \8fgno
68604 ,
68605
68606 149 
68607         `b\94_\8ev_\8fg_¡r\9ag
68608 (
68609 \8ev_\8fg
68610 ));
68611
68612 150 \1a
68613 \8fg_Ën
68614 ) {
68615
68616 151 \ 4-1: 
68617         `RETURN
68618 (
68619 RC_FAIL
68620 );
68621
68622 152 \ 40: 
68623         `RETURN
68624 (
68625 RC_WMORE
68626 );
68627
68628 155 
68629 \8ev_cÚ¡r
68630  = 
68631         `BER_TLV_CONSTRUCTED
68632 (
68633 ±r
68634 );
68635
68636 161 if(
68637 \8fg_mode
68638  !ð0 && 
68639 ¡\95
68640  == 0) {
68641
68642 168 
68643         `as£¹
68644 (
68645 \8fgno
68646  >= 0);
68647
68648 169 if(
68649 \8ev_\8fg
68650  !ð
68651 td
68652 ->
68653 \8fgs
68654 [
68655 \8fgno
68656 ]) {
68657
68658 173 
68659         `ASN_DEBUG
68660 ("Expected: %s, "
68661
68662 175 
68663         `b\94_\8ev_\8fg_¡r\9ag
68664 (
68665 td
68666 ->
68667 \8fgs
68668 [
68669 \8fgno
68670 ]),
68671
68672 176 
68673 \8fgno
68674
68675 \8fg_mode
68676
68677
68678 178 
68679         `RETURN
68680 (
68681 RC_FAIL
68682 );
68683
68684 189 if(
68685 \8fgno
68686  < ((\12)
68687 td
68688 ->
68689 \8fgs_couÁ
68690  - 1)) {
68691
68692 190 if(
68693 \8ev_cÚ¡r
68694  == 0) {
68695
68696 191 
68697         `ASN_DEBUG
68698 ("tlv_constr = %d,\83xpfail",
68699
68700 192 
68701 \8ev_cÚ¡r
68702 );
68703
68704 193 
68705         `RETURN
68706 (
68707 RC_FAIL
68708 );
68709
68710 196 if(
68711 Ï¡_\8fg_fÜm
68712  !ð
68713 \8ev_cÚ¡r
68714
68715
68716 197 && 
68717 Ï¡_\8fg_fÜm
68718  != -1) {
68719
68720 198 
68721         `ASN_DEBUG
68722 ("last_tag_form %d != %d",
68723
68724 199 
68725 Ï¡_\8fg_fÜm
68726
68727 \8ev_cÚ¡r
68728 );
68729
68730 200 
68731         `RETURN
68732 (
68733 RC_FAIL
68734 );
68735
68736 207 
68737 Ën_Ën
68738  = 
68739         `b\94_ãtch_Ëngth
68740 (
68741 \8ev_cÚ¡r
68742 ,
68743
68744 208 (cڡ \ 5*)
68745 ±r
68746  + 
68747 \8fg_Ën
68748
68749 size
68750  -\81ag_Ën, &
68751 \8ev_Ën
68752 );
68753
68754 209 
68755         `ASN_DEBUG
68756 ("F\91ch\9ag\86\92 = %ld", (\13)
68757 Ën_Ën
68758 );
68759
68760 210 \1a
68761 Ën_Ën
68762 ) {
68763
68764 211 \ 4-1: 
68765         `RETURN
68766 (
68767 RC_FAIL
68768 );
68769
68770 212 \ 40: 
68771         `RETURN
68772 (
68773 RC_WMORE
68774 );
68775
68776 222 if(
68777 \8ev_Ën
68778  == -1) {
68779
68780 226 if(
68781 lim\99_Ën
68782  == -1) {
68783
68784 227 
68785 ex³ù_00_\8brm\9a©Üs
68786 ++;
68787
68788 229 
68789         `ASN_DEBUG
68790 ("Unexpected indefinite\86ength "
68791
68792 231 
68793         `RETURN
68794 (
68795 RC_FAIL
68796 );
68797
68798 233 
68799         `ADVANCE
68800 (
68801 \8fg_Ën
68802  + 
68803 Ën_Ën
68804 );
68805
68806 236 if(
68807 ex³ù_00_\8brm\9a©Üs
68808 ) {
68809
68810 237 
68811         `ASN_DEBUG
68812 ("Unexpected definite\86ength "
68813
68814 239 
68815         `RETURN
68816 (
68817 RC_FAIL
68818 );
68819
68820 247 if(
68821 lim\99_Ën
68822  == -1) {
68823
68824 248 
68825 lim\99_Ën
68826  = 
68827 \8ev_Ën
68828  + 
68829 \8fg_Ën
68830  + 
68831 Ën_Ën
68832 ;
68833
68834 249 if(
68835 lim\99_Ën
68836  < 0) {
68837
68838 251 
68839         `RETURN
68840 (
68841 RC_FAIL
68842 );
68843
68844 253 } \vif(
68845 lim\99_Ën
68846  !ð
68847 \8ev_Ën
68848  + 
68849 \8fg_Ën
68850  + 
68851 Ën_Ën
68852 ) {
68853
68854 258 
68855         `ASN_DEBUG
68856 ("Outer TLV is %ld\87nd inner is %ld",
68857
68858 259 (\13)
68859 lim\99_Ën
68860 , (\13)
68861 \8ev_Ën
68862 );
68863
68864 260 
68865         `RETURN
68866 (
68867 RC_FAIL
68868 );
68869
68870 263 
68871         `ADVANCE
68872 (
68873 \8fg_Ën
68874  + 
68875 Ën_Ën
68876 );
68877
68878 265 
68879 lim\99_Ën
68880  -ð(
68881 \8fg_Ën
68882  + 
68883 Ën_Ën
68884 );
68885
68886 266 if((
68887 ssize_t
68888 )
68889 size
68890  > 
68891 lim\99_Ën
68892 ) {
68893
68894 271 
68895 size
68896  = 
68897 lim\99_Ën
68898 ;
68899
68900 275 if(
68901 Ýt_\8ev_fÜm
68902 )
68903
68904 276 *
68905 Ýt_\8ev_fÜm
68906  = 
68907 \8ev_cÚ¡r
68908 ;
68909
68910 277 if(
68911 ex³ù_00_\8brm\9a©Üs
68912 )
68913
68914 278 *
68915 Ï¡_Ëngth
68916  = -
68917 ex³ù_00_\8brm\9a©Üs
68918 ;
68919
68920 280 *
68921 Ï¡_Ëngth
68922  = 
68923 \8ev_Ën
68924 ;
68925
68926 282 
68927         `RETURN
68928 (
68929 RC_OK
68930 );
68931
68932 283 
68933         }
68934 }
68935
68936         @ber_tlv_length.c
68937
68938\ 2
68939         ~<a¢_\9a\8bº®.h
68940 >
68941
68942\ 2
68943         ~<b\94_\8ev_Ëngth.h
68944 >
68945
68946\ 2
68947         ~<b\94_\8ev_\8fg.h
68948 >
68949
68950
68951 ssize_t
68952
68953
68954 10 
68955         $b\94_ãtch_Ëngth
68956 (\12
68957 _is_cÚ¡ruùed
68958 , cڡ \1e*
68959 buå\8c
68960
68961 size_t
68962  
68963 size
68964 ,
68965
68966 11 
68967 b\94_\8ev_Ën_t
68968  *
68969 Ën_r
68970 ) {
68971
68972 12 cڡ 
68973 u\9at8_t
68974  *
68975 buf
68976  = (cÚ¡ u\9at8_\88*)
68977 buå\8c
68978 ;
68979
68980 13 \1d
68981
68982 ;
68983
68984 15 if(
68985 size
68986  == 0)
68987
68988 18 
68989
68990  = *(cڡ 
68991 u\9at8_t
68992  *)
68993 buf
68994 ;
68995
68996 19 if((
68997
68998  & 0x80) == 0) {
68999
69000 23 *
69001 Ën_r
69002  = 
69003
69004 ;
69005
69006 26 
69007 b\94_\8ev_Ën_t
69008  
69009 Ën
69010 ;
69011
69012 27 
69013 size_t
69014  
69015 sk\9d³d
69016 ;
69017
69018 29 if(
69019 _is_cÚ¡ruùed
69020  && 
69021
69022  == 0x80) {
69023
69024 30 *
69025 Ën_r
69026  = -1;
69027
69028 34 if(
69029
69030  == 0xff) {
69031
69032 39 
69033
69034  &= 0x7F;
69035
69036 40 \ f
69037 Ën
69038  = 0, 
69039 buf
69040 ++, 
69041 sk\9d³d
69042  = 1;
69043
69044 41 
69045
69046  && (++
69047 sk\9d³d
69048  <ð
69049 size
69050 ); 
69051 buf
69052 ++, oct--) {
69053
69054 44 if(!(
69055 Ën
69056  >> ((8 * \17(len)) - (8+1)))) {
69057
69058 45 
69059 Ën
69060  = (ËÀ<< 8è| *
69061 buf
69062 ;
69063
69064 52 if(
69065
69066  == 0) {
69067
69068 53 if(
69069 Ën
69070  < 0 ||\86\92 > 
69071 RSSIZE_MAX
69072 ) {
69073
69074 58 *
69075 Ën_r
69076  = 
69077 Ën
69078 ;
69079
69080 59 \15 
69081 sk\9d³d
69082 ;
69083
69084 65 
69085         }
69086 }
69087
69088 67 
69089 ssize_t
69090
69091
69092 68 
69093         $b\94_sk\9d_Ëngth
69094 (cڡ 
69095 a¢_codec_ùx_t
69096  *
69097 Ýt_codec_ùx
69098 ,
69099
69100 69 \12
69101 _is_cÚ¡ruùed
69102 , cڡ \1e*
69103 ±r
69104
69105 size_t
69106  
69107 size
69108 ) {
69109
69110 70 
69111 b\94_\8ev_Ën_t
69112  
69113 vËn
69114 ;
69115
69116 71 
69117 ssize_t
69118  
69119 \8e
69120 ;
69121
69122 72 
69123 ssize_t
69124  
69125 Î
69126 ;
69127
69128 73 
69129 size_t
69130  
69131 sk\9d
69132 ;
69133
69134 78 if(
69135         `ASN__STACK_OVERFLOW_CHECK
69136 (
69137 Ýt_codec_ùx
69138 ))
69139
69140 84 
69141 Î
69142  = 
69143         `b\94_ãtch_Ëngth
69144 (
69145 _is_cÚ¡ruùed
69146
69147 ±r
69148
69149 size
69150 , &
69151 vËn
69152 );
69153
69154 85 if(
69155 Î
69156  <= 0) \15\86l;
69157
69158 90 if(
69159 vËn
69160  >= 0) {
69161
69162 91 
69163 sk\9d
69164  = 
69165 Î
69166  + 
69167 vËn
69168 ;
69169
69170 92 if(
69171 sk\9d
69172  > 
69173 size
69174 )
69175
69176 94 \15 
69177 sk\9d
69178 ;
69179
69180 100 
69181         `ASN_DEBUG
69182 ("Skipping indefinite\86ength");
69183
69184 101 \ f
69185 sk\9d
69186  = 
69187 Î
69188
69189 ±r
69190  = ((cÚ¡ \ 5\8cè+\86l, 
69191 size
69192  -=\86l;;) {
69193
69194 102 
69195 b\94_\8ev_\8fg_t
69196  
69197 \8fg
69198 ;
69199
69200 105 
69201 \8e
69202  = 
69203         `b\94_ãtch_\8fg
69204 (
69205 ±r
69206
69207 size
69208 , &
69209 \8fg
69210 );
69211
69212 106 if(
69213 \8e
69214  <= 0) \15\81l;
69215
69216 108 
69217 Î
69218  = 
69219         `b\94_sk\9d_Ëngth
69220 (
69221 Ýt_codec_ùx
69222 ,
69223
69224 109 
69225         `BER_TLV_CONSTRUCTED
69226 (
69227 ±r
69228 ),
69229
69230 110 ((cڡ \ 5*)
69231 ±r
69232 è+ 
69233 \8e
69234
69235 size
69236  -\81l);
69237
69238 111 if(
69239 Î
69240  <= 0) \15\86l;
69241
69242 113 
69243 sk\9d
69244  +ð
69245 \8e
69246  + 
69247 Î
69248 ;
69249
69250 120 if(((cڡ 
69251 u\9at8_t
69252  *)
69253 ±r
69254 )[0] == 0
69255
69256 121 && ((cڡ 
69257 u\9at8_t
69258  *)
69259 ±r
69260 )[1] == 0)
69261
69262 122 \15 
69263 sk\9d
69264 ;
69265
69266 124 
69267 ±r
69268  = ((cÚ¡ \ 5\8cè+ 
69269 \8e
69270  + 
69271 Î
69272 ;
69273
69274 125 
69275 size
69276  -ð
69277 \8e
69278  + 
69279 Î
69280 ;
69281
69282 129 
69283         }
69284 }
69285
69286 131 
69287 size_t
69288
69289
69290 132 
69291         $d\94_\8ev_Ëngth_£r\9flize
69292 (
69293 b\94_\8ev_Ën_t
69294  
69295 Ën
69296\1e*
69297 buå
69298
69299 size_t
69300  
69301 size
69302 ) {
69303
69304 133 
69305 size_t
69306  
69307 »qu\9ced_size
69308 ;
69309
69310 134 
69311 u\9at8_t
69312  *
69313 buf
69314  = (u\9at8_\88*)
69315 buå
69316 ;
69317
69318 135 
69319 u\9at8_t
69320  *
69321 \92d
69322 ;
69323
69324 136 \12
69325 i
69326 ;
69327
69328 138 if(
69329 Ën
69330  <= 127) {
69331
69332 140 if(
69333 size
69334 è*
69335 buf
69336  = (
69337 u\9at8_t
69338 )
69339 Ën
69340 ;
69341
69342 147 \ f
69343 »qu\9ced_size
69344  = 1, 
69345 i
69346  = 8; i < 8 * (\12)\17(
69347 Ën
69348 ); i += 8) {
69349
69350 148 if(
69351 Ën
69352  >> 
69353 i
69354 )
69355
69356 149 
69357 »qu\9ced_size
69358 ++;
69359
69360 154 if(
69361 size
69362  <ð
69363 »qu\9ced_size
69364 )
69365
69366 155 \15 
69367 »qu\9ced_size
69368  + 1;
69369
69370 157 *
69371 buf
69372 ++ = (
69373 u\9at8_t
69374 )(0x80 | 
69375 »qu\9ced_size
69376 );
69377
69378 162 
69379 \92d
69380  = 
69381 buf
69382  + 
69383 »qu\9ced_size
69384 ;
69385
69386 163 \ f
69387 i
69388  -ð8; 
69389 buf
69390  < 
69391 \92d
69392 ; i -= 8, buf++)
69393
69394 164 *
69395 buf
69396  = (
69397 u\9at8_t
69398 )(
69399 Ën
69400  >> 
69401 i
69402 );
69403
69404 166 \15 
69405 »qu\9ced_size
69406  + 1;
69407
69408 167 
69409         }
69410 }
69411
69412         @ber_tlv_tag.c
69413
69414\ 2
69415         ~<a¢_\9a\8bº®.h
69416 >
69417
69418\ 2
69419         ~<b\94_\8ev_\8fg.h
69420 >
69421
69422\ 2
69423         ~<\94ºo.h
69424 >
69425
69426
69427 ssize_t
69428
69429
69430 10 
69431         $b\94_ãtch_\8fg
69432 (cڡ \1e*
69433 ±r
69434
69435 size_t
69436  
69437 size
69438
69439 b\94_\8ev_\8fg_t
69440  *
69441 \8fg_r
69442 ) {
69443
69444 11 
69445 b\94_\8ev_\8fg_t
69446  
69447
69448 ;
69449
69450 12 
69451 b\94_\8ev_\8fg_t
69452  
69453 tþass
69454 ;
69455
69456 13 
69457 size_t
69458  
69459 sk\9d³d
69460 ;
69461
69462 15 if(
69463 size
69464  == 0)
69465
69466 18 
69467
69468  = *(cڡ 
69469 u\9at8_t
69470  *)
69471 ±r
69472 ;
69473
69474 19 
69475 tþass
69476  = (
69477
69478  >> 6);
69479
69480 20 if((
69481
69482  &= 0x1F) != 0x1F) {
69483
69484 25 *
69485 \8fg_r
69486  = (
69487
69488  << 2è| 
69489 tþass
69490 ;
69491
69492 33 \ f
69493
69494  = 0, 
69495 ±r
69496  = ((cÚ¡ \ 5\8cè+ 1, 
69497 sk\9d³d
69498  = 2;
69499
69500 34 
69501 sk\9d³d
69502  <ð
69503 size
69504 ;
69505
69506 35 
69507 ±r
69508  = ((cÚ¡ \ 5\8cè+ 1, 
69509 sk\9d³d
69510 ++) {
69511
69512 36 \1d\12
69513
69514  = *(cڡ 
69515 u\9at8_t
69516  *)
69517 ±r
69518 ;
69519
69520 37 if(
69521
69522  & 0x80) {
69523
69524 38 
69525
69526  = (v® << 7è| (
69527
69528  & 0x7F);
69529
69530 43 if(
69531
69532  >> ((8 * \17(val)) - 9)) {
69533
69534 51 
69535
69536  = (v® << 7è| 
69537
69538 ;
69539
69540 52 *
69541 \8fg_r
69542  = (
69543
69544  << 2è| 
69545 tþass
69546 ;
69547
69548 53 \15 
69549 sk\9d³d
69550 ;
69551
69552 58 
69553         }
69554 }
69555
69556 61 
69557 ssize_t
69558
69559
69560 62 
69561         $b\94_\8ev_\8fg_fwr\99e
69562 (
69563 b\94_\8ev_\8fg_t
69564  
69565 \8fg
69566
69567 FILE
69568  *
69569 f
69570 ) {
69571
69572 63 \ 5
69573 buf
69574 [\17("[APPLICATION ]") + 32];
69575
69576 64 
69577 ssize_t
69578  
69579 »t
69580 ;
69581
69582 66 
69583 »t
69584  = 
69585         `b\94_\8ev_\8fg_¢´\9at
69586 (
69587 \8fg
69588
69589 buf
69590\17(buf));
69591
69592 67 if(
69593 »t
69594  >ð(
69595 ssize_t
69596 )\17(
69597 buf
69598 ) ||\84et < 2) {
69599
69600 68 
69601 \94ºo
69602  = 
69603 EPERM
69604 ;
69605
69606 72 \15 
69607         `fwr\99e
69608 (
69609 buf
69610 , 1, 
69611 »t
69612
69613 f
69614 );
69615
69616 73 
69617         }
69618 }
69619
69620 75 
69621 ssize_t
69622
69623
69624 76 
69625         $b\94_\8ev_\8fg_¢´\9at
69626 (
69627 b\94_\8ev_\8fg_t
69628  
69629 \8fg
69630\ 5*
69631 buf
69632
69633 size_t
69634  
69635 size
69636 ) {
69637
69638 77 cڡ \ 5*
69639 ty³
69640  = 0;
69641
69642 78 \12
69643 »t
69644 ;
69645
69646 80 \1a
69647 \8fg
69648  & 0x3) {
69649
69650 81 \ 4
69651 ASN_TAG_CLASS_UNIVERSAL
69652
69653 ty³
69654  = "UNIVERSAL "; \ 3;
69655
69656 82 \ 4
69657 ASN_TAG_CLASS_APPLICATION
69658
69659 ty³
69660  = "APPLICATION "; \ 3;
69661
69662 83 \ 4
69663 ASN_TAG_CLASS_CONTEXT
69664
69665 ty³
69666  = ""; \ 3;
69667
69668 84 \ 4
69669 ASN_TAG_CLASS_PRIVATE
69670
69671 ty³
69672  = "PRIVATE "; \ 3;
69673
69674 87 
69675 »t
69676  = 
69677         `¢´\9atf
69678 (
69679 buf
69680
69681 size
69682 , "[%s%u]", 
69683 ty³
69684 , ((\1d)
69685 \8fg
69686 ) >> 2);
69687
69688 88 if(
69689 »t
69690  <ð0 && 
69691 size
69692 è
69693 buf
69694 [0] = '\0';
69695
69696 90 \15 
69697 »t
69698 ;
69699
69700 91 
69701         }
69702 }
69703
69704 94 
69705         $b\94_\8ev_\8fg_¡r\9ag
69706 (
69707 b\94_\8ev_\8fg_t
69708  
69709 \8fg
69710 ) {
69711
69712 95 \18\ 5
69713 buf
69714 [\17("[APPLICATION ]") + 32];
69715
69716 97 (\1e)
69717         `b\94_\8ev_\8fg_¢´\9at
69718 (
69719 \8fg
69720
69721 buf
69722\17(buf));
69723
69724 99 \15 
69725 buf
69726 ;
69727
69728 100 
69729         }
69730 }
69731
69732 103 
69733 size_t
69734
69735
69736 104 
69737         $b\94_\8ev_\8fg_£r\9flize
69738 (
69739 b\94_\8ev_\8fg_t
69740  
69741 \8fg
69742\1e*
69743 buå
69744
69745 size_t
69746  
69747 size
69748 ) {
69749
69750 105 \12
69751 tþass
69752  = 
69753         `BER_TAG_CLASS
69754 (
69755 \8fg
69756 );
69757
69758 106 
69759 b\94_\8ev_\8fg_t
69760  
69761 tv®
69762  = 
69763         `BER_TAG_VALUE
69764 (
69765 \8fg
69766 );
69767
69768 107 
69769 u\9at8_t
69770  *
69771 buf
69772  = (u\9at8_\88*)
69773 buå
69774 ;
69775
69776 108 
69777 u\9at8_t
69778  *
69779 \92d
69780 ;
69781
69782 109 
69783 size_t
69784  
69785 »qu\9ced_size
69786 ;
69787
69788 110 
69789 size_t
69790  
69791 i
69792 ;
69793
69794 112 if(
69795 tv®
69796  <= 30) {
69797
69798 114 if(
69799 size
69800 è
69801 buf
69802 [0] = (
69803 tþass
69804  << 6è| 
69805 tv®
69806 ;
69807
69808 116 } \vif(
69809 size
69810 ) {
69811
69812 117 *
69813 buf
69814 ++ = (
69815 tþass
69816  << 6) | 0x1F;
69817
69818 118 
69819 size
69820 --;
69821
69822 124 \ f
69823 »qu\9ced_size
69824  = 1, 
69825 i
69826  = 7; i < 8 * \17(
69827 tv®
69828 ); i += 7) {
69829
69830 125 if(
69831 tv®
69832  >> 
69833 i
69834 )
69835
69836 126 
69837 »qu\9ced_size
69838 ++;
69839
69840 131 if(
69841 size
69842  < 
69843 »qu\9ced_size
69844 )
69845
69846 132 \15 
69847 »qu\9ced_size
69848  + 1;
69849
69850 137 
69851 \92d
69852  = 
69853 buf
69854  + 
69855 »qu\9ced_size
69856  - 1;
69857
69858 138 \ f
69859 i
69860  -ð7; 
69861 buf
69862  < 
69863 \92d
69864 ; i -= 7, buf++)
69865
69866 139 *
69867 buf
69868  = 0x80 | ((
69869 tv®
69870  >> 
69871 i
69872 ) & 0x7F);
69873
69874 140 *
69875 buf
69876  = (
69877 tv®
69878  & 0x7F);
69879
69880 142 \15 
69881 »qu\9ced_size
69882  + 1;
69883
69884 143 
69885         }
69886 }
69887
69888         @constr_CHOICE.c
69889
69890\ 2
69891         ~<a¢_\9a\8bº®.h
69892 >
69893
69894\ 2
69895         ~<cڡr_CHOICE.h
69896 >
69897
69898\ 2
69899         ~<³r_Ý\92ty³.h
69900 >
69901
69902 14 \ 1
69903         #LEFT
69904  ((
69905 size
69906 <(
69907 size_t
69908 )
69909 ùx
69910 ->
69911 Ëá
69912 )?size:(size_t)ùx->Ëá)
69913
69914         )
69915
69916 27 \ 1
69917         #SIZE_VIOLATION
69918  (
69919 ùx
69920 ->
69921 Ëá
69922  >ð0 && (
69923 size_t
69924 )ùx->Ëá <ð
69925 size
69926 )
69927
69928         )
69929
69930 33 #undeà
69931 ADVANCE
69932
69933
69934 34 \ 1
69935         #ADVANCE
69936 (
69937 num_by\8bs
69938 ) do { \
69939
69940 35 
69941 size_t
69942  
69943 num
69944  = 
69945 num_by\8bs
69946 ; \
69947
69948 36 
69949 ±r
69950  = ((cÚ¡ \ 5\8cè+ 
69951 num
69952 ;\
69953
69954 37 
69955 size
69956  -ð
69957 num
69958 ; \
69959
69960 38 if(
69961 ùx
69962 ->
69963 Ëá
69964  >= 0) \
69965
69966 39 
69967 ùx
69968 ->
69969 Ëá
69970  -ð
69971 num
69972 ; \
69973
69974 40 
69975 cÚsumed_my£lf
69976  +ð
69977 num
69978 ; \
69979
69980 41 } \1f0)
69981
69982         )
69983
69984 46 #undeà
69985 NEXT_PHASE
69986
69987
69988 47 \ 1
69989         #NEXT_PHASE
69990 (
69991 ùx
69992 ) do { \
69993
69994 48 
69995 ùx
69996 ->
69997 pha£
69998 ++; \
69999
70000 49 
70001 ùx
70002 ->
70003 ¡\95
70004  = 0; \
70005
70006 50 } \1f0)
70007
70008         )
70009
70010 55 #undeà
70011 RETURN
70012
70013
70014 56 \ 1
70015         #RETURN
70016 (
70017 _code
70018 ) do { \
70019
70020 57 
70021 rv®
70022 .
70023 code
70024  = 
70025 _code
70026 ; \
70027
70028 58 
70029 rv®
70030 .
70031 cÚsumed
70032  = 
70033 cÚsumed_my£lf
70034 ;\
70035
70036 59 \15 
70037 rv®
70038 ; \
70039
70040 60 } \1f0)
70041
70042         )
70043
70044 65 \18\1d
70045 _ãtch_´e£Á_idx
70046 (cڡ \1e*
70047 ¡ruù_±r
70048\1d
70049 off
70050 ,
70051
70052 66 \1d
70053 size
70054 );
70055
70056 67 \18\1e
70057 _£t_´e£Á_idx
70058 (\1e*
70059 ¥\8c
70060\1d
70061 off£t
70062\1d
70063 size
70064 ,
70065
70066 68 \1d
70067 ´es
70068 );
70069
70070 69 \18cڡ \1e*
70071 _g\91_memb\94_±r
70072 (cڡ 
70073 a¢_TYPE_desü\9dtÜ_t
70074  *,
70075
70076 70 cڡ \1e*
70077 ¥\8c
70078
70079 a¢_TYPE_memb\94_t
70080  **
70081 \96m
70082 ,
70083
70084 71 \1d*
70085 ´e£Á
70086 );
70087
70088 77 
70089         $_£¬ch4\8fg
70090 (cڡ \1e*
70091 ­
70092 , cڡ \1e*
70093 bp
70094 ) {
70095
70096 78 cڡ 
70097 a¢_TYPE_\8fg2memb\94_t
70098  *
70099 a
70100  = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
70101 ­
70102 ;
70103
70104 79 cڡ 
70105 a¢_TYPE_\8fg2memb\94_t
70106  *
70107 b
70108  = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
70109 bp
70110 ;
70111
70112 81 \12
70113 a_þass
70114  = 
70115         `BER_TAG_CLASS
70116 (
70117 a
70118 ->
70119 \96_\8fg
70120 );
70121
70122 82 \12
70123 b_þass
70124  = 
70125         `BER_TAG_CLASS
70126 (
70127 b
70128 ->
70129 \96_\8fg
70130 );
70131
70132 84 if(
70133 a_þass
70134  =ð
70135 b_þass
70136 ) {
70137
70138 85 
70139 b\94_\8ev_\8fg_t
70140  
70141 a_v®ue
70142  = 
70143         `BER_TAG_VALUE
70144 (
70145 a
70146 ->
70147 \96_\8fg
70148 );
70149
70150 86 
70151 b\94_\8ev_\8fg_t
70152  
70153 b_v®ue
70154  = 
70155         `BER_TAG_VALUE
70156 (
70157 b
70158 ->
70159 \96_\8fg
70160 );
70161
70162 88 if(
70163 a_v®ue
70164  =ð
70165 b_v®ue
70166 )
70167
70168 90 \vif(
70169 a_v®ue
70170  < 
70171 b_v®ue
70172 )
70173
70174 94 } \vif(
70175 a_þass
70176  < 
70177 b_þass
70178 ) {
70179
70180 99 
70181         }
70182 }
70183
70184 104 
70185 a¢_dec_rv®_t
70186
70187
70188 105 
70189         $CHOICE_decode_b\94
70190 (cڡ 
70191 a¢_codec_ùx_t
70192  *
70193 Ýt_codec_ùx
70194 ,
70195
70196 106 cڡ 
70197 a¢_TYPE_desü\9dtÜ_t
70198  *
70199 td
70200\1e**
70201 ¡ruù_±r
70202 ,
70203
70204 107 cڡ \1e*
70205 ±r
70206
70207 size_t
70208  
70209 size
70210\12
70211 \8fg_mode
70212 ) {
70213
70214 111 cڡ 
70215 a¢_CHOICE_¥ecifics_t
70216  *
70217 ¥ecs
70218  =
70219
70220 112 (cڡ 
70221 a¢_CHOICE_¥ecifics_t
70222  *)
70223 td
70224 ->
70225 ¥ecifics
70226 ;
70227
70228 113 
70229 a¢_TYPE_memb\94_t
70230  *
70231 \96em\92ts
70232  = 
70233 td
70234 ->elements;
70235
70236 118 \1e*
70237 ¡
70238  = *
70239 ¡ruù_±r
70240 ;
70241
70242 119 
70243 a¢_¡ruù_ùx_t
70244  *
70245 ùx
70246 ;
70247
70248 121 
70249 b\94_\8ev_\8fg_t
70250  
70251 \8ev_\8fg
70252 ;
70253
70254 122 
70255 ssize_t
70256  
70257 \8fg_Ën
70258 ;
70259
70260 123 
70261 a¢_dec_rv®_t
70262  
70263 rv®
70264 ;
70265
70266 125 
70267 ssize_t
70268  
70269 cÚsumed_my£lf
70270  = 0;
70271
70272 127 
70273         `ASN_DEBUG
70274 ("Decod\9ag % a CHOICE", 
70275 td
70276 ->
70277 Çme
70278 );
70279
70280 132 if(
70281 ¡
70282  == 0) {
70283
70284 133 
70285 ¡
70286  = *
70287 ¡ruù_±r
70288  = 
70289         `CALLOC
70290 (1, 
70291 ¥ecs
70292 ->
70293 ¡ruù_size
70294 );
70295
70296 134 if(
70297 ¡
70298  == 0) {
70299
70300 135 
70301         `RETURN
70302 (
70303 RC_FAIL
70304 );
70305
70306 142 
70307 ùx
70308  = (
70309 a¢_¡ruù_ùx_t
70310  *)((\ 5*)
70311 ¡
70312  + 
70313 ¥ecs
70314 ->
70315 ùx_off£t
70316 );
70317
70318 147 \1a
70319 ùx
70320 ->
70321 pha£
70322 ) {
70323
70324 155 if(
70325 \8fg_mode
70326  || 
70327 td
70328 ->
70329 \8fgs_couÁ
70330 ) {
70331
70332 156 
70333 rv®
70334  = 
70335         `b\94_check_\8fgs
70336 (
70337 Ýt_codec_ùx
70338
70339 td
70340
70341 ùx
70342
70343 ±r
70344
70345 size
70346 ,
70347
70348 157 
70349 \8fg_mode
70350 , -1, &
70351 ùx
70352 ->
70353 Ëá
70354 , 0);
70355
70356 158 if(
70357 rv®
70358 .
70359 code
70360  !ð
70361 RC_OK
70362 ) {
70363
70364 159 
70365         `ASN_DEBUG
70366 ("%s\81agging check failed: %d",
70367
70368 160 
70369 td
70370 ->
70371 Çme
70372
70373 rv®
70374 .
70375 code
70376 );
70377
70378 161 \15 
70379 rv®
70380 ;
70381
70382 164 if(
70383 ùx
70384 ->
70385 Ëá
70386  >= 0) {
70387
70388 166 
70389 ùx
70390 ->
70391 Ëá
70392  +ð
70393 rv®
70394 .
70395 cÚsumed
70396 ;
70397
70398 168 
70399         `ADVANCE
70400 (
70401 rv®
70402 .
70403 cÚsumed
70404 );
70405
70406 170 
70407 ùx
70408 ->
70409 Ëá
70410  = -1;
70411
70412 173 
70413         `NEXT_PHASE
70414 (
70415 ùx
70416 );
70417
70418 175 
70419         `ASN_DEBUG
70420 ("Structure consumes %ld bytes, buffer %ld",
70421
70422 176 (\13)
70423 ùx
70424 ->
70425 Ëá
70426 , (\13)
70427 size
70428 );
70429
70430 183 
70431 \8fg_Ën
70432  = 
70433         `b\94_ãtch_\8fg
70434 (
70435 ±r
70436
70437 LEFT
70438 , &
70439 \8ev_\8fg
70440 );
70441
70442 184 
70443         `ASN_DEBUG
70444 ("IÀ% CHOICE\81ag\86\92gth %d", 
70445 td
70446 ->
70447 Çme
70448 , (\12)
70449 \8fg_Ën
70450 );
70451
70452 185 \1a
70453 \8fg_Ën
70454 ) {
70455
70456 186 \ 40: if(!
70457 SIZE_VIOLATION
70458 è
70459         `RETURN
70460 (
70461 RC_WMORE
70462 );
70463
70464 188 \ 4-1: 
70465         `RETURN
70466 (
70467 RC_FAIL
70468 );
70469
70470 192 cڡ 
70471 a¢_TYPE_\8fg2memb\94_t
70472  *
70473 t2m
70474 ;
70475
70476 193 
70477 a¢_TYPE_\8fg2memb\94_t
70478  
70479 key
70480 ;
70481
70482 195 
70483 key
70484 .
70485 \96_\8fg
70486  = 
70487 \8ev_\8fg
70488 ;
70489
70490 196 
70491 t2m
70492  = (cڡ 
70493 a¢_TYPE_\8fg2memb\94_t
70494  *)
70495         `b£¬ch
70496 (&
70497 key
70498 ,
70499
70500 197 
70501 ¥ecs
70502 ->
70503 \8fg2\96
70504 , s³cs->
70505 \8fg2\96_couÁ
70506 ,
70507
70508 198 \17(
70509 ¥ecs
70510 ->
70511 \8fg2\96
70512 [0]), 
70513 _£¬ch4\8fg
70514 );
70515
70516 199 if(
70517 t2m
70518 ) {
70519
70520 203 
70521         `NEXT_PHASE
70522 (
70523 ùx
70524 );
70525
70526 204 
70527 ùx
70528 ->
70529 ¡\95
70530  = 
70531 t2m
70532 ->
70533 \96_no
70534 ;
70535
70536 206 } \vif(
70537 ¥ecs
70538 ->
70539 ext_¡¬t
70540  == -1) {
70541
70542 207 
70543         `ASN_DEBUG
70544 ("Unexpected\81ag %s "
70545
70546 209 
70547         `b\94_\8ev_\8fg_¡r\9ag
70548 (
70549 \8ev_\8fg
70550 ), 
70551 td
70552 ->
70553 Çme
70554 );
70555
70556 210 
70557         `RETURN
70558 (
70559 RC_FAIL
70560 );
70561
70562 213 
70563 ssize_t
70564  
70565 sk\9d
70566 ;
70567
70568 215 
70569         `ASN_DEBUG
70570 ("Skipping unknown\81ag %s",
70571
70572 216 
70573         `b\94_\8ev_\8fg_¡r\9ag
70574 (
70575 \8ev_\8fg
70576 ));
70577
70578 218 
70579 sk\9d
70580  = 
70581         `b\94_sk\9d_Ëngth
70582 (
70583 Ýt_codec_ùx
70584 ,
70585
70586 219 
70587         `BER_TLV_CONSTRUCTED
70588 (
70589 ±r
70590 ),
70591
70592 220 (cڡ \ 5*)
70593 ±r
70594  + 
70595 \8fg_Ën
70596 ,
70597
70598 221 
70599 LEFT
70600  - 
70601 \8fg_Ën
70602 );
70603
70604 223 \1a
70605 sk\9d
70606 ) {
70607
70608 224 \ 40: if(!
70609 SIZE_VIOLATION
70610 è
70611         `RETURN
70612 (
70613 RC_WMORE
70614 );
70615
70616 226 \ 4-1: 
70617         `RETURN
70618 (
70619 RC_FAIL
70620 );
70621
70622 229 
70623         `ADVANCE
70624 (
70625 sk\9d
70626  + 
70627 \8fg_Ën
70628 );
70629
70630 230 
70631         `RETURN
70632 (
70633 RC_OK
70634 );
70635
70636 240 
70637 a¢_TYPE_memb\94_t
70638  *
70639 \96m
70640 ;
70641
70642 241 \1e*
70643 memb_±r
70644 ;
70645
70646 242 \1e**
70647 memb_±r2
70648 ;
70649
70650 244 
70651 \96m
70652  = &
70653 \96em\92ts
70654 [
70655 ùx
70656 ->
70657 ¡\95
70658 ];
70659
70660 251 if(
70661 \96m
70662 ->
70663 æags
70664  & 
70665 ATF_POINTER
70666 ) {
70667
70668 253 
70669 memb_±r2
70670  = (\1e**)((\ 5*)
70671 ¡
70672  + 
70673 \96m
70674 ->
70675 memb_off£t
70676 );
70677
70678 259 
70679 memb_±r
70680  = (\ 5*)
70681 ¡
70682  + 
70683 \96m
70684 ->
70685 memb_off£t
70686 ;
70687
70688 260 
70689 memb_±r2
70690  = &
70691 memb_±r
70692 ;
70693
70694 263 
70695         `_£t_´e£Á_idx
70696 (
70697 ¡
70698
70699 ¥ecs
70700 ->
70701 ´es_off£t
70702 ,
70703
70704 264 
70705 ¥ecs
70706 ->
70707 ´es_size
70708
70709 ùx
70710 ->
70711 ¡\95
70712  + 1);
70713
70714 268 
70715 rv®
70716  = 
70717 \96m
70718 ->
70719 ty³
70720 ->
70721 Ý
70722 ->
70723         `b\94_decod\94
70724 (
70725 Ýt_codec_ùx
70726 ,\83lm->type,
70727
70728 269 
70729 memb_±r2
70730
70731 ±r
70732
70733 LEFT
70734
70735 \96m
70736 ->
70737 \8fg_mode
70738 );
70739
70740 270 \1a
70741 rv®
70742 .
70743 code
70744 ) {
70745
70746 271 \ 4
70747 RC_OK
70748 :
70749
70750 273 \ 4
70751 RC_WMORE
70752 :
70753
70754 274 if(!
70755 SIZE_VIOLATION
70756 ) {
70757
70758 275 
70759         `ADVANCE
70760 (
70761 rv®
70762 .
70763 cÚsumed
70764 );
70765
70766 276 
70767         `RETURN
70768 (
70769 RC_WMORE
70770 );
70771
70772 278 
70773         `RETURN
70774 (
70775 RC_FAIL
70776 );
70777
70778 279 \ 4
70779 RC_FAIL
70780 :
70781
70782 280 
70783         `RETURN
70784 (
70785 rv®
70786 .
70787 code
70788 );
70789
70790 283 
70791         `ADVANCE
70792 (
70793 rv®
70794 .
70795 cÚsumed
70796 );
70797
70798 286 
70799         `NEXT_PHASE
70800 (
70801 ùx
70802 );
70803
70804 290 
70805         `ASN_DEBUG
70806 ("CHOICE %s Leftover: %ld, size = %ld,\81m=%d,\81c=%d",
70807
70808 291 
70809 td
70810 ->
70811 Çme
70812 , (\13)
70813 ùx
70814 ->
70815 Ëá
70816 , (\13)
70817 size
70818 ,
70819
70820 292 
70821 \8fg_mode
70822
70823 td
70824 ->
70825 \8fgs_couÁ
70826 );
70827
70828 294 if(
70829 ùx
70830 ->
70831 Ëá
70832  > 0) {
70833
70834 299 
70835         `RETURN
70836 (
70837 RC_FAIL
70838 );
70839
70840 302 if(
70841 ùx
70842 ->
70843 Ëá
70844  == -1
70845
70846 303 && !(
70847 \8fg_mode
70848  || 
70849 td
70850 ->
70851 \8fgs_couÁ
70852 )) {
70853
70854 310 
70855         `NEXT_PHASE
70856 (
70857 ùx
70858 );
70859
70860 317 \1f
70861 ùx
70862 ->
70863 Ëá
70864  < 0) {
70865
70866 318 
70867 ssize_t
70868  
70869 \8e
70870 ;
70871
70872 320 
70873 \8e
70874  = 
70875         `b\94_ãtch_\8fg
70876 (
70877 ±r
70878
70879 LEFT
70880 , &
70881 \8ev_\8fg
70882 );
70883
70884 321 \1a
70885 \8e
70886 ) {
70887
70888 322 \ 40: if(!
70889 SIZE_VIOLATION
70890 è
70891         `RETURN
70892 (
70893 RC_WMORE
70894 );
70895
70896 324 \ 4-1: 
70897         `RETURN
70898 (
70899 RC_FAIL
70900 );
70901
70902 330 if(((cڡ 
70903 u\9at8_t
70904  *)
70905 ±r
70906 )[0] == 0) {
70907
70908 331 if(
70909 LEFT
70910  < 2) {
70911
70912 332 if(
70913 SIZE_VIOLATION
70914 )
70915
70916 333 
70917         `RETURN
70918 (
70919 RC_FAIL
70920 );
70921
70922 335 
70923         `RETURN
70924 (
70925 RC_WMORE
70926 );
70927
70928 336 } \vif(((cڡ 
70929 u\9at8_t
70930  *)
70931 ±r
70932 )[1] == 0) {
70933
70934 340 
70935         `ADVANCE
70936 (2);
70937
70938 341 
70939 ùx
70940 ->
70941 Ëá
70942 ++;
70943
70944 345 
70945         `ASN_DEBUG
70946 ("Unexpected continuation in %s",
70947
70948 346 
70949 td
70950 ->
70951 Çme
70952 );
70953
70954 347 
70955         `RETURN
70956 (
70957 RC_FAIL
70958 );
70959
70960 353 
70961         `NEXT_PHASE
70962 (
70963 ùx
70964 );
70965
70966 359 
70967         `RETURN
70968 (
70969 RC_OK
70970 );
70971
70972 360 
70973         }
70974 }
70975
70976 362 
70977 a¢_\92c_rv®_t
70978
70979
70980 363 
70981         $CHOICE_\92code_d\94
70982 (cڡ 
70983 a¢_TYPE_desü\9dtÜ_t
70984  *
70985 td
70986 , cڡ \1e*
70987 ¥\8c
70988 ,
70989
70990 364 \12
70991 \8fg_mode
70992
70993 b\94_\8ev_\8fg_t
70994  
70995 \8fg
70996
70997 a¢_­p_cÚsume_by\8bs_f
70998  *
70999 cb
71000 ,
71001
71002 365 \1e*
71003 ­p_key
71004 ) {
71005
71006 366 cڡ 
71007 a¢_CHOICE_¥ecifics_t
71008  *
71009 ¥ecs
71010  = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
71011 td
71012 ->
71013 ¥ecifics
71014 ;
71015
71016 367 
71017 a¢_TYPE_memb\94_t
71018  *
71019 \96m
71020 ;
71021
71022 368 
71023 a¢_\92c_rv®_t
71024  
71025 \94
71026  = {0,0,0};
71027
71028 369 cڡ \1e*
71029 memb_±r
71030 ;
71031
71032 370 
71033 size_t
71034  
71035 compu\8bd_size
71036  = 0;
71037
71038 371 \1d
71039 ´e£Á
71040 ;
71041
71042 373 if(!
71043 ¥\8c
71044 è
71045 ASN__ENCODE_FAILED
71046 ;
71047
71048 375 
71049         `ASN_DEBUG
71050 ("%s %s\87s CHOICE",
71051
71052 376 
71053 cb
71054 ?"Encod\9ag":"E¡im©\9ag", 
71055 td
71056 ->
71057 Çme
71058 );
71059
71060 378 
71061 ´e£Á
71062  = 
71063         `_ãtch_´e£Á_idx
71064 (
71065 ¥\8c
71066 ,
71067
71068 379 
71069 ¥ecs
71070 ->
71071 ´es_off£t
71072 , s³cs->
71073 ´es_size
71074 );
71075
71076 385 if(
71077 ´e£Á
71078  =ð0 ||\85»£Á > 
71079 td
71080 ->
71081 \96em\92ts_couÁ
71082 ) {
71083
71084 386 if(
71085 ´e£Á
71086  =ð0 && 
71087 td
71088 ->
71089 \96em\92ts_couÁ
71090  == 0) {
71091
71092 388 
71093 \94
71094 .
71095 \92coded
71096  = 0;
71097
71098 389 
71099         `ASN__ENCODED_OK
71100 (
71101 \94
71102 );
71103
71104 391 
71105 ASN__ENCODE_FAILED
71106 ;
71107
71108 397 
71109 \96m
71110  = &
71111 td
71112 ->
71113 \96em\92ts
71114 [
71115 ´e£Á
71116 -1];
71117
71118 398 if(
71119 \96m
71120 ->
71121 æags
71122  & 
71123 ATF_POINTER
71124 ) {
71125
71126 399 
71127 memb_±r
71128  =
71129
71130 400 *(cڡ \1e*cڡ *)((cڡ \ 5*)
71131 ¥\8c
71132  + 
71133 \96m
71134 ->
71135 memb_off£t
71136 );
71137
71138 401 if(
71139 memb_±r
71140  == 0) {
71141
71142 402 if(
71143 \96m
71144 ->
71145 ÝtiÚ®
71146 ) {
71147
71148 403 
71149 \94
71150 .
71151 \92coded
71152  = 0;
71153
71154 404 
71155         `ASN__ENCODED_OK
71156 (
71157 \94
71158 );
71159
71160 407 
71161 ASN__ENCODE_FAILED
71162 ;
71163
71164 410 
71165 memb_±r
71166  = (cڡ \1e*)((cڡ \ 5*)
71167 ¥\8c
71168  + 
71169 \96m
71170 ->
71171 memb_off£t
71172 );
71173
71174 418 if(
71175 \8fg_mode
71176  =ð1 || 
71177 td
71178 ->
71179 \8fgs_couÁ
71180 ) {
71181
71182 422 
71183 ssize_t
71184  
71185 »t
71186 ;
71187
71188 425 
71189 \94
71190  = 
71191 \96m
71192 ->
71193 ty³
71194 ->
71195 Ý
71196 ->
71197         `d\94_\92cod\94
71198 Ólm->ty³, 
71199 memb_±r
71200 ,
71201
71202 426 
71203 \96m
71204 ->
71205 \8fg_mode
71206 ,\83lm->
71207 \8fg
71208 , 0, 0);
71209
71210 427 if(
71211 \94
71212 .
71213 \92coded
71214  == -1)
71215
71216 428 \15 
71217 \94
71218 ;
71219
71220 431 
71221 »t
71222  = 
71223         `d\94_wr\99e_\8fgs
71224 (
71225 td
71226
71227 \94
71228 .
71229 \92coded
71230
71231 \8fg_mode
71232 , 1, 
71233 \8fg
71234 ,
71235
71236 432 
71237 cb
71238
71239 ­p_key
71240 );
71241
71242 433 if(
71243 »t
71244  == -1)
71245
71246 434 
71247 ASN__ENCODE_FAILED
71248 ;
71249
71250 435 
71251 compu\8bd_size
71252  +ð
71253 »t
71254 ;
71255
71256 441 
71257 \94
71258  = 
71259 \96m
71260 ->
71261 ty³
71262 ->
71263 Ý
71264 ->
71265         `d\94_\92cod\94
71266 Ólm->ty³, 
71267 memb_±r
71268 ,
71269
71270 442 
71271 \96m
71272 ->
71273 \8fg_mode
71274 ,\83lm->
71275 \8fg
71276
71277 cb
71278
71279 ­p_key
71280 );
71281
71282 443 if(
71283 \94
71284 .
71285 \92coded
71286  == -1)
71287
71288 444 \15 
71289 \94
71290 ;
71291
71292 446 
71293         `ASN_DEBUG
71294 ("Encoded CHOICE member in %ld bytes (+%ld)",
71295
71296 447 (\13)
71297 \94
71298 .
71299 \92coded
71300 , (\13)
71301 compu\8bd_size
71302 );
71303
71304 449 
71305 \94
71306 .
71307 \92coded
71308  +ð
71309 compu\8bd_size
71310 ;
71311
71312 451 \15 
71313 \94
71314 ;
71315
71316 452 
71317         }
71318 }
71319
71320 454 
71321 b\94_\8ev_\8fg_t
71322
71323
71324 455 
71325         $CHOICE_outmo¡_\8fg
71326 (cڡ 
71327 a¢_TYPE_desü\9dtÜ_t
71328  *
71329 td
71330 , cڡ \1e*
71331 ±r
71332\12
71333 \8fg_mode
71334
71335 b\94_\8ev_\8fg_t
71336  
71337 \8fg
71338 ) {
71339
71340 456 cڡ 
71341 a¢_CHOICE_¥ecifics_t
71342  *
71343 ¥ecs
71344  = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
71345 td
71346 ->
71347 ¥ecifics
71348 ;
71349
71350 457 \1d
71351 ´e£Á
71352 ;
71353
71354 459 
71355         `as£¹
71356 (
71357 \8fg_mode
71358  == 0); (\1e)tag_mode;
71359
71360 460 
71361         `as£¹
71362 (
71363 \8fg
71364  == 0); (\1e)tag;
71365
71366 465 
71367 ´e£Á
71368  = 
71369         `_ãtch_´e£Á_idx
71370 (
71371 ±r
71372
71373 ¥ecs
71374 ->
71375 ´es_off£t
71376 , s³cs->
71377 ´es_size
71378 );
71379
71380 467 if(
71381 ´e£Á
71382  > 0 &&\85»£Á <ð
71383 td
71384 ->
71385 \96em\92ts_couÁ
71386 ) {
71387
71388 468 cڡ 
71389 a¢_TYPE_memb\94_t
71390  *
71391 \96m
71392  = &
71393 td
71394 ->
71395 \96em\92ts
71396 [
71397 ´e£Á
71398 -1];
71399
71400 469 cڡ \1e*
71401 memb_±r
71402 ;
71403
71404 471 if(
71405 \96m
71406 ->
71407 æags
71408  & 
71409 ATF_POINTER
71410 ) {
71411
71412 472 
71413 memb_±r
71414  = *(const \1e* const *)
71415
71416 473 ((cڡ \ 5*)
71417 ±r
71418  + 
71419 \96m
71420 ->
71421 memb_off£t
71422 );
71423
71424 475 
71425 memb_±r
71426  = (const \1e*)
71427
71428 476 ((cڡ \ 5*)
71429 ±r
71430  + 
71431 \96m
71432 ->
71433 memb_off£t
71434 );
71435
71436 479 \15 
71437         `a¢_TYPE_outmo¡_\8fg
71438 (
71439 \96m
71440 ->
71441 ty³
71442
71443 memb_±r
71444 ,
71445
71446 480 
71447 \96m
71448 ->
71449 \8fg_mode
71450 ,\83lm->
71451 \8fg
71452 );
71453
71454 482 \15 (
71455 b\94_\8ev_\8fg_t
71456 )-1;
71457
71458 484 
71459         }
71460 }
71461
71462 487 
71463         $CHOICE_cÚ¡¿\9at
71464 (cڡ 
71465 a¢_TYPE_desü\9dtÜ_t
71466  *
71467 td
71468 , cڡ \1e*
71469 ¥\8c
71470 ,
71471
71472 488 
71473 a¢_­p_cÚ¡¿\9at_ç\9eed_f
71474  *
71475 ùç\9ecb
71476\1e*
71477 ­p_key
71478 ) {
71479
71480 489 cڡ 
71481 a¢_CHOICE_¥ecifics_t
71482  *
71483 ¥ecs
71484  =
71485
71486 490 (cڡ 
71487 a¢_CHOICE_¥ecifics_t
71488  *)
71489 td
71490 ->
71491 ¥ecifics
71492 ;
71493
71494 491 \1d
71495 ´e£Á
71496 ;
71497
71498 493 if(!
71499 ¥\8c
71500 ) {
71501
71502 494 
71503         `ASN__CTFAIL
71504 (
71505 ­p_key
71506
71507 td
71508
71509 ¥\8c
71510 ,
71511
71512 496 
71513 td
71514 ->
71515 Çme
71516
71517 __FILE__
71518
71519 __LINE__
71520 );
71521
71522 503 
71523 ´e£Á
71524  = 
71525         `_ãtch_´e£Á_idx
71526 (
71527 ¥\8c
71528
71529 ¥ecs
71530 ->
71531 ´es_off£t
71532 ,¥ecs->
71533 ´es_size
71534 );
71535
71536 504 if(
71537 ´e£Á
71538  > 0 &&\85»£Á <ð
71539 td
71540 ->
71541 \96em\92ts_couÁ
71542 ) {
71543
71544 505 
71545 a¢_TYPE_memb\94_t
71546  *
71547 \96m
71548  = &
71549 td
71550 ->
71551 \96em\92ts
71552 [
71553 ´e£Á
71554 -1];
71555
71556 506 cڡ \1e*
71557 memb_±r
71558 ;
71559
71560 508 if(
71561 \96m
71562 ->
71563 æags
71564  & 
71565 ATF_POINTER
71566 ) {
71567
71568 509 
71569 memb_±r
71570  = *(cڡ \1e* cڡ *)((cڡ \ 5*)
71571 ¥\8c
71572  + 
71573 \96m
71574 ->
71575 memb_off£t
71576 );
71577
71578 510 if(!
71579 memb_±r
71580 ) {
71581
71582 511 if(
71583 \96m
71584 ->
71585 ÝtiÚ®
71586 )
71587
71588 513 
71589         `ASN__CTFAIL
71590 (
71591 ­p_key
71592
71593 td
71594
71595 ¥\8c
71596 ,
71597
71598 515 
71599 td
71600 ->
71601 Çme
71602
71603 \96m
71604 ->Çme, 
71605 __FILE__
71606
71607 __LINE__
71608 );
71609
71610 519 
71611 memb_±r
71612  = (cڡ \1e*)((cڡ \ 5*)
71613 ¥\8c
71614  + 
71615 \96m
71616 ->
71617 memb_off£t
71618 );
71619
71620 522 if(
71621 \96m
71622 ->
71623 \92cod\9ag_cÚ¡¿\9ats
71624 .
71625 g\92\94®_cÚ¡¿\9ats
71626 ) {
71627
71628 523 \15 
71629 \96m
71630 ->
71631 \92cod\9ag_cÚ¡¿\9ats
71632 .
71633         `g\92\94®_cÚ¡¿\9ats
71634 Ólm->
71635 ty³
71636
71637 memb_±r
71638 ,
71639
71640 524 
71641 ùç\9ecb
71642
71643 ­p_key
71644 );
71645
71646 526 \15 
71647 \96m
71648 ->
71649 ty³
71650 ->
71651 \92cod\9ag_cÚ¡¿\9ats
71652 .
71653         `g\92\94®_cÚ¡¿\9ats
71654 (elm->type,
71655
71656 527 
71657 memb_±r
71658
71659 ùç\9ecb
71660
71661 ­p_key
71662 );
71663
71664 530 
71665         `ASN__CTFAIL
71666 (
71667 ­p_key
71668
71669 td
71670
71671 ¥\8c
71672 ,
71673
71674 532 
71675 td
71676 ->
71677 Çme
71678
71679 __FILE__
71680
71681 __LINE__
71682 );
71683
71684 535 
71685         }
71686 }
71687
71688 537 #undeà
71689 XER_ADVANCE
71690
71691
71692 538 \ 1
71693         #XER_ADVANCE
71694 (
71695 num_by\8bs
71696 ) do { \
71697
71698 539 
71699 size_t
71700  
71701 num
71702  = 
71703 num_by\8bs
71704 ; \
71705
71706 540 
71707 buf_±r
71708  = (cÚ¡ \1e*)(((cÚ¡ \ 5*)buf_±rè+ 
71709 num
71710 ); \
71711
71712 541 
71713 size
71714  -ð
71715 num
71716 ; \
71717
71718 542 
71719 cÚsumed_my£lf
71720  +ð
71721 num
71722 ; \
71723
71724 543 } \1f0)
71725
71726         )
71727
71728 548 
71729 a¢_dec_rv®_t
71730
71731
71732 549 
71733         $CHOICE_decode_x\94
71734 (cڡ 
71735 a¢_codec_ùx_t
71736  *
71737 Ýt_codec_ùx
71738 ,
71739
71740 550 cڡ 
71741 a¢_TYPE_desü\9dtÜ_t
71742  *
71743 td
71744\1e**
71745 ¡ruù_±r
71746 ,
71747
71748 551 cڡ \ 5*
71749 Ýt_mÇme
71750 , cڡ \1e*
71751 buf_±r
71752
71753 size_t
71754  
71755 size
71756 ) {
71757
71758 555 cڡ 
71759 a¢_CHOICE_¥ecifics_t
71760  *
71761 ¥ecs
71762  = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
71763 td
71764 ->
71765 ¥ecifics
71766 ;
71767
71768 556 cڡ \ 5*
71769 xml_\8fg
71770  = 
71771 Ýt_mÇme
71772  ? o±_mÇm\90
71773 td
71774 ->xml_tag;
71775
71776 561 \1e*
71777 ¡
71778  = *
71779 ¡ruù_±r
71780 ;
71781
71782 562 
71783 a¢_¡ruù_ùx_t
71784  *
71785 ùx
71786 ;
71787
71788 564 
71789 a¢_dec_rv®_t
71790  
71791 rv®
71792 ;
71793
71794 565 
71795 ssize_t
71796  
71797 cÚsumed_my£lf
71798  = 0;
71799
71800 566 
71801 size_t
71802  
71803 edx
71804 ;
71805
71806 571 if(
71807 ¡
71808  == 0) {
71809
71810 572 
71811 ¡
71812  = *
71813 ¡ruù_±r
71814  = 
71815         `CALLOC
71816 (1, 
71817 ¥ecs
71818 ->
71819 ¡ruù_size
71820 );
71821
71822 573 if(
71823 ¡
71824  =ð0è
71825         `RETURN
71826 (
71827 RC_FAIL
71828 );
71829
71830 579 
71831 ùx
71832  = (
71833 a¢_¡ruù_ùx_t
71834  *)((\ 5*)
71835 ¡
71836  + 
71837 ¥ecs
71838 ->
71839 ùx_off£t
71840 );
71841
71842 580 if(
71843 ùx
71844 ->
71845 pha£
71846  =ð0 && !*
71847 xml_\8fg
71848 )
71849
71850 581 
71851 ùx
71852 ->
71853 pha£
71854  = 1;
71855
71856 592 \ f
71857 edx
71858  = 
71859 ùx
71860 ->
71861 ¡\95
71862 ; ctx->
71863 pha£
71864  <= 4;) {
71865
71866 593 
71867 px\94_chunk_ty³_e
71868  
71869 ch_ty³
71870 ;
71871
71872 594 
71873 ssize_t
71874  
71875 ch_size
71876 ;
71877
71878 595 
71879 x\94_check_\8fg_e
71880  
71881 tcv
71882 ;
71883
71884 596 
71885 a¢_TYPE_memb\94_t
71886  *
71887 \96m
71888 ;
71889
71890 601 if(
71891 ùx
71892 ->
71893 pha£
71894  == 2) {
71895
71896 602 
71897 a¢_dec_rv®_t
71898  
71899 tm´v®
71900 ;
71901
71902 603 \1e*
71903 memb_±r
71904 ;
71905
71906 604 \1e**
71907 memb_±r2
71908 ;
71909
71910 605 \1d
71911 Þd_´e£Á
71912 ;
71913
71914 607 
71915 \96m
71916  = &
71917 td
71918 ->
71919 \96em\92ts
71920 [
71921 edx
71922 ];
71923
71924 609 if(
71925 \96m
71926 ->
71927 æags
71928  & 
71929 ATF_POINTER
71930 ) {
71931
71932 611 
71933 memb_±r2
71934  = (\1e**)((\ 5*)
71935 ¡
71936
71937
71938 612 + 
71939 \96m
71940 ->
71941 memb_off£t
71942 );
71943
71944 614 
71945 memb_±r
71946  = (\ 5*)
71947 ¡
71948  + 
71949 \96m
71950 ->
71951 memb_off£t
71952 ;
71953
71954 615 
71955 memb_±r2
71956  = &
71957 memb_±r
71958 ;
71959
71960 619 
71961 tm´v®
71962  = 
71963 \96m
71964 ->
71965 ty³
71966 ->
71967 Ý
71968 ->
71969         `x\94_decod\94
71970 (
71971 Ýt_codec_ùx
71972 ,
71973
71974 620 
71975 \96m
71976 ->
71977 ty³
71978
71979 memb_±r2
71980 ,\83lm->
71981 Çme
71982 ,
71983
71984 621 
71985 buf_±r
71986
71987 size
71988 );
71989
71990 622 
71991         `XER_ADVANCE
71992 (
71993 tm´v®
71994 .
71995 cÚsumed
71996 );
71997
71998 623 
71999         `ASN_DEBUG
72000 ("XER/CHOICE: itdf: [%s] code=%d",
72001
72002 624 
72003 \96m
72004 ->
72005 ty³
72006 ->
72007 Çme
72008
72009 tm´v®
72010 .
72011 code
72012 );
72013
72014 625 
72015 Þd_´e£Á
72016  = 
72017         `_ãtch_´e£Á_idx
72018 (
72019 ¡
72020 ,
72021
72022 626 
72023 ¥ecs
72024 ->
72025 ´es_off£t
72026 , s³cs->
72027 ´es_size
72028 );
72029
72030 627 
72031         `as£¹
72032 (
72033 Þd_´e£Á
72034  =ð0 || old_´e£Á =ð
72035 edx
72036  + 1);
72037
72038 629 
72039         `_£t_´e£Á_idx
72040 (
72041 ¡
72042 ,
72043
72044 630 
72045 ¥ecs
72046 ->
72047 ´es_off£t
72048 , s³cs->
72049 ´es_size
72050
72051 edx
72052  + 1);
72053
72054 631 if(
72055 tm´v®
72056 .
72057 code
72058  !ð
72059 RC_OK
72060 )
72061
72062 632 
72063         `RETURN
72064 (
72065 tm´v®
72066 .
72067 code
72068 );
72069
72070 633 
72071 ùx
72072 ->
72073 pha£
72074  = 3;
72075
72076 638 if(
72077 ùx
72078 ->
72079 pha£
72080  =ð3 && !*
72081 xml_\8fg
72082 ) {
72083
72084 639 
72085 ùx
72086 ->
72087 pha£
72088  = 5;
72089
72090 640 
72091         `RETURN
72092 (
72093 RC_OK
72094 );
72095
72096 646 
72097 ch_size
72098  = 
72099         `x\94_Ãxt_tok\92
72100 (&
72101 ùx
72102 ->
72103 cڋxt
72104
72105 buf_±r
72106
72107 size
72108 , &
72109 ch_ty³
72110 );
72111
72112 647 if(
72113 ch_size
72114  == -1) {
72115
72116 648 
72117         `RETURN
72118 (
72119 RC_FAIL
72120 );
72121
72122 650 \1a
72123 ch_ty³
72124 ) {
72125
72126 651 \ 4
72127 PXER_WMORE
72128 :
72129
72130 652 
72131         `RETURN
72132 (
72133 RC_WMORE
72134 );
72135
72136 653 \ 4
72137 PXER_COMMENT
72138 :
72139
72140 654 \ 4
72141 PXER_TEXT
72142 :
72143
72144 655 
72145         `XER_ADVANCE
72146 (
72147 ch_size
72148 );
72149
72150 657 \ 4
72151 PXER_TAG
72152 :
72153
72154 662 
72155 tcv
72156  = 
72157         `x\94_check_\8fg
72158 (
72159 buf_±r
72160
72161 ch_size
72162
72163 xml_\8fg
72164 );
72165
72166 663 
72167         `ASN_DEBUG
72168 ("XER/CHOICE checked [%c%c%c%c] vs [%s],\81cv=%d",
72169
72170 664 
72171 ch_size
72172 >0?((cڡ 
72173 u\9at8_t
72174  *)
72175 buf_±r
72176 )[0]:'?',
72177
72178 665 
72179 ch_size
72180 >1?((cڡ 
72181 u\9at8_t
72182  *)
72183 buf_±r
72184 )[1]:'?',
72185
72186 666 
72187 ch_size
72188 >2?((cڡ 
72189 u\9at8_t
72190  *)
72191 buf_±r
72192 )[2]:'?',
72193
72194 667 
72195 ch_size
72196 >3?((cڡ 
72197 u\9at8_t
72198  *)
72199 buf_±r
72200 )[3]:'?',
72201
72202 668 
72203 xml_\8fg
72204
72205 tcv
72206 );
72207
72208 671 if(
72209 ùx
72210 ->
72211 pha£
72212  == 4) {
72213
72214 672 
72215         `ASN_DEBUG
72216 ("skip_unknown(%d, %ld)",
72217
72218 673 
72219 tcv
72220 , (\13)
72221 ùx
72222 ->
72223 Ëá
72224 );
72225
72226 674 \1a
72227         `x\94_sk\9d_unknown
72228 (
72229 tcv
72230 , &
72231 ùx
72232 ->
72233 Ëá
72234 )) {
72235
72236 676 
72237 ùx
72238 ->
72239 pha£
72240  = 5;
72241
72242 677 
72243         `RETURN
72244 (
72245 RC_FAIL
72246 );
72247
72248 679 
72249 ùx
72250 ->
72251 pha£
72252  = 3;
72253
72254 682 
72255         `XER_ADVANCE
72256 (
72257 ch_size
72258 );
72259
72260 685 
72261 ùx
72262 ->
72263 pha£
72264  = 3;
72265
72266 690 \1a
72267 tcv
72268 ) {
72269
72270 691 \ 4
72271 XCT_BOTH
72272 :
72273
72274 693 \ 4
72275 XCT_CLOSING
72276 :
72277
72278 694 if(
72279 ùx
72280 ->
72281 pha£
72282  != 3)
72283
72284 696 
72285         `XER_ADVANCE
72286 (
72287 ch_size
72288 );
72289
72290 697 
72291 ùx
72292 ->
72293 pha£
72294  = 5;
72295
72296 698 
72297         `RETURN
72298 (
72299 RC_OK
72300 );
72301
72302 699 \ 4
72303 XCT_OPENING
72304 :
72305
72306 700 if(
72307 ùx
72308 ->
72309 pha£
72310  == 0) {
72311
72312 701 
72313         `XER_ADVANCE
72314 (
72315 ch_size
72316 );
72317
72318 702 
72319 ùx
72320 ->
72321 pha£
72322  = 1;
72323
72324 706 \ 4
72325 XCT_UNKNOWN_OP
72326 :
72327
72328 707 \ 4
72329 XCT_UNKNOWN_BO
72330 :
72331
72332 709 if(
72333 ùx
72334 ->
72335 pha£
72336  != 1)
72337
72338 715 \ f
72339 edx
72340  = 0;\83dx < 
72341 td
72342 ->
72343 \96em\92ts_couÁ
72344 ;\83dx++) {
72345
72346 716 
72347 \96m
72348  = &
72349 td
72350 ->
72351 \96em\92ts
72352 [
72353 edx
72354 ];
72355
72356 717 
72357 tcv
72358  = 
72359         `x\94_check_\8fg
72360 (
72361 buf_±r
72362 ,
72363 ch_size
72364 ,
72365 \96m
72366 ->
72367 Çme
72368 );
72369
72370 718 \1a
72371 tcv
72372 ) {
72373
72374 719 \ 4
72375 XCT_BOTH
72376 :
72377
72378 720 \ 4
72379 XCT_OPENING
72380 :
72381
72382 724 
72383 ùx
72384 ->
72385 ¡\95
72386  = 
72387 edx
72388 ;
72389
72390 725 
72391 ùx
72392 ->
72393 pha£
72394  = 2;
72395
72396 727 \ 4
72397 XCT_UNKNOWN_OP
72398 :
72399
72400 728 \ 4
72401 XCT_UNKNOWN_BO
72402 :
72403
72404 731 
72405 edx
72406  = 
72407 td
72408 ->
72409 \96em\92ts_couÁ
72410 ;
72411
72412 736 if(
72413 edx
72414  !ð
72415 td
72416 ->
72417 \96em\92ts_couÁ
72418 )
72419
72420 740 if(
72421 ¥ecs
72422 ->
72423 ext_¡¬t
72424  != -1) {
72425
72426 741 
72427         `ASN_DEBUG
72428 ("Got\87nticipated\83xtension");
72429
72430 747 if(
72431 tcv
72432  & 
72433 XCT_CLOSING
72434 ) {
72435
72436 749 
72437 ùx
72438 ->
72439 pha£
72440  = 3;
72441
72442 751 
72443 ùx
72444 ->
72445 Ëá
72446  = 1;
72447
72448 752 
72449 ùx
72450 ->
72451 pha£
72452  = 4;
72453
72454 754 
72455         `XER_ADVANCE
72456 (
72457 ch_size
72458 );
72459
72460 763 
72461         `ASN_DEBUG
72462 ("Unexpected XML\81ag [%c%c%c%c] in CHOICE [%s]"
72463
72464 765 
72465 ch_size
72466 >0?((cڡ 
72467 u\9at8_t
72468  *)
72469 buf_±r
72470 )[0]:'?',
72471
72472 766 
72473 ch_size
72474 >1?((cڡ 
72475 u\9at8_t
72476  *)
72477 buf_±r
72478 )[1]:'?',
72479
72480 767 
72481 ch_size
72482 >2?((cڡ 
72483 u\9at8_t
72484  *)
72485 buf_±r
72486 )[2]:'?',
72487
72488 768 
72489 ch_size
72490 >3?((cڡ 
72491 u\9at8_t
72492  *)
72493 buf_±r
72494 )[3]:'?',
72495
72496 769 
72497 td
72498 ->
72499 Çme
72500
72501 ùx
72502 ->
72503 pha£
72504
72505 xml_\8fg
72506 );
72507
72508 773 
72509 ùx
72510 ->
72511 pha£
72512  = 5;
72513
72514 774 
72515         `RETURN
72516 (
72517 RC_FAIL
72518 );
72519
72520 775 
72521         }
72522 }
72523
72524 778 
72525 a¢_\92c_rv®_t
72526
72527
72528 779 
72529         $CHOICE_\92code_x\94
72530 (cڡ 
72531 a¢_TYPE_desü\9dtÜ_t
72532  *
72533 td
72534 , cڡ \1e*
72535 ¥\8c
72536\12
72537 \9eev\96
72538 ,
72539
72540 780 \f
72541 x\94_\92cod\94_æags_e
72542  
72543 æags
72544
72545 a¢_­p_cÚsume_by\8bs_f
72546  *
72547 cb
72548 ,
72549
72550 781 \1e*
72551 ­p_key
72552 ) {
72553
72554 782 cڡ 
72555 a¢_CHOICE_¥ecifics_t
72556  *
72557 ¥ecs
72558  =
72559
72560 783 (cڡ 
72561 a¢_CHOICE_¥ecifics_t
72562  *)
72563 td
72564 ->
72565 ¥ecifics
72566 ;
72567
72568 784 
72569 a¢_\92c_rv®_t
72570  
72571 \94
72572  = {0,0,0};
72573
72574 785 \1d
72575 ´e£Á
72576  = 0;
72577
72578 787 if(!
72579 ¥\8c
72580 )
72581
72582 788 
72583 ASN__ENCODE_FAILED
72584 ;
72585
72586 793 
72587 ´e£Á
72588  = 
72589         `_ãtch_´e£Á_idx
72590 (
72591 ¥\8c
72592
72593 ¥ecs
72594 ->
72595 ´es_off£t
72596 ,¥ecs->
72597 ´es_size
72598 );
72599
72600 795 if(
72601 ´e£Á
72602  =ð0 ||\85»£Á > 
72603 td
72604 ->
72605 \96em\92ts_couÁ
72606 ) {
72607
72608 796 
72609 ASN__ENCODE_FAILED
72610 ;
72611
72612 798 
72613 a¢_\92c_rv®_t
72614  
72615 tm³r
72616  = {0,0,0};
72617
72618 799 
72619 a¢_TYPE_memb\94_t
72620  *
72621 \96m
72622  = &
72623 td
72624 ->
72625 \96em\92ts
72626 [
72627 ´e£Á
72628 -1];
72629
72630 800 cڡ \1e*
72631 memb_±r
72632  = 
72633 NULL
72634 ;
72635
72636 801 cڡ \ 5*
72637 mÇme
72638  = 
72639 \96m
72640 ->
72641 Çme
72642 ;
72643
72644 802 \1d\12
72645 mËn
72646  = 
72647         `¡¾\92
72648 (
72649 mÇme
72650 );
72651
72652 804 if(
72653 \96m
72654 ->
72655 æags
72656  & 
72657 ATF_POINTER
72658 ) {
72659
72660 805 
72661 memb_±r
72662  =
72663
72664 806 *(cڡ \1e*cڡ *)((cڡ \ 5*)
72665 ¥\8c
72666  + 
72667 \96m
72668 ->
72669 memb_off£t
72670 );
72671
72672 807 if(!
72673 memb_±r
72674 è
72675 ASN__ENCODE_FAILED
72676 ;
72677
72678 809 
72679 memb_±r
72680  = (cڡ \1e*)((cڡ \ 5*)
72681 ¥\8c
72682  + 
72683 \96m
72684 ->
72685 memb_off£t
72686 );
72687
72688 812 
72689 \94
72690 .
72691 \92coded
72692  = 0;
72693
72694 814 if(!(
72695 æags
72696  & 
72697 XER_F_CANONICAL
72698
72699         `ASN__TEXT_INDENT
72700 (1, 
72701 \9eev\96
72702 );
72703
72704 815 
72705         `ASN__CALLBACK3
72706 ("<", 1, 
72707 mÇme
72708
72709 mËn
72710 , ">", 1);
72711
72712 817 
72713 tm³r
72714  = 
72715 \96m
72716 ->
72717 ty³
72718 ->
72719 Ý
72720 ->
72721         `x\94_\92cod\94
72722 Ólm->ty³, 
72723 memb_±r
72724 ,
72725
72726 818 
72727 \9eev\96
72728  + 1, 
72729 æags
72730
72731 cb
72732
72733 ­p_key
72734 );
72735
72736 819 if(
72737 tm³r
72738 .
72739 \92coded
72740  == -1) \15\81mper;
72741
72742 820 
72743 \94
72744 .
72745 \92coded
72746  +ð
72747 tm³r
72748 .encoded;
72749
72750 822 
72751         `ASN__CALLBACK3
72752 ("</", 2, 
72753 mÇme
72754
72755 mËn
72756 , ">", 1);
72757
72758 825 if(!(
72759 æags
72760  & 
72761 XER_F_CANONICAL
72762
72763         `ASN__TEXT_INDENT
72764 (1, 
72765 \9eev\96
72766  - 1);
72767
72768 827 
72769         `ASN__ENCODED_OK
72770 (
72771 \94
72772 );
72773
72774 828 
72775 cb_ç\9eed
72776 :
72777
72778 829 
72779 ASN__ENCODE_FAILED
72780 ;
72781
72782 830 
72783         }
72784 }
72785
72786 832 
72787 a¢_dec_rv®_t
72788
72789
72790 833 
72791         $CHOICE_decode_u³r
72792 (cڡ 
72793 a¢_codec_ùx_t
72794  *
72795 Ýt_codec_ùx
72796 ,
72797
72798 834 cڡ 
72799 a¢_TYPE_desü\9dtÜ_t
72800  *
72801 td
72802 ,
72803
72804 835 cڡ 
72805 a¢_³r_cÚ¡¿\9ats_t
72806  *
72807 cÚ¡¿\9ats
72808\1e**
72809 ¥\8c
72810 ,
72811
72812 836 
72813 a¢_³r_d©a_t
72814  *
72815 pd
72816 ) {
72817
72818 837 cڡ 
72819 a¢_CHOICE_¥ecifics_t
72820  *
72821 ¥ecs
72822  =
72823
72824 838 (cڡ 
72825 a¢_CHOICE_¥ecifics_t
72826  *)
72827 td
72828 ->
72829 ¥ecifics
72830 ;
72831
72832 839 
72833 a¢_dec_rv®_t
72834  
72835 rv
72836 ;
72837
72838 840 cڡ 
72839 a¢_³r_cÚ¡¿\9at_t
72840  *
72841 ù
72842 ;
72843
72844 841 
72845 a¢_TYPE_memb\94_t
72846  *
72847 \96m
72848 ;
72849
72850 842 \1e*
72851 memb_±r
72852 ;
72853
72854 843 \1e**
72855 memb_±r2
72856 ;
72857
72858 844 \1e*
72859 ¡
72860  = *
72861 ¥\8c
72862 ;
72863
72864 845 \12
72865 v®ue
72866 ;
72867
72868 847 if(
72869         `ASN__STACK_OVERFLOW_CHECK
72870 (
72871 Ýt_codec_ùx
72872 ))
72873
72874 848 
72875 ASN__DECODE_FAILED
72876 ;
72877
72878 853 if(!
72879 ¡
72880 ) {
72881
72882 854 
72883 ¡
72884  = *
72885 ¥\8c
72886  = 
72887         `CALLOC
72888 (1, 
72889 ¥ecs
72890 ->
72891 ¡ruù_size
72892 );
72893
72894 855 if(!
72895 ¡
72896 è
72897 ASN__DECODE_FAILED
72898 ;
72899
72900 858 if(
72901 cÚ¡¿\9ats
72902 è
72903 ù
72904  = &cÚ¡¿\9ats->
72905 v®ue
72906 ;
72907
72908 859 \vif(
72909 td
72910 ->
72911 \92cod\9ag_cÚ¡¿\9ats
72912 .
72913 ³r_cÚ¡¿\9ats
72914 è
72915 ù
72916  = &td->\92cod\9ag_cÚ¡¿\9ats.³r_cÚ¡¿\9ats->
72917 v®ue
72918 ;
72919
72920 860 \v
72921 ù
72922  = 0;
72923
72924 862 if(
72925 ù
72926  && ct->
72927 æags
72928  & 
72929 APC_EXTENSIBLE
72930 ) {
72931
72932 863 
72933 v®ue
72934  = 
72935         `³r_g\91_ãw_b\99s
72936 (
72937 pd
72938 , 1);
72939
72940 864 if(
72941 v®ue
72942  < 0è
72943 ASN__DECODE_STARVED
72944 ;
72945
72946 865 if(
72947 v®ue
72948 è
72949 ù
72950  = 0;
72951
72952 868 if(
72953 ù
72954  && ct->
72955 ¿nge_b\99s
72956  >= 0) {
72957
72958 869 
72959 v®ue
72960  = 
72961         `³r_g\91_ãw_b\99s
72962 (
72963 pd
72964
72965 ù
72966 ->
72967 ¿nge_b\99s
72968 );
72969
72970 870 if(
72971 v®ue
72972  < 0è
72973 ASN__DECODE_STARVED
72974 ;
72975
72976 871 
72977         `ASN_DEBUG
72978 ("CHOICE %s got index %d in\84ange %d",
72979
72980 872 
72981 td
72982 ->
72983 Çme
72984
72985 v®ue
72986
72987 ù
72988 ->
72989 ¿nge_b\99s
72990 );
72991
72992 873 if(
72993 v®ue
72994  > 
72995 ù
72996 ->
72997\94_bound
72998 )
72999
73000 874 
73001 ASN__DECODE_FAILED
73002 ;
73003
73004 876 if(
73005 ¥ecs
73006 ->
73007 ext_¡¬t
73008  == -1)
73009
73010 877 
73011 ASN__DECODE_FAILED
73012 ;
73013
73014 878 
73015 v®ue
73016  = 
73017         `u³r_g\91_n¢nwn
73018 (
73019 pd
73020 );
73021
73022 879 if(
73023 v®ue
73024  < 0è
73025 ASN__DECODE_STARVED
73026 ;
73027
73028 880 
73029 v®ue
73030  +ð
73031 ¥ecs
73032 ->
73033 ext_¡¬t
73034 ;
73035
73036 881 if((\1d)
73037 v®ue
73038  >ð
73039 td
73040 ->
73041 \96em\92ts_couÁ
73042 )
73043
73044 882 
73045 ASN__DECODE_FAILED
73046 ;
73047
73048 886 if(
73049 ¥ecs
73050 ->
73051 äom_ÿnÚiÿl_Üd\94
73052 ) {
73053
73054 887 
73055         `ASN_DEBUG
73056 ("CHOICE\85»£nû from w\9c\90%d", 
73057 v®ue
73058 );
73059
73060 888 
73061 v®ue
73062  = 
73063 ¥ecs
73064 ->
73065 äom_ÿnÚiÿl_Üd\94
73066 [value];
73067
73068 889 
73069         `ASN_DEBUG
73070 ("CHOICE\85»£nû index\83fãùiv\90%d", 
73071 v®ue
73072 );
73073
73074 893 
73075         `_£t_´e£Á_idx
73076 (
73077 ¡
73078
73079 ¥ecs
73080 ->
73081 ´es_off£t
73082 , s³cs->
73083 ´es_size
73084
73085 v®ue
73086  + 1);
73087
73088 895 
73089 \96m
73090  = &
73091 td
73092 ->
73093 \96em\92ts
73094 [
73095 v®ue
73096 ];
73097
73098 896 if(
73099 \96m
73100 ->
73101 æags
73102  & 
73103 ATF_POINTER
73104 ) {
73105
73106 898 
73107 memb_±r2
73108  = (\1e**)((\ 5*)
73109 ¡
73110  + 
73111 \96m
73112 ->
73113 memb_off£t
73114 );
73115
73116 900 
73117 memb_±r
73118  = (\ 5*)
73119 ¡
73120  + 
73121 \96m
73122 ->
73123 memb_off£t
73124 ;
73125
73126 901 
73127 memb_±r2
73128  = &
73129 memb_±r
73130 ;
73131
73132 903 
73133         `ASN_DEBUG
73134 ("Discov\94ed CHOICE % \92code %s", 
73135 td
73136 ->
73137 Çme
73138
73139 \96m
73140 ->name);
73141
73142 905 if(
73143 ù
73144  && ct->
73145 ¿nge_b\99s
73146  >= 0) {
73147
73148 906 
73149 rv
73150  = 
73151 \96m
73152 ->
73153 ty³
73154 ->
73155 Ý
73156 ->
73157         `u³r_decod\94
73158 (
73159 Ýt_codec_ùx
73160 ,\83lm->type,
73161
73162 907 
73163 \96m
73164 ->
73165 \92cod\9ag_cÚ¡¿\9ats
73166 .
73167 ³r_cÚ¡¿\9ats
73168
73169 memb_±r2
73170
73171 pd
73172 );
73173
73174 909 
73175 rv
73176  = 
73177         `u³r_Ý\92_ty³_g\91
73178 (
73179 Ýt_codec_ùx
73180
73181 \96m
73182 ->
73183 ty³
73184 ,
73185
73186 910 
73187 \96m
73188 ->
73189 \92cod\9ag_cÚ¡¿\9ats
73190 .
73191 ³r_cÚ¡¿\9ats
73192
73193 memb_±r2
73194
73195 pd
73196 );
73197
73198 913 if(
73199 rv
73200 .
73201 code
73202  !ð
73203 RC_OK
73204 )
73205
73206 914 
73207         `ASN_DEBUG
73208 ("Failed\81o decode %s in %s (CHOICE) %d",
73209
73210 915 
73211 \96m
73212 ->
73213 Çme
73214
73215 td
73216 ->Çme, 
73217 rv
73218 .
73219 code
73220 );
73221
73222 916 \15 
73223 rv
73224 ;
73225
73226 917 
73227         }
73228 }
73229
73230 919 
73231 a¢_\92c_rv®_t
73232
73233
73234 920 
73235         $CHOICE_\92code_u³r
73236 (cڡ 
73237 a¢_TYPE_desü\9dtÜ_t
73238  *
73239 td
73240 ,
73241
73242 921 cڡ 
73243 a¢_³r_cÚ¡¿\9ats_t
73244  *
73245 cÚ¡¿\9ats
73246 , cڡ \1e*
73247 ¥\8c
73248 ,
73249
73250 922 
73251 a¢_³r_ou\8d_t
73252  *
73253 po
73254 ) {
73255
73256 923 cڡ 
73257 a¢_CHOICE_¥ecifics_t
73258  *
73259 ¥ecs
73260  = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
73261 td
73262 ->
73263 ¥ecifics
73264 ;
73265
73266 924 
73267 a¢_TYPE_memb\94_t
73268  *
73269 \96m
73270 ;
73271
73272 925 cڡ 
73273 a¢_³r_cÚ¡¿\9at_t
73274  *
73275 ù
73276 ;
73277
73278 926 cڡ \1e*
73279 memb_±r
73280 ;
73281
73282 927 \1d
73283 ´e£Á
73284 ;
73285
73286 928 \12
73287 ´e£Á_\92c
73288 ;
73289
73290 930 if(!
73291 ¥\8c
73292 è
73293 ASN__ENCODE_FAILED
73294 ;
73295
73296 932 
73297         `ASN_DEBUG
73298 ("Encod\9ag % a CHOICE", 
73299 td
73300 ->
73301 Çme
73302 );
73303
73304 934 if(
73305 cÚ¡¿\9ats
73306 è
73307 ù
73308  = &cÚ¡¿\9ats->
73309 v®ue
73310 ;
73311
73312 935 \vif(
73313 td
73314 ->
73315 \92cod\9ag_cÚ¡¿\9ats
73316 .
73317 ³r_cÚ¡¿\9ats
73318 )
73319
73320 936 
73321 ù
73322  = &
73323 td
73324 ->
73325 \92cod\9ag_cÚ¡¿\9ats
73326 .
73327 ³r_cÚ¡¿\9ats
73328 ->
73329 v®ue
73330 ;
73331
73332 937 \v
73333 ù
73334  = 0;
73335
73336 939 
73337 ´e£Á
73338  = 
73339         `_ãtch_´e£Á_idx
73340 (
73341 ¥\8c
73342
73343 ¥ecs
73344 ->
73345 ´es_off£t
73346 , s³cs->
73347 ´es_size
73348 );
73349
73350 945 if(
73351 ´e£Á
73352  =ð0 ||\85»£Á > 
73353 td
73354 ->
73355 \96em\92ts_couÁ
73356 )
73357
73358 946 
73359 ASN__ENCODE_FAILED
73360 ;
73361
73362 948 
73363 ´e£Á
73364 --;
73365
73366 950 
73367         `ASN_DEBUG
73368 ("Encod\9ag % CHOICE\83Ëm\92\88%d", 
73369 td
73370 ->
73371 Çme
73372
73373 ´e£Á
73374 );
73375
73376 953 if(
73377 ¥ecs
73378 ->
73379 to_ÿnÚiÿl_Üd\94
73380 )
73381
73382 954 
73383 ´e£Á_\92c
73384  = 
73385 ¥ecs
73386 ->
73387 to_ÿnÚiÿl_Üd\94
73388 [
73389 ´e£Á
73390 ];
73391
73392 956 
73393 ´e£Á_\92c
73394  = 
73395 ´e£Á
73396 ;
73397
73398 958 if(
73399 ù
73400  && ct->
73401 ¿nge_b\99s
73402  >= 0) {
73403
73404 959 if(
73405 ´e£Á_\92c
73406  < 
73407 ù
73408 ->
73409 low\94_bound
73410
73411
73412 960 || 
73413 ´e£Á_\92c
73414  > 
73415 ù
73416 ->
73417\94_bound
73418 ) {
73419
73420 961 if(
73421 ù
73422 ->
73423 æags
73424  & 
73425 APC_EXTENSIBLE
73426 ) {
73427
73428 962 
73429         `ASN_DEBUG
73430 (
73431
73432 964 
73433 ´e£Á
73434
73435 ´e£Á_\92c
73436
73437 ù
73438 ->
73439 low\94_bound
73440 , ct->
73441\94_bound
73442 );
73443
73444 965 if(
73445         `³r_put_ãw_b\99s
73446 (
73447 po
73448 , 1, 1))
73449
73450 966 
73451 ASN__ENCODE_FAILED
73452 ;
73453
73454 968 
73455 ASN__ENCODE_FAILED
73456 ;
73457
73458 970 
73459 ù
73460  = 0;
73461
73462 973 if(
73463 ù
73464  && ct->
73465 æags
73466  & 
73467 APC_EXTENSIBLE
73468 ) {
73469
73470 974 
73471         `ASN_DEBUG
73472 ("CHOICE member %d (enc %d) is\82ot\87n\83xtension (%ld..%ld)",
73473
73474 975 
73475 ´e£Á
73476
73477 ´e£Á_\92c
73478
73479 ù
73480 ->
73481 low\94_bound
73482 , ct->
73483\94_bound
73484 );
73485
73486 976 if(
73487         `³r_put_ãw_b\99s
73488 (
73489 po
73490 , 0, 1))
73491
73492 977 
73493 ASN__ENCODE_FAILED
73494 ;
73495
73496 981 
73497 \96m
73498  = &
73499 td
73500 ->
73501 \96em\92ts
73502 [
73503 ´e£Á
73504 ];
73505
73506 982 
73507         `ASN_DEBUG
73508 ("CHOICE memb\94 \"%s\" %d (a %d)", 
73509 \96m
73510 ->
73511 Çme
73512
73513 ´e£Á
73514 ,
73515
73516 983 
73517 ´e£Á_\92c
73518 );
73519
73520 984 if(
73521 \96m
73522 ->
73523 æags
73524  & 
73525 ATF_POINTER
73526 ) {
73527
73528 986 
73529 memb_±r
73530  =
73531
73532 987 *(cڡ \1e*cڡ *)((cڡ \ 5*)
73533 ¥\8c
73534  + 
73535 \96m
73536 ->
73537 memb_off£t
73538 );
73539
73540 988 if(!
73541 memb_±r
73542 è
73543 ASN__ENCODE_FAILED
73544 ;
73545
73546 990 
73547 memb_±r
73548  = (cڡ \ 5*)
73549 ¥\8c
73550  + 
73551 \96m
73552 ->
73553 memb_off£t
73554 ;
73555
73556 993 if(
73557 ù
73558  && ct->
73559 ¿nge_b\99s
73560  >= 0) {
73561
73562 994 if(
73563         `³r_put_ãw_b\99s
73564 (
73565 po
73566
73567 ´e£Á_\92c
73568
73569 ù
73570 ->
73571 ¿nge_b\99s
73572 ))
73573
73574 995 
73575 ASN__ENCODE_FAILED
73576 ;
73577
73578 997 \15 
73579 \96m
73580 ->
73581 ty³
73582 ->
73583 Ý
73584 ->
73585         `u³r_\92cod\94
73586 (
73587
73588 998 
73589 \96m
73590 ->
73591 ty³
73592 ,\83lm->
73593 \92cod\9ag_cÚ¡¿\9ats
73594 .
73595 ³r_cÚ¡¿\9ats
73596
73597 memb_±r
73598
73599 po
73600 );
73601
73602 1000 
73603 a¢_\92c_rv®_t
73604  
73605 rv®
73606  = {0,0,0};
73607
73608 1001 if(
73609 ¥ecs
73610 ->
73611 ext_¡¬t
73612  =ð-1è
73613 ASN__ENCODE_FAILED
73614 ;
73615
73616 1002 if(
73617         `u³r_put_n¢nwn
73618 (
73619 po
73620
73621 ´e£Á_\92c
73622  - 
73623 ¥ecs
73624 ->
73625 ext_¡¬t
73626 ))
73627
73628 1003 
73629 ASN__ENCODE_FAILED
73630 ;
73631
73632 1004 if(
73633         `u³r_Ý\92_ty³_put
73634 (
73635 \96m
73636 ->
73637 ty³
73638 ,
73639
73640 1005 
73641 \96m
73642 ->
73643 \92cod\9ag_cÚ¡¿\9ats
73644 .
73645 ³r_cÚ¡¿\9ats
73646 ,
73647
73648 1006 
73649 memb_±r
73650
73651 po
73652 ))
73653
73654 1007 
73655 ASN__ENCODE_FAILED
73656 ;
73657
73658 1008 
73659 rv®
73660 .
73661 \92coded
73662  = 0;
73663
73664 1009 
73665         `ASN__ENCODED_OK
73666 (
73667 rv®
73668 );
73669
73670 1011 
73671         }
73672 }
73673
73674 1013 
73675 a¢_dec_rv®_t
73676
73677
73678 1014 
73679         $CHOICE_decode_­\94
73680 (cڡ 
73681 a¢_codec_ùx_t
73682  *
73683 Ýt_codec_ùx
73684 ,
73685
73686 1015 cڡ 
73687 a¢_TYPE_desü\9dtÜ_t
73688  *
73689 td
73690 ,
73691
73692 1016 cڡ 
73693 a¢_³r_cÚ¡¿\9ats_t
73694  *
73695 cÚ¡¿\9ats
73696\1e**
73697 ¥\8c
73698
73699 a¢_³r_d©a_t
73700  *
73701 pd
73702 ) {
73703
73704 1017 cڡ 
73705 a¢_CHOICE_¥ecifics_t
73706  *
73707 ¥ecs
73708  = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
73709 td
73710 ->
73711 ¥ecifics
73712 ;
73713
73714 1018 
73715 a¢_dec_rv®_t
73716  
73717 rv
73718 ;
73719
73720 1019 cڡ 
73721 a¢_³r_cÚ¡¿\9at_t
73722  *
73723 ù
73724 ;
73725
73726 1020 cڡ 
73727 a¢_³r_cÚ¡¿\9at_t
73728  *
73729 ext_ù
73730  = 
73731 NULL
73732 ;
73733
73734 1021 
73735 a¢_TYPE_memb\94_t
73736  *
73737 \96m
73738 ;
73739
73740 1022 \1e*
73741 memb_±r
73742 ;
73743
73744 1023 \1e**
73745 memb_±r2
73746 ;
73747
73748 1024 \1e*
73749 ¡
73750  = *
73751 ¥\8c
73752 ;
73753
73754 1025 \12
73755 v®ue
73756 ;
73757
73758 1027 if(
73759         `ASN__STACK_OVERFLOW_CHECK
73760 (
73761 Ýt_codec_ùx
73762 ))
73763
73764 1028 
73765 ASN__DECODE_FAILED
73766 ;
73767
73768 1033 if(!
73769 ¡
73770 ) {
73771
73772 1034 
73773 ¡
73774  = *
73775 ¥\8c
73776  = 
73777         `CALLOC
73778 (1, 
73779 ¥ecs
73780 ->
73781 ¡ruù_size
73782 );
73783
73784 1035 if(!
73785 ¡
73786 è
73787 ASN__DECODE_FAILED
73788 ;
73789
73790 1038 if(
73791 cÚ¡¿\9ats
73792 è
73793 ù
73794  = &cÚ¡¿\9ats->
73795 v®ue
73796 ;
73797
73798 1039 \vif(
73799 td
73800 ->
73801 \92cod\9ag_cÚ¡¿\9ats
73802 .
73803 ³r_cÚ¡¿\9ats
73804 )
73805
73806 1040 
73807 ù
73808  = &
73809 td
73810 ->
73811 \92cod\9ag_cÚ¡¿\9ats
73812 .
73813 ³r_cÚ¡¿\9ats
73814 ->
73815 v®ue
73816 ;
73817
73818 1041 \v
73819 ù
73820  = 0;
73821
73822 1043 if(
73823 ù
73824  && ct->
73825 æags
73826  & 
73827 APC_EXTENSIBLE
73828 ) {
73829
73830 1044 
73831 v®ue
73832  = 
73833         `³r_g\91_ãw_b\99s
73834 (
73835 pd
73836 , 1);
73837
73838 1045 if(
73839 v®ue
73840  < 0è
73841 ASN__DECODE_STARVED
73842 ;
73843
73844 1046 if(
73845 v®ue
73846 ) {
73847
73848 1047 
73849 ext_ù
73850  = 
73851 ù
73852 ;
73853
73854 1048 
73855 ù
73856  = 0;
73857
73858 1053 if(
73859 ù
73860  && ct->
73861 ¿nge_b\99s
73862  >= 0) {
73863
73864 1054 
73865 v®ue
73866  = 
73867         `³r_g\91_ãw_b\99s
73868 (
73869 pd
73870
73871 ù
73872 ->
73873 ¿nge_b\99s
73874 );
73875
73876 1055 if(
73877 v®ue
73878  < 0è
73879 ASN__DECODE_STARVED
73880 ;
73881
73882 1056 
73883         `ASN_DEBUG
73884 ("CHOICE %s got index %d in\84ange %d",
73885
73886 1057 
73887 td
73888 ->
73889 Çme
73890
73891 v®ue
73892
73893 ù
73894 ->
73895 ¿nge_b\99s
73896 );
73897
73898 1058 if(
73899 v®ue
73900  > 
73901 ù
73902 ->
73903\94_bound
73904 )
73905
73906 1059 
73907 ASN__DECODE_FAILED
73908 ;
73909
73910 1061 if(
73911 ¥ecs
73912 ->
73913 ext_¡¬t
73914  == -1)
73915
73916 1062 
73917 ASN__DECODE_FAILED
73918 ;
73919
73920 1063 
73921 v®ue
73922  = 
73923         `­\94_g\91_n¢nwn
73924 (
73925 pd
73926
73927 ext_ù
73928 ->
73929 ¿nge_b\99s
73930 );
73931
73932 1064 if(
73933 v®ue
73934  < 0è
73935 ASN__DECODE_STARVED
73936 ;
73937
73938 1065 
73939 v®ue
73940  +ð
73941 ¥ecs
73942 ->
73943 ext_¡¬t
73944 ;
73945
73946 1066 if((\1d)
73947 v®ue
73948  >ð
73949 td
73950 ->
73951 \96em\92ts_couÁ
73952 )
73953
73954 1067 
73955 ASN__DECODE_FAILED
73956 ;
73957
73958 1071 if(
73959 ¥ecs
73960 ->
73961 äom_ÿnÚiÿl_Üd\94
73962 )
73963
73964 1072 
73965 v®ue
73966  = 
73967 ¥ecs
73968 ->
73969 äom_ÿnÚiÿl_Üd\94
73970 [value];
73971
73972 1075 
73973         `_£t_´e£Á_idx
73974 (
73975 ¡
73976
73977 ¥ecs
73978 ->
73979 ´es_off£t
73980 , s³cs->
73981 ´es_size
73982
73983 v®ue
73984  + 1);
73985
73986 1077 
73987 \96m
73988  = &
73989 td
73990 ->
73991 \96em\92ts
73992 [
73993 v®ue
73994 ];
73995
73996 1078 if(
73997 \96m
73998 ->
73999 æags
74000  & 
74001 ATF_POINTER
74002 ) {
74003
74004 1080 
74005 memb_±r2
74006  = (\1e**)((\ 5*)
74007 ¡
74008  + 
74009 \96m
74010 ->
74011 memb_off£t
74012 );
74013
74014 1082 
74015 memb_±r
74016  = (\ 5*)
74017 ¡
74018  + 
74019 \96m
74020 ->
74021 memb_off£t
74022 ;
74023
74024 1083 
74025 memb_±r2
74026  = &
74027 memb_±r
74028 ;
74029
74030 1085 
74031         `ASN_DEBUG
74032 ("Discov\94ed CHOICE % \92code %s", 
74033 td
74034 ->
74035 Çme
74036
74037 \96m
74038 ->name);
74039
74040 1087 if(
74041 ù
74042  && ct->
74043 ¿nge_b\99s
74044  >= 0) {
74045
74046 1088 
74047 rv
74048  = 
74049 \96m
74050 ->
74051 ty³
74052 ->
74053 Ý
74054 ->
74055         `­\94_decod\94
74056 (
74057 Ýt_codec_ùx
74058 ,\83lm->type,
74059
74060 1089 
74061 \96m
74062 ->
74063 \92cod\9ag_cÚ¡¿\9ats
74064 .
74065 ³r_cÚ¡¿\9ats
74066
74067 memb_±r2
74068
74069 pd
74070 );
74071
74072 1091 
74073 rv
74074  = 
74075         `­\94\92_ty³_g\91
74076 (
74077 Ýt_codec_ùx
74078
74079 \96m
74080 ->
74081 ty³
74082 ,
74083
74084 1092 
74085 \96m
74086 ->
74087 \92cod\9ag_cÚ¡¿\9ats
74088 .
74089 ³r_cÚ¡¿\9ats
74090
74091 memb_±r2
74092
74093 pd
74094 );
74095
74096 1095 if(
74097 rv
74098 .
74099 code
74100  !ð
74101 RC_OK
74102 )
74103
74104 1096 
74105         `ASN_DEBUG
74106 ("Failed\81o decode %s in %s (CHOICE) %d",
74107
74108 1097 
74109 \96m
74110 ->
74111 Çme
74112
74113 td
74114 ->Çme, 
74115 rv
74116 .
74117 code
74118 );
74119
74120 1098 \15 
74121 rv
74122 ;
74123
74124 1099 
74125         }
74126 }
74127
74128 1101 
74129 a¢_\92c_rv®_t
74130
74131
74132 1102 
74133         $CHOICE_\92code_­\94
74134 (cڡ 
74135 a¢_TYPE_desü\9dtÜ_t
74136  *
74137 td
74138 ,
74139
74140 1103 cڡ 
74141 a¢_³r_cÚ¡¿\9ats_t
74142  *
74143 cÚ¡¿\9ats
74144 ,
74145
74146 1104 cڡ \1e*
74147 ¥\8c
74148
74149 a¢_³r_ou\8d_t
74150  *
74151 po
74152 ) {
74153
74154 1105 cڡ 
74155 a¢_CHOICE_¥ecifics_t
74156  *
74157 ¥ecs
74158  = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
74159 td
74160 ->
74161 ¥ecifics
74162 ;
74163
74164 1106 cڡ 
74165 a¢_TYPE_memb\94_t
74166  *
74167 \96m
74168 ;
74169
74170 1107 cڡ 
74171 a¢_³r_cÚ¡¿\9at_t
74172  *
74173 ù
74174  = 
74175 NULL
74176 ;
74177
74178 1108 cڡ 
74179 a¢_³r_cÚ¡¿\9at_t
74180  *
74181 ext_ù
74182  = 
74183 NULL
74184 ;
74185
74186 1109 cڡ \1e*
74187 memb_±r
74188 ;
74189
74190 1110 \1d
74191 ´e£Á
74192 ;
74193
74194 1111 \12
74195 ´e£Á_\92c
74196 ;
74197
74198 1113 if(!
74199 ¥\8c
74200 è
74201 ASN__ENCODE_FAILED
74202 ;
74203
74204 1115 
74205         `ASN_DEBUG
74206 ("Encod\9ag % a CHOICE us\9ag ALIGNED PER", 
74207 td
74208 ->
74209 Çme
74210 );
74211
74212 1117 if(
74213 cÚ¡¿\9ats
74214 è
74215 ù
74216  = &cÚ¡¿\9ats->
74217 v®ue
74218 ;
74219
74220 1118 \vif(
74221 td
74222 ->
74223 \92cod\9ag_cÚ¡¿\9ats
74224 .
74225 ³r_cÚ¡¿\9ats
74226 )
74227
74228 1119 
74229 ù
74230  = &
74231 td
74232 ->
74233 \92cod\9ag_cÚ¡¿\9ats
74234 .
74235 ³r_cÚ¡¿\9ats
74236 ->
74237 v®ue
74238 ;
74239
74240 1120 \v
74241 ù
74242  = 
74243 NULL
74244 ;
74245
74246 1122 
74247 ´e£Á
74248  = 
74249         `_ãtch_´e£Á_idx
74250 (
74251 ¥\8c
74252 ,
74253
74254 1123 
74255 ¥ecs
74256 ->
74257 ´es_off£t
74258 , s³cs->
74259 ´es_size
74260 );
74261
74262 1129 if(
74263 ´e£Á
74264  <ð0 || (\1dí»£Á > 
74265 td
74266 ->
74267 \96em\92ts_couÁ
74268 )
74269
74270 1130 
74271 ASN__ENCODE_FAILED
74272 ;
74273
74274 1132 
74275 ´e£Á
74276 --;
74277
74278 1135 if(
74279 ¥ecs
74280 ->
74281 to_ÿnÚiÿl_Üd\94
74282 )
74283
74284 1136 
74285 ´e£Á_\92c
74286  = 
74287 ¥ecs
74288 ->
74289 to_ÿnÚiÿl_Üd\94
74290 [
74291 ´e£Á
74292 ];
74293
74294 1138 
74295 ´e£Á_\92c
74296  = 
74297 ´e£Á
74298 ;
74299
74300 1140 
74301         `ASN_DEBUG
74302 ("Encod\9ag % CHOICE\83Ëm\92\88%d", 
74303 td
74304 ->
74305 Çme
74306
74307 ´e£Á
74308 );
74309
74310 1142 if(
74311 ù
74312  && (ù->
74313 ¿nge_b\99s
74314  >= 0)) {
74315
74316 1144 if(
74317 ´e£Á
74318  < 
74319 ù
74320 ->
74321 low\94_bound
74322  ||\85»£Á > ct->
74323\94_bound
74324 ) {
74325
74326 1145 if(
74327 ù
74328 ->
74329 æags
74330  & 
74331 APC_EXTENSIBLE
74332 ) {
74333
74334 1146 
74335         `ASN_DEBUG
74336 ("CHOICE member %d (enc %d) is\87n\83xtension (%ld..%ld)",
74337
74338 1147 
74339 ´e£Á
74340
74341 ´e£Á_\92c
74342
74343 ù
74344 ->
74345 low\94_bound
74346 , ct->
74347\94_bound
74348 );
74349
74350 1149 if(
74351         `³r_put_ãw_b\99s
74352 (
74353 po
74354 , 1, 1)) {
74355
74356 1150 
74357 ASN__ENCODE_FAILED
74358 ;
74359
74360 1153 
74361 ASN__ENCODE_FAILED
74362 ;
74363
74364 1156 
74365 ext_ù
74366  = 
74367 ù
74368 ;
74369
74370 1157 
74371 ù
74372  = 
74373 NULL
74374 ;
74375
74376 1161 if(
74377 ù
74378  && (ù->
74379 æags
74380  & 
74381 APC_EXTENSIBLE
74382 )) {
74383
74384 1162 
74385         `ASN_DEBUG
74386 ("CHOICE member %d (enc %d) is\82ot\87n\83xtension (%ld..%ld)",
74387
74388 1163 
74389 ´e£Á
74390 ,\85»£Á, 
74391 ù
74392 ->
74393 low\94_bound
74394 , ct->
74395\94_bound
74396 );
74397
74398 1165 if(
74399         `³r_put_ãw_b\99s
74400 (
74401 po
74402 , 0, 1)) {
74403
74404 1166 
74405 ASN__ENCODE_FAILED
74406 ;
74407
74408 1170 
74409 \96m
74410  = &
74411 td
74412 ->
74413 \96em\92ts
74414 [
74415 ´e£Á
74416 ];
74417
74418 1171 if(
74419 \96m
74420 ->
74421 æags
74422  & 
74423 ATF_POINTER
74424 ) {
74425
74426 1173 
74427 memb_±r
74428  = *(cڡ \1e*cڡ *)((cڡ \ 5*)
74429 ¥\8c
74430  + 
74431 \96m
74432 ->
74433 memb_off£t
74434 );
74435
74436 1174 if(!
74437 memb_±r
74438 è
74439 ASN__ENCODE_FAILED
74440 ;
74441
74442 1176 
74443 memb_±r
74444  = (cڡ \ 5*)
74445 ¥\8c
74446  + 
74447 \96m
74448 ->
74449 memb_off£t
74450 ;
74451
74452 1179 if(
74453 ù
74454  && (ù->
74455 ¿nge_b\99s
74456  >= 0)) {
74457
74458 1182 if(
74459         `³r_put_ãw_b\99s
74460 (
74461 po
74462
74463 ´e£Á_\92c
74464
74465 ù
74466 ->
74467 ¿nge_b\99s
74468 ))
74469
74470 1183 
74471 ASN__ENCODE_FAILED
74472 ;
74473
74474 1185 \15 
74475 \96m
74476 ->
74477 ty³
74478 ->
74479 Ý
74480 ->
74481         `­\94_\92cod\94
74482 Ólm->ty³,\83lm->
74483 \92cod\9ag_cÚ¡¿\9ats
74484 .
74485 ³r_cÚ¡¿\9ats
74486 ,
74487
74488 1186 
74489 memb_±r
74490
74491 po
74492 );
74493
74494 1188 
74495 a¢_\92c_rv®_t
74496  
74497 rv®
74498  = {0,0,0};
74499
74500 1189 if(
74501 ¥ecs
74502 ->
74503 ext_¡¬t
74504  == -1)
74505
74506 1190 
74507 ASN__ENCODE_FAILED
74508 ;
74509
74510 1193 if(
74511 ext_ù
74512  && 
74513         `­\94_put_n¢nwn
74514 (
74515 po
74516 ,\83xt_ù->
74517 ¿nge_b\99s
74518
74519 ´e£Á_\92c
74520  - 
74521 ¥ecs
74522 ->
74523 ext_¡¬t
74524 ))
74525
74526 1194 
74527 ASN__ENCODE_FAILED
74528 ;
74529
74530 1195 if(
74531         `­\94\92_ty³_put
74532 (
74533 \96m
74534 ->
74535 ty³
74536 ,\83lm->
74537 \92cod\9ag_cÚ¡¿\9ats
74538 .
74539 ³r_cÚ¡¿\9ats
74540 ,
74541
74542 1196 
74543 memb_±r
74544
74545 po
74546 ))
74547
74548 1197 
74549 ASN__ENCODE_FAILED
74550 ;
74551
74552 1198 
74553 rv®
74554 .
74555 \92coded
74556  = 0;
74557
74558 1199 
74559         `ASN__ENCODED_OK
74560 (
74561 rv®
74562 );
74563
74564 1201 
74565         }
74566 }
74567
74568 1204 
74569         $CHOICE_´\9at
74570 (cڡ 
74571 a¢_TYPE_desü\9dtÜ_t
74572  *
74573 td
74574 , cڡ \1e*
74575 ¥\8c
74576\12
74577 \9eev\96
74578 ,
74579
74580 1205 
74581 a¢_­p_cÚsume_by\8bs_f
74582  *
74583 cb
74584\1e*
74585 ­p_key
74586 ) {
74587
74588 1206 cڡ 
74589 a¢_CHOICE_¥ecifics_t
74590  *
74591 ¥ecs
74592  = (cÚ¡\87¢_CHOICE_¥ecifics_\88*)
74593 td
74594 ->
74595 ¥ecifics
74596 ;
74597
74598 1207 \1d
74599 ´e£Á
74600 ;
74601
74602 1209 if(!
74603 ¥\8c
74604 è\15 (
74605         `cb
74606 ("<ab£Á>", 8, 
74607 ­p_key
74608 ) < 0) ? -1 : 0;
74609
74610 1214 
74611 ´e£Á
74612  = 
74613         `_ãtch_´e£Á_idx
74614 (
74615 ¥\8c
74616
74617 ¥ecs
74618 ->
74619 ´es_off£t
74620 ,¥ecs->
74621 ´es_size
74622 );
74623
74624 1219 if(
74625 ´e£Á
74626  > 0 &&\85»£Á <ð
74627 td
74628 ->
74629 \96em\92ts_couÁ
74630 ) {
74631
74632 1220 
74633 a¢_TYPE_memb\94_t
74634  *
74635 \96m
74636  = &
74637 td
74638 ->
74639 \96em\92ts
74640 [
74641 ´e£Á
74642 -1];
74643
74644 1221 cڡ \1e*
74645 memb_±r
74646 ;
74647
74648 1223 if(
74649 \96m
74650 ->
74651 æags
74652  & 
74653 ATF_POINTER
74654 ) {
74655
74656 1224 
74657 memb_±r
74658  = *(cڡ \1e* cڡ *)((cڡ \ 5*)
74659 ¥\8c
74660  + 
74661 \96m
74662 ->
74663 memb_off£t
74664 );
74665
74666 1225 if(!
74667 memb_±r
74668 è\15 (
74669         `cb
74670 ("<ab£Á>", 8, 
74671 ­p_key
74672 ) < 0) ? -1 : 0;
74673
74674 1227 
74675 memb_±r
74676  = (cڡ \1e*)((cڡ \ 5*)
74677 ¥\8c
74678  + 
74679 \96m
74680 ->
74681 memb_off£t
74682 );
74683
74684 1232 if(
74685         `cb
74686 (
74687 \96m
74688 ->
74689 Çme
74690
74691         `¡¾\92
74692 Ólm->Çme), 
74693 ­p_key
74694 ) < 0
74695
74696 1233 || 
74697         `cb
74698 (": ", 2, 
74699 ­p_key
74700 ) < 0)
74701
74702 1237 \15 
74703 \96m
74704 ->
74705 ty³
74706 ->
74707 Ý
74708 ->
74709         `´\9at_¡ruù
74710 Ólm->ty³, 
74711 memb_±r
74712
74713 \9eev\96
74714 ,
74715
74716 1238 
74717 cb
74718
74719 ­p_key
74720 );
74721
74722 1240 \15 (
74723         `cb
74724 ("<ab£Á>", 8, 
74725 ­p_key
74726 ) < 0) ? -1 : 0;
74727
74728 1242 
74729         }
74730 }
74731
74732 1245 
74733         $CHOICE_ä\93
74734 (cڡ 
74735 a¢_TYPE_desü\9dtÜ_t
74736  *
74737 td
74738\1e*
74739 ±r
74740 ,
74741
74742 1246 \f
74743 a¢_¡ruù_ä\93_m\91hod
74744  
74745 m\91hod
74746 ) {
74747
74748 1247 cڡ 
74749 a¢_CHOICE_¥ecifics_t
74750  *
74751 ¥ecs
74752  =
74753
74754 1248 (cڡ 
74755 a¢_CHOICE_¥ecifics_t
74756  *)
74757 td
74758 ->
74759 ¥ecifics
74760 ;
74761
74762 1249 \1d
74763 ´e£Á
74764 ;
74765
74766 1251 if(!
74767 td
74768  || !
74769 ±r
74770 )
74771
74772 1254 
74773         `ASN_DEBUG
74774 ("F»e\9ag % a CHOICE", 
74775 td
74776 ->
74777 Çme
74778 );
74779
74780 1259 
74781 ´e£Á
74782  = 
74783         `_ãtch_´e£Á_idx
74784 (
74785 ±r
74786
74787 ¥ecs
74788 ->
74789 ´es_off£t
74790 , s³cs->
74791 ´es_size
74792 );
74793
74794 1264 if(
74795 ´e£Á
74796  > 0 &&\85»£Á <ð
74797 td
74798 ->
74799 \96em\92ts_couÁ
74800 ) {
74801
74802 1265 
74803 a¢_TYPE_memb\94_t
74804  *
74805 \96m
74806  = &
74807 td
74808 ->
74809 \96em\92ts
74810 [
74811 ´e£Á
74812 -1];
74813
74814 1266 \1e*
74815 memb_±r
74816 ;
74817
74818 1268 if(
74819 \96m
74820 ->
74821 æags
74822  & 
74823 ATF_POINTER
74824 ) {
74825
74826 1269 
74827 memb_±r
74828  = *(\1e**)((\ 5*)
74829 ±r
74830  + 
74831 \96m
74832 ->
74833 memb_off£t
74834 );
74835
74836 1270 if(
74837 memb_±r
74838 )
74839
74840 1271 
74841         `ASN_STRUCT_FREE
74842 (*
74843 \96m
74844 ->
74845 ty³
74846
74847 memb_±r
74848 );
74849
74850 1273 
74851 memb_±r
74852  = (\1e*)((\ 5*)
74853 ±r
74854  + 
74855 \96m
74856 ->
74857 memb_off£t
74858 );
74859
74860 1274 
74861         `ASN_STRUCT_FREE_CONTENTS_ONLY
74862 (*
74863 \96m
74864 ->
74865 ty³
74866
74867 memb_±r
74868 );
74869
74870 1278 \1a
74871 m\91hod
74872 ) {
74873
74874 1279 \ 4
74875 ASFM_FREE_EVERYTHING
74876 :
74877
74878 1280 
74879         `FREEMEM
74880 (
74881 ±r
74882 );
74883
74884 1282 \ 4
74885 ASFM_FREE_UNDERLYING
74886 :
74887
74888 1284 \ 4
74889 ASFM_FREE_UNDERLYING_AND_RESET
74890 :
74891
74892 1285 
74893         `mem£t
74894 (
74895 ±r
74896 , 0, 
74897 ¥ecs
74898 ->
74899 ¡ruù_size
74900 );
74901
74902 1288 
74903         }
74904 }
74905
74906 1301 
74907         $_ãtch_´e£Á_idx
74908 (cڡ \1e*
74909 ¡ruù_±r
74910\1d
74911 ´es_off£t
74912 ,
74913
74914 1302 \1d
74915 ´es_size
74916 ) {
74917
74918 1303 cڡ \1e*
74919 ´e£Á_±r
74920 ;
74921
74922 1304 \1d
74923 ´e£Á
74924 ;
74925
74926 1306 
74927 ´e£Á_±r
74928  = ((cڡ \ 5*)
74929 ¡ruù_±r
74930 è+ 
74931 ´es_off£t
74932 ;
74933
74934 1308 \1a
74935 ´es_size
74936 ) {
74937
74938 1309 \ 4\17(\12): 
74939 ´e£Á
74940  = *(cڡ \1d\12*)
74941 ´e£Á_±r
74942\ 3;
74943
74944 1310 \ 4\17(\16): 
74945 ´e£Á
74946  = *(cڡ \1d\16*)
74947 ´e£Á_±r
74948\ 3;
74949
74950 1311 \ 4\17(\ 5): 
74951 ´e£Á
74952  = *(cڡ \1d\ 5*)
74953 ´e£Á_±r
74954\ 3;
74955
74956 1314 
74957         `as£¹
74958 (
74959 ´es_size
74960  != \17(\12));
74961
74962 1318 \15 
74963 ´e£Á
74964 ;
74965
74966 1319 
74967         }
74968 }
74969
74970 1322 
74971         $_£t_´e£Á_idx
74972 (\1e*
74973 ¡ruù_±r
74974\1d
74975 ´es_off£t
74976\1d
74977 ´es_size
74978 ,
74979
74980 1323 \1d
74981 ´e£Á
74982 ) {
74983
74984 1324 \1e*
74985 ´e£Á_±r
74986 ;
74987
74988 1325 
74989 ´e£Á_±r
74990  = ((\ 5*)
74991 ¡ruù_±r
74992 è+ 
74993 ´es_off£t
74994 ;
74995
74996 1327 \1a
74997 ´es_size
74998 ) {
74999
75000 1328 \ 4\17(\12): *(\1d\12*)
75001 ´e£Á_±r
75002  = 
75003 ´e£Á
75004\ 3;
75005
75006 1329 \ 4\17(\16): *(\1d\16*)
75007 ´e£Á_±r
75008  = 
75009 ´e£Á
75010\ 3;
75011
75012 1330 \ 4\17(\ 5): *(\1d\ 5*)
75013 ´e£Á_±r
75014  = 
75015 ´e£Á
75016\ 3;
75017
75018 1333 
75019         `as£¹
75020 (
75021 ´es_size
75022  != \17(\12));
75023
75024 1335 
75025         }
75026 }
75027
75028 1338 
75029         $_g\91_memb\94_±r
75030 (cڡ 
75031 a¢_TYPE_desü\9dtÜ_t
75032  *
75033 td
75034 , cڡ \1e*
75035 ¥\8c
75036 ,
75037
75038 1339 
75039 a¢_TYPE_memb\94_t
75040  **
75041 \96m_±r
75042\1d*
75043 ´e£Á_out
75044 ) {
75045
75046 1340 cڡ 
75047 a¢_CHOICE_¥ecifics_t
75048  *
75049 ¥ecs
75050  =
75051
75052 1341 (cڡ 
75053 a¢_CHOICE_¥ecifics_t
75054  *)
75055 td
75056 ->
75057 ¥ecifics
75058 ;
75059
75060 1342 \1d
75061 ´e£Á
75062 ;
75063
75064 1344 if(!
75065 ¥\8c
75066 ) {
75067
75068 1345 *
75069 \96m_±r
75070  = 
75071 NULL
75072 ;
75073
75074 1346 *
75075 ´e£Á_out
75076  = 0;
75077
75078 1347 \15 
75079 NULL
75080 ;
75081
75082 1353 
75083 ´e£Á
75084  = 
75085         `_ãtch_´e£Á_idx
75086 (
75087 ¥\8c
75088
75089 ¥ecs
75090 ->
75091 ´es_off£t
75092 , s³cs->
75093 ´es_size
75094 );
75095
75096 1354 *
75097 ´e£Á_out
75098  = 
75099 ´e£Á
75100 ;
75101
75102 1360 if(
75103 ´e£Á
75104  > 0 &&\85»£Á <ð
75105 td
75106 ->
75107 \96em\92ts_couÁ
75108 ) {
75109
75110 1361 
75111 a¢_TYPE_memb\94_t
75112  *cڡ 
75113 \96m
75114  = &
75115 td
75116 ->
75117 \96em\92ts
75118 [
75119 ´e£Á
75120  - 1];
75121
75122 1362 cڡ \1e*
75123 memb_±r
75124 ;
75125
75126 1364 if(
75127 \96m
75128 ->
75129 æags
75130  & 
75131 ATF_POINTER
75132 ) {
75133
75134 1365 
75135 memb_±r
75136  =
75137
75138 1366 *(cڡ \1e*cڡ *)((cڡ \ 5*)
75139 ¥\8c
75140  + 
75141 \96m
75142 ->
75143 memb_off£t
75144 );
75145
75146 1368 
75147 memb_±r
75148  = (cڡ \1e*)((cڡ \ 5*)
75149 ¥\8c
75150  + 
75151 \96m
75152 ->
75153 memb_off£t
75154 );
75155
75156 1370 *
75157 \96m_±r
75158  = 
75159 \96m
75160 ;
75161
75162 1371 \15 
75163 memb_±r
75164 ;
75165
75166 1373 *
75167 \96m_±r
75168  = 
75169 NULL
75170 ;
75171
75172 1374 \15 
75173 NULL
75174 ;
75175
75176 1377 
75177         }
75178 }
75179
75180 1380 
75181         $CHOICE_com·»
75182 (cڡ 
75183 a¢_TYPE_desü\9dtÜ_t
75184  *
75185 td
75186 , cڡ \1e*
75187 ­\8c
75188 , cڡ \1e*
75189 b±r
75190 ) {
75191
75192 1381 
75193 a¢_TYPE_memb\94_t
75194  *
75195 «lm
75196 ;
75197
75198 1382 
75199 a¢_TYPE_memb\94_t
75200  *
75201 b\96m
75202 ;
75203
75204 1383 \1d
75205 ­»£Á
75206  = 0;
75207
75208 1384 \1d
75209 b´e£Á
75210  = 0;
75211
75212 1385 cڡ \1e*
75213 amemb\94
75214  = 
75215         `_g\91_memb\94_±r
75216 (
75217 td
75218
75219 ­\8c
75220 , &
75221 «lm
75222 , &
75223 ­»£Á
75224 );
75225
75226 1386 cڡ \1e*
75227 bmemb\94
75228  = 
75229         `_g\91_memb\94_±r
75230 (
75231 td
75232
75233 b±r
75234 , &
75235 b\96m
75236 , &
75237 b´e£Á
75238 );
75239
75240 1388 if(
75241 amemb\94
75242  && 
75243 bmemb\94
75244 ) {
75245
75246 1389 if(
75247 ­»£Á
75248  =ð
75249 b´e£Á
75250 ) {
75251
75252 1390 
75253         `as£¹
75254 (
75255 «lm
75256  =ð
75257 b\96m
75258 );
75259
75260 1391 \15 
75261 «lm
75262 ->
75263 ty³
75264 ->
75265 Ý
75266 ->
75267         `com·»_¡ruù
75268 ×\96m->ty³, 
75269 amemb\94
75270
75271 bmemb\94
75272 );
75273
75274 1392 } \vif(
75275 ­»£Á
75276  < 
75277 b´e£Á
75278 ) {
75279
75280 1397 } \vif(!
75281 amemb\94
75282 ) {
75283
75284 1402 
75285         }
75286 }
75287
75288 1409 
75289         $CHOICE_v¬\9fÁ_g\91_´e£nû
75290 (cڡ 
75291 a¢_TYPE_desü\9dtÜ_t
75292  *
75293 td
75294 , cڡ \1e*
75295 ¥\8c
75296 ) {
75297
75298 1410 cڡ 
75299 a¢_CHOICE_¥ecifics_t
75300  *
75301 ¥ecs
75302  =
75303
75304 1411 (cڡ 
75305 a¢_CHOICE_¥ecifics_t
75306  *)
75307 td
75308 ->
75309 ¥ecifics
75310 ;
75311
75312 1412 \15 
75313         `_ãtch_´e£Á_idx
75314 (
75315 ¥\8c
75316
75317 ¥ecs
75318 ->
75319 ´es_off£t
75320 , s³cs->
75321 ´es_size
75322 );
75323
75324 1413 
75325         }
75326 }
75327
75328 1422 
75329         $CHOICE_v¬\9fÁ_£t_´e£nû
75330 (cڡ 
75331 a¢_TYPE_desü\9dtÜ_t
75332  *
75333 td
75334\1e*
75335 ¥\8c
75336 ,
75337
75338 1423 \1d
75339 ´e£Á
75340 ) {
75341
75342 1424 cڡ 
75343 a¢_CHOICE_¥ecifics_t
75344  *
75345 ¥ecs
75346  =
75347
75348 1425 (cڡ 
75349 a¢_CHOICE_¥ecifics_t
75350  *)
75351 td
75352 ->
75353 ¥ecifics
75354 ;
75355
75356 1426 \1d
75357 Þd_´e£Á
75358 ;
75359
75360 1428 if(!
75361 ¥\8c
75362 ) {
75363
75364 1432 if(
75365 ´e£Á
75366  > 
75367 td
75368 ->
75369 \96em\92ts_couÁ
75370 )
75371
75372 1435 
75373 Þd_´e£Á
75374  =
75375
75376 1436 
75377         `_ãtch_´e£Á_idx
75378 (
75379 ¥\8c
75380
75381 ¥ecs
75382 ->
75383 ´es_off£t
75384 , s³cs->
75385 ´es_size
75386 );
75387
75388 1437 if(
75389 ´e£Á
75390  =ð
75391 Þd_´e£Á
75392 )
75393
75394 1440 if(
75395 Þd_´e£Á
75396  != 0) {
75397
75398 1441 
75399         `as£¹
75400 (
75401 Þd_´e£Á
75402  <ð
75403 td
75404 ->
75405 \96em\92ts_couÁ
75406 );
75407
75408 1442 
75409         `ASN_STRUCT_RESET
75410 (*
75411 td
75412
75413 ¥\8c
75414 );
75415
75416 1445 
75417         `_£t_´e£Á_idx
75418 (
75419 ¥\8c
75420
75421 ¥ecs
75422 ->
75423 ´es_off£t
75424 , s³cs->
75425 ´es_size
75426
75427 ´e£Á
75428 );
75429
75430 1448 
75431         }
75432 }
75433
75434 1451 
75435 a¢_¿ndom_f\9el_»suÉ_t
75436
75437
75438 1452 
75439         $CHOICE_¿ndom_f\9el
75440 (cڡ 
75441 a¢_TYPE_desü\9dtÜ_t
75442  *
75443 td
75444\1e**
75445 ¥\8c
75446 ,
75447
75448 1453 cڡ 
75449 a¢_\92cod\9ag_cÚ¡¿\9ats_t
75450  *
75451 cڡr
75452 ,
75453
75454 1454 
75455 size_t
75456  
75457 max_Ëngth
75458 ) {
75459
75460 1455 cڡ 
75461 a¢_CHOICE_¥ecifics_t
75462  *
75463 ¥ecs
75464  =
75465
75466 1456 (cڡ 
75467 a¢_CHOICE_¥ecifics_t
75468  *)
75469 td
75470 ->
75471 ¥ecifics
75472 ;
75473
75474 1457 
75475 a¢_¿ndom_f\9el_»suÉ_t
75476  
75477 »s
75478 ;
75479
75480 1458 
75481 a¢_¿ndom_f\9el_»suÉ_t
75482  
75483 »suÉ_ç\9eed
75484  = {
75485 ARFILL_FAILED
75486 , 0};
75487
75488 1459 
75489 a¢_¿ndom_f\9el_»suÉ_t
75490  
75491 »suÉ_sk\9d³d
75492  = {
75493 ARFILL_SKIPPED
75494 , 0};
75495
75496 1460 cڡ 
75497 a¢_TYPE_memb\94_t
75498  *
75499 \96m
75500 ;
75501
75502 1461 \1d
75503 ´e£Á
75504 ;
75505
75506 1462 \1e*
75507 memb_±r
75508 ;
75509
75510 1463 \1e**
75511 memb_±r2
75512 ;
75513
75514 1464 \1e*
75515 ¡
75516  = *
75517 ¥\8c
75518 ;
75519
75520 1466 if(
75521 max_Ëngth
75522  =ð0è\15 
75523 »suÉ_sk\9d³d
75524 ;
75525
75526 1468 (\1e)
75527 cڡr
75528 ;
75529
75530 1470 if(
75531 ¡
75532  =ð
75533 NULL
75534 ) {
75535
75536 1471 
75537 ¡
75538  = 
75539         `CALLOC
75540 (1, 
75541 ¥ecs
75542 ->
75543 ¡ruù_size
75544 );
75545
75546 1472 if(
75547 ¡
75548  =ð
75549 NULL
75550 ) {
75551
75552 1473 \15 
75553 »suÉ_ç\9eed
75554 ;
75555
75556 1477 
75557 ´e£Á
75558  = 
75559         `a¢_¿ndom_b\91w\93n
75560 (1, 
75561 td
75562 ->
75563 \96em\92ts_couÁ
75564 );
75565
75566 1478 
75567 \96m
75568  = &
75569 td
75570 ->
75571 \96em\92ts
75572 [
75573 ´e£Á
75574  - 1];
75575
75576 1480 if(
75577 \96m
75578 ->
75579 æags
75580  & 
75581 ATF_POINTER
75582 ) {
75583
75584 1482 
75585 memb_±r2
75586  = (\1e**)((\ 5*)
75587 ¡
75588  + 
75589 \96m
75590 ->
75591 memb_off£t
75592 );
75593
75594 1484 
75595 memb_±r
75596  = (\ 5*)
75597 ¡
75598  + 
75599 \96m
75600 ->
75601 memb_off£t
75602 ;
75603
75604 1485 
75605 memb_±r2
75606  = &
75607 memb_±r
75608 ;
75609
75610 1488 
75611 »s
75612  = 
75613 \96m
75614 ->
75615 ty³
75616 ->
75617 Ý
75618 ->
75619         `¿ndom_f\9el
75620 Ólm->ty³, 
75621 memb_±r2
75622 ,
75623
75624 1489 &
75625 \96m
75626 ->
75627 \92cod\9ag_cÚ¡¿\9ats
75628
75629 max_Ëngth
75630 );
75631
75632 1490 
75633         `_£t_´e£Á_idx
75634 (
75635 ¡
75636
75637 ¥ecs
75638 ->
75639 ´es_off£t
75640 , s³cs->
75641 ´es_size
75642
75643 ´e£Á
75644 );
75645
75646 1491 if(
75647 »s
75648 .
75649 code
75650  =ð
75651 ARFILL_OK
75652 ) {
75653
75654 1492 *
75655 ¥\8c
75656  = 
75657 ¡
75658 ;
75659
75660 1494 if(
75661 ¡
75662  =ð*
75663 ¥\8c
75664 ) {
75665
75666 1495 
75667         `ASN_STRUCT_RESET
75668 (*
75669 td
75670
75671 ¡
75672 );
75673
75674 1497 
75675         `ASN_STRUCT_FREE
75676 (*
75677 td
75678
75679 ¡
75680 );
75681
75682 1501 \15 
75683 »s
75684 ;
75685
75686 1502 
75687         }
75688 }
75689
75690 1505 
75691 a¢_TYPE_Ý\94©iÚ_t
75692  
75693         ga¢_OP_CHOICE
75694  = {
75695
75696 1506 
75697 CHOICE_ä\93
75698 ,
75699
75700 1507 
75701 CHOICE_´\9at
75702 ,
75703
75704 1508 
75705 CHOICE_com·»
75706 ,
75707
75708 1509 
75709 CHOICE_decode_b\94
75710 ,
75711
75712 1510 
75713 CHOICE_\92code_d\94
75714 ,
75715
75716 1511 
75717 CHOICE_decode_x\94
75718 ,
75719
75720 1512 
75721 CHOICE_\92code_x\94
75722 ,
75723
75724 1513 #ifdef 
75725 ASN_DISABLE_OER_SUPPORT
75726
75727
75728 1517 
75729 CHOICE_decode_Ûr
75730 ,
75731
75732 1518 
75733 CHOICE_\92code_Ûr
75734 ,
75735
75736 1520 #ifdeà
75737 ASN_DISABLE_PER_SUPPORT
75738
75739
75740 1526 
75741 CHOICE_decode_u³r
75742 ,
75743
75744 1527 
75745 CHOICE_\92code_u³r
75746 ,
75747
75748 1528 
75749 CHOICE_decode_­\94
75750 ,
75751
75752 1529 
75753 CHOICE_\92code_­\94
75754 ,
75755
75756 1531 
75757 CHOICE_¿ndom_f\9el
75758 ,
75759
75760 1532 
75761 CHOICE_outmo¡_\8fg
75762
75763
75764         @constr_SEQUENCE.c
75765
75766\ 2
75767         ~<a¢_\9a\8bº®.h
75768 >
75769
75770\ 2
75771         ~<cڡr_SEQUENCE.h
75772 >
75773
75774\ 2
75775         ~<OPEN_TYPE.h
75776 >
75777
75778\ 2
75779         ~<³r_Ý\92ty³.h
75780 >
75781
75782 16 \ 1
75783         #LEFT
75784  ((
75785 size
75786 <(
75787 size_t
75788 )
75789 ùx
75790 ->
75791 Ëá
75792 )?size:(size_t)ùx->Ëá)
75793
75794         )
75795
75796 29 \ 1
75797         #SIZE_VIOLATION
75798  (
75799 ùx
75800 ->
75801 Ëá
75802  >ð0 && (
75803 size_t
75804 )ùx->Ëá <ð
75805 size
75806 )
75807
75808         )
75809
75810 35 #undeà
75811 ADVANCE
75812
75813
75814 36 \ 1
75815         #ADVANCE
75816 (
75817 num_by\8bs
75818 ) do { \
75819
75820 37 
75821 size_t
75822  
75823 num
75824  = 
75825 num_by\8bs
75826 ; \
75827
75828 38 
75829 ±r
75830  = ((cÚ¡ \ 5\8cè+ 
75831 num
75832 ; \
75833
75834 39 
75835 size
75836  -ð
75837 num
75838 ; \
75839
75840 40 if(
75841 ùx
75842 ->
75843 Ëá
75844  >= 0) \
75845
75846 41 
75847 ùx
75848 ->
75849 Ëá
75850  -ð
75851 num
75852 ; \
75853
75854 42 
75855 cÚsumed_my£lf
75856  +ð
75857 num
75858 ; \
75859
75860 43 } \1f0)
75861
75862         )
75863
75864 48 #undeà
75865 NEXT_PHASE
75866
75867
75868 49 #undeà
75869 PHASE_OUT
75870
75871
75872 50 \ 1
75873         #NEXT_PHASE
75874 (
75875 ùx
75876 ) do { \
75877
75878 51 
75879 ùx
75880 ->
75881 pha£
75882 ++; \
75883
75884 52 
75885 ùx
75886 ->
75887 ¡\95
75888  = 0; \
75889
75890 53 } \1f0)
75891
75892         )
75893
75894 54 \ 1
75895         #PHASE_OUT
75896 (
75897 ùx
75898 èdØ{ ctx->
75899 pha£
75900  = 10; } \1f0)
75901
75902         )
75903
75904 59 #undeà
75905 RETURN
75906
75907
75908 60 \ 1
75909         #RETURN
75910 (
75911 _code
75912 ) do { \
75913
75914 61 
75915 rv®
75916 .
75917 code
75918  = 
75919 _code
75920 ; \
75921
75922 62 
75923 rv®
75924 .
75925 cÚsumed
75926  = 
75927 cÚsumed_my£lf
75928 ;\
75929
75930 63 \15 
75931 rv®
75932 ; \
75933
75934 64 } \1f0)
75935
75936         )
75937
75938 69 \ 1
75939         #IN_EXTENSION_GROUP
75940 (
75941 ¥ecs
75942
75943 memb_idx
75944 ) \
75945
75946 70 ((
75947 ¥ecs
75948 )->
75949 f\9c¡_ex\8bnsiÚ
75950  >= 0 \
75951
75952 71 && (\1d)(
75953 ¥ecs
75954 )->
75955 f\9c¡_ex\8bnsiÚ
75956  <ð(
75957 memb_idx
75958 ))
75959
75960         )
75961
75962 77 
75963         $_t2e_cmp
75964 (cڡ \1e*
75965 ­
75966 , cڡ \1e*
75967 bp
75968 ) {
75969
75970 78 cڡ 
75971 a¢_TYPE_\8fg2memb\94_t
75972  *
75973 a
75974  = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
75975 ­
75976 ;
75977
75978 79 cڡ 
75979 a¢_TYPE_\8fg2memb\94_t
75980  *
75981 b
75982  = (cÚ¡\87¢_TYPE_\8fg2memb\94_\88*)
75983 bp
75984 ;
75985
75986 81 \12
75987 a_þass
75988  = 
75989         `BER_TAG_CLASS
75990 (
75991 a
75992 ->
75993 \96_\8fg
75994 );
75995
75996 82 \12
75997 b_þass
75998  = 
75999         `BER_TAG_CLASS
76000 (
76001 b
76002 ->
76003 \96_\8fg
76004 );
76005
76006 84 if(
76007 a_þass
76008  =ð
76009 b_þass
76010 ) {
76011
76012 85 
76013 b\94_\8ev_\8fg_t
76014  
76015 a_v®ue
76016  = 
76017         `BER_TAG_VALUE
76018 (
76019 a
76020 ->
76021 \96_\8fg
76022 );
76023
76024 86 
76025 b\94_\8ev_\8fg_t
76026  
76027 b_v®ue
76028  = 
76029         `BER_TAG_VALUE
76030 (
76031 b
76032 ->
76033 \96_\8fg
76034 );
76035
76036 88 if(
76037 a_v®ue
76038  =ð
76039 b_v®ue
76040 ) {
76041
76042 89 if(
76043 a
76044 ->
76045 \96_no
76046  > 
76047 b
76048 ->el_no)
76049
76050 96 } \vif(
76051 a_v®ue
76052  < 
76053 b_v®ue
76054 )
76055
76056 100 } \vif(
76057 a_þass
76058  < 
76059 b_þass
76060 ) {
76061
76062 105 
76063         }
76064 }
76065
76066 111 
76067 a¢_dec_rv®_t
76068
76069
76070 112 
76071         $SEQUENCE_decode_b\94
76072 (cڡ 
76073 a¢_codec_ùx_t
76074  *
76075 Ýt_codec_ùx
76076 ,
76077
76078 113 cڡ 
76079 a¢_TYPE_desü\9dtÜ_t
76080  *
76081 td
76082\1e**
76083 ¡ruù_±r
76084 ,
76085
76086 114 cڡ \1e*
76087 ±r
76088
76089 size_t
76090  
76091 size
76092\12
76093 \8fg_mode
76094 ) {
76095
76096 118 cڡ 
76097 a¢_SEQUENCE_¥ecifics_t
76098  *
76099 ¥ecs
76100  = (cÚ¡\87¢_SEQUENCE_¥ecifics_\88*)
76101 td
76102 ->
76103 ¥ecifics
76104 ;
76105
76106 119 cڡ 
76107 a¢_TYPE_memb\94_t
76108  *
76109 \96em\92ts
76110  = 
76111 td
76112 ->elements;
76113
76114 124 \1e*
76115 ¡
76116  = *
76117 ¡ruù_±r
76118 ;
76119
76120 125 
76121 a¢_¡ruù_ùx_t
76122  *
76123 ùx
76124 ;
76125
76126 127 
76127 b\94_\8ev_\8fg_t
76128  
76129 \8ev_\8fg
76130 ;
76131
76132 128 
76133 a¢_dec_rv®_t
76134  
76135 rv®
76136 ;
76137
76138 130 
76139 ssize_t
76140  
76141 cÚsumed_my£lf
76142  = 0;
76143
76144 131 
76145 size_t
76146  
76147 edx
76148 ;
76149
76150 133 
76151         `ASN_DEBUG
76152 ("Decod\9ag % a SEQUENCE", 
76153 td
76154 ->
76155 Çme
76156 );
76157
76158 138 if(
76159 ¡
76160  == 0) {
76161
76162 139 
76163 ¡
76164  = *
76165 ¡ruù_±r
76166  = 
76167         `CALLOC
76168 (1, 
76169 ¥ecs
76170 ->
76171 ¡ruù_size
76172 );
76173
76174 140 if(
76175 ¡
76176  == 0) {
76177
76178 141 
76179         `RETURN
76180 (
76181 RC_FAIL
76182 );
76183
76184 148 
76185 ùx
76186  = (
76187 a¢_¡ruù_ùx_t
76188  *)((\ 5*)
76189 ¡
76190  + 
76191 ¥ecs
76192 ->
76193 ùx_off£t
76194 );
76195
76196 153 \1a
76197 ùx
76198 ->
76199 pha£
76200 ) {
76201
76202 161 
76203 rv®
76204  = 
76205         `b\94_check_\8fgs
76206 (
76207 Ýt_codec_ùx
76208
76209 td
76210
76211 ùx
76212
76213 ±r
76214
76215 size
76216 ,
76217
76218 162 
76219 \8fg_mode
76220 , 1, &
76221 ùx
76222 ->
76223 Ëá
76224 , 0);
76225
76226 163 if(
76227 rv®
76228 .
76229 code
76230  !ð
76231 RC_OK
76232 ) {
76233
76234 164 
76235         `ASN_DEBUG
76236 ("%s\81agging check failed: %d",
76237
76238 165 
76239 td
76240 ->
76241 Çme
76242
76243 rv®
76244 .
76245 code
76246 );
76247
76248 166 \15 
76249 rv®
76250 ;
76251
76252 169 if(
76253 ùx
76254 ->
76255 Ëá
76256  >= 0)
76257
76258 170 
76259 ùx
76260 ->
76261 Ëá
76262  +ð
76263 rv®
76264 .
76265 cÚsumed
76266 ;
76267
76268 171 
76269         `ADVANCE
76270 (
76271 rv®
76272 .
76273 cÚsumed
76274 );
76275
76276 173 
76277         `NEXT_PHASE
76278 (
76279 ùx
76280 );
76281
76282 175 
76283         `ASN_DEBUG
76284 ("Structure consumes %ld bytes, buffer %ld",
76285
76286 176 (\13)
76287 ùx
76288 ->
76289 Ëá
76290 , (\13)
76291 size
76292 );
76293
76294 190 \ f
76295 edx
76296  = ((
76297 size_t
76298 )
76299 ùx
76300 ->
76301 ¡\95
76302  >> 1);\83dx < 
76303 td
76304 ->
76305 \96em\92ts_couÁ
76306 ;
76307
76308 191 
76309 edx
76310 ++, 
76311 ùx
76312 ->
76313 ¡\95
76314  = (ctx->step & ~1) + 2) {
76315
76316 192 \1e*
76317 memb_±r
76318 ;
76319
76320 193 \1e**
76321 memb_±r2
76322 ;
76323
76324 194 
76325 ssize_t
76326  
76327 \8fg_Ën
76328 ;
76329
76330 195 
76331 size_t
76332  
76333 Ýt_edx_\92d
76334 ;
76335
76336 196 
76337 size_t
76338  
76339 n
76340 ;
76341
76342 197 \12
76343 u£_b£¬ch
76344 ;
76345
76346 199 if(
76347 ùx
76348 ->
76349 ¡\95
76350  & 1)
76351
76352 200 \10
76353 miüÝha£2
76354 ;
76355
76356 205 
76357         `ASN_DEBUG
76358 ("IÀ% SEQUENCE\86eá %d,\83dx=%" 
76359 ASN_PRI_SIZE
76360  " flags=%d"
76361
76362 207 
76363 td
76364 ->
76365 Çme
76366 , (\12)
76367 ùx
76368 ->
76369 Ëá
76370
76371 edx
76372 ,
76373
76374 208 
76375 \96em\92ts
76376 [
76377 edx
76378 ].
76379 æags
76380 ,\83Ëm\92ts[edx].
76381 ÝtiÚ®
76382 ,
76383
76384 209 
76385 td
76386 ->
76387 \96em\92ts_couÁ
76388 );
76389
76390 211 if(
76391 ùx
76392 ->
76393 Ëá
76394  == 0
76395
76396 214 (
76397 edx
76398  + 
76399 \96em\92ts
76400 [edx].
76401 ÝtiÚ®
76402  =ð
76403 td
76404 ->
76405 \96em\92ts_couÁ
76406 ) ||
76407
76408 216 
76409         `IN_EXTENSION_GROUP
76410 (
76411 ¥ecs
76412
76413 edx
76414 ))) {
76415
76416 217 
76417         `ASN_DEBUG
76418 ("End oàSEQUENCE %s", 
76419 td
76420 ->
76421 Çme
76422 );
76423
76424 221 
76425         `PHASE_OUT
76426 (
76427 ùx
76428 );
76429
76430 222 
76431         `RETURN
76432 (
76433 RC_OK
76434 );
76435
76436 228 
76437 \8fg_Ën
76438  = 
76439         `b\94_ãtch_\8fg
76440 (
76441 ±r
76442
76443 LEFT
76444 , &
76445 \8ev_\8fg
76446 );
76447
76448 229 
76449         `ASN_DEBUG
76450 ("Cu¼\92\88\8fg iÀ% SEQUENCE fÜ\83Ëm\92\88%" 
76451 ASN_PRI_SIZE
76452  " "
76453
76454 231 
76455 td
76456 ->
76457 Çme
76458
76459 edx
76460
76461 \96em\92ts
76462 [edx].name,
76463
76464 232 
76465         `b\94_\8ev_\8fg_¡r\9ag
76466 (
76467 \8ev_\8fg
76468 ), (\12)
76469 \8fg_Ën
76470 , (\13)
76471 LEFT
76472 );
76473
76474 233 \1a
76475 \8fg_Ën
76476 ) {
76477
76478 234 \ 40: if(!
76479 SIZE_VIOLATION
76480 è
76481         `RETURN
76482 (
76483 RC_WMORE
76484 );
76485
76486 236 \ 4-1: 
76487         `RETURN
76488 (
76489 RC_FAIL
76490 );
76491
76492 239 if(
76493 ùx
76494 ->
76495 Ëá
76496  < 0 && ((cڡ 
76497 u\9at8_t
76498  *)
76499 ±r
76500 )[0] == 0) {
76501
76502 240 if(
76503 LEFT
76504  < 2) {
76505
76506 241 if(
76507 SIZE_VIOLATION
76508 ) {
76509
76510 242 
76511         `RETURN
76512 (
76513 RC_FAIL
76514 );
76515
76516 244 
76517         `RETURN
76518 (
76519 RC_WMORE
76520 );
76521
76522 246 } \vif(((cڡ 
76523 u\9at8_t
76524  *)
76525 ±r
76526 )[1] == 0) {
76527
76528 247 
76529         `ASN_DEBUG
76530 ("edx = %" 
76531 ASN_PRI_SIZE
76532  ", o± = %d,\83c=%d", 
76533 edx
76534 ,
76535
76536 248 
76537 \96em\92ts
76538 [
76539 edx
76540 ].
76541 ÝtiÚ®
76542
76543 td
76544 ->
76545 \96em\92ts_couÁ
76546 );
76547
76548 249 if((
76549 edx
76550  + 
76551 \96em\92ts
76552 [edx].
76553 ÝtiÚ®
76554  =ð
76555 td
76556 ->
76557 \96em\92ts_couÁ
76558 )
76559
76560 250 || 
76561         `IN_EXTENSION_GROUP
76562 (
76563 ¥ecs
76564
76565 edx
76566 )) {
76567
76568 260 \10
76569 pha£3
76570 ;
76571
76572 268 
76573 u£_b£¬ch
76574  = 0;
76575
76576 269 
76577 Ýt_edx_\92d
76578  = 
76579 edx
76580  + 
76581 \96em\92ts
76582 [edx].
76583 ÝtiÚ®
76584  + 1;
76585
76586 270 if(
76587 Ýt_edx_\92d
76588  > 
76589 td
76590 ->
76591 \96em\92ts_couÁ
76592 )
76593
76594 271 
76595 Ýt_edx_\92d
76596  = 
76597 td
76598 ->
76599 \96em\92ts_couÁ
76600 ;
76601
76602 272 \vif(
76603 Ýt_edx_\92d
76604  - 
76605 edx
76606  > 8) {
76607
76608 274 
76609 Ýt_edx_\92d
76610  = 
76611 edx
76612  + 8;
76613
76614 275 
76615 u£_b£¬ch
76616  = 1;
76617
76618 278 \ f
76619 n
76620  = 
76621 edx
76622 ;\82 < 
76623 Ýt_edx_\92d
76624 ;\82++) {
76625
76626 279 if(
76627         `BER_TAGS_EQUAL
76628 (
76629 \8ev_\8fg
76630
76631 \96em\92ts
76632 [
76633 n
76634 ].
76635 \8fg
76636 )) {
76637
76638 285 
76639 edx
76640  = 
76641 n
76642 ;
76643
76644 286 
76645 ùx
76646 ->
76647 ¡\95
76648  = 1 + 2 * 
76649 edx
76650 ;
76651
76652 287 \10
76653 miüÝha£2
76654 ;
76655
76656 288 } \vif(
76657 \96em\92ts
76658 [
76659 n
76660 ].
76661 æags
76662  & 
76663 ATF_ANY_TYPE
76664 ) {
76665
76666 293 
76667 edx
76668  = 
76669 n
76670 ;
76671
76672 294 
76673 ùx
76674 ->
76675 ¡\95
76676  = 1 + 2 * 
76677 edx
76678 ;
76679
76680 295 \10
76681 miüÝha£2
76682 ;
76683
76684 296 } \vif(
76685 \96em\92ts
76686 [
76687 n
76688 ].
76689 \8fg
76690  =ð(
76691 b\94_\8ev_\8fg_t
76692 )-1) {
76693
76694 297 
76695 u£_b£¬ch
76696  = 1;
76697
76698 301 if(
76699 u£_b£¬ch
76700 ) {
76701
76702 306 cڡ 
76703 a¢_TYPE_\8fg2memb\94_t
76704  *
76705 t2m
76706 ;
76707
76708 307 
76709 a¢_TYPE_\8fg2memb\94_t
76710  
76711 key
76712  = {0, 0, 0, 0};
76713
76714 308 
76715 key
76716 .
76717 \96_\8fg
76718  = 
76719 \8ev_\8fg
76720 ;
76721
76722 309 
76723 key
76724 .
76725 \96_no
76726  = 
76727 edx
76728 ;
76729
76730 310 
76731 t2m
76732  = (cڡ 
76733 a¢_TYPE_\8fg2memb\94_t
76734  *)
76735         `b£¬ch
76736 (&
76737 key
76738 ,
76739
76740 311 
76741 ¥ecs
76742 ->
76743 \8fg2\96
76744 , s³cs->
76745 \8fg2\96_couÁ
76746 ,
76747
76748 312 \17(
76749 ¥ecs
76750 ->
76751 \8fg2\96
76752 [0]), 
76753 _t2e_cmp
76754 );
76755
76756 313 if(
76757 t2m
76758 ) {
76759
76760 314 cڡ 
76761 a¢_TYPE_\8fg2memb\94_t
76762  *
76763 be¡
76764  = 0;
76765
76766 315 cڡ 
76767 a¢_TYPE_\8fg2memb\94_t
76768  *
76769 t2m_f
76770 , *
76771 t2m_l
76772 ;
76773
76774 316 
76775 size_t
76776  
76777 edx_max
76778  = 
76779 edx
76780  + 
76781 \96em\92ts
76782 [edx].
76783 ÝtiÚ®
76784 ;
76785
76786 321 
76787 t2m_f
76788  = 
76789 t2m
76790  +\812m->
76791 toff_f\9c¡
76792 ;
76793
76794 322 
76795 t2m_l
76796  = 
76797 t2m
76798  +\812m->
76799 toff_ϡ
76800 ;
76801
76802 323 \ f
76803 t2m
76804  = 
76805 t2m_f
76806 ;\812m <ð
76807 t2m_l
76808 ;\812m++) {
76809
76810 324 if(
76811 t2m
76812 ->
76813 \96_no
76814  > 
76815 edx_max
76816\ 3;
76817
76818 325 if(
76819 t2m
76820 ->
76821 \96_no
76822  < 
76823 edx
76824\ 6;
76825
76826 326 
76827 be¡
76828  = 
76829 t2m
76830 ;
76831
76832 328 if(
76833 be¡
76834 ) {
76835
76836 329 
76837 edx
76838  = 
76839 be¡
76840 ->
76841 \96_no
76842 ;
76843
76844 330 
76845 ùx
76846 ->
76847 ¡\95
76848  = 1 + 2 * 
76849 edx
76850 ;
76851
76852 331 \10
76853 miüÝha£2
76854 ;
76855
76856 334 
76857 n
76858  = 
76859 Ýt_edx_\92d
76860 ;
76861
76862 336 if(
76863 n
76864  =ð
76865 Ýt_edx_\92d
76866 ) {
76867
76868 343 if(!
76869         `IN_EXTENSION_GROUP
76870 (
76871 ¥ecs
76872 ,
76873
76874 344 
76875 edx
76876  + 
76877 \96em\92ts
76878 [edx].
76879 ÝtiÚ®
76880 )) {
76881
76882 345 
76883         `ASN_DEBUG
76884 ("UÃx³ùed\81ag % ×\88%" 
76885 ASN_PRI_SIZE
76886  ")",
76887
76888 346 
76889         `b\94_\8ev_\8fg_¡r\9ag
76890 (
76891 \8ev_\8fg
76892 ), 
76893 edx
76894 );
76895
76896 347 
76897         `ASN_DEBUG
76898 ("Expected\81ag %s (%s)%s",
76899
76900 348 
76901         `b\94_\8ev_\8fg_¡r\9ag
76902 (
76903 \96em\92ts
76904 [
76905 edx
76906 ].
76907 \8fg
76908 ),
76909
76910 349 
76911 \96em\92ts
76912 [
76913 edx
76914 ].
76915 Çme
76916 ,
76917
76918 350 
76919 \96em\92ts
76920 [
76921 edx
76922 ].
76923 ÝtiÚ®
76924
76925
76926 352 
76927         `RETURN
76928 (
76929 RC_FAIL
76930 );
76931
76932 355 
76933 ssize_t
76934  
76935 sk\9d
76936 ;
76937
76938 356 
76939 edx
76940  +ð
76941 \96em\92ts
76942 [edx].
76943 ÝtiÚ®
76944 ;
76945
76946 358 
76947         `ASN_DEBUG
76948 ("Sk\9dp\9ag uÃx³ùed % ×\88%" 
76949 ASN_PRI_SIZE
76950  ")",
76951
76952 359 
76953         `b\94_\8ev_\8fg_¡r\9ag
76954 (
76955 \8ev_\8fg
76956 ), 
76957 edx
76958 );
76959
76960 360 
76961 sk\9d
76962  = 
76963         `b\94_sk\9d_Ëngth
76964 (
76965 Ýt_codec_ùx
76966 ,
76967
76968 361 
76969         `BER_TLV_CONSTRUCTED
76970 (
76971 ±r
76972 ),
76973
76974 362 (cڡ \ 5*)
76975 ±r
76976  + 
76977 \8fg_Ën
76978 ,
76979
76980 363 
76981 LEFT
76982  - 
76983 \8fg_Ën
76984 );
76985
76986 364 
76987         `ASN_DEBUG
76988 ("Skip\86ength %d in %s",
76989
76990 365 (\12)
76991 sk\9d
76992
76993 td
76994 ->
76995 Çme
76996 );
76997
76998 366 \1a
76999 sk\9d
77000 ) {
77001
77002 367 \ 40: if(!
77003 SIZE_VIOLATION
77004 è
77005         `RETURN
77006 (
77007 RC_WMORE
77008 );
77009
77010 369 \ 4-1: 
77011         `RETURN
77012 (
77013 RC_FAIL
77014 );
77015
77016 372 
77017         `ADVANCE
77018 (
77019 sk\9d
77020  + 
77021 \8fg_Ën
77022 );
77023
77024 373 
77025 ùx
77026 ->
77027 ¡\95
77028  -= 2;
77029
77030 374 
77031 edx
77032 --;
77033
77034 382 
77035 ùx
77036 ->
77037 ¡\95
77038  |= 1;
77039
77040 383 
77041 miüÝha£2
77042 :
77043
77044 384 
77045         `ASN_DEBUG
77046 ("Insid\90SEQUENCE % MF2", 
77047 td
77048 ->
77049 Çme
77050 );
77051
77052 391 if(
77053 \96em\92ts
77054 [
77055 edx
77056 ].
77057 æags
77058  & 
77059 ATF_POINTER
77060 ) {
77061
77062 393 
77063 memb_±r2
77064  = (\1e**)((\ 5*)
77065 ¡
77066  + 
77067 \96em\92ts
77068 [
77069 edx
77070 ].
77071 memb_off£t
77072 );
77073
77074 399 
77075 memb_±r
77076  = (\ 5*)
77077 ¡
77078  + 
77079 \96em\92ts
77080 [
77081 edx
77082 ].
77083 memb_off£t
77084 ;
77085
77086 400 
77087 memb_±r2
77088  = &
77089 memb_±r
77090 ;
77091
77092 405 if(
77093 \96em\92ts
77094 [
77095 edx
77096 ].
77097 æags
77098  & 
77099 ATF_OPEN_TYPE
77100 ) {
77101
77102 406 
77103 rv®
77104  = 
77105         `OPEN_TYPE_b\94_g\91
77106 (
77107 Ýt_codec_ùx
77108
77109 td
77110
77111 ¡
77112 , &
77113 \96em\92ts
77114 [
77115 edx
77116 ], 
77117 ±r
77118
77119 LEFT
77120 );
77121
77122 408 
77123 rv®
77124  = 
77125 \96em\92ts
77126 [
77127 edx
77128 ].
77129 ty³
77130 ->
77131 Ý
77132 ->
77133         `b\94_decod\94
77134 (
77135 Ýt_codec_ùx
77136 ,
77137
77138 409 
77139 \96em\92ts
77140 [
77141 edx
77142 ].
77143 ty³
77144 ,
77145
77146 410 
77147 memb_±r2
77148
77149 ±r
77150
77151 LEFT
77152 ,
77153
77154 411 
77155 \96em\92ts
77156 [
77157 edx
77158 ].
77159 \8fg_mode
77160 );
77161
77162 413 
77163         `ASN_DEBUG
77164 ("IÀ% SEQUENCE decoded %" 
77165 ASN_PRI_SIZE
77166  " %s of %d "
77167
77168 415 
77169 td
77170 ->
77171 Çme
77172
77173 edx
77174
77175 \96em\92ts
77176 [edx].
77177 ty³
77178 ->name,
77179
77180 416 (\12)
77181 LEFT
77182 , (\12)
77183 rv®
77184 .
77185 cÚsumed
77186 ,\84v®.
77187 code
77188 , (\12)
77189 size
77190 );
77191
77192 417 \1a
77193 rv®
77194 .
77195 code
77196 ) {
77197
77198 418 \ 4
77199 RC_OK
77200 :
77201
77202 420 \ 4
77203 RC_WMORE
77204 :
77205
77206 421 if(!
77207 SIZE_VIOLATION
77208 ) {
77209
77210 422 
77211         `ADVANCE
77212 (
77213 rv®
77214 .
77215 cÚsumed
77216 );
77217
77218 423 
77219         `RETURN
77220 (
77221 RC_WMORE
77222 );
77223
77224 425 
77225         `ASN_DEBUG
77226 ("Size violation (c->l=%ld <= s=%ld)",
77227
77228 426 (\13)
77229 ùx
77230 ->
77231 Ëá
77232 , (\13)
77233 size
77234 );
77235
77236 428 \ 4
77237 RC_FAIL
77238 :
77239
77240 429 
77241         `RETURN
77242 (
77243 RC_FAIL
77244 );
77245
77246 432 
77247         `ADVANCE
77248 (
77249 rv®
77250 .
77251 cÚsumed
77252 );
77253
77254 435 
77255 pha£3
77256 :
77257
77258 436 
77259 ùx
77260 ->
77261 pha£
77262  = 3;
77263
77264 441 
77265         `ASN_DEBUG
77266 ("SEQUENCE %s Leftover: %ld, size = %ld",
77267
77268 442 
77269 td
77270 ->
77271 Çme
77272 , (\13)
77273 ùx
77274 ->
77275 Ëá
77276 , (\13)
77277 size
77278 );
77279
77280 447 \1f
77281 ùx
77282 ->
77283 Ëá
77284 ) {
77285
77286 448 
77287 ssize_t
77288  
77289 \8e
77290
77291 Î
77292 ;
77293
77294 450 
77295 \8e
77296  = 
77297         `b\94_ãtch_\8fg
77298 (
77299 ±r
77300
77301 LEFT
77302 , &
77303 \8ev_\8fg
77304 );
77305
77306 451 \1a
77307 \8e
77308 ) {
77309
77310 452 \ 40: if(!
77311 SIZE_VIOLATION
77312 è
77313         `RETURN
77314 (
77315 RC_WMORE
77316 );
77317
77318 454 \ 4-1: 
77319         `RETURN
77320 (
77321 RC_FAIL
77322 );
77323
77324 460 if(
77325 ùx
77326 ->
77327 Ëá
77328  < 0
77329
77330 461 && ((cڡ 
77331 u\9at8_t
77332  *)
77333 ±r
77334 )[0] == 0) {
77335
77336 462 if(
77337 LEFT
77338  < 2) {
77339
77340 463 if(
77341 SIZE_VIOLATION
77342 )
77343
77344 464 
77345         `RETURN
77346 (
77347 RC_FAIL
77348 );
77349
77350 466 
77351         `RETURN
77352 (
77353 RC_WMORE
77354 );
77355
77356 467 } \vif(((cڡ 
77357 u\9at8_t
77358  *)
77359 ±r
77360 )[1] == 0) {
77361
77362 471 
77363         `ADVANCE
77364 (2);
77365
77366 472 
77367 ùx
77368 ->
77369 Ëá
77370 ++;
77371
77372 473 
77373 ùx
77374 ->
77375 pha£
77376  = 4;
77377
77378 478 if(!
77379         `IN_EXTENSION_GROUP
77380 (
77381 ¥ecs
77382
77383 td
77384 ->
77385 \96em\92ts_couÁ
77386 )
77387
77388 479 || 
77389 ùx
77390 ->
77391 pha£
77392  == 4) {
77393
77394 480 
77395         `ASN_DEBUG
77396 ("Unexpected continuation "
77397
77398 483 
77399 td
77400 ->
77401 Çme
77402 ,
77403
77404 484 
77405         `b\94_\8ev_\8fg_¡r\9ag
77406 (
77407 \8ev_\8fg
77408 ));
77409
77410 485 
77411         `RETURN
77412 (
77413 RC_FAIL
77414 );
77415
77416 488 
77417 Î
77418  = 
77419         `b\94_sk\9d_Ëngth
77420 (
77421 Ýt_codec_ùx
77422 ,
77423
77424 489 
77425         `BER_TLV_CONSTRUCTED
77426 (
77427 ±r
77428 ),
77429
77430 490 (cڡ \ 5*)
77431 ±r
77432  + 
77433 \8e
77434
77435 LEFT
77436  -\81l);
77437
77438 491 \1a
77439 Î
77440 ) {
77441
77442 492 \ 40: if(!
77443 SIZE_VIOLATION
77444 è
77445         `RETURN
77446 (
77447 RC_WMORE
77448 );
77449
77450 494 \ 4-1: 
77451         `RETURN
77452 (
77453 RC_FAIL
77454 );
77455
77456 497 
77457         `ADVANCE
77458 (
77459 \8e
77460  + 
77461 Î
77462 );
77463
77464 500 
77465         `PHASE_OUT
77466 (
77467 ùx
77468 );
77469
77470 503 
77471         `RETURN
77472 (
77473 RC_OK
77474 );
77475
77476 504 
77477         }
77478 }
77479
77480 510 
77481 a¢_\92c_rv®_t
77482
77483
77484 511 
77485         $SEQUENCE_\92code_d\94
77486 (cڡ 
77487 a¢_TYPE_desü\9dtÜ_t
77488  *
77489 td
77490 , cڡ \1e*
77491 ¥\8c
77492 ,
77493
77494 512 \12
77495 \8fg_mode
77496
77497 b\94_\8ev_\8fg_t
77498  
77499 \8fg
77500 ,
77501
77502 513 
77503 a¢_­p_cÚsume_by\8bs_f
77504  *
77505 cb
77506\1e*
77507 ­p_key
77508 ) {
77509
77510 514 
77511 size_t
77512  
77513 compu\8bd_size
77514  = 0;
77515
77516 515 
77517 a¢_\92c_rv®_t
77518  
77519 \94
77520  = {0,0,0};
77521
77522 516 
77523 ssize_t
77524  
77525 »t
77526 ;
77527
77528 517 
77529 size_t
77530  
77531 edx
77532 ;
77533
77534 519 
77535         `ASN_DEBUG
77536 ("%s %s\87s SEQUENCE",
77537
77538 520 
77539 cb
77540 ?"Encod\9ag":"E¡im©\9ag", 
77541 td
77542 ->
77543 Çme
77544 );
77545
77546 525 \ f
77547 edx
77548  = 0;\83dx < 
77549 td
77550 ->
77551 \96em\92ts_couÁ
77552 ;\83dx++) {
77553
77554 526 
77555 a¢_TYPE_memb\94_t
77556  *
77557 \96m
77558  = &
77559 td
77560 ->
77561 \96em\92ts
77562 [
77563 edx
77564 ];
77565
77566 528 cڡ \1e*
77567 memb_±r
77568 ;
77569
77570 529 cڡ \1e*cڡ *
77571 memb_±r2
77572 ;
77573
77574 531 if(
77575 \96m
77576 ->
77577 æags
77578  & 
77579 ATF_POINTER
77580 ) {
77581
77582 532 
77583 memb_±r2
77584  =
77585
77586 533 (cڡ \1e*cڡ *)((cڡ \ 5*)
77587 ¥\8c
77588  + 
77589 \96m
77590 ->
77591 memb_off£t
77592 );
77593
77594 534 if(!*
77595 memb_±r2
77596 ) {
77597
77598 535 
77599         `ASN_DEBUG
77600 ("EËm\92\88% %" 
77601 ASN_PRI_SIZE
77602  "\82ot\85resent",
77603
77604 536 
77605 \96m
77606 ->
77607 Çme
77608
77609 edx
77610 );
77611
77612 537 if(
77613 \96m
77614 ->
77615 ÝtiÚ®
77616 )
77617
77618 540 
77619 ASN__ENCODE_FAILED
77620 ;
77621
77622 543 
77623 memb_±r
77624  = (cڡ \1e*)((cڡ \ 5*)
77625 ¥\8c
77626  + 
77627 \96m
77628 ->
77629 memb_off£t
77630 );
77631
77632 544 
77633 memb_±r2
77634  = &
77635 memb_±r
77636 ;
77637
77638 548 if(
77639 \96m
77640 ->
77641 deçuÉ_v®ue_cmp
77642  &&\83lm->
77643         `deçuÉ_v®ue_cmp
77644 (*
77645 memb_±r2
77646 ) == 0)
77647
77648 551 
77649 \94
77650  = 
77651 \96m
77652 ->
77653 ty³
77654 ->
77655 Ý
77656 ->
77657         `d\94_\92cod\94
77658 Ólm->ty³, *
77659 memb_±r2
77660 ,
77661
77662 552 
77663 \96m
77664 ->
77665 \8fg_mode
77666 ,\83lm->
77667 \8fg
77668 ,
77669
77670 554 if(
77671 \94
77672 .
77673 \92coded
77674  == -1)
77675
77676 555 \15 
77677 \94
77678 ;
77679
77680 556 
77681 compu\8bd_size
77682  +ð
77683 \94
77684 .
77685 \92coded
77686 ;
77687
77688 557 
77689         `ASN_DEBUG
77690 ("Memb\94 %" 
77691 ASN_PRI_SIZE
77692  " %s\83stimated %ld bytes",
77693
77694 558 
77695 edx
77696
77697 \96m
77698 ->
77699 Çme
77700 , (\13)
77701 \94
77702 .
77703 \92coded
77704 );
77705
77706 564 
77707 »t
77708  = 
77709         `d\94_wr\99e_\8fgs
77710 (
77711 td
77712
77713 compu\8bd_size
77714
77715 \8fg_mode
77716 , 1, 
77717 \8fg
77718
77719 cb
77720
77721 ­p_key
77722 );
77723
77724 565 
77725         `ASN_DEBUG
77726 ("WrÙ\90\8fgs: %ld (+%ld)", (\13)
77727 »t
77728 , (\13)
77729 compu\8bd_size
77730 );
77731
77732 566 if(
77733 »t
77734  == -1)
77735
77736 567 
77737 ASN__ENCODE_FAILED
77738 ;
77739
77740 568 
77741 \94
77742 .
77743 \92coded
77744  = 
77745 compu\8bd_size
77746  + 
77747 »t
77748 ;
77749
77750 570 if(!
77751 cb
77752 è
77753         `ASN__ENCODED_OK
77754 (
77755 \94
77756 );
77757
77758 575 \ f
77759 edx
77760  = 0;\83dx < 
77761 td
77762 ->
77763 \96em\92ts_couÁ
77764 ;\83dx++) {
77765
77766 576 
77767 a¢_TYPE_memb\94_t
77768  *
77769 \96m
77770  = &
77771 td
77772 ->
77773 \96em\92ts
77774 [
77775 edx
77776 ];
77777
77778 577 
77779 a¢_\92c_rv®_t
77780  
77781 tm³rv®
77782  = {0,0,0};
77783
77784 578 cڡ \1e*
77785 memb_±r
77786 ;
77787
77788 579 cڡ \1e*cڡ *
77789 memb_±r2
77790 ;
77791
77792 581 if(
77793 \96m
77794 ->
77795 æags
77796  & 
77797 ATF_POINTER
77798 ) {
77799
77800 582 
77801 memb_±r2
77802  =
77803
77804 583 (cڡ \1e*cڡ *)((cڡ \ 5*)
77805 ¥\8c
77806  + 
77807 \96m
77808 ->
77809 memb_off£t
77810 );
77811
77812 584 if(!*
77813 memb_±r2
77814\ 6;
77815
77816 586 
77817 memb_±r
77818  = (cڡ \1e*)((cڡ \ 5*)
77819 ¥\8c
77820  + 
77821 \96m
77822 ->
77823 memb_off£t
77824 );
77825
77826 587 
77827 memb_±r2
77828  = &
77829 memb_±r
77830 ;
77831
77832 591 if(
77833 \96m
77834 ->
77835 deçuÉ_v®ue_cmp
77836  &&\83lm->
77837         `deçuÉ_v®ue_cmp
77838 (*
77839 memb_±r2
77840 ) == 0)
77841
77842 594 
77843 tm³rv®
77844  = 
77845 \96m
77846 ->
77847 ty³
77848 ->
77849 Ý
77850 ->
77851         `d\94_\92cod\94
77852 Ólm->ty³, *
77853 memb_±r2
77854 ,
77855
77856 595 
77857 \96m
77858 ->
77859 \8fg_mode
77860 ,\83lm->
77861 \8fg
77862
77863 cb
77864
77865 ­p_key
77866 );
77867
77868 596 if(
77869 tm³rv®
77870 .
77871 \92coded
77872  == -1)
77873
77874 597 \15 
77875 tm³rv®
77876 ;
77877
77878 598 
77879 compu\8bd_size
77880  -ð
77881 tm³rv®
77882 .
77883 \92coded
77884 ;
77885
77886 599 
77887         `ASN_DEBUG
77888 ("Memb\94 %" 
77889 ASN_PRI_SIZE
77890  " %s of SEQUENCE %s\83ncoded in %ld bytes",
77891
77892 600 
77893 edx
77894
77895 \96m
77896 ->
77897 Çme
77898
77899 td
77900 ->Çme, (\13)
77901 tm³rv®
77902 .
77903 \92coded
77904 );
77905
77906 603 if(
77907 compu\8bd_size
77908  != 0)
77909
77910 607 
77911 ASN__ENCODE_FAILED
77912 ;
77913
77914 609 
77915         `ASN__ENCODED_OK
77916 (
77917 \94
77918 );
77919
77920 610 
77921         }
77922 }
77923
77924 613 #undeà
77925 XER_ADVANCE
77926
77927
77928 614 \ 1
77929         #XER_ADVANCE
77930 (
77931 num_by\8bs
77932 ) \
77933
77934 616 
77935 size_t
77936  
77937 num
77938  = (
77939 num_by\8bs
77940 ); \
77941
77942 617 
77943 ±r
77944  = ((cÚ¡ \ 5\8cè+ 
77945 num
77946 ; \
77947
77948 618 
77949 size
77950  -ð
77951 num
77952 ; \
77953
77954 619 
77955 cÚsumed_my£lf
77956  +ð
77957 num
77958 ; \
77959
77960 620 } \1f0)
77961
77962         )
77963
77964 625 
77965 a¢_dec_rv®_t
77966
77967
77968 626 
77969         $SEQUENCE_decode_x\94
77970 (cڡ 
77971 a¢_codec_ùx_t
77972  *
77973 Ýt_codec_ùx
77974 ,
77975
77976 627 cڡ 
77977 a¢_TYPE_desü\9dtÜ_t
77978  *
77979 td
77980\1e**
77981 ¡ruù_±r
77982 ,
77983
77984 628 cڡ \ 5*
77985 Ýt_mÇme
77986 , cڡ \1e*
77987 ±r
77988
77989 size_t
77990  
77991 size
77992 ) {
77993
77994 632 cڡ 
77995 a¢_SEQUENCE_¥ecifics_t
77996  *
77997 ¥ecs
77998
77999
78000 633 ð(cÚ¡ 
78001 a¢_SEQUENCE_¥ecifics_t
78002  *)
78003 td
78004 ->
78005 ¥ecifics
78006 ;
78007
78008 634 
78009 a¢_TYPE_memb\94_t
78010  *
78011 \96em\92ts
78012  = 
78013 td
78014 ->elements;
78015
78016 635 cڡ \ 5*
78017 xml_\8fg
78018  = 
78019 Ýt_mÇme
78020  ? o±_mÇm\90
78021 td
78022 ->xml_tag;
78023
78024 640 \1e*
78025 ¡
78026  = *
78027 ¡ruù_±r
78028 ;
78029
78030 641 
78031 a¢_¡ruù_ùx_t
78032  *
78033 ùx
78034 ;
78035
78036 643 
78037 a¢_dec_rv®_t
78038  
78039 rv®
78040 ;
78041
78042 644 
78043 ssize_t
78044  
78045 cÚsumed_my£lf
78046  = 0;
78047
78048 645 
78049 size_t
78050  
78051 edx
78052 ;
78053
78054 650 if(
78055 ¡
78056  == 0) {
78057
78058 651 
78059 ¡
78060  = *
78061 ¡ruù_±r
78062  = 
78063         `CALLOC
78064 (1, 
78065 ¥ecs
78066 ->
78067 ¡ruù_size
78068 );
78069
78070 652 if(
78071 ¡
78072  =ð0è
78073         `RETURN
78074 (
78075 RC_FAIL
78076 );
78077
78078 658 
78079 ùx
78080  = (
78081 a¢_¡ruù_ùx_t
78082  *)((\ 5*)
78083 ¡
78084  + 
78085 ¥ecs
78086 ->
78087 ùx_off£t
78088 );
78089
78090 669 \ f
78091 edx
78092  = 
78093 ùx
78094 ->
78095 ¡\95
78096 ; ctx->
78097 pha£
78098  <= 3;) {
78099
78100 670 
78101 px\94_chunk_ty³_e
78102  
78103 ch_ty³
78104 ;
78105
78106 671 
78107 ssize_t
78108  
78109 ch_size
78110 ;
78111
78112 672 
78113 x\94_check_\8fg_e
78114  
78115 tcv
78116 ;
78117
78118 673 
78119 a¢_TYPE_memb\94_t
78120  *
78121 \96m
78122 ;
78123
78124 678 if(
78125 ùx
78126 ->
78127 pha£
78128  == 2) {
78129
78130 679 
78131 a¢_dec_rv®_t
78132  
78133 tm´v®
78134 ;
78135
78136 680 \1e*
78137 memb_±r_dÚtu£
78138 ;
78139
78140 681 \1e**
78141 memb_±r2
78142 ;
78143
78144 683 
78145 \96m
78146  = &
78147 td
78148 ->
78149 \96em\92ts
78150 [
78151 edx
78152 ];
78153
78154 685 if(
78155 \96m
78156 ->
78157 æags
78158  & 
78159 ATF_POINTER
78160 ) {
78161
78162 687 
78163 memb_±r2
78164  = (\1e**)((\ 5*)
78165 ¡
78166  + 
78167 \96m
78168 ->
78169 memb_off£t
78170 );
78171
78172 689 
78173 memb_±r_dÚtu£
78174  = (\ 5*)
78175 ¡
78176  + 
78177 \96m
78178 ->
78179 memb_off£t
78180 ;
78181
78182 690 
78183 memb_±r2
78184  = &
78185 memb_±r_dÚtu£
78186 ;
78187
78188 693 if(
78189 \96m
78190 ->
78191 æags
78192  & 
78193 ATF_OPEN_TYPE
78194 ) {
78195
78196 694 
78197 tm´v®
78198  = 
78199         `OPEN_TYPE_x\94_g\91
78200 (
78201 Ýt_codec_ùx
78202
78203 td
78204
78205 ¡
78206
78207 \96m
78208
78209 ±r
78210
78211 size
78212 );
78213
78214 697 
78215 tm´v®
78216  = 
78217 \96m
78218 ->
78219 ty³
78220 ->
78221 Ý
78222 ->
78223         `x\94_decod\94
78224 (
78225 Ýt_codec_ùx
78226 ,
78227
78228 698 
78229 \96m
78230 ->
78231 ty³
78232
78233 memb_±r2
78234 ,\83lm->
78235 Çme
78236 ,
78237
78238 699 
78239 ±r
78240
78241 size
78242 );
78243
78244 701 
78245         `XER_ADVANCE
78246 (
78247 tm´v®
78248 .
78249 cÚsumed
78250 );
78251
78252 702 if(
78253 tm´v®
78254 .
78255 code
78256  !ð
78257 RC_OK
78258 )
78259
78260 703 
78261         `RETURN
78262 (
78263 tm´v®
78264 .
78265 code
78266 );
78267
78268 704 
78269 ùx
78270 ->
78271 pha£
78272  = 1;
78273
78274 705 
78275 ùx
78276 ->
78277 ¡\95
78278  = ++
78279 edx
78280 ;
78281
78282 706 
78283         `ASN_DEBUG
78284 ("XER/SEQUENCE\85hase => %d, step => %d",
78285
78286 707 
78287 ùx
78288 ->
78289 pha£
78290 , ctx->
78291 ¡\95
78292 );
78293
78294 714 
78295 ch_size
78296  = 
78297         `x\94_Ãxt_tok\92
78298 (&
78299 ùx
78300 ->
78301 cڋxt
78302
78303 ±r
78304
78305 size
78306 ,
78307
78308 715 &
78309 ch_ty³
78310 );
78311
78312 716 if(
78313 ch_size
78314  == -1) {
78315
78316 717 
78317         `RETURN
78318 (
78319 RC_FAIL
78320 );
78321
78322 719 \1a
78323 ch_ty³
78324 ) {
78325
78326 720 \ 4
78327 PXER_WMORE
78328 :
78329
78330 721 
78331         `RETURN
78332 (
78333 RC_WMORE
78334 );
78335
78336 722 \ 4
78337 PXER_COMMENT
78338 :
78339
78340 723 \ 4
78341 PXER_TEXT
78342 :
78343
78344 724 
78345         `XER_ADVANCE
78346 (
78347 ch_size
78348 );
78349
78350 726 \ 4
78351 PXER_TAG
78352 :
78353
78354 731 
78355 tcv
78356  = 
78357         `x\94_check_\8fg
78358 (
78359 ±r
78360
78361 ch_size
78362
78363 xml_\8fg
78364 );
78365
78366 732 
78367         `ASN_DEBUG
78368 ("XER/SEQUENCE:\81cv = %d,\85h=%d [%s]",
78369
78370 733 
78371 tcv
78372
78373 ùx
78374 ->
78375 pha£
78376
78377 xml_\8fg
78378 );
78379
78380 736 if(
78381 ùx
78382 ->
78383 pha£
78384  == 3) {
78385
78386 737 \1a
78387         `x\94_sk\9d_unknown
78388 (
78389 tcv
78390 , &
78391 ùx
78392 ->
78393 Ëá
78394 )) {
78395
78396 739 
78397 ùx
78398 ->
78399 pha£
78400  = 4;
78401
78402 740 
78403         `RETURN
78404 (
78405 RC_FAIL
78406 );
78407
78408 742 
78409         `XER_ADVANCE
78410 (
78411 ch_size
78412 );
78413
78414 745 
78415         `XER_ADVANCE
78416 (
78417 ch_size
78418 );
78419
78420 746 
78421 ùx
78422 ->
78423 pha£
78424  = 1;
78425
78426 749 
78427 ùx
78428 ->
78429 pha£
78430  = 1;
78431
78432 754 \1a
78433 tcv
78434 ) {
78435
78436 755 \ 4
78437 XCT_CLOSING
78438 :
78439
78440 756 if(
78441 ùx
78442 ->
78443 pha£
78444  == 0) \ 3;
78445
78446 757 
78447 ùx
78448 ->
78449 pha£
78450  = 0;
78451
78452 759 \ 4
78453 XCT_BOTH
78454 :
78455
78456 760 if(
78457 ùx
78458 ->
78459 pha£
78460  == 0) {
78461
78462 761 if(
78463 edx
78464  >ð
78465 td
78466 ->
78467 \96em\92ts_couÁ
78468  ||
78469
78470 763 (
78471 edx
78472  + 
78473 \96em\92ts
78474 [edx].
78475 ÝtiÚ®
78476  =ð
78477 td
78478 ->
78479 \96em\92ts_couÁ
78480 ) ||
78481
78482 765 
78483         `IN_EXTENSION_GROUP
78484 (
78485 ¥ecs
78486
78487 edx
78488 )) {
78489
78490 766 
78491         `XER_ADVANCE
78492 (
78493 ch_size
78494 );
78495
78496 767 
78497 ùx
78498 ->
78499 pha£
78500  = 4;
78501
78502 768 
78503         `RETURN
78504 (
78505 RC_OK
78506 );
78507
78508 770 
78509         `ASN_DEBUG
78510 ("Premature\83nd of XER SEQUENCE");
78511
78512 771 
78513         `RETURN
78514 (
78515 RC_FAIL
78516 );
78517
78518 775 \ 4
78519 XCT_OPENING
78520 :
78521
78522 776 if(
78523 ùx
78524 ->
78525 pha£
78526  == 0) {
78527
78528 777 
78529         `XER_ADVANCE
78530 (
78531 ch_size
78532 );
78533
78534 778 
78535 ùx
78536 ->
78537 pha£
78538  = 1;
78539
78540 782 \ 4
78541 XCT_UNKNOWN_OP
78542 :
78543
78544 783 \ 4
78545 XCT_UNKNOWN_BO
78546 :
78547
78548 785 
78549         `ASN_DEBUG
78550 ("XER/SEQUENCE:\81cv=%d,\85h=%d,\83dx=%" 
78551 ASN_PRI_SIZE
78552  "",
78553
78554 786 
78555 tcv
78556
78557 ùx
78558 ->
78559 pha£
78560
78561 edx
78562 );
78563
78564 787 if(
78565 ùx
78566 ->
78567 pha£
78568  != 1) {
78569
78570 791 if(
78571 edx
78572  < 
78573 td
78574 ->
78575 \96em\92ts_couÁ
78576 ) {
78577
78578 795 
78579 size_t
78580  
78581 n
78582 ;
78583
78584 796 
78585 size_t
78586  
78587 edx_\92d
78588  = 
78589 edx
78590  + 
78591 \96em\92ts
78592 [edx].
78593 ÝtiÚ®
78594  + 1;
78595
78596 797 if(
78597 edx_\92d
78598  > 
78599 td
78600 ->
78601 \96em\92ts_couÁ
78602 )
78603
78604 798 
78605 edx_\92d
78606  = 
78607 td
78608 ->
78609 \96em\92ts_couÁ
78610 ;
78611
78612 799 \ f
78613 n
78614  = 
78615 edx
78616 ;\82 < 
78617 edx_\92d
78618 ;\82++) {
78619
78620 800 
78621 \96m
78622  = &
78623 td
78624 ->
78625 \96em\92ts
78626 [
78627 n
78628 ];
78629
78630 801 
78631 tcv
78632  = 
78633         `x\94_check_\8fg
78634 (
78635 ±r
78636
78637 ch_size
78638
78639 \96m
78640 ->
78641 Çme
78642 );
78643
78644 802 \1a
78645 tcv
78646 ) {
78647
78648 803 \ 4
78649 XCT_BOTH
78650 :
78651
78652 804 \ 4
78653 XCT_OPENING
78654 :
78655
78656 808 
78657 ùx
78658 ->
78659 ¡\95
78660  = 
78661 edx
78662  = 
78663 n
78664 ;
78665
78666 809 
78667 ùx
78668 ->
78669 pha£
78670  = 2;
78671
78672 811 \ 4
78673 XCT_UNKNOWN_OP
78674 :
78675
78676 812 \ 4
78677 XCT_UNKNOWN_BO
78678 :
78679
78680 815 
78681 n
78682  = 
78683 edx_\92d
78684 ;
78685
78686 820 if(
78687 n
78688  !ð
78689 edx_\92d
78690 )
78691
78692 823 
78693         `ASN_DEBUG
78694 ("Ou\88oàdef\9aed memb\94s: %" 
78695 ASN_PRI_SIZE
78696  "/%u",
78697
78698 824 
78699 edx
78700
78701 td
78702 ->
78703 \96em\92ts_couÁ
78704 );
78705
78706 828 if(
78707         `IN_EXTENSION_GROUP
78708 (
78709 ¥ecs
78710 ,
78711
78712 829 
78713 edx
78714  + (edx < 
78715 td
78716 ->
78717 \96em\92ts_couÁ
78718
78719
78720 830 ? 
78721 \96em\92ts
78722 [
78723 edx
78724 ].
78725 ÝtiÚ®
78726  : 0))) {
78727
78728 831 
78729         `ASN_DEBUG
78730 ("GÙ\87Áic\9d©ed\83x\8bnsiÚ\87\88%" 
78731 ASN_PRI_SIZE
78732  "",
78733
78734 832 
78735 edx
78736 );
78737
78738 838 if(
78739 tcv
78740  & 
78741 XCT_CLOSING
78742 ) {
78743
78744 841 
78745 ùx
78746 ->
78747 Ëá
78748  = 1;
78749
78750 842 
78751 ùx
78752 ->
78753 pha£
78754  = 3;
78755
78756 844 
78757         `XER_ADVANCE
78758 (
78759 ch_size
78760 );
78761
78762 853 
78763         `ASN_DEBUG
78764 ("Unexpected XML\81ag in SEQUENCE [%c%c%c%c%c%c]",
78765
78766 854 
78767 size
78768 >0?((cڡ \ 5*)
78769 ±r
78770 )[0]:'.',
78771
78772 855 
78773 size
78774 >1?((cڡ \ 5*)
78775 ±r
78776 )[1]:'.',
78777
78778 856 
78779 size
78780 >2?((cڡ \ 5*)
78781 ±r
78782 )[2]:'.',
78783
78784 857 
78785 size
78786 >3?((cڡ \ 5*)
78787 ±r
78788 )[3]:'.',
78789
78790 858 
78791 size
78792 >4?((cڡ \ 5*)
78793 ±r
78794 )[4]:'.',
78795
78796 859 
78797 size
78798 >5?((cڡ \ 5*)
78799 ±r
78800 )[5]:'.');
78801
78802 863 
78803 ùx
78804 ->
78805 pha£
78806  = 4;
78807
78808 864 
78809         `RETURN
78810 (
78811 RC_FAIL
78812 );
78813
78814 865 
78815         }
78816 }
78817
78818 867 
78819 a¢_\92c_rv®_t
78820
78821
78822 868 
78823         $SEQUENCE_\92code_x\94
78824 (cڡ 
78825 a¢_TYPE_desü\9dtÜ_t
78826  *
78827 td
78828 , cڡ \1e*
78829 ¥\8c
78830 ,
78831
78832 869 \12
78833 \9eev\96
78834\f
78835 x\94_\92cod\94_æags_e
78836  
78837 æags
78838 ,
78839
78840 870 
78841 a¢_­p_cÚsume_by\8bs_f
78842  *
78843 cb
78844\1e*
78845 ­p_key
78846 ) {
78847
78848 871 
78849 a¢_\92c_rv®_t
78850  
78851 \94
78852  = {0,0,0};
78853
78854 872 \12
78855 xÿn
78856  = (
78857 æags
78858  & 
78859 XER_F_CANONICAL
78860 );
78861
78862 873 
78863 a¢_TYPE_desü\9dtÜ_t
78864  *
78865 tmp_def_v®_td
78866  = 0;
78867
78868 874 \1e*
78869 tmp_def_v®
78870  = 0;
78871
78872 875 
78873 size_t
78874  
78875 edx
78876 ;
78877
78878 877 if(!
78879 ¥\8c
78880 è
78881 ASN__ENCODE_FAILED
78882 ;
78883
78884 879 
78885 \94
78886 .
78887 \92coded
78888  = 0;
78889
78890 881 \ f
78891 edx
78892  = 0;\83dx < 
78893 td
78894 ->
78895 \96em\92ts_couÁ
78896 ;\83dx++) {
78897
78898 882 
78899 a¢_\92c_rv®_t
78900  
78901 tm³r
78902  = {0,0,0};
78903
78904 883 
78905 a¢_TYPE_memb\94_t
78906  *
78907 \96m
78908  = &
78909 td
78910 ->
78911 \96em\92ts
78912 [
78913 edx
78914 ];
78915
78916 884 cڡ \1e*
78917 memb_±r
78918 ;
78919
78920 885 cڡ \ 5*
78921 mÇme
78922  = 
78923 \96m
78924 ->
78925 Çme
78926 ;
78927
78928 886 \1d\12
78929 mËn
78930  = 
78931         `¡¾\92
78932 (
78933 mÇme
78934 );
78935
78936 888 if(
78937 \96m
78938 ->
78939 æags
78940  & 
78941 ATF_POINTER
78942 ) {
78943
78944 889 
78945 memb_±r
78946  =
78947
78948 890 *(cڡ \1e*cڡ *)((cڡ \ 5*)
78949 ¥\8c
78950  + 
78951 \96m
78952 ->
78953 memb_off£t
78954 );
78955
78956 891 if(!
78957 memb_±r
78958 ) {
78959
78960 892 
78961         `as£¹
78962 (
78963 tmp_def_v®
78964  == 0);
78965
78966 893 if(
78967 \96m
78968 ->
78969 deçuÉ_v®ue_£t
78970 ) {
78971
78972 894 if(
78973 \96m
78974 ->
78975         `deçuÉ_v®ue_£t
78976 (&
78977 tmp_def_v®
78978 )) {
78979
78980 895 
78981 ASN__ENCODE_FAILED
78982 ;
78983
78984 897 
78985 memb_±r
78986  = 
78987 tmp_def_v®
78988 ;
78989
78990 898 
78991 tmp_def_v®_td
78992  = 
78993 \96m
78994 ->
78995 ty³
78996 ;
78997
78998 900 } \vif(
78999 \96m
79000 ->
79001 ÝtiÚ®
79002 ) {
79003
79004 904 
79005 ASN__ENCODE_FAILED
79006 ;
79007
79008 908 
79009 memb_±r
79010  = (cڡ \1e*)((cڡ \ 5*)
79011 ¥\8c
79012  + 
79013 \96m
79014 ->
79015 memb_off£t
79016 );
79017
79018 911 if(!
79019 xÿn
79020 è
79021         `ASN__TEXT_INDENT
79022 (1, 
79023 \9eev\96
79024 );
79025
79026 912 
79027         `ASN__CALLBACK3
79028 ("<", 1, 
79029 mÇme
79030
79031 mËn
79032 , ">", 1);
79033
79034 915 
79035 tm³r
79036  = 
79037 \96m
79038 ->
79039 ty³
79040 ->
79041 Ý
79042 ->
79043         `x\94_\92cod\94
79044 Ólm->ty³, 
79045 memb_±r
79046
79047 \9eev\96
79048  + 1,
79049
79050 916 
79051 æags
79052
79053 cb
79054
79055 ­p_key
79056 );
79057
79058 917 if(
79059 tmp_def_v®
79060 ) {
79061
79062 918 
79063         `ASN_STRUCT_FREE
79064 (*
79065 tmp_def_v®_td
79066
79067 tmp_def_v®
79068 );
79069
79070 919 
79071 tmp_def_v®
79072  = 0;
79073
79074 921 if(
79075 tm³r
79076 .
79077 \92coded
79078  == -1) \15\81mper;
79079
79080 922 
79081 \94
79082 .
79083 \92coded
79084  +ð
79085 tm³r
79086 .encoded;
79087
79088 924 
79089         `ASN__CALLBACK3
79090 ("</", 2, 
79091 mÇme
79092
79093 mËn
79094 , ">", 1);
79095
79096 927 if(!
79097 xÿn
79098 è
79099         `ASN__TEXT_INDENT
79100 (1, 
79101 \9eev\96
79102  - 1);
79103
79104 929 
79105         `ASN__ENCODED_OK
79106 (
79107 \94
79108 );
79109
79110 930 
79111 cb_ç\9eed
79112 :
79113
79114 931 if(
79115 tmp_def_v®
79116 è
79117         `ASN_STRUCT_FREE
79118 (*
79119 tmp_def_v®_td
79120 ,\81mp_def_val);
79121
79122 932 
79123 ASN__ENCODE_FAILED
79124 ;
79125
79126 933 
79127         }
79128 }
79129
79130 936 
79131         $SEQUENCE_´\9at
79132 (cڡ 
79133 a¢_TYPE_desü\9dtÜ_t
79134  *
79135 td
79136 , cڡ \1e*
79137 ¥\8c
79138\12
79139 \9eev\96
79140 ,
79141
79142 937 
79143 a¢_­p_cÚsume_by\8bs_f
79144  *
79145 cb
79146\1e*
79147 ­p_key
79148 ) {
79149
79150 938 
79151 size_t
79152  
79153 edx
79154 ;
79155
79156 939 \12
79157 »t
79158 ;
79159
79160 941 if(!
79161 ¥\8c
79162 è\15 (
79163         `cb
79164 ("<ab£Á>", 8, 
79165 ­p_key
79166 ) < 0) ? -1 : 0;
79167
79168 944 if(
79169         `cb
79170 (
79171 td
79172 ->
79173 Çme
79174
79175         `¡¾\92
79176 Ñd->Çme), 
79177 ­p_key
79178 ) < 0
79179
79180 945 || 
79181         `cb
79182 (" ::ð{", 6, 
79183 ­p_key
79184 ) < 0)
79185
79186 948 \ f
79187 edx
79188  = 0;\83dx < 
79189 td
79190 ->
79191 \96em\92ts_couÁ
79192 ;\83dx++) {
79193
79194 949 
79195 a¢_TYPE_memb\94_t
79196  *
79197 \96m
79198  = &
79199 td
79200 ->
79201 \96em\92ts
79202 [
79203 edx
79204 ];
79205
79206 950 cڡ \1e*
79207 memb_±r
79208 ;
79209
79210 952 if(
79211 \96m
79212 ->
79213 æags
79214  & 
79215 ATF_POINTER
79216 ) {
79217
79218 953 
79219 memb_±r
79220  = *(cڡ \1e* cڡ *)((cڡ \ 5*)
79221 ¥\8c
79222  + 
79223 \96m
79224 ->
79225 memb_off£t
79226 );
79227
79228 954 if(!
79229 memb_±r
79230 ) {
79231
79232 955 if(
79233 \96m
79234 ->
79235 ÝtiÚ®
79236\ 6;
79237
79238 960 
79239 memb_±r
79240  = (cڡ \1e*)((cڡ \ 5*)
79241 ¥\8c
79242  + 
79243 \96m
79244 ->
79245 memb_off£t
79246 );
79247
79248 964 
79249         `_i_INDENT
79250 (1);
79251
79252 967 if(
79253         `cb
79254 (
79255 \96m
79256 ->
79257 Çme
79258
79259         `¡¾\92
79260 Ólm->Çme), 
79261 ­p_key
79262 ) < 0
79263
79264 968 || 
79265         `cb
79266 (": ", 2, 
79267 ­p_key
79268 ) < 0)
79269
79270 972 
79271 »t
79272  = 
79273 \96m
79274 ->
79275 ty³
79276 ->
79277 Ý
79278 ->
79279         `´\9at_¡ruù
79280 Ólm->ty³, 
79281 memb_±r
79282
79283 \9eev\96
79284  + 1,
79285
79286 973 
79287 cb
79288
79289 ­p_key
79290 );
79291
79292 974 if(
79293 »t
79294\15\84et;
79295
79296 977 
79297 \9eev\96
79298 --;
79299
79300 978 
79301         `_i_INDENT
79302 (1);
79303
79304 980 \15 (
79305         `cb
79306 ("}", 1, 
79307 ­p_key
79308 ) < 0) ? -1 : 0;
79309
79310 981 
79311         }
79312 }
79313
79314 984 
79315         $SEQUENCE_ä\93
79316 (cڡ 
79317 a¢_TYPE_desü\9dtÜ_t
79318  *
79319 td
79320\1e*
79321 ¥\8c
79322 ,
79323
79324 985 \f
79325 a¢_¡ruù_ä\93_m\91hod
79326  
79327 m\91hod
79328 ) {
79329
79330 986 
79331 size_t
79332  
79333 edx
79334 ;
79335
79336 987 cڡ 
79337 a¢_SEQUENCE_¥ecifics_t
79338  *
79339 ¥ecs
79340  =
79341
79342 988 (cڡ 
79343 a¢_SEQUENCE_¥ecifics_t
79344  *)
79345 td
79346 ->
79347 ¥ecifics
79348 ;
79349
79350 989 
79351 a¢_¡ruù_ùx_t
79352  *
79353 ùx
79354 ;
79355
79356 991 if(!
79357 td
79358  || !
79359 ¥\8c
79360 )
79361
79362 994 
79363         `ASN_DEBUG
79364 ("F»e\9ag % a SEQUENCE", 
79365 td
79366 ->
79367 Çme
79368 );
79369
79370 996 \ f
79371 edx
79372  = 0;\83dx < 
79373 td
79374 ->
79375 \96em\92ts_couÁ
79376 ;\83dx++) {
79377
79378 997 
79379 a¢_TYPE_memb\94_t
79380  *
79381 \96m
79382  = &
79383 td
79384 ->
79385 \96em\92ts
79386 [
79387 edx
79388 ];
79389
79390 998 \1e*
79391 memb_±r
79392 ;
79393
79394 999 if(
79395 \96m
79396 ->
79397 æags
79398  & 
79399 ATF_POINTER
79400 ) {
79401
79402 1000 
79403 memb_±r
79404  = *(\1e**)((\ 5*)
79405 ¥\8c
79406  + 
79407 \96m
79408 ->
79409 memb_off£t
79410 );
79411
79412 1001 if(
79413 memb_±r
79414 )
79415
79416 1002 
79417         `ASN_STRUCT_FREE
79418 (*
79419 \96m
79420 ->
79421 ty³
79422
79423 memb_±r
79424 );
79425
79426 1004 
79427 memb_±r
79428  = (\1e*)((\ 5*)
79429 ¥\8c
79430  + 
79431 \96m
79432 ->
79433 memb_off£t
79434 );
79435
79436 1005 
79437         `ASN_STRUCT_FREE_CONTENTS_ONLY
79438 (*
79439 \96m
79440 ->
79441 ty³
79442
79443 memb_±r
79444 );
79445
79446 1010 
79447 ùx
79448  = (
79449 a¢_¡ruù_ùx_t
79450  *)((\ 5*)
79451 ¥\8c
79452  + 
79453 ¥ecs
79454 ->
79455 ùx_off£t
79456 );
79457
79458 1011 
79459         `FREEMEM
79460 (
79461 ùx
79462 ->
79463 ±r
79464 );
79465
79466 1013 \1a
79467 m\91hod
79468 ) {
79469
79470 1014 \ 4
79471 ASFM_FREE_EVERYTHING
79472 :
79473
79474 1015 
79475         `FREEMEM
79476 (
79477 ¥\8c
79478 );
79479
79480 1017 \ 4
79481 ASFM_FREE_UNDERLYING
79482 :
79483
79484 1019 \ 4
79485 ASFM_FREE_UNDERLYING_AND_RESET
79486 :
79487
79488 1020 
79489         `mem£t
79490 (
79491
79492 1021 
79493 ¥\8c
79494 , 0,
79495
79496 1022 ((cڡ 
79497 a¢_SEQUENCE_¥ecifics_t
79498  *)(
79499 td
79500 ->
79501 ¥ecifics
79502 ))->
79503 ¡ruù_size
79504 );
79505
79506 1025 
79507         }
79508 }
79509
79510 1028 
79511         $SEQUENCE_cÚ¡¿\9at
79512 (cڡ 
79513 a¢_TYPE_desü\9dtÜ_t
79514  *
79515 td
79516 , cڡ \1e*
79517 ¥\8c
79518 ,
79519
79520 1029 
79521 a¢_­p_cÚ¡¿\9at_ç\9eed_f
79522  *
79523 ùç\9ecb
79524\1e*
79525 ­p_key
79526 ) {
79527
79528 1030 
79529 size_t
79530  
79531 edx
79532 ;
79533
79534 1032 if(!
79535 ¥\8c
79536 ) {
79537
79538 1033 
79539         `ASN__CTFAIL
79540 (
79541 ­p_key
79542
79543 td
79544
79545 ¥\8c
79546 ,
79547
79548 1035 
79549 td
79550 ->
79551 Çme
79552
79553 __FILE__
79554
79555 __LINE__
79556 );
79557
79558 1042 \ f
79559 edx
79560  = 0;\83dx < 
79561 td
79562 ->
79563 \96em\92ts_couÁ
79564 ;\83dx++) {
79565
79566 1043 
79567 a¢_TYPE_memb\94_t
79568  *
79569 \96m
79570  = &
79571 td
79572 ->
79573 \96em\92ts
79574 [
79575 edx
79576 ];
79577
79578 1044 cڡ \1e*
79579 memb_±r
79580 ;
79581
79582 1046 if(
79583 \96m
79584 ->
79585 æags
79586  & 
79587 ATF_POINTER
79588 ) {
79589
79590 1047 
79591 memb_±r
79592  = *(cڡ \1e* cڡ *)((cڡ \ 5*)
79593 ¥\8c
79594  + 
79595 \96m
79596 ->
79597 memb_off£t
79598 );
79599
79600 1048 if(!
79601 memb_±r
79602 ) {
79603
79604 1049 if(
79605 \96m
79606 ->
79607 ÝtiÚ®
79608 )
79609
79610 1051 
79611         `ASN__CTFAIL
79612 (
79613 ­p_key
79614
79615 td
79616
79617 ¥\8c
79618 ,
79619
79620 1053 
79621 td
79622 ->
79623 Çme
79624
79625 \96m
79626 ->Çme, 
79627 __FILE__
79628
79629 __LINE__
79630 );
79631
79632 1057 
79633 memb_±r
79634  = (cڡ \1e*)((cڡ \ 5*)
79635 ¥\8c
79636  + 
79637 \96m
79638 ->
79639 memb_off£t
79640 );
79641
79642 1060 if(
79643 \96m
79644 ->
79645 \92cod\9ag_cÚ¡¿\9ats
79646 .
79647 g\92\94®_cÚ¡¿\9ats
79648 ) {
79649
79650 1061 \12
79651 »t
79652  = 
79653 \96m
79654 ->
79655 \92cod\9ag_cÚ¡¿\9ats
79656 .
79657         `g\92\94®_cÚ¡¿\9ats
79658 Ólm->
79659 ty³
79660
79661 memb_±r
79662 ,
79663
79664 1062 
79665 ùç\9ecb
79666
79667 ­p_key
79668 );
79669
79670 1063 if(
79671 »t
79672\15\84et;
79673
79674 1065 \15 
79675 \96m
79676 ->
79677 ty³
79678 ->
79679 \92cod\9ag_cÚ¡¿\9ats
79680 .
79681         `g\92\94®_cÚ¡¿\9ats
79682 (elm->type,
79683
79684 1066 
79685 memb_±r
79686
79687 ùç\9ecb
79688
79689 ­p_key
79690 );
79691
79692 1071 
79693         }
79694 }
79695
79696 1073 #iâdeà
79697 ASN_DISABLE_PER_SUPPORT
79698
79699
79700 1075 
79701 a¢_dec_rv®_t
79702
79703
79704 1076 
79705         $SEQUENCE_decode_u³r
79706 (cڡ 
79707 a¢_codec_ùx_t
79708  *
79709 Ýt_codec_ùx
79710 ,
79711
79712 1077 cڡ 
79713 a¢_TYPE_desü\9dtÜ_t
79714  *
79715 td
79716 ,
79717
79718 1078 cڡ 
79719 a¢_³r_cÚ¡¿\9ats_t
79720  *
79721 cÚ¡¿\9ats
79722\1e**
79723 ¥\8c
79724 ,
79725
79726 1079 
79727 a¢_³r_d©a_t
79728  *
79729 pd
79730 ) {
79731
79732 1080 cڡ 
79733 a¢_SEQUENCE_¥ecifics_t
79734  *
79735 ¥ecs
79736  = (cÚ¡\87¢_SEQUENCE_¥ecifics_\88*)
79737 td
79738 ->
79739 ¥ecifics
79740 ;
79741
79742 1081 \1e*
79743 ¡
79744  = *
79745 ¥\8c
79746 ;
79747
79748 1082 \12
79749 ex\8d»£Á
79750 ;
79751
79752 1083 
79753 u\9at8_t
79754  *
79755 ݻs
79756 ;
79757
79758 1084 
79759 a¢_³r_d©a_t
79760  
79761 Ýmd
79762 ;
79763
79764 1085 
79765 a¢_dec_rv®_t
79766  
79767 rv
79768 ;
79769
79770 1086 
79771 size_t
79772  
79773 edx
79774 ;
79775
79776 1088 (\1e)
79777 cÚ¡¿\9ats
79778 ;
79779
79780 1090 if(
79781         `ASN__STACK_OVERFLOW_CHECK
79782 (
79783 Ýt_codec_ùx
79784 ))
79785
79786 1091 
79787 ASN__DECODE_FAILED
79788 ;
79789
79790 1093 if(!
79791 ¡
79792 ) {
79793
79794 1094 
79795 ¡
79796  = *
79797 ¥\8c
79798  = 
79799         `CALLOC
79800 (1, 
79801 ¥ecs
79802 ->
79803 ¡ruù_size
79804 );
79805
79806 1095 if(!
79807 ¡
79808 è
79809 ASN__DECODE_FAILED
79810 ;
79811
79812 1098 
79813         `ASN_DEBUG
79814 ("Decod\9ag % a SEQUENCE (UPER)", 
79815 td
79816 ->
79817 Çme
79818 );
79819
79820 1101 if(
79821 ¥ecs
79822 ->
79823 f\9c¡_ex\8bnsiÚ
79824  < 0) {
79825
79826 1102 
79827 ex\8d»£Á
79828  = 0;
79829
79830 1104 
79831 ex\8d»£Á
79832  = 
79833         `³r_g\91_ãw_b\99s
79834 (
79835 pd
79836 , 1);
79837
79838 1105 if(
79839 ex\8d»£Á
79840  < 0è
79841 ASN__DECODE_STARVED
79842 ;
79843
79844 1109 
79845         `mem£t
79846 (&
79847 Ýmd
79848 , 0, \17(opmd));
79849
79850 1110 if(
79851 ¥ecs
79852 ->
79853 roms_couÁ
79854 ) {
79855
79856 1111 
79857 ݻs
79858  = (
79859 u\9at8_t
79860  *)
79861         `MALLOC
79862 (((
79863 ¥ecs
79864 ->
79865 roms_couÁ
79866  + 7) >> 3) + 1);
79867
79868 1112 if(!
79869 ݻs
79870 è
79871 ASN__DECODE_FAILED
79872 ;
79873
79874 1114 if(
79875         `³r_g\91_mªy_b\99s
79876 (
79877 pd
79878
79879 ݻs
79880 , 0, 
79881 ¥ecs
79882 ->
79883 roms_couÁ
79884 )) {
79885
79886 1115 
79887         `FREEMEM
79888 (
79889 ݻs
79890 );
79891
79892 1116 
79893 ASN__DECODE_STARVED
79894 ;
79895
79896 1118 
79897 Ýmd
79898 .
79899 bufãr
79900  = 
79901 ݻs
79902 ;
79903
79904 1119 
79905 Ýmd
79906 .
79907 nb\99s
79908  = 
79909 ¥ecs
79910 ->
79911 roms_couÁ
79912 ;
79913
79914 1120 
79915         `ASN_DEBUG
79916 ("Read in\85resence bitmap for %s of %d bits (%x..)",
79917
79918 1121 
79919 td
79920 ->
79921 Çme
79922
79923 ¥ecs
79924 ->
79925 roms_couÁ
79926 , *
79927 ݻs
79928 );
79929
79930 1123 
79931 ݻs
79932  = 0;
79933
79934 1129 \ f
79935 edx
79936  = 0;
79937
79938 1130 
79939 edx
79940  < (
79941 ¥ecs
79942 ->
79943 f\9c¡_ex\8bnsiÚ
79944  < 0 ? 
79945 td
79946 ->
79947 \96em\92ts_couÁ
79948
79949
79950 1131 : (
79951 size_t
79952 )
79953 ¥ecs
79954 ->
79955 f\9c¡_ex\8bnsiÚ
79956 );
79957
79958 1132 
79959 edx
79960 ++) {
79961
79962 1133 
79963 a¢_TYPE_memb\94_t
79964  *
79965 \96m
79966  = &
79967 td
79968 ->
79969 \96em\92ts
79970 [
79971 edx
79972 ];
79973
79974 1134 \1e*
79975 memb_±r
79976 ;
79977
79978 1135 \1e**
79979 memb_±r2
79980 ;
79981
79982 1137 
79983         `as£¹
79984 (!
79985         `IN_EXTENSION_GROUP
79986 (
79987 ¥ecs
79988
79989 edx
79990 ));
79991
79992 1140 if(
79993 \96m
79994 ->
79995 æags
79996  & 
79997 ATF_POINTER
79998 ) {
79999
80000 1141 
80001 memb_±r2
80002  = (\1e**)((\ 5*)
80003 ¡
80004  + 
80005 \96m
80006 ->
80007 memb_off£t
80008 );
80009
80010 1143 
80011 memb_±r
80012  = (\ 5*)
80013 ¡
80014  + 
80015 \96m
80016 ->
80017 memb_off£t
80018 ;
80019
80020 1144 
80021 memb_±r2
80022  = &
80023 memb_±r
80024 ;
80025
80026 1148 if(
80027 \96m
80028 ->
80029 ÝtiÚ®
80030 ) {
80031
80032 1149 \12
80033 ´e£Á
80034  = 
80035         `³r_g\91_ãw_b\99s
80036 (&
80037 Ýmd
80038 , 1);
80039
80040 1150 
80041         `ASN_DEBUG
80042 ("Member %s->%s is optional,\85=%d (%d->%d)",
80043
80044 1151 
80045 td
80046 ->
80047 Çme
80048
80049 \96m
80050 ->Çme, 
80051 ´e£Á
80052 ,
80053
80054 1152 (\12)
80055 Ýmd
80056 .
80057 nboff
80058 , (\12)Ýmd.
80059 nb\99s
80060 );
80061
80062 1153 if(
80063 ´e£Á
80064  == 0) {
80065
80066 1155 if(
80067 \96m
80068 ->
80069 deçuÉ_v®ue_£t
80070 ) {
80071
80072 1157 if(
80073 \96m
80074 ->
80075         `deçuÉ_v®ue_£t
80076 (
80077 memb_±r2
80078 )) {
80079
80080 1158 
80081         `FREEMEM
80082 (
80083 ݻs
80084 );
80085
80086 1159 
80087 ASN__DECODE_FAILED
80088 ;
80089
80090 1161 
80091         `ASN_DEBUG
80092 ("Filled-in default");
80093
80094 1170 
80095         `ASN_DEBUG
80096 ("Decod\9ag memb\94 \"%s\" iÀ%s", 
80097 \96m
80098 ->
80099 Çme
80100
80101 td
80102 ->name);
80103
80104 1172 if(
80105 \96m
80106 ->
80107 æags
80108  & 
80109 ATF_OPEN_TYPE
80110 ) {
80111
80112 1173 
80113 rv
80114  = 
80115         `OPEN_TYPE_u³r_g\91
80116 (
80117 Ýt_codec_ùx
80118
80119 td
80120
80121 ¡
80122
80123 \96m
80124
80125 pd
80126 );
80127
80128 1175 
80129 rv
80130  = 
80131 \96m
80132 ->
80133 ty³
80134 ->
80135 Ý
80136 ->
80137         `u³r_decod\94
80138 (
80139 Ýt_codec_ùx
80140 ,\83lm->type,
80141
80142 1176 
80143 \96m
80144 ->
80145 \92cod\9ag_cÚ¡¿\9ats
80146 .
80147 ³r_cÚ¡¿\9ats
80148
80149 memb_±r2
80150
80151 pd
80152 );
80153
80154 1178 if(
80155 rv
80156 .
80157 code
80158  !ð
80159 RC_OK
80160 ) {
80161
80162 1179 
80163         `ASN_DEBUG
80164 ("Failed decode %s in %s",
80165
80166 1180 
80167 \96m
80168 ->
80169 Çme
80170
80171 td
80172 ->name);
80173
80174 1181 
80175         `FREEMEM
80176 (
80177 ݻs
80178 );
80179
80180 1182 \15 
80181 rv
80182 ;
80183
80184 1187 
80185         `FREEMEM
80186 (
80187 ݻs
80188 );
80189
80190 1192 if(
80191 ex\8d»£Á
80192 ) {
80193
80194 1193 
80195 ssize_t
80196  
80197 bmËngth
80198 ;
80199
80200 1194 
80201 u\9at8_t
80202  *
80203 \95»s
80204 ;
80205
80206 1195 
80207 a¢_³r_d©a_t
80208  
80209 \95md
80210 ;
80211
80212 1197 
80213 bmËngth
80214  = 
80215         `u³r_g\91_n¦\92gth
80216 (
80217 pd
80218 );
80219
80220 1198 if(
80221 bmËngth
80222  < 0è
80223 ASN__DECODE_STARVED
80224 ;
80225
80226 1200 
80227         `ASN_DEBUG
80228 ("Ex\8bnsiÚ %" 
80229 ASN_PRI_SSIZE
80230  "\85»£Á iÀ%s", 
80231 bmËngth
80232
80233 td
80234 ->
80235 Çme
80236 );
80237
80238 1202 
80239 \95»s
80240  = (
80241 u\9at8_t
80242  *)
80243         `MALLOC
80244 ((
80245 bmËngth
80246  + 15) >> 3);
80247
80248 1203 if(!
80249 \95»s
80250 è
80251 ASN__DECODE_STARVED
80252 ;
80253
80254 1206 if(
80255         `³r_g\91_mªy_b\99s
80256 (
80257 pd
80258
80259 \95»s
80260 , 0, 
80261 bmËngth
80262 )) {
80263
80264 1207 
80265         `FREEMEM
80266 (
80267 \95»s
80268 );
80269
80270 1208 
80271 ASN__DECODE_STARVED
80272 ;
80273
80274 1211 
80275         `mem£t
80276 (&
80277 \95md
80278 , 0, \17(epmd));
80279
80280 1212 
80281 \95md
80282 .
80283 bufãr
80284  = 
80285 \95»s
80286 ;
80287
80288 1213 
80289 \95md
80290 .
80291 nb\99s
80292  = 
80293 bmËngth
80294 ;
80295
80296 1214 
80297         `ASN_DEBUG
80298 ("Read in\83xtensions bitmap for %s of %ld bits (%x..)",
80299
80300 1215 
80301 td
80302 ->
80303 Çme
80304 , (\13)
80305 bmËngth
80306 , *
80307 \95»s
80308 );
80309
80310 1218 \ f
80311 edx
80312  = 
80313 ¥ecs
80314 ->
80315 f\9c¡_ex\8bnsiÚ
80316 ;\83dx < 
80317 td
80318 ->
80319 \96em\92ts_couÁ
80320 ;\83dx++) {
80321
80322 1219 
80323 a¢_TYPE_memb\94_t
80324  *
80325 \96m
80326  = &
80327 td
80328 ->
80329 \96em\92ts
80330 [
80331 edx
80332 ];
80333
80334 1220 \1e*
80335 memb_±r
80336 ;
80337
80338 1221 \1e**
80339 memb_±r2
80340 ;
80341
80342 1222 \12
80343 ´e£Á
80344 ;
80345
80346 1225 if(
80347 \96m
80348 ->
80349 æags
80350  & 
80351 ATF_POINTER
80352 ) {
80353
80354 1226 
80355 memb_±r2
80356  = (\1e**)((\ 5*)
80357 ¡
80358  + 
80359 \96m
80360 ->
80361 memb_off£t
80362 );
80363
80364 1228 
80365 memb_±r
80366  = (\1e*)((\ 5*)
80367 ¡
80368  + 
80369 \96m
80370 ->
80371 memb_off£t
80372 );
80373
80374 1229 
80375 memb_±r2
80376  = &
80377 memb_±r
80378 ;
80379
80380 1232 
80381 ´e£Á
80382  = 
80383         `³r_g\91_ãw_b\99s
80384 (&
80385 \95md
80386 , 1);
80387
80388 1233 if(
80389 ´e£Á
80390  <= 0) {
80391
80392 1234 if(
80393 ´e£Á
80394  < 0) \ 3;
80395
80396 1238 
80397         `ASN_DEBUG
80398 ("Decod\9ag memb\94 % \9a % %p", 
80399 \96m
80400 ->
80401 Çme
80402
80403 td
80404 ->name,
80405
80406 1239 *
80407 memb_±r2
80408 );
80409
80410 1240 
80411 rv
80412  = 
80413         `u³r_Ý\92_ty³_g\91
80414 (
80415 Ýt_codec_ùx
80416
80417 \96m
80418 ->
80419 ty³
80420 ,
80421
80422 1241 
80423 \96m
80424 ->
80425 \92cod\9ag_cÚ¡¿\9ats
80426 .
80427 ³r_cÚ¡¿\9ats
80428 ,
80429
80430 1242 
80431 memb_±r2
80432
80433 pd
80434 );
80435
80436 1243 if(
80437 rv
80438 .
80439 code
80440  !ð
80441 RC_OK
80442 ) {
80443
80444 1244 
80445         `FREEMEM
80446 (
80447 \95»s
80448 );
80449
80450 1245 \15 
80451 rv
80452 ;
80453
80454 1252 
80455         `ASN_DEBUG
80456 ("Getting overflow\83xtensions");
80457
80458 1253 \1a
80459         `³r_g\91_ãw_b\99s
80460 (&
80461 \95md
80462 , 1)) {
80463
80464 1257 if(
80465         `u³r_Ý\92_ty³_sk\9d
80466 (
80467 Ýt_codec_ùx
80468
80469 pd
80470 )) {
80471
80472 1258 
80473         `FREEMEM
80474 (
80475 \95»s
80476 );
80477
80478 1259 
80479 ASN__DECODE_STARVED
80480 ;
80481
80482 1261 
80483         `ASN_DEBUG
80484 ("Skipped overflow\83xtension");
80485
80486 1267 
80487         `FREEMEM
80488 (
80489 \95»s
80490 );
80491
80492 1270 if(
80493 ¥ecs
80494 ->
80495 f\9c¡_ex\8bnsiÚ
80496  >= 0) {
80497
80498 1271 \1d
80499 i
80500 ;
80501
80502 1273 \ f
80503 i
80504  = 
80505 ¥ecs
80506 ->
80507 roms_couÁ
80508 ; i < s³cs->roms_couÁ + s³cs->
80509 aoms_couÁ
80510 ;
80511
80512 1274 
80513 i
80514 ++) {
80515
80516 1275 
80517 a¢_TYPE_memb\94_t
80518  *
80519 \96m
80520 ;
80521
80522 1276 \1e**
80523 memb_±r2
80524 ;
80525
80526 1278 
80527 edx
80528  = 
80529 ¥ecs
80530 ->
80531 oms
80532 [
80533 i
80534 ];
80535
80536 1279 
80537 \96m
80538  = &
80539 td
80540 ->
80541 \96em\92ts
80542 [
80543 edx
80544 ];
80545
80546 1281 if(!
80547 \96m
80548 ->
80549 deçuÉ_v®ue_£t
80550\ 6;
80551
80552 1284 if(
80553 \96m
80554 ->
80555 æags
80556  & 
80557 ATF_POINTER
80558 ) {
80559
80560 1285 
80561 memb_±r2
80562  = (\1e**)((\ 5*)
80563 ¡
80564  + 
80565 \96m
80566 ->
80567 memb_off£t
80568 );
80569
80570 1286 if(*
80571 memb_±r2
80572\ 6;
80573
80574 1292 if(
80575 \96m
80576 ->
80577         `deçuÉ_v®ue_£t
80578 (
80579 memb_±r2
80580 )) {
80581
80582 1293 
80583 ASN__DECODE_FAILED
80584 ;
80585
80586 1298 
80587 rv
80588 .
80589 cÚsumed
80590  = 0;
80591
80592 1299 
80593 rv
80594 .
80595 code
80596  = 
80597 RC_OK
80598 ;
80599
80600 1300 \15 
80601 rv
80602 ;
80603
80604 1301 
80605         }
80606 }
80607
80608 1304 
80609         $SEQUENCE__hªdË_ex\8bnsiÚs
80610 (cڡ 
80611 a¢_TYPE_desü\9dtÜ_t
80612  *
80613 td
80614 , cڡ \1e*
80615 ¥\8c
80616 ,
80617
80618 1305 
80619 a¢_³r_ou\8d_t
80620  *
80621 po1
80622 ,\87¢_³r_ou\8d_\88*
80623 po2
80624 ) {
80625
80626 1306 cڡ 
80627 a¢_SEQUENCE_¥ecifics_t
80628  *
80629 ¥ecs
80630  =
80631
80632 1307 (cڡ 
80633 a¢_SEQUENCE_¥ecifics_t
80634  *)
80635 td
80636 ->
80637 ¥ecifics
80638 ;
80639
80640 1308 \12
80641 exts_´e£Á
80642  = 0;
80643
80644 1309 \12
80645 exts_couÁ
80646  = 0;
80647
80648 1310 
80649 size_t
80650  
80651 edx
80652 ;
80653
80654 1312 if(
80655 ¥ecs
80656 ->
80657 f\9c¡_ex\8bnsiÚ
80658  < 0) {
80659
80660 1317 \ f
80661 edx
80662  = 
80663 ¥ecs
80664 ->
80665 f\9c¡_ex\8bnsiÚ
80666 ;\83dx < 
80667 td
80668 ->
80669 \96em\92ts_couÁ
80670 ;\83dx++) {
80671
80672 1318 
80673 a¢_TYPE_memb\94_t
80674  *
80675 \96m
80676  = &
80677 td
80678 ->
80679 \96em\92ts
80680 [
80681 edx
80682 ];
80683
80684 1319 cڡ \1e*
80685 memb_±r
80686 ;
80687
80688 1320 cڡ \1e*cڡ *
80689 memb_±r2
80690 ;
80691
80692 1321 \12
80693 ´e£Á
80694 ;
80695
80696 1324 if(
80697 \96m
80698 ->
80699 æags
80700  & 
80701 ATF_POINTER
80702 ) {
80703
80704 1325 
80705 memb_±r2
80706  =
80707
80708 1326 (cڡ \1e*cڡ *)((cڡ \ 5*)
80709 ¥\8c
80710  + 
80711 \96m
80712 ->
80713 memb_off£t
80714 );
80715
80716 1327 
80717 ´e£Á
80718  = (*
80719 memb_±r2
80720  != 0);
80721
80722 1329 
80723 memb_±r
80724  = (cڡ \1e*)((cڡ \ 5*)
80725 ¥\8c
80726  + 
80727 \96m
80728 ->
80729 memb_off£t
80730 );
80731
80732 1330 
80733 memb_±r2
80734  = &
80735 memb_±r
80736 ;
80737
80738 1331 
80739 ´e£Á
80740  = 1;
80741
80742 1334 
80743         `ASN_DEBUG
80744 ("check\9ag %s:% (@%" 
80745 ASN_PRI_SIZE
80746  "è´e£Á => %d", 
80747 \96m
80748 ->
80749 Çme
80750 ,
80751
80752 1335 
80753 \96m
80754 ->
80755 ty³
80756 ->
80757 Çme
80758
80759 edx
80760
80761 ´e£Á
80762 );
80763
80764 1336 
80765 exts_couÁ
80766 ++;
80767
80768 1337 
80769 exts_´e£Á
80770  +ð
80771 ´e£Á
80772 ;
80773
80774 1340 if(
80775 po1
80776  && 
80777         `³r_put_ãw_b\99s
80778 Õo1, 
80779 ´e£Á
80780 , 1)) {
80781
80782 1344 if(
80783 po2
80784  && 
80785 ´e£Á
80786
80787
80788 1345 && 
80789         `u³r_Ý\92_ty³_put
80790 (
80791 \96m
80792 ->
80793 ty³
80794 ,
80795
80796 1346 
80797 \96m
80798 ->
80799 \92cod\9ag_cÚ¡¿\9ats
80800 .
80801 ³r_cÚ¡¿\9ats
80802 ,
80803
80804 1347 *
80805 memb_±r2
80806
80807 po2
80808 ))
80809
80810 1351 \15 
80811 exts_´e£Á
80812  ? 
80813 exts_couÁ
80814  : 0;
80815
80816 1352 
80817         }
80818 }
80819
80820 1354 
80821 a¢_\92c_rv®_t
80822
80823
80824 1355 
80825         $SEQUENCE_\92code_u³r
80826 (cڡ 
80827 a¢_TYPE_desü\9dtÜ_t
80828  *
80829 td
80830 ,
80831
80832 1356 cڡ 
80833 a¢_³r_cÚ¡¿\9ats_t
80834  *
80835 cÚ¡¿\9ats
80836 , cڡ \1e*
80837 ¥\8c
80838 ,
80839
80840 1357 
80841 a¢_³r_ou\8d_t
80842  *
80843 po
80844 ) {
80845
80846 1358 cڡ 
80847 a¢_SEQUENCE_¥ecifics_t
80848  *
80849 ¥ecs
80850
80851
80852 1359 ð(cÚ¡ 
80853 a¢_SEQUENCE_¥ecifics_t
80854  *)
80855 td
80856 ->
80857 ¥ecifics
80858 ;
80859
80860 1360 
80861 a¢_\92c_rv®_t
80862  
80863 \94
80864  = {0,0,0};
80865
80866 1361 \12
80867 n_ex\8bnsiÚs
80868 ;
80869
80870 1362 
80871 size_t
80872  
80873 edx
80874 ;
80875
80876 1363 
80877 size_t
80878  
80879 i
80880 ;
80881
80882 1365 (\1e)
80883 cÚ¡¿\9ats
80884 ;
80885
80886 1367 if(!
80887 ¥\8c
80888 )
80889
80890 1368 
80891 ASN__ENCODE_FAILED
80892 ;
80893
80894 1370 
80895 \94
80896 .
80897 \92coded
80898  = 0;
80899
80900 1372 
80901         `ASN_DEBUG
80902 ("Encod\9ag % a SEQUENCE (UPER)", 
80903 td
80904 ->
80905 Çme
80906 );
80907
80908 1378 if(
80909 ¥ecs
80910 ->
80911 f\9c¡_ex\8bnsiÚ
80912  < 0) {
80913
80914 1379 
80915 n_ex\8bnsiÚs
80916  = 0;
80917
80918 1381 
80919 n_ex\8bnsiÚs
80920  = 
80921         `SEQUENCE__hªdË_ex\8bnsiÚs
80922 (
80923 td
80924
80925 ¥\8c
80926 , 0, 0);
80927
80928 1382 if(
80929 n_ex\8bnsiÚs
80930  < 0è
80931 ASN__ENCODE_FAILED
80932 ;
80933
80934 1383 if(
80935         `³r_put_ãw_b\99s
80936 (
80937 po
80938
80939 n_ex\8bnsiÚs
80940  ? 1 : 0, 1)) {
80941
80942 1384 
80943 ASN__ENCODE_FAILED
80944 ;
80945
80946 1389 \ f
80947 i
80948  = 0; i < 
80949 ¥ecs
80950 ->
80951 roms_couÁ
80952 ; i++) {
80953
80954 1390 
80955 a¢_TYPE_memb\94_t
80956  *
80957 \96m
80958 ;
80959
80960 1391 cڡ \1e*
80961 memb_±r
80962 ;
80963
80964 1392 cڡ \1e*cڡ *
80965 memb_±r2
80966 ;
80967
80968 1393 \12
80969 ´e£Á
80970 ;
80971
80972 1395 
80973 edx
80974  = 
80975 ¥ecs
80976 ->
80977 oms
80978 [
80979 i
80980 ];
80981
80982 1396 
80983 \96m
80984  = &
80985 td
80986 ->
80987 \96em\92ts
80988 [
80989 edx
80990 ];
80991
80992 1399 if(
80993 \96m
80994 ->
80995 æags
80996  & 
80997 ATF_POINTER
80998 ) {
80999
81000 1400 
81001 memb_±r2
81002  =
81003
81004 1401 (cڡ \1e*cڡ *)((cڡ \ 5*)
81005 ¥\8c
81006  + 
81007 \96m
81008 ->
81009 memb_off£t
81010 );
81011
81012 1402 
81013 ´e£Á
81014  = (*
81015 memb_±r2
81016  != 0);
81017
81018 1404 
81019 memb_±r
81020  = (cڡ \1e*)((cڡ \ 5*)
81021 ¥\8c
81022  + 
81023 \96m
81024 ->
81025 memb_off£t
81026 );
81027
81028 1405 
81029 memb_±r2
81030  = &
81031 memb_±r
81032 ;
81033
81034 1406 
81035 ´e£Á
81036  = 1;
81037
81038 1410 if(
81039 ´e£Á
81040  && 
81041 \96m
81042 ->
81043 deçuÉ_v®ue_cmp
81044
81045
81046 1411 && 
81047 \96m
81048 ->
81049         `deçuÉ_v®ue_cmp
81050 (*
81051 memb_±r2
81052 ) == 0)
81053
81054 1412 
81055 ´e£Á
81056  = 0;
81057
81058 1414 
81059         `ASN_DEBUG
81060 ("Element %s %s %s->%s is %s",
81061
81062 1415 
81063 \96m
81064 ->
81065 æags
81066  & 
81067 ATF_POINTER
81068  ? "ptr" : "inline",
81069
81070 1416 
81071 \96m
81072 ->
81073 deçuÉ_v®ue_cmp
81074  ? "def" : "wtv",
81075
81076 1417 
81077 td
81078 ->
81079 Çme
81080
81081 \96m
81082 ->Çme, 
81083 ´e£Á
81084  ? "present" : "absent");
81085
81086 1418 if(
81087         `³r_put_ãw_b\99s
81088 (
81089 po
81090
81091 ´e£Á
81092 , 1))
81093
81094 1419 
81095 ASN__ENCODE_FAILED
81096 ;
81097
81098 1425 
81099         `ASN_DEBUG
81100 ("f\9c¡_ex\8bnsiÚ = %d,\83Ëm\92t ð%d", 
81101 ¥ecs
81102 ->
81103 f\9c¡_ex\8bnsiÚ
81104 ,
81105
81106 1426 
81107 td
81108 ->
81109 \96em\92ts_couÁ
81110 );
81111
81112 1427 \ f
81113 edx
81114  = 0;
81115
81116 1428 
81117 edx
81118  < ((
81119 ¥ecs
81120 ->
81121 f\9c¡_ex\8bnsiÚ
81122  < 0è? 
81123 td
81124 ->
81125 \96em\92ts_couÁ
81126
81127
81128 1429 : (
81129 size_t
81130 )
81131 ¥ecs
81132 ->
81133 f\9c¡_ex\8bnsiÚ
81134 );
81135
81136 1430 
81137 edx
81138 ++) {
81139
81140 1431 
81141 a¢_TYPE_memb\94_t
81142  *
81143 \96m
81144  = &
81145 td
81146 ->
81147 \96em\92ts
81148 [
81149 edx
81150 ];
81151
81152 1432 cڡ \1e*
81153 memb_±r
81154 ;
81155
81156 1433 cڡ \1e*cڡ *
81157 memb_±r2
81158 ;
81159
81160 1435 
81161         `ASN_DEBUG
81162 ("Abou\88\92cod\90%s", 
81163 \96m
81164 ->
81165 ty³
81166 ->
81167 Çme
81168 );
81169
81170 1438 if(
81171 \96m
81172 ->
81173 æags
81174  & 
81175 ATF_POINTER
81176 ) {
81177
81178 1439 
81179 memb_±r2
81180  =
81181
81182 1440 (cڡ \1e*cڡ *)((cڡ \ 5*)
81183 ¥\8c
81184  + 
81185 \96m
81186 ->
81187 memb_off£t
81188 );
81189
81190 1441 if(!*
81191 memb_±r2
81192 ) {
81193
81194 1442 
81195         `ASN_DEBUG
81196 ("EËm\92\88% %" 
81197 ASN_PRI_SIZE
81198  "\82ot\85resent",
81199
81200 1443 
81201 \96m
81202 ->
81203 Çme
81204
81205 edx
81206 );
81207
81208 1444 if(
81209 \96m
81210 ->
81211 ÝtiÚ®
81212 )
81213
81214 1447 
81215 ASN__ENCODE_FAILED
81216 ;
81217
81218 1450 
81219 memb_±r
81220  = (cڡ \1e*)((cڡ \ 5*)
81221 ¥\8c
81222  + 
81223 \96m
81224 ->
81225 memb_off£t
81226 );
81227
81228 1451 
81229 memb_±r2
81230  = &
81231 memb_±r
81232 ;
81233
81234 1455 if(
81235 \96m
81236 ->
81237 deçuÉ_v®ue_cmp
81238  &&\83lm->
81239         `deçuÉ_v®ue_cmp
81240 (*
81241 memb_±r2
81242 ) == 0)
81243
81244 1458 
81245         `ASN_DEBUG
81246 ("Encod\9ag %s->%s:%s", 
81247 td
81248 ->
81249 Çme
81250
81251 \96m
81252 ->Çme,\83lm->
81253 ty³
81254 ->name);
81255
81256 1459 
81257 \94
81258  = 
81259 \96m
81260 ->
81261 ty³
81262 ->
81263 Ý
81264 ->
81265         `u³r_\92cod\94
81266 (
81267
81268 1460 
81269 \96m
81270 ->
81271 ty³
81272 ,\83lm->
81273 \92cod\9ag_cÚ¡¿\9ats
81274 .
81275 ³r_cÚ¡¿\9ats
81276 , *
81277 memb_±r2
81278 ,
81279
81280 1461 
81281 po
81282 );
81283
81284 1462 if(
81285 \94
81286 .
81287 \92coded
81288  == -1) \15\83r;
81289
81290 1466 if(!
81291 n_ex\8bnsiÚs
81292 è
81293         `ASN__ENCODED_OK
81294 (
81295 \94
81296 );
81297
81298 1468 
81299         `ASN_DEBUG
81300 ("L\92gth oàex\8bnsiÚ %d b\99-m­", 
81301 n_ex\8bnsiÚs
81302 );
81303
81304 1470 if(
81305         `u³r_put_n¦\92gth
81306 (
81307 po
81308
81309 n_ex\8bnsiÚs
81310 ))
81311
81312 1471 
81313 ASN__ENCODE_FAILED
81314 ;
81315
81316 1473 
81317         `ASN_DEBUG
81318 ("B\99-m­ oà%d\83Ëm\92ts", 
81319 n_ex\8bnsiÚs
81320 );
81321
81322 1476 if(
81323         `SEQUENCE__hªdË_ex\8bnsiÚs
81324 (
81325 td
81326
81327 ¥\8c
81328
81329 po
81330 , 0è!ð
81331 n_ex\8bnsiÚs
81332 )
81333
81334 1477 
81335 ASN__ENCODE_FAILED
81336 ;
81337
81338 1479 
81339         `ASN_DEBUG
81340 ("Wr\99\9ag %d\83x\8bnsiÚs", 
81341 n_ex\8bnsiÚs
81342 );
81343
81344 1481 if(
81345         `SEQUENCE__hªdË_ex\8bnsiÚs
81346 (
81347 td
81348
81349 ¥\8c
81350 , 0, 
81351 po
81352 è!ð
81353 n_ex\8bnsiÚs
81354 )
81355
81356 1482 
81357 ASN__ENCODE_FAILED
81358 ;
81359
81360 1484 
81361         `ASN__ENCODED_OK
81362 (
81363 \94
81364 );
81365
81366 1485 
81367         }
81368 }
81369
81370 1487 
81371 a¢_dec_rv®_t
81372
81373
81374 1488 
81375         $SEQUENCE_decode_­\94
81376 (cڡ 
81377 a¢_codec_ùx_t
81378  *
81379 Ýt_codec_ùx
81380 ,
81381
81382 1489 cڡ 
81383 a¢_TYPE_desü\9dtÜ_t
81384  *
81385 td
81386 ,
81387
81388 1490 cڡ 
81389 a¢_³r_cÚ¡¿\9ats_t
81390  *
81391 cÚ¡¿\9ats
81392\1e**
81393 ¥\8c
81394
81395 a¢_³r_d©a_t
81396  *
81397 pd
81398 ) {
81399
81400 1491 cڡ 
81401 a¢_SEQUENCE_¥ecifics_t
81402  *
81403 ¥ecs
81404  = (cÚ¡\87¢_SEQUENCE_¥ecifics_\88*)
81405 td
81406 ->
81407 ¥ecifics
81408 ;
81409
81410 1492 \1e*
81411 ¡
81412  = *
81413 ¥\8c
81414 ;
81415
81416 1493 \12
81417 ex\8d»£Á
81418 ;
81419
81420 1494 
81421 u\9at8_t
81422  *
81423 ݻs
81424 ;
81425
81426 1495 
81427 a¢_³r_d©a_t
81428  
81429 Ýmd
81430 ;
81431
81432 1496 
81433 a¢_dec_rv®_t
81434  
81435 rv
81436 ;
81437
81438 1497 
81439 size_t
81440  
81441 edx
81442 ;
81443
81444 1499 (\1e)
81445 cÚ¡¿\9ats
81446 ;
81447
81448 1501 if(
81449         `ASN__STACK_OVERFLOW_CHECK
81450 (
81451 Ýt_codec_ùx
81452 ))
81453
81454 1502 
81455 ASN__DECODE_FAILED
81456 ;
81457
81458 1504 if(!
81459 ¡
81460 ) {
81461
81462 1505 
81463 ¡
81464  = *
81465 ¥\8c
81466  = 
81467         `CALLOC
81468 (1, 
81469 ¥ecs
81470 ->
81471 ¡ruù_size
81472 );
81473
81474 1506 if(!
81475 ¡
81476 è
81477 ASN__DECODE_FAILED
81478 ;
81479
81480 1509 
81481         `ASN_DEBUG
81482 ("Decod\9ag % a SEQUENCE (APER)", 
81483 td
81484 ->
81485 Çme
81486 );
81487
81488 1512 if(
81489 ¥ecs
81490 ->
81491 f\9c¡_ex\8bnsiÚ
81492  < 0) {
81493
81494 1513 
81495 ex\8d»£Á
81496  = 0;
81497
81498 1515 
81499 ex\8d»£Á
81500  = 
81501         `³r_g\91_ãw_b\99s
81502 (
81503 pd
81504 , 1);
81505
81506 1516 if(
81507 ex\8d»£Á
81508  < 0è
81509 ASN__DECODE_STARVED
81510 ;
81511
81512 1520 
81513         `mem£t
81514 (&
81515 Ýmd
81516 , 0, \17(opmd));
81517
81518 1521 if(
81519 ¥ecs
81520 ->
81521 roms_couÁ
81522 ) {
81523
81524 1522 
81525 ݻs
81526  = (
81527 u\9at8_t
81528  *)
81529         `MALLOC
81530 (((
81531 ¥ecs
81532 ->
81533 roms_couÁ
81534  + 7) >> 3) + 1);
81535
81536 1523 if(!
81537 ݻs
81538 è
81539 ASN__DECODE_FAILED
81540 ;
81541
81542 1525 if(
81543         `³r_g\91_mªy_b\99s
81544 (
81545 pd
81546
81547 ݻs
81548 , 0, 
81549 ¥ecs
81550 ->
81551 roms_couÁ
81552 )) {
81553
81554 1526 
81555         `FREEMEM
81556 (
81557 ݻs
81558 );
81559
81560 1527 
81561 ASN__DECODE_STARVED
81562 ;
81563
81564 1529 
81565 Ýmd
81566 .
81567 bufãr
81568  = 
81569 ݻs
81570 ;
81571
81572 1530 
81573 Ýmd
81574 .
81575 nb\99s
81576  = 
81577 ¥ecs
81578 ->
81579 roms_couÁ
81580 ;
81581
81582 1531 
81583         `ASN_DEBUG
81584 ("Read in\85resence bitmap for %s of %d bits (%x..)",
81585
81586 1532 
81587 td
81588 ->
81589 Çme
81590
81591 ¥ecs
81592 ->
81593 roms_couÁ
81594 , *
81595 ݻs
81596 );
81597
81598 1534 
81599 ݻs
81600  = 0;
81601
81602 1540 \ f
81603 edx
81604  = 0;\83dx < 
81605 td
81606 ->
81607 \96em\92ts_couÁ
81608 ;\83dx++) {
81609
81610 1541 
81611 a¢_TYPE_memb\94_t
81612  *
81613 \96m
81614  = &
81615 td
81616 ->
81617 \96em\92ts
81618 [
81619 edx
81620 ];
81621
81622 1542 \1e*
81623 memb_±r
81624 ;
81625
81626 1543 \1e**
81627 memb_±r2
81628 ;
81629
81630 1545 \12
81631 ·dd\9ag
81632 ;
81633
81634 1548 if(
81635         `IN_EXTENSION_GROUP
81636 (
81637 ¥ecs
81638
81639 edx
81640 ))
81641
81642 1552 if(
81643 \96m
81644 ->
81645 æags
81646  & 
81647 ATF_POINTER
81648 ) {
81649
81650 1553 
81651 memb_±r2
81652  = (\1e**)((\ 5*)
81653 ¡
81654  + 
81655 \96m
81656 ->
81657 memb_off£t
81658 );
81659
81660 1555 
81661 memb_±r
81662  = (\ 5*)
81663 ¡
81664  + 
81665 \96m
81666 ->
81667 memb_off£t
81668 ;
81669
81670 1556 
81671 memb_±r2
81672  = &
81673 memb_±r
81674 ;
81675
81676 1560 
81677 ·dd\9ag
81678  = (8 - (
81679 pd
81680 ->
81681 moved
81682  % 8)) % 8;
81683
81684 1561 if(
81685 ·dd\9ag
81686  > 0)
81687
81688 1562 
81689         `ASN_DEBUG
81690 ("FÜ\83Ëm\92\88%s,off£tð%ld Padd\9ag b\99 ð%d", 
81691 td
81692 ->
81693 Çme
81694
81695 pd
81696 ->
81697 moved
81698
81699 ·dd\9ag
81700 );
81701
81702 1564 
81703         `³r_g\91_ãw_b\99s
81704 (
81705 pd
81706
81707 ·dd\9ag
81708 );
81709
81710 1566 if(
81711 edx
81712  !ð(
81713 td
81714 ->
81715 \96em\92ts_couÁ
81716 -1))
81717
81718 1567 
81719         `³r_g\91_ãw_b\99s
81720 (
81721 pd
81722
81723 ·dd\9ag
81724 );
81725
81726 1569 if(
81727 ¥ecs
81728 ->
81729 roms_couÁ
81730  && (
81731 ·dd\9ag
81732  > 0))
81733
81734 1570 
81735         `ASN_DEBUG
81736 (">>>>>\82Ù sk\9dp\9ag\85add\9ag oà%d b\99 fÜ\83Ëm\92t:%ld ou\88oà%d", 
81737 ·dd\9ag
81738
81739 edx
81740
81741 td
81742 ->
81743 \96em\92ts_couÁ
81744 );
81745
81746 1572 
81747         `³r_g\91_ãw_b\99s
81748 (
81749 pd
81750
81751 ·dd\9ag
81752 );
81753
81754 1577 if(
81755 \96m
81756 ->
81757 ÝtiÚ®
81758 ) {
81759
81760 1578 \12
81761 ´e£Á
81762  = 
81763         `³r_g\91_ãw_b\99s
81764 (&
81765 Ýmd
81766 , 1);
81767
81768 1579 
81769         `ASN_DEBUG
81770 ("Member %s->%s is optional,\85=%d (%d->%d)",
81771
81772 1580 
81773 td
81774 ->
81775 Çme
81776
81777 \96m
81778 ->Çme, 
81779 ´e£Á
81780 ,
81781
81782 1581 (\12)
81783 Ýmd
81784 .
81785 nboff
81786 , (\12)Ýmd.
81787 nb\99s
81788 );
81789
81790 1582 if(
81791 ´e£Á
81792  == 0) {
81793
81794 1584 if(
81795 \96m
81796 ->
81797 deçuÉ_v®ue_£t
81798 ) {
81799
81800 1586 if(
81801 \96m
81802 ->
81803         `deçuÉ_v®ue_£t
81804 (
81805 memb_±r2
81806 )) {
81807
81808 1587 
81809         `FREEMEM
81810 (
81811 ݻs
81812 );
81813
81814 1588 
81815 ASN__DECODE_FAILED
81816 ;
81817
81818 1590 
81819         `ASN_DEBUG
81820 ("Filled-in default");
81821
81822 1599 
81823         `ASN_DEBUG
81824 ("Decod\9ag memb\94 \"%s\" iÀ%s", 
81825 \96m
81826 ->
81827 Çme
81828
81829 td
81830 ->name);
81831
81832 1601 if(
81833 \96m
81834 ->
81835 æags
81836  & 
81837 ATF_OPEN_TYPE
81838 ) {
81839
81840 1602 
81841 rv
81842  = 
81843         `OPEN_TYPE_­\94_g\91
81844 (
81845 Ýt_codec_ùx
81846
81847 td
81848
81849 ¡
81850
81851 \96m
81852
81853 pd
81854 );
81855
81856 1604 
81857 rv
81858  = 
81859 \96m
81860 ->
81861 ty³
81862 ->
81863 Ý
81864 ->
81865         `­\94_decod\94
81866 (
81867 Ýt_codec_ùx
81868 ,\83lm->type,
81869
81870 1605 
81871 \96m
81872 ->
81873 \92cod\9ag_cÚ¡¿\9ats
81874 .
81875 ³r_cÚ¡¿\9ats
81876
81877 memb_±r2
81878
81879 pd
81880 );
81881
81882 1607 if(
81883 rv
81884 .
81885 code
81886  !ð
81887 RC_OK
81888 ) {
81889
81890 1608 
81891         `ASN_DEBUG
81892 ("Failed decode %s in %s",
81893
81894 1609 
81895 \96m
81896 ->
81897 Çme
81898
81899 td
81900 ->name);
81901
81902 1610 
81903         `FREEMEM
81904 (
81905 ݻs
81906 );
81907
81908 1611 \15 
81909 rv
81910 ;
81911
81912 1616 
81913         `FREEMEM
81914 (
81915 ݻs
81916 );
81917
81918 1621 if(
81919 ex\8d»£Á
81920 ) {
81921
81922 1622 
81923 ssize_t
81924  
81925 bmËngth
81926 ;
81927
81928 1623 
81929 u\9at8_t
81930  *
81931 \95»s
81932 ;
81933
81934 1624 
81935 a¢_³r_d©a_t
81936  
81937 \95md
81938 ;
81939
81940 1626 
81941 bmËngth
81942  = 
81943         `­\94_g\91_n¦\92gth
81944 (
81945 pd
81946 );
81947
81948 1627 if(
81949 bmËngth
81950  < 0è
81951 ASN__DECODE_STARVED
81952 ;
81953
81954 1629 
81955         `ASN_DEBUG
81956 ("Ex\8bnsiÚ %" 
81957 ASN_PRI_SSIZE
81958  "\85»£Á iÀ%s", 
81959 bmËngth
81960
81961 td
81962 ->
81963 Çme
81964 );
81965
81966 1631 
81967 \95»s
81968  = (
81969 u\9at8_t
81970  *)
81971         `MALLOC
81972 ((
81973 bmËngth
81974  + 15) >> 3);
81975
81976 1632 if(!
81977 \95»s
81978 è
81979 ASN__DECODE_STARVED
81980 ;
81981
81982 1635 if(
81983         `³r_g\91_mªy_b\99s
81984 (
81985 pd
81986
81987 \95»s
81988 , 0, 
81989 bmËngth
81990 ))
81991
81992 1636 
81993 ASN__DECODE_STARVED
81994 ;
81995
81996 1638 
81997         `mem£t
81998 (&
81999 \95md
82000 , 0, \17(epmd));
82001
82002 1639 
82003 \95md
82004 .
82005 bufãr
82006  = 
82007 \95»s
82008 ;
82009
82010 1640 
82011 \95md
82012 .
82013 nb\99s
82014  = 
82015 bmËngth
82016 ;
82017
82018 1641 
82019         `ASN_DEBUG
82020 ("Read in\83xtensions bitmap for %s of %ld bits (%x..)",
82021
82022 1642 
82023 td
82024 ->
82025 Çme
82026
82027 bmËngth
82028 , *
82029 \95»s
82030 );
82031
82032 1645 \ f
82033 edx
82034  = 
82035 ¥ecs
82036 ->
82037 f\9c¡_ex\8bnsiÚ
82038 ;\83dx < 
82039 td
82040 ->
82041 \96em\92ts_couÁ
82042 ;\83dx++) {
82043
82044 1646 
82045 a¢_TYPE_memb\94_t
82046  *
82047 \96m
82048  = &
82049 td
82050 ->
82051 \96em\92ts
82052 [
82053 edx
82054 ];
82055
82056 1647 \1e*
82057 memb_±r
82058 ;
82059
82060 1648 \1e**
82061 memb_±r2
82062 ;
82063
82064 1649 \12
82065 ´e£Á
82066 ;
82067
82068 1651 if(!
82069         `IN_EXTENSION_GROUP
82070 (
82071 ¥ecs
82072
82073 edx
82074 )) {
82075
82076 1652 
82077         `ASN_DEBUG
82078 ("%ld i nÙ\83x\8bnsiÚ", 
82079 edx
82080 );
82081
82082 1657 if(
82083 \96m
82084 ->
82085 æags
82086  & 
82087 ATF_POINTER
82088 ) {
82089
82090 1658 
82091 memb_±r2
82092  = (\1e**)((\ 5*)
82093 ¡
82094  + 
82095 \96m
82096 ->
82097 memb_off£t
82098 );
82099
82100 1660 
82101 memb_±r
82102  = (\1e*)((\ 5*)
82103 ¡
82104  + 
82105 \96m
82106 ->
82107 memb_off£t
82108 );
82109
82110 1661 
82111 memb_±r2
82112  = &
82113 memb_±r
82114 ;
82115
82116 1664 
82117 ´e£Á
82118  = 
82119         `³r_g\91_ãw_b\99s
82120 (&
82121 \95md
82122 , 1);
82123
82124 1665 if(
82125 ´e£Á
82126  <= 0) {
82127
82128 1666 if(
82129 ´e£Á
82130  < 0) \ 3;
82131
82132 1670 
82133         `ASN_DEBUG
82134 ("Decod\9ag memb\94 % \9a % %p", 
82135 \96m
82136 ->
82137 Çme
82138
82139 td
82140 ->Çme, *
82141 memb_±r2
82142 );
82143
82144 1671 
82145 rv
82146  = 
82147         `­\94\92_ty³_g\91
82148 (
82149 Ýt_codec_ùx
82150
82151 \96m
82152 ->
82153 ty³
82154 ,
82155
82156 1672 
82157 \96m
82158 ->
82159 \92cod\9ag_cÚ¡¿\9ats
82160 .
82161 ³r_cÚ¡¿\9ats
82162
82163 memb_±r2
82164
82165 pd
82166 );
82167
82168 1673 if(
82169 rv
82170 .
82171 code
82172  !ð
82173 RC_OK
82174 ) {
82175
82176 1674 
82177         `FREEMEM
82178 (
82179 \95»s
82180 );
82181
82182 1675 \15 
82183 rv
82184 ;
82185
82186 1682 
82187         `ASN_DEBUG
82188 ("Getting overflow\83xtensions");
82189
82190 1683 \1a
82191         `³r_g\91_ãw_b\99s
82192 (&
82193 \95md
82194 , 1)) {
82195
82196 1689 if(
82197         `­\94\92_ty³_sk\9d
82198 (
82199 Ýt_codec_ùx
82200
82201 pd
82202 )) {
82203
82204 1690 
82205         `FREEMEM
82206 (
82207 \95»s
82208 );
82209
82210 1691 
82211 ASN__DECODE_STARVED
82212 ;
82213
82214 1697 
82215         `FREEMEM
82216 (
82217 \95»s
82218 );
82219
82220 1701 \ f
82221 edx
82222  = 
82223 ¥ecs
82224 ->
82225 roms_couÁ
82226 ;\83dx < specs->roms_count
82227
82228 1702 + 
82229 ¥ecs
82230 ->
82231 aoms_couÁ
82232
82233 edx
82234 ++) {
82235
82236 1703 
82237 a¢_TYPE_memb\94_t
82238  *
82239 \96m
82240  = &
82241 td
82242 ->
82243 \96em\92ts
82244 [
82245 edx
82246 ];
82247
82248 1704 \1e**
82249 memb_±r2
82250 ;
82251
82252 1706 if(!
82253 \96m
82254 ->
82255 deçuÉ_v®ue_£t
82256\ 6;
82257
82258 1709 if(
82259 \96m
82260 ->
82261 æags
82262  & 
82263 ATF_POINTER
82264 ) {
82265
82266 1710 
82267 memb_±r2
82268  = (\1e**)((\ 5*)
82269 ¡
82270
82271
82272 1711 + 
82273 \96m
82274 ->
82275 memb_off£t
82276 );
82277
82278 1712 if(*
82279 memb_±r2
82280\ 6;
82281
82282 1718 if(
82283 \96m
82284 ->
82285         `deçuÉ_v®ue_£t
82286 (
82287 memb_±r2
82288 )) {
82289
82290 1719 
82291 ASN__DECODE_FAILED
82292 ;
82293
82294 1723 
82295 rv
82296 .
82297 cÚsumed
82298  = 0;
82299
82300 1724 
82301 rv
82302 .
82303 code
82304  = 
82305 RC_OK
82306 ;
82307
82308 1725 \15 
82309 rv
82310 ;
82311
82312 1726 
82313         }
82314 }
82315
82316 1729 
82317         $SEQUENCE_hªdË_ex\8bnsiÚs_­\94
82318 (cڡ 
82319 a¢_TYPE_desü\9dtÜ_t
82320  *
82321 td
82322 ,
82323
82324 1730 cڡ \1e*
82325 ¥\8c
82326 ,
82327
82328 1731 
82329 a¢_³r_ou\8d_t
82330  *
82331 po1
82332 ,\87¢_³r_ou\8d_\88*
82333 po2
82334 ) {
82335
82336 1732 cڡ 
82337 a¢_SEQUENCE_¥ecifics_t
82338  *
82339 ¥ecs
82340
82341
82342 1733 ð(cÚ¡ 
82343 a¢_SEQUENCE_¥ecifics_t
82344  *)
82345 td
82346 ->
82347 ¥ecifics
82348 ;
82349
82350 1734 \12
82351 exts_´e£Á
82352  = 0;
82353
82354 1735 \12
82355 exts_couÁ
82356  = 0;
82357
82358 1736 
82359 size_t
82360  
82361 edx
82362 ;
82363
82364 1738 if(
82365 ¥ecs
82366 ->
82367 f\9c¡_ex\8bnsiÚ
82368  < 0) {
82369
82370 1743 \ f
82371 edx
82372  = 
82373 ¥ecs
82374 ->
82375 f\9c¡_ex\8bnsiÚ
82376 ;\83dx < 
82377 td
82378 ->
82379 \96em\92ts_couÁ
82380 ;\83dx++) {
82381
82382 1744 
82383 a¢_TYPE_memb\94_t
82384  *
82385 \96m
82386  = &
82387 td
82388 ->
82389 \96em\92ts
82390 [
82391 edx
82392 ];
82393
82394 1745 cڡ \1e*
82395 memb_±r
82396 ;
82397
82398 1746 cڡ \1e* cڡ *
82399 memb_±r2
82400 ;
82401
82402 1747 \12
82403 ´e£Á
82404 ;
82405
82406 1749 if(!
82407         `IN_EXTENSION_GROUP
82408 (
82409 ¥ecs
82410
82411 edx
82412 )) {
82413
82414 1750 
82415         `ASN_DEBUG
82416 ("% (@%ldèi nÙ\83x\8bnsiÚ", 
82417 \96m
82418 ->
82419 ty³
82420 ->
82421 Çme
82422
82423 edx
82424 );
82425
82426 1755 if(
82427 \96m
82428 ->
82429 æags
82430  & 
82431 ATF_POINTER
82432 ) {
82433
82434 1756 
82435 memb_±r2
82436  = (cڡ \1e* cڡ *)((cڡ \ 5*)
82437 ¥\8c
82438  + 
82439 \96m
82440 ->
82441 memb_off£t
82442 );
82443
82444 1757 
82445 ´e£Á
82446  = (*
82447 memb_±r2
82448  != 0);
82449
82450 1759 
82451 memb_±r
82452  = (cڡ \1e*)((cڡ \ 5*)
82453 ¥\8c
82454  + 
82455 \96m
82456 ->
82457 memb_off£t
82458 );
82459
82460 1760 
82461 memb_±r2
82462  = &
82463 memb_±r
82464 ;
82465
82466 1761 
82467 ´e£Á
82468  = 1;
82469
82470 1764 
82471         `ASN_DEBUG
82472 ("checking %s (@%ld)\85resent => %d",
82473
82474 1765 
82475 \96m
82476 ->
82477 ty³
82478 ->
82479 Çme
82480
82481 edx
82482
82483 ´e£Á
82484 );
82485
82486 1766 
82487 exts_couÁ
82488 ++;
82489
82490 1767 
82491 exts_´e£Á
82492  +ð
82493 ´e£Á
82494 ;
82495
82496 1770 if(
82497 po1
82498  && 
82499         `³r_put_ãw_b\99s
82500 Õo1, 
82501 ´e£Á
82502 , 1))
82503
82504 1773 if(
82505 po2
82506  && 
82507 ´e£Á
82508  && 
82509         `­\94\92_ty³_put
82510 (
82511 \96m
82512 ->
82513 ty³
82514 ,
82515
82516 1774 
82517 \96m
82518 ->
82519 \92cod\9ag_cÚ¡¿\9ats
82520 .
82521 ³r_cÚ¡¿\9ats
82522 , *
82523 memb_±r2
82524
82525 po2
82526 ))
82527
82528 1779 \15 
82529 exts_´e£Á
82530  ? 
82531 exts_couÁ
82532  : 0;
82533
82534 1780 
82535         }
82536 }
82537
82538 1782 
82539 a¢_\92c_rv®_t
82540
82541
82542 1783 
82543         $SEQUENCE_\92code_­\94
82544 (cڡ 
82545 a¢_TYPE_desü\9dtÜ_t
82546  *
82547 td
82548 ,
82549
82550 1784 cڡ 
82551 a¢_³r_cÚ¡¿\9ats_t
82552  *
82553 cÚ¡¿\9ats
82554 ,
82555
82556 1785 cڡ \1e*
82557 ¥\8c
82558
82559 a¢_³r_ou\8d_t
82560  *
82561 po
82562 ) {
82563
82564 1786 cڡ 
82565 a¢_SEQUENCE_¥ecifics_t
82566  *
82567 ¥ecs
82568
82569
82570 1787 ð(cÚ¡ 
82571 a¢_SEQUENCE_¥ecifics_t
82572  *)
82573 td
82574 ->
82575 ¥ecifics
82576 ;
82577
82578 1788 
82579 a¢_\92c_rv®_t
82580  
82581 \94
82582  = {0,0,0};
82583
82584 1789 \12
82585 n_ex\8bnsiÚs
82586 ;
82587
82588 1790 
82589 size_t
82590  
82591 edx
82592 ;
82593
82594 1791 
82595 size_t
82596  
82597 i
82598 ;
82599
82600 1793 (\1e)
82601 cÚ¡¿\9ats
82602 ;
82603
82604 1795 if(!
82605 ¥\8c
82606 )
82607
82608 1796 
82609 ASN__ENCODE_FAILED
82610 ;
82611
82612 1798 
82613 \94
82614 .
82615 \92coded
82616  = 0;
82617
82618 1800 
82619         `ASN_DEBUG
82620 ("Encod\9ag % a SEQUENCE (APER)", 
82621 td
82622 ->
82623 Çme
82624 );
82625
82626 1806 if(
82627 ¥ecs
82628 ->
82629 f\9c¡_ex\8bnsiÚ
82630  < 0) {
82631
82632 1807 
82633 n_ex\8bnsiÚs
82634  = 0;
82635
82636 1809 
82637 n_ex\8bnsiÚs
82638  = 
82639         `SEQUENCE_hªdË_ex\8bnsiÚs_­\94
82640 (
82641 td
82642
82643 ¥\8c
82644 , 0, 0);
82645
82646 1810 if(
82647 n_ex\8bnsiÚs
82648  < 0è
82649 ASN__ENCODE_FAILED
82650 ;
82651
82652 1811 if(
82653         `³r_put_ãw_b\99s
82654 (
82655 po
82656
82657 n_ex\8bnsiÚs
82658  ? 1 : 0, 1)) {
82659
82660 1812 
82661 ASN__ENCODE_FAILED
82662 ;
82663
82664 1817 \ f
82665 i
82666  = 0; i < 
82667 ¥ecs
82668 ->
82669 roms_couÁ
82670 ; i++) {
82671
82672 1818 
82673 a¢_TYPE_memb\94_t
82674  *
82675 \96m
82676 ;
82677
82678 1819 cڡ \1e*
82679 memb_±r
82680 ;
82681
82682 1820 cڡ \1e* cڡ *
82683 memb_±r2
82684 ;
82685
82686 1821 \12
82687 ´e£Á
82688 ;
82689
82690 1823 
82691 edx
82692  = 
82693 ¥ecs
82694 ->
82695 oms
82696 [
82697 i
82698 ];
82699
82700 1824 
82701 \96m
82702  = &
82703 td
82704 ->
82705 \96em\92ts
82706 [
82707 edx
82708 ];
82709
82710 1827 if(
82711 \96m
82712 ->
82713 æags
82714  & 
82715 ATF_POINTER
82716 ) {
82717
82718 1828 
82719 memb_±r2
82720  = (cڡ \1e* cڡ *)((cڡ \ 5*)
82721 ¥\8c
82722  + 
82723 \96m
82724 ->
82725 memb_off£t
82726 );
82727
82728 1829 
82729 ´e£Á
82730  = (*
82731 memb_±r2
82732  != 0);
82733
82734 1831 
82735 memb_±r
82736  = (cڡ \1e*)((cڡ \ 5*)
82737 ¥\8c
82738  + 
82739 \96m
82740 ->
82741 memb_off£t
82742 );
82743
82744 1832 
82745 memb_±r2
82746  = &
82747 memb_±r
82748 ;
82749
82750 1833 
82751 ´e£Á
82752  = 1;
82753
82754 1837 if(
82755 ´e£Á
82756  && 
82757 \96m
82758 ->
82759 deçuÉ_v®ue_cmp
82760
82761
82762 1838 && 
82763 \96m
82764 ->
82765         `deçuÉ_v®ue_cmp
82766 (
82767 memb_±r2
82768 ) == 1)
82769
82770 1839 
82771 ´e£Á
82772  = 0;
82773
82774 1841 
82775         `ASN_DEBUG
82776 ("Element %s %s %s->%s is %s",
82777
82778 1842 
82779 \96m
82780 ->
82781 æags
82782  & 
82783 ATF_POINTER
82784  ? "ptr" : "inline",
82785
82786 1843 
82787 \96m
82788 ->
82789 deçuÉ_v®ue_cmp
82790  ? "def" : "wtv",
82791
82792 1844 
82793 td
82794 ->
82795 Çme
82796
82797 \96m
82798 ->Çme, 
82799 ´e£Á
82800  ? "present" : "absent");
82801
82802 1845 if(
82803         `³r_put_ãw_b\99s
82804 (
82805 po
82806
82807 ´e£Á
82808 , 1))
82809
82810 1846 
82811 ASN__ENCODE_FAILED
82812 ;
82813
82814 1852 
82815         `ASN_DEBUG
82816 ("f\9c¡_ex\8bnsiÚ = %d,\83Ëm\92t ð%d", 
82817 ¥ecs
82818 ->
82819 f\9c¡_ex\8bnsiÚ
82820 ,
82821
82822 1853 
82823 td
82824 ->
82825 \96em\92ts_couÁ
82826 );
82827
82828 1854 \ f
82829 edx
82830  = 0;
82831
82832 1855 
82833 edx
82834  < ((
82835 ¥ecs
82836 ->
82837 f\9c¡_ex\8bnsiÚ
82838  < 0è? 
82839 td
82840 ->
82841 \96em\92ts_couÁ
82842
82843
82844 1856 : (
82845 size_t
82846 )
82847 ¥ecs
82848 ->
82849 f\9c¡_ex\8bnsiÚ
82850 );
82851
82852 1857 
82853 edx
82854 ++) {
82855
82856 1858 
82857 a¢_TYPE_memb\94_t
82858  *
82859 \96m
82860  = &
82861 td
82862 ->
82863 \96em\92ts
82864 [
82865 edx
82866 ];
82867
82868 1859 cڡ \1e*
82869 memb_±r
82870 ;
82871
82872 1860 cڡ \1e* cڡ *
82873 memb_±r2
82874 ;
82875
82876 1862 if(
82877         `IN_EXTENSION_GROUP
82878 (
82879 ¥ecs
82880
82881 edx
82882 ))
82883
82884 1865 
82885         `ASN_DEBUG
82886 ("Abou\88\92cod\90%s", 
82887 \96m
82888 ->
82889 ty³
82890 ->
82891 Çme
82892 );
82893
82894 1868 if(
82895 \96m
82896 ->
82897 æags
82898  & 
82899 ATF_POINTER
82900 ) {
82901
82902 1869 
82903 memb_±r2
82904  = (cڡ \1e* cڡ *)((cڡ \ 5*)
82905 ¥\8c
82906  + 
82907 \96m
82908 ->
82909 memb_off£t
82910 );
82911
82912 1870 if(!*
82913 memb_±r2
82914 ) {
82915
82916 1871 
82917         `ASN_DEBUG
82918 ("Element %s %ld\82ot\85resent",
82919
82920 1872 
82921 \96m
82922 ->
82923 Çme
82924
82925 edx
82926 );
82927
82928 1873 if(
82929 \96m
82930 ->
82931 ÝtiÚ®
82932 )
82933
82934 1876 
82935 ASN__ENCODE_FAILED
82936 ;
82937
82938 1879 
82939 memb_±r
82940  = (cڡ \1e*)((cڡ \ 5*)
82941 ¥\8c
82942  + 
82943 \96m
82944 ->
82945 memb_off£t
82946 );
82947
82948 1880 
82949 memb_±r2
82950  = &
82951 memb_±r
82952 ;
82953
82954 1884 if(
82955 \96m
82956 ->
82957 deçuÉ_v®ue_cmp
82958  &&\83lm->
82959         `deçuÉ_v®ue_cmp
82960 (
82961 memb_±r2
82962 ) == 1)
82963
82964 1887 
82965         `ASN_DEBUG
82966 ("Encod\9ag %s->%s", 
82967 td
82968 ->
82969 Çme
82970
82971 \96m
82972 ->name);
82973
82974 1888 
82975 \94
82976  = 
82977 \96m
82978 ->
82979 ty³
82980 ->
82981 Ý
82982 ->
82983         `­\94_\92cod\94
82984 Ólm->ty³,\83lm->
82985 \92cod\9ag_cÚ¡¿\9ats
82986 .
82987 ³r_cÚ¡¿\9ats
82988 ,
82989
82990 1889 *
82991 memb_±r2
82992
82993 po
82994 );
82995
82996 1890 if(
82997 \94
82998 .
82999 \92coded
83000  == -1)
83001
83002 1891 \15 
83003 \94
83004 ;
83005
83006 1895 if(!
83007 n_ex\8bnsiÚs
83008 è
83009         `ASN__ENCODED_OK
83010 (
83011 \94
83012 );
83013
83014 1897 
83015         `ASN_DEBUG
83016 ("L\92gth oà%d b\99-m­", 
83017 n_ex\8bnsiÚs
83018 );
83019
83020 1899 if(
83021         `­\94_put_n¦\92gth
83022 (
83023 po
83024
83025 n_ex\8bnsiÚs
83026 ))
83027
83028 1900 
83029 ASN__ENCODE_FAILED
83030 ;
83031
83032 1902 
83033         `ASN_DEBUG
83034 ("B\99-m­ oà%d\83Ëm\92ts", 
83035 n_ex\8bnsiÚs
83036 );
83037
83038 1905 if(
83039         `SEQUENCE_hªdË_ex\8bnsiÚs_­\94
83040 (
83041 td
83042
83043 ¥\8c
83044
83045 po
83046 , 0è!ð
83047 n_ex\8bnsiÚs
83048 )
83049
83050 1906 
83051 ASN__ENCODE_FAILED
83052 ;
83053
83054 1908 
83055         `ASN_DEBUG
83056 ("Wr\99\9ag %d\83x\8bnsiÚs", 
83057 n_ex\8bnsiÚs
83058 );
83059
83060 1910 if(
83061         `SEQUENCE_hªdË_ex\8bnsiÚs_­\94
83062 (
83063 td
83064
83065 ¥\8c
83066 , 0, 
83067 po
83068 è!ð
83069 n_ex\8bnsiÚs
83070 )
83071
83072 1911 
83073 ASN__ENCODE_FAILED
83074 ;
83075
83076 1913 
83077         `ASN__ENCODED_OK
83078 (
83079 \94
83080 );
83081
83082 1914 
83083         }
83084 }
83085
83086 1919 
83087         $SEQUENCE_com·»
83088 (cڡ 
83089 a¢_TYPE_desü\9dtÜ_t
83090  *
83091 td
83092 , cڡ \1e*
83093 ­\8c
83094 ,
83095
83096 1920 cڡ \1e*
83097 b±r
83098 ) {
83099
83100 1921 
83101 size_t
83102  
83103 edx
83104 ;
83105
83106 1923 \ f
83107 edx
83108  = 0;\83dx < 
83109 td
83110 ->
83111 \96em\92ts_couÁ
83112 ;\83dx++) {
83113
83114 1924 
83115 a¢_TYPE_memb\94_t
83116  *
83117 \96m
83118  = &
83119 td
83120 ->
83121 \96em\92ts
83122 [
83123 edx
83124 ];
83125
83126 1925 cڡ \1e*
83127 amemb
83128 ;
83129
83130 1926 cڡ \1e*
83131 bmemb
83132 ;
83133
83134 1927 \12
83135 »t
83136 ;
83137
83138 1929 if(
83139 \96m
83140 ->
83141 æags
83142  & 
83143 ATF_POINTER
83144 ) {
83145
83146 1930 
83147 amemb
83148  =
83149
83150 1931 *(cڡ \1e*cڡ *)((cڡ \ 5*)
83151 ­\8c
83152  + 
83153 \96m
83154 ->
83155 memb_off£t
83156 );
83157
83158 1932 
83159 bmemb
83160  =
83161
83162 1933 *(cڡ \1e*cڡ *)((cڡ \ 5*)
83163 b±r
83164  + 
83165 \96m
83166 ->
83167 memb_off£t
83168 );
83169
83170 1934 if(!
83171 amemb
83172 ) {
83173
83174 1935 if(!
83175 bmemb
83176\ 6;
83177
83178 1936 if(
83179 \96m
83180 ->
83181 deçuÉ_v®ue_cmp
83182
83183
83184 1937 && 
83185 \96m
83186 ->
83187         `deçuÉ_v®ue_cmp
83188 (
83189 bmemb
83190 ) == 0) {
83191
83192 1942 } \vif(!
83193 bmemb
83194 ) {
83195
83196 1943 if(
83197 \96m
83198 ->
83199 deçuÉ_v®ue_cmp
83200
83201
83202 1944 && 
83203 \96m
83204 ->
83205         `deçuÉ_v®ue_cmp
83206 (
83207 amemb
83208 ) == 0) {
83209
83210 1951 
83211 amemb
83212  = (cڡ \1e*)((cڡ \ 5*)
83213 ­\8c
83214  + 
83215 \96m
83216 ->
83217 memb_off£t
83218 );
83219
83220 1952 
83221 bmemb
83222  = (cڡ \1e*)((cڡ \ 5*)
83223 b±r
83224  + 
83225 \96m
83226 ->
83227 memb_off£t
83228 );
83229
83230 1955 
83231 »t
83232  = 
83233 \96m
83234 ->
83235 ty³
83236 ->
83237 Ý
83238 ->
83239         `com·»_¡ruù
83240 Ólm->ty³, 
83241 amemb
83242
83243 bmemb
83244 );
83245
83246 1956 if(
83247 »t
83248  != 0) \15\84et;
83249
83250 1960 
83251         }
83252 }
83253
83254 1962 
83255 a¢_TYPE_Ý\94©iÚ_t
83256  
83257         ga¢_OP_SEQUENCE
83258  = {
83259
83260 1963 
83261 SEQUENCE_ä\93
83262 ,
83263
83264 1964 
83265 SEQUENCE_´\9at
83266 ,
83267
83268 1965 
83269 SEQUENCE_com·»
83270 ,
83271
83272 1966 
83273 SEQUENCE_decode_b\94
83274 ,
83275
83276 1967 
83277 SEQUENCE_\92code_d\94
83278 ,
83279
83280 1968 
83281 SEQUENCE_decode_x\94
83282 ,
83283
83284 1969 
83285 SEQUENCE_\92code_x\94
83286 ,
83287
83288 1970 #ifdef 
83289 ASN_DISABLE_OER_SUPPORT
83290
83291
83292 1974 
83293 SEQUENCE_decode_Ûr
83294 ,
83295
83296 1975 
83297 SEQUENCE_\92code_Ûr
83298 ,
83299
83300 1977 #ifdeà
83301 ASN_DISABLE_PER_SUPPORT
83302
83303
83304 1983 
83305 SEQUENCE_decode_u³r
83306 ,
83307
83308 1984 
83309 SEQUENCE_\92code_u³r
83310 ,
83311
83312 1985 
83313 SEQUENCE_decode_­\94
83314 ,
83315
83316 1986 
83317 SEQUENCE_\92code_­\94
83318 ,
83319
83320 1988 
83321 SEQUENCE_¿ndom_f\9el
83322 ,
83323
83324 1993 
83325 a¢_¿ndom_f\9el_»suÉ_t
83326
83327
83328 1994 
83329         $SEQUENCE_¿ndom_f\9el
83330 (cڡ 
83331 a¢_TYPE_desü\9dtÜ_t
83332  *
83333 td
83334\1e**
83335 ¥\8c
83336 ,
83337
83338 1995 cڡ 
83339 a¢_\92cod\9ag_cÚ¡¿\9ats_t
83340  *
83341 cڡr
83342 ,
83343
83344 1996 
83345 size_t
83346  
83347 max_Ëngth
83348 ) {
83349
83350 1997 cڡ 
83351 a¢_SEQUENCE_¥ecifics_t
83352  *
83353 ¥ecs
83354  =
83355
83356 1998 (cڡ 
83357 a¢_SEQUENCE_¥ecifics_t
83358  *)
83359 td
83360 ->
83361 ¥ecifics
83362 ;
83363
83364 1999 
83365 a¢_¿ndom_f\9el_»suÉ_t
83366  
83367 »suÉ_ok
83368  = {
83369 ARFILL_OK
83370 , 0};
83371
83372 2000 
83373 a¢_¿ndom_f\9el_»suÉ_t
83374  
83375 »suÉ_ç\9eed
83376  = {
83377 ARFILL_FAILED
83378 , 0};
83379
83380 2001 
83381 a¢_¿ndom_f\9el_»suÉ_t
83382  
83383 »suÉ_sk\9d³d
83384  = {
83385 ARFILL_SKIPPED
83386 , 0};
83387
83388 2002 \1e*
83389 ¡
83390  = *
83391 ¥\8c
83392 ;
83393
83394 2003 
83395 size_t
83396  
83397 edx
83398 ;
83399
83400 2005 if(
83401 max_Ëngth
83402  =ð0è\15 
83403 »suÉ_sk\9d³d
83404 ;
83405
83406 2007 (\1e)
83407 cڡr
83408 ;
83409
83410 2009 if(
83411 ¡
83412  =ð
83413 NULL
83414 ) {
83415
83416 2010 
83417 ¡
83418  = 
83419         `CALLOC
83420 (1, 
83421 ¥ecs
83422 ->
83423 ¡ruù_size
83424 );
83425
83426 2011 if(
83427 ¡
83428  =ð
83429 NULL
83430 ) {
83431
83432 2012 \15 
83433 »suÉ_ç\9eed
83434 ;
83435
83436 2016 \ f
83437 edx
83438  = 0;\83dx < 
83439 td
83440 ->
83441 \96em\92ts_couÁ
83442 ;\83dx++) {
83443
83444 2017 cڡ 
83445 a¢_TYPE_memb\94_t
83446  *
83447 \96m
83448  = &
83449 td
83450 ->
83451 \96em\92ts
83452 [
83453 edx
83454 ];
83455
83456 2018 \1e*
83457 memb_±r
83458 ;
83459
83460 2019 \1e**
83461 memb_±r2
83462 ;
83463
83464 2020 
83465 a¢_¿ndom_f\9el_»suÉ_t
83466  
83467 tm´es
83468 ;
83469
83470 2022 if(
83471 \96m
83472 ->
83473 ÝtiÚ®
83474  && 
83475         `a¢_¿ndom_b\91w\93n
83476 (0, 4) == 2) {
83477
83478 2027 if(
83479 \96m
83480 ->
83481 æags
83482  & 
83483 ATF_POINTER
83484 ) {
83485
83486 2029 
83487 memb_±r2
83488  = (\1e**)((\ 5*)
83489 ¡
83490  + 
83491 \96m
83492 ->
83493 memb_off£t
83494 );
83495
83496 2031 
83497 memb_±r
83498  = (\ 5*)
83499 ¡
83500  + 
83501 \96m
83502 ->
83503 memb_off£t
83504 ;
83505
83506 2032 
83507 memb_±r2
83508  = &
83509 memb_±r
83510 ;
83511
83512 2035 
83513 tm´es
83514  = 
83515 \96m
83516 ->
83517 ty³
83518 ->
83519 Ý
83520 ->
83521         `¿ndom_f\9el
83522 (
83523
83524 2036 
83525 \96m
83526 ->
83527 ty³
83528
83529 memb_±r2
83530 , &\96m->
83531 \92cod\9ag_cÚ¡¿\9ats
83532 ,
83533
83534 2037 
83535 max_Ëngth
83536  > 
83537 »suÉ_ok
83538 .
83539 Ëngth
83540  ? max_length -\84esult_ok.length : 0);
83541
83542 2038 \1a
83543 tm´es
83544 .
83545 code
83546 ) {
83547
83548 2039 \ 4
83549 ARFILL_OK
83550 :
83551
83552 2040 
83553 »suÉ_ok
83554 .
83555 Ëngth
83556  +ð
83557 tm´es
83558 .length;
83559
83560 2042 \ 4
83561 ARFILL_SKIPPED
83562 :
83563
83564 2043 
83565         `as£¹
83566 (!(
83567 \96m
83568 ->
83569 æags
83570  & 
83571 ATF_POINTER
83572 è|| *
83573 memb_±r2
83574  =ð
83575 NULL
83576 );
83577
83578 2045 \ 4
83579 ARFILL_FAILED
83580 :
83581
83582 2046 if(
83583 ¡
83584  =ð*
83585 ¥\8c
83586 ) {
83587
83588 2047 
83589         `ASN_STRUCT_RESET
83590 (*
83591 td
83592
83593 ¡
83594 );
83595
83596 2049 
83597         `ASN_STRUCT_FREE
83598 (*
83599 td
83600
83601 ¡
83602 );
83603
83604 2051 \15 
83605 tm´es
83606 ;
83607
83608 2055 *
83609 ¥\8c
83610  = 
83611 ¡
83612 ;
83613
83614 2057 \15 
83615 »suÉ_ok
83616 ;
83617
83618 2058 
83619         }
83620 }
83621
83622         @constr_SEQUENCE_OF.c
83623
83624\ 2
83625         ~<a¢_\9a\8bº®.h
83626 >
83627
83628\ 2
83629         ~<cڡr_SEQUENCE_OF.h
83630 >
83631
83632\ 2
83633         ~<a¢_SEQUENCE_OF.h
83634 >
83635
83636 13 
83637 a¢_\92c_rv®_t
83638
83639
83640 14 
83641         $SEQUENCE_OF_\92code_d\94
83642 (cڡ 
83643 a¢_TYPE_desü\9dtÜ_t
83644  *
83645 td
83646 , cڡ \1e*
83647 ±r
83648 ,
83649
83650 15 \12
83651 \8fg_mode
83652
83653 b\94_\8ev_\8fg_t
83654  
83655 \8fg
83656 ,
83657
83658 16 
83659 a¢_­p_cÚsume_by\8bs_f
83660  *
83661 cb
83662\1e*
83663 ­p_key
83664 ) {
83665
83666 17 
83667 a¢_TYPE_memb\94_t
83668  *
83669 \96m
83670  = 
83671 td
83672 ->
83673 \96em\92ts
83674 ;
83675
83676 18 cڡ 
83677 a¢_ªÚymous_£qu\92û_
83678  *
83679 li¡
83680  = 
83681         `_A_CSEQUENCE_FROM_VOID
83682 (
83683 ±r
83684 );
83685
83686 19 
83687 size_t
83688  
83689 compu\8bd_size
83690  = 0;
83691
83692 20 
83693 ssize_t
83694  
83695 \92cod\9ag_size
83696  = 0;
83697
83698 21 
83699 a¢_\92c_rv®_t
83700  
83701 \94
83702  = {0,0,0};
83703
83704 22 \12
83705 edx
83706 ;
83707
83708 24 
83709         `ASN_DEBUG
83710 ("E¡im©\9ag siz\90oàSEQUENCE OF %s", 
83711 td
83712 ->
83713 Çme
83714 );
83715
83716 29 \ f
83717 edx
83718  = 0;\83dx < 
83719 li¡
83720 ->
83721 couÁ
83722 ;\83dx++) {
83723
83724 30 \1e*
83725 memb_±r
83726  = 
83727 li¡
83728 ->
83729 ¬¿y
83730 [
83731 edx
83732 ];
83733
83734 31 if(!
83735 memb_±r
83736\ 6;
83737
83738 32 
83739 \94
83740  = 
83741 \96m
83742 ->
83743 ty³
83744 ->
83745 Ý
83746 ->
83747         `d\94_\92cod\94
83748 Ólm->ty³, 
83749 memb_±r
83750 ,
83751
83752 33 0, 
83753 \96m
83754 ->
83755 \8fg
83756 ,
83757
83758 35 if(
83759 \94
83760 .
83761 \92coded
83762  == -1)
83763
83764 36 \15 
83765 \94
83766 ;
83767
83768 37 
83769 compu\8bd_size
83770  +ð
83771 \94
83772 .
83773 \92coded
83774 ;
83775
83776 43 
83777 \92cod\9ag_size
83778  = 
83779         `d\94_wr\99e_\8fgs
83780 (
83781 td
83782
83783 compu\8bd_size
83784
83785 \8fg_mode
83786 , 1, 
83787 \8fg
83788 ,
83789
83790 44 
83791 cb
83792
83793 ­p_key
83794 );
83795
83796 45 if(
83797 \92cod\9ag_size
83798  == -1) {
83799
83800 46 
83801 \94
83802 .
83803 \92coded
83804  = -1;
83805
83806 47 
83807 \94
83808 .
83809 ç\9eed_ty³
83810  = 
83811 td
83812 ;
83813
83814 48 
83815 \94
83816 .
83817 ¡ruùu»_±r
83818  = 
83819 ±r
83820 ;
83821
83822 49 \15 
83823 \94
83824 ;
83825
83826 52 
83827 compu\8bd_size
83828  +ð
83829 \92cod\9ag_size
83830 ;
83831
83832 53 if(!
83833 cb
83834 ) {
83835
83836 54 
83837 \94
83838 .
83839 \92coded
83840  = 
83841 compu\8bd_size
83842 ;
83843
83844 55 
83845         `ASN__ENCODED_OK
83846 (
83847 \94
83848 );
83849
83850 58 
83851         `ASN_DEBUG
83852 ("Encod\9ag memb\94 oàSEQUENCE OF %s", 
83853 td
83854 ->
83855 Çme
83856 );
83857
83858 63 \ f
83859 edx
83860  = 0;\83dx < 
83861 li¡
83862 ->
83863 couÁ
83864 ;\83dx++) {
83865
83866 64 \1e*
83867 memb_±r
83868  = 
83869 li¡
83870 ->
83871 ¬¿y
83872 [
83873 edx
83874 ];
83875
83876 65 if(!
83877 memb_±r
83878\ 6;
83879
83880 66 
83881 \94
83882  = 
83883 \96m
83884 ->
83885 ty³
83886 ->
83887 Ý
83888 ->
83889         `d\94_\92cod\94
83890 Ólm->ty³, 
83891 memb_±r
83892 ,
83893
83894 67 0, 
83895 \96m
83896 ->
83897 \8fg
83898 ,
83899
83900 68 
83901 cb
83902
83903 ­p_key
83904 );
83905
83906 69 if(
83907 \94
83908 .
83909 \92coded
83910  == -1)
83911
83912 70 \15 
83913 \94
83914 ;
83915
83916 71 
83917 \92cod\9ag_size
83918  +ð
83919 \94
83920 .
83921 \92coded
83922 ;
83923
83924 74 if(
83925 compu\8bd_size
83926  !ð(
83927 size_t
83928 )
83929 \92cod\9ag_size
83930 ) {
83931
83932 78 
83933 \94
83934 .
83935 \92coded
83936  = -1;
83937
83938 79 
83939 \94
83940 .
83941 ç\9eed_ty³
83942  = 
83943 td
83944 ;
83945
83946 80 
83947 \94
83948 .
83949 ¡ruùu»_±r
83950  = 
83951 ±r
83952 ;
83953
83954 82 
83955 \94
83956 .
83957 \92coded
83958  = 
83959 compu\8bd_size
83960 ;
83961
83962 83 
83963 \94
83964 .
83965 ¡ruùu»_±r
83966  = 0;
83967
83968 84 
83969 \94
83970 .
83971 ç\9eed_ty³
83972  = 0;
83973
83974 87 \15 
83975 \94
83976 ;
83977
83978 88 
83979         }
83980 }
83981
83982 90 
83983 a¢_\92c_rv®_t
83984
83985
83986 91 
83987         $SEQUENCE_OF_\92code_x\94
83988 (cڡ 
83989 a¢_TYPE_desü\9dtÜ_t
83990  *
83991 td
83992 , cڡ \1e*
83993 ¥\8c
83994 ,
83995
83996 92 \12
83997 \9eev\96
83998\f
83999 x\94_\92cod\94_æags_e
84000  
84001 æags
84002 ,
84003
84004 93 
84005 a¢_­p_cÚsume_by\8bs_f
84006  *
84007 cb
84008\1e*
84009 ­p_key
84010 ) {
84011
84012 94 
84013 a¢_\92c_rv®_t
84014  
84015 \94
84016  = {0,0,0};
84017
84018 95 cڡ 
84019 a¢_SET_OF_¥ecifics_t
84020  *
84021 ¥ecs
84022  = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
84023 td
84024 ->
84025 ¥ecifics
84026 ;
84027
84028 96 cڡ 
84029 a¢_TYPE_memb\94_t
84030  *
84031 \96m
84032  = 
84033 td
84034 ->
84035 \96em\92ts
84036 ;
84037
84038 97 cڡ 
84039 a¢_ªÚymous_£qu\92û_
84040  *
84041 li¡
84042  = 
84043         `_A_CSEQUENCE_FROM_VOID
84044 (
84045 ¥\8c
84046 );
84047
84048 98 cڡ \ 5*
84049 mÇme
84050  = 
84051 ¥ecs
84052 ->
84053 as_XMLV®ueLi¡
84054
84055
84056 100 : ((*
84057 \96m
84058 ->
84059 Çme
84060 è?\83lm->Çm\90:\83lm->
84061 ty³
84062 ->
84063 xml_\8fg
84064 );
84065
84066 101 
84067 size_t
84068  
84069 mËn
84070  = 
84071 mÇme
84072  ? 
84073         `¡¾\92
84074 (mname) : 0;
84075
84076 102 \12
84077 xÿn
84078  = (
84079 æags
84080  & 
84081 XER_F_CANONICAL
84082 );
84083
84084 103 \12
84085 i
84086 ;
84087
84088 105 if(!
84089 ¥\8c
84090 è
84091 ASN__ENCODE_FAILED
84092 ;
84093
84094 107 
84095 \94
84096 .
84097 \92coded
84098  = 0;
84099
84100 109 \ f
84101 i
84102  = 0; i < 
84103 li¡
84104 ->
84105 couÁ
84106 ; i++) {
84107
84108 110 
84109 a¢_\92c_rv®_t
84110  
84111 tm³r
84112  = {0,0,0};
84113
84114 111 \1e*
84115 memb_±r
84116  = 
84117 li¡
84118 ->
84119 ¬¿y
84120 [
84121 i
84122 ];
84123
84124 112 if(!
84125 memb_±r
84126\ 6;
84127
84128 114 if(
84129 mÇme
84130 ) {
84131
84132 115 if(!
84133 xÿn
84134 è
84135         `ASN__TEXT_INDENT
84136 (1, 
84137 \9eev\96
84138 );
84139
84140 116 
84141         `ASN__CALLBACK3
84142 ("<", 1, 
84143 mÇme
84144
84145 mËn
84146 , ">", 1);
84147
84148 119 
84149 tm³r
84150  = 
84151 \96m
84152 ->
84153 ty³
84154 ->
84155 Ý
84156 ->
84157         `x\94_\92cod\94
84158 Ólm->ty³, 
84159 memb_±r
84160
84161 \9eev\96
84162  + 1,
84163
84164 120 
84165 æags
84166
84167 cb
84168
84169 ­p_key
84170 );
84171
84172 121 if(
84173 tm³r
84174 .
84175 \92coded
84176  == -1) \15\81mper;
84177
84178 122 
84179 \94
84180 .
84181 \92coded
84182  +ð
84183 tm³r
84184 .encoded;
84185
84186 123 if(
84187 tm³r
84188 .
84189 \92coded
84190  =ð0 && 
84191 ¥ecs
84192 ->
84193 as_XMLV®ueLi¡
84194 ) {
84195
84196 124 cڡ \ 5*
84197 Çme
84198  = 
84199 \96m
84200 ->
84201 ty³
84202 ->
84203 xml_\8fg
84204 ;
84205
84206 125 
84207 size_t
84208  
84209 Ën
84210  = 
84211         `¡¾\92
84212 (
84213 Çme
84214 );
84215
84216 126 if(!
84217 xÿn
84218 è
84219         `ASN__TEXT_INDENT
84220 (1, 
84221 \9eev\96
84222  + 1);
84223
84224 127 
84225         `ASN__CALLBACK3
84226 ("<", 1, 
84227 Çme
84228
84229 Ën
84230 , "/>", 2);
84231
84232 130 if(
84233 mÇme
84234 ) {
84235
84236 131 
84237         `ASN__CALLBACK3
84238 ("</", 2, 
84239 mÇme
84240
84241 mËn
84242 , ">", 1);
84243
84244 135 if(!
84245 xÿn
84246 è
84247         `ASN__TEXT_INDENT
84248 (1, 
84249 \9eev\96
84250  - 1);
84251
84252 137 
84253         `ASN__ENCODED_OK
84254 (
84255 \94
84256 );
84257
84258 138 
84259 cb_ç\9eed
84260 :
84261
84262 139 
84263 ASN__ENCODE_FAILED
84264 ;
84265
84266 140 
84267         }
84268 }
84269
84270 142 #iâdeà
84271 ASN_DISABLE_PER_SUPPORT
84272
84273
84274 144 
84275 a¢_\92c_rv®_t
84276
84277
84278 145 
84279         $SEQUENCE_OF_\92code_u³r
84280 (cڡ 
84281 a¢_TYPE_desü\9dtÜ_t
84282  *
84283 td
84284 ,
84285
84286 146 cڡ 
84287 a¢_³r_cÚ¡¿\9ats_t
84288  *
84289 cÚ¡¿\9ats
84290 ,
84291
84292 147 cڡ \1e*
84293 ¥\8c
84294
84295 a¢_³r_ou\8d_t
84296  *
84297 po
84298 ) {
84299
84300 148 cڡ 
84301 a¢_ªÚymous_£qu\92û_
84302  *
84303 li¡
84304 ;
84305
84306 149 cڡ 
84307 a¢_³r_cÚ¡¿\9at_t
84308  *
84309 ù
84310 ;
84311
84312 150 
84313 a¢_\92c_rv®_t
84314  
84315 \94
84316  = {0,0,0};
84317
84318 151 cڡ 
84319 a¢_TYPE_memb\94_t
84320  *
84321 \96m
84322  = 
84323 td
84324 ->
84325 \96em\92ts
84326 ;
84327
84328 152 
84329 size_t
84330  
84331 \92coded_edx
84332 ;
84333
84334 154 if(!
84335 ¥\8c
84336 è
84337 ASN__ENCODE_FAILED
84338 ;
84339
84340 155 
84341 li¡
84342  = 
84343         `_A_CSEQUENCE_FROM_VOID
84344 (
84345 ¥\8c
84346 );
84347
84348 157 
84349 \94
84350 .
84351 \92coded
84352  = 0;
84353
84354 159 
84355         `ASN_DEBUG
84356 ("Encod\9ag % a SEQUENCE OF (%d)", 
84357 td
84358 ->
84359 Çme
84360
84361 li¡
84362 ->
84363 couÁ
84364 );
84365
84366 161 if(
84367 cÚ¡¿\9ats
84368 è
84369 ù
84370  = &cÚ¡¿\9ats->
84371 size
84372 ;
84373
84374 162 \vif(
84375 td
84376 ->
84377 \92cod\9ag_cÚ¡¿\9ats
84378 .
84379 ³r_cÚ¡¿\9ats
84380 )
84381
84382 163 
84383 ù
84384  = &
84385 td
84386 ->
84387 \92cod\9ag_cÚ¡¿\9ats
84388 .
84389 ³r_cÚ¡¿\9ats
84390 ->
84391 size
84392 ;
84393
84394 164 \v
84395 ù
84396  = 0;
84397
84398 167 if(
84399 ù
84400 ) {
84401
84402 168 \12
84403 nÙ_\9a_roÙ
84404  =
84405
84406 169 (
84407 li¡
84408 ->
84409 couÁ
84410  < 
84411 ù
84412 ->
84413 low\94_bound
84414  ||\86i¡->couÁ > ct->
84415\94_bound
84416 );
84417
84418 170 
84419         `ASN_DEBUG
84420 ("lb %ld ub %ld %s", 
84421 ù
84422 ->
84423 low\94_bound
84424 , ct->
84425\94_bound
84426 ,
84427
84428 171 
84429 ù
84430 ->
84431 æags
84432  & 
84433 APC_EXTENSIBLE
84434  ? "ext" : "fix");
84435
84436 172 if(
84437 ù
84438 ->
84439 æags
84440  & 
84441 APC_EXTENSIBLE
84442 ) {
84443
84444 174 if(
84445         `³r_put_ãw_b\99s
84446 (
84447 po
84448
84449 nÙ_\9a_roÙ
84450 , 1)è
84451 ASN__ENCODE_FAILED
84452 ;
84453
84454 175 if(
84455 nÙ_\9a_roÙ
84456 è
84457 ù
84458  = 0;
84459
84460 176 } \vif(
84461 nÙ_\9a_roÙ
84462  && 
84463 ù
84464 ->
84465 efãùive_b\99s
84466  >= 0) {
84467
84468 177 
84469 ASN__ENCODE_FAILED
84470 ;
84471
84472 182 if(
84473 ù
84474  && ct->
84475 efãùive_b\99s
84476  >= 0) {
84477
84478 184 if(
84479         `³r_put_ãw_b\99s
84480 (
84481 po
84482
84483 li¡
84484 ->
84485 couÁ
84486  - 
84487 ù
84488 ->
84489 low\94_bound
84490 ,
84491
84492 185 
84493 ù
84494 ->
84495 efãùive_b\99s
84496 ))
84497
84498 186 
84499 ASN__ENCODE_FAILED
84500 ;
84501
84502 187 } \vif(
84503 li¡
84504 ->
84505 couÁ
84506  == 0) {
84507
84508 191 ià(
84509         `u³r_put_Ëngth
84510 (
84511 po
84512 , 0, 0)) {
84513
84514 192 
84515 ASN__ENCODE_FAILED
84516 ;
84517
84518 194 
84519         `ASN__ENCODED_OK
84520 (
84521 \94
84522 );
84523
84524 197 \ f
84525 \92coded_edx
84526  = 0; (
84527 ssize_t
84528 ëncoded_edx < 
84529 li¡
84530 ->
84531 couÁ
84532 ;) {
84533
84534 198 
84535 ssize_t
84536  
84537 may_\92code
84538 ;
84539
84540 199 
84541 size_t
84542  
84543 edx
84544 ;
84545
84546 200 \12
84547 Ãed_eom
84548  = 0;
84549
84550 202 if(
84551 ù
84552  && ct->
84553 efãùive_b\99s
84554  >= 0) {
84555
84556 203 
84557 may_\92code
84558  = 
84559 li¡
84560 ->
84561 couÁ
84562 ;
84563
84564 205 
84565 may_\92code
84566  =
84567
84568 206 
84569         `u³r_put_Ëngth
84570 (
84571 po
84572
84573 li¡
84574 ->
84575 couÁ
84576  - 
84577 \92coded_edx
84578 , &
84579 Ãed_eom
84580 );
84581
84582 207 if(
84583 may_\92code
84584  < 0è
84585 ASN__ENCODE_FAILED
84586 ;
84587
84588 210 \ f
84589 edx
84590  = 
84591 \92coded_edx
84592 ;\83dx <\83ncoded_edx + 
84593 may_\92code
84594 ;\83dx++) {
84595
84596 211 \1e*
84597 memb_±r
84598  = 
84599 li¡
84600 ->
84601 ¬¿y
84602 [
84603 edx
84604 ];
84605
84606 212 if(!
84607 memb_±r
84608 è
84609 ASN__ENCODE_FAILED
84610 ;
84611
84612 213 
84613 \94
84614  = 
84615 \96m
84616 ->
84617 ty³
84618 ->
84619 Ý
84620 ->
84621         `u³r_\92cod\94
84622 (
84623
84624 214 
84625 \96m
84626 ->
84627 ty³
84628 ,\83lm->
84629 \92cod\9ag_cÚ¡¿\9ats
84630 .
84631 ³r_cÚ¡¿\9ats
84632
84633 memb_±r
84634 ,
84635
84636 215 
84637 po
84638 );
84639
84640 216 if(
84641 \94
84642 .
84643 \92coded
84644  =ð-1è
84645 ASN__ENCODE_FAILED
84646 ;
84647
84648 219 if(
84649 Ãed_eom
84650  && 
84651         `u³r_put_Ëngth
84652 (
84653 po
84654 , 0, 0))
84655
84656 220 
84657 ASN__ENCODE_FAILED
84658 ;
84659
84660 222 
84661 \92coded_edx
84662  +ð
84663 may_\92code
84664 ;
84665
84666 225 
84667         `ASN__ENCODED_OK
84668 (
84669 \94
84670 );
84671
84672 226 
84673         }
84674 }
84675
84676 228 
84677 a¢_\92c_rv®_t
84678
84679
84680 229 
84681         $SEQUENCE_OF_\92code_­\94
84682 (cڡ 
84683 a¢_TYPE_desü\9dtÜ_t
84684  *
84685 td
84686 ,
84687
84688 230 cڡ 
84689 a¢_³r_cÚ¡¿\9ats_t
84690  *
84691 cÚ¡¿\9ats
84692 ,
84693
84694 231 cڡ \1e*
84695 ¥\8c
84696
84697 a¢_³r_ou\8d_t
84698  *
84699 po
84700 ) {
84701
84702 232 cڡ 
84703 a¢_ªÚymous_£qu\92û_
84704  *
84705 li¡
84706 ;
84707
84708 233 cڡ 
84709 a¢_³r_cÚ¡¿\9at_t
84710  *
84711 ù
84712 ;
84713
84714 234 
84715 a¢_\92c_rv®_t
84716  
84717 \94
84718  = {0,0,0};
84719
84720 235 
84721 a¢_TYPE_memb\94_t
84722  *
84723 \96m
84724  = 
84725 td
84726 ->
84727 \96em\92ts
84728 ;
84729
84730 236 \12
84731 £q
84732 ;
84733
84734 238 if(!
84735 ¥\8c
84736 è
84737 ASN__ENCODE_FAILED
84738 ;
84739
84740 239 
84741 li¡
84742  = 
84743         `_A_CSEQUENCE_FROM_VOID
84744 (
84745 ¥\8c
84746 );
84747
84748 241 
84749 \94
84750 .
84751 \92coded
84752  = 0;
84753
84754 243 
84755         `ASN_DEBUG
84756 ("Encod\9ag % a SEQUENCE OF siz\90(%dèus\9ag ALIGNED PER", 
84757 td
84758 ->
84759 Çme
84760
84761 li¡
84762 ->
84763 couÁ
84764 );
84765
84766 245 if(
84767 cÚ¡¿\9ats
84768 è
84769 ù
84770  = &cÚ¡¿\9ats->
84771 size
84772 ;
84773
84774 246 \vif(
84775 td
84776 ->
84777 \92cod\9ag_cÚ¡¿\9ats
84778 .
84779 ³r_cÚ¡¿\9ats
84780 )
84781
84782 247 
84783 ù
84784  = &
84785 td
84786 ->
84787 \92cod\9ag_cÚ¡¿\9ats
84788 .
84789 ³r_cÚ¡¿\9ats
84790 ->
84791 size
84792 ;
84793
84794 248 \v
84795 ù
84796  = 0;
84797
84798 251 if(
84799 ù
84800 ) {
84801
84802 252 \12
84803 nÙ_\9a_roÙ
84804  = (
84805 li¡
84806 ->
84807 couÁ
84808  < 
84809 ù
84810 ->
84811 low\94_bound
84812
84813
84814 253 || 
84815 li¡
84816 ->
84817 couÁ
84818  > 
84819 ù
84820 ->
84821\94_bound
84822 );
84823
84824 254 
84825         `ASN_DEBUG
84826 ("lb %ld ub %ld %s",
84827
84828 255 
84829 ù
84830 ->
84831 low\94_bound
84832 , ct->
84833\94_bound
84834 ,
84835
84836 256 
84837 ù
84838 ->
84839 æags
84840  & 
84841 APC_EXTENSIBLE
84842  ? "ext" : "fix");
84843
84844 257 if(
84845 ù
84846 ->
84847 æags
84848  & 
84849 APC_EXTENSIBLE
84850 ) {
84851
84852 259 if(
84853         `³r_put_ãw_b\99s
84854 (
84855 po
84856
84857 nÙ_\9a_roÙ
84858 , 1))
84859
84860 260 
84861 ASN__ENCODE_FAILED
84862 ;
84863
84864 261 if(
84865 nÙ_\9a_roÙ
84866 è
84867 ù
84868  = 0;
84869
84870 262 } \vif(
84871 nÙ_\9a_roÙ
84872  && 
84873 ù
84874 ->
84875 efãùive_b\99s
84876  >= 0)
84877
84878 263 
84879 ASN__ENCODE_FAILED
84880 ;
84881
84882 266 if(
84883 ù
84884  && ct->
84885 efãùive_b\99s
84886  >= 0) {
84887
84888 272 ià(
84889         `­\94_put_Ëngth
84890 (
84891 po
84892
84893 ù
84894 ->
84895\94_bound
84896  - ct->
84897 low\94_bound
84898  + 1, 
84899 li¡
84900 ->
84901 couÁ
84902  - ct->lower_bound) < 0)
84903
84904 273 
84905 ASN__ENCODE_FAILED
84906 ;
84907
84908 276 \ f
84909 £q
84910  = -1; seq < 
84911 li¡
84912 ->
84913 couÁ
84914 ;) {
84915
84916 277 
84917 ssize_t
84918  
84919 mayEncode
84920 ;
84921
84922 278 if(
84923 £q
84924  < 0) seq = 0;
84925
84926 279 if(
84927 ù
84928  && ct->
84929 efãùive_b\99s
84930  >= 0) {
84931
84932 280 
84933 mayEncode
84934  = 
84935 li¡
84936 ->
84937 couÁ
84938 ;
84939
84940 282 
84941 mayEncode
84942  = 
84943         `­\94_put_Ëngth
84944 (
84945 po
84946 , -1, 
84947 li¡
84948 ->
84949 couÁ
84950  - 
84951 £q
84952 );
84953
84954 283 if(
84955 mayEncode
84956  < 0è
84957 ASN__ENCODE_FAILED
84958 ;
84959
84960 286 \1f
84961 mayEncode
84962 --) {
84963
84964 287 \1e*
84965 memb_±r
84966  = 
84967 li¡
84968 ->
84969 ¬¿y
84970 [
84971 £q
84972 ++];
84973
84974 288 if(!
84975 memb_±r
84976 è
84977 ASN__ENCODE_FAILED
84978 ;
84979
84980 289 
84981 \94
84982  = 
84983 \96m
84984 ->
84985 ty³
84986 ->
84987 Ý
84988 ->
84989         `­\94_\92cod\94
84990 (elm->type,
84991
84992 290 
84993 \96m
84994 ->
84995 \92cod\9ag_cÚ¡¿\9ats
84996 .
84997 ³r_cÚ¡¿\9ats
84998
84999 memb_±r
85000
85001 po
85002 );
85003
85004 291 if(
85005 \94
85006 .
85007 \92coded
85008  == -1)
85009
85010 292 
85011 ASN__ENCODE_FAILED
85012 ;
85013
85014 296 
85015         `ASN__ENCODED_OK
85016 (
85017 \94
85018 );
85019
85020 297 
85021         }
85022 }
85023
85024 301 
85025         $SEQUENCE_OF_com·»
85026 (cڡ 
85027 a¢_TYPE_desü\9dtÜ_t
85028  *
85029 td
85030 , cڡ \1e*
85031 ­\8c
85032 ,
85033
85034 302 cڡ \1e*
85035 b±r
85036 ) {
85037
85038 303 cڡ 
85039 a¢_ªÚymous_£qu\92û_
85040  *
85041 a
85042  = 
85043         `_A_CSEQUENCE_FROM_VOID
85044 (
85045 ­\8c
85046 );
85047
85048 304 cڡ 
85049 a¢_ªÚymous_£qu\92û_
85050  *
85051 b
85052  = 
85053         `_A_CSEQUENCE_FROM_VOID
85054 (
85055 b±r
85056 );
85057
85058 305 
85059 ssize_t
85060  
85061 idx
85062 ;
85063
85064 307 if(
85065 a
85066  && 
85067 b
85068 ) {
85069
85070 308 
85071 ssize_t
85072  
85073 commÚ_Ëngth
85074  = (
85075 a
85076 ->
85077 couÁ
85078  < 
85079 b
85080 ->count ?\87->count : b->count);
85081
85082 309 \ f
85083 idx
85084  = 0; idx < 
85085 commÚ_Ëngth
85086 ; idx++) {
85087
85088 310 \12
85089 »t
85090  = 
85091 td
85092 ->
85093 \96em\92ts
85094 ->
85095 ty³
85096 ->
85097 Ý
85098 ->
85099         `com·»_¡ruù
85100 (
85101
85102 311 
85103 td
85104 ->
85105 \96em\92ts
85106 ->
85107 ty³
85108
85109 a
85110 ->
85111 ¬¿y
85112 [
85113 idx
85114 ], 
85115 b
85116 ->array[idx]);
85117
85118 312 if(
85119 »t
85120\15\84et;
85121
85122 315 if(
85123 idx
85124  < 
85125 b
85126 ->
85127 couÁ
85128 )
85129
85130 317 if(
85131 idx
85132  < 
85133 a
85134 ->
85135 couÁ
85136\15 1;
85137
85138 319 } \vif(!
85139 a
85140 ) {
85141
85142 321 } \vif(!
85143 b
85144 ) {
85145
85146 326 
85147         }
85148 }
85149
85150 329 
85151 a¢_TYPE_Ý\94©iÚ_t
85152  
85153         ga¢_OP_SEQUENCE_OF
85154  = {
85155
85156 330 
85157 SEQUENCE_OF_ä\93
85158 ,
85159
85160 331 
85161 SEQUENCE_OF_´\9at
85162 ,
85163
85164 332 
85165 SEQUENCE_OF_com·»
85166 ,
85167
85168 333 
85169 SEQUENCE_OF_decode_b\94
85170 ,
85171
85172 334 
85173 SEQUENCE_OF_\92code_d\94
85174 ,
85175
85176 335 
85177 SEQUENCE_OF_decode_x\94
85178 ,
85179
85180 336 
85181 SEQUENCE_OF_\92code_x\94
85182 ,
85183
85184 337 #ifdef 
85185 ASN_DISABLE_OER_SUPPORT
85186
85187
85188 341 
85189 SEQUENCE_OF_decode_Ûr
85190 ,
85191
85192 342 
85193 SEQUENCE_OF_\92code_Ûr
85194 ,
85195
85196 344 #ifdeà
85197 ASN_DISABLE_PER_SUPPORT
85198
85199
85200 350 
85201 SEQUENCE_OF_decode_u³r
85202 ,
85203
85204 351 
85205 SEQUENCE_OF_\92code_u³r
85206 ,
85207
85208 352 
85209 SEQUENCE_OF_decode_­\94
85210 ,
85211
85212 353 
85213 SEQUENCE_OF_\92code_­\94
85214 ,
85215
85216 355 
85217 SEQUENCE_OF_¿ndom_f\9el
85218 ,
85219
85220         @constr_SET_OF.c
85221
85222\ 2
85223         ~<a¢_\9a\8bº®.h
85224 >
85225
85226\ 2
85227         ~<cڡr_SET_OF.h
85228 >
85229
85230\ 2
85231         ~<a¢_SET_OF.h
85232 >
85233
85234 15 \ 1
85235         #LEFT
85236  ((
85237 size
85238 <(
85239 size_t
85240 )
85241 ùx
85242 ->
85243 Ëá
85244 )?size:(size_t)ùx->Ëá)
85245
85246         )
85247
85248 28 \ 1
85249         #SIZE_VIOLATION
85250  (
85251 ùx
85252 ->
85253 Ëá
85254  >ð0 && (
85255 size_t
85256 )ùx->Ëá <ð
85257 size
85258 )
85259
85260         )
85261
85262 34 #undeà
85263 ADVANCE
85264
85265
85266 35 \ 1
85267         #ADVANCE
85268 (
85269 num_by\8bs
85270 ) do { \
85271
85272 36 
85273 size_t
85274  
85275 num
85276  = 
85277 num_by\8bs
85278 ; \
85279
85280 37 
85281 ±r
85282  = ((cÚ¡ \ 5\8cè+ 
85283 num
85284 ;\
85285
85286 38 
85287 size
85288  -ð
85289 num
85290 ; \
85291
85292 39 if(
85293 ùx
85294 ->
85295 Ëá
85296  >= 0) \
85297
85298 40 
85299 ùx
85300 ->
85301 Ëá
85302  -ð
85303 num
85304 ; \
85305
85306 41 
85307 cÚsumed_my£lf
85308  +ð
85309 num
85310 ; \
85311
85312 42 } \1f0)
85313
85314         )
85315
85316 47 #undeà
85317 NEXT_PHASE
85318
85319
85320 48 #undeà
85321 PHASE_OUT
85322
85323
85324 49 \ 1
85325         #NEXT_PHASE
85326 (
85327 ùx
85328 ) do { \
85329
85330 50 
85331 ùx
85332 ->
85333 pha£
85334 ++; \
85335
85336 51 
85337 ùx
85338 ->
85339 ¡\95
85340  = 0; \
85341
85342 52 } \1f0)
85343
85344         )
85345
85346 53 \ 1
85347         #PHASE_OUT
85348 (
85349 ùx
85350 èdØ{ ctx->
85351 pha£
85352  = 10; } \1f0)
85353
85354         )
85355
85356 58 #undeà
85357 RETURN
85358
85359
85360 59 \ 1
85361         #RETURN
85362 (
85363 _code
85364 ) do { \
85365
85366 60 
85367 rv®
85368 .
85369 code
85370  = 
85371 _code
85372 ; \
85373
85374 61 
85375 rv®
85376 .
85377 cÚsumed
85378  = 
85379 cÚsumed_my£lf
85380 ;\
85381
85382 62 \15 
85383 rv®
85384 ; \
85385
85386 63 } \1f0)
85387
85388         )
85389
85390 68 
85391 a¢_dec_rv®_t
85392
85393
85394 69 
85395         $SET_OF_decode_b\94
85396 (cڡ 
85397 a¢_codec_ùx_t
85398  *
85399 Ýt_codec_ùx
85400 ,
85401
85402 70 cڡ 
85403 a¢_TYPE_desü\9dtÜ_t
85404  *
85405 td
85406\1e**
85407 ¡ruù_±r
85408 ,
85409
85410 71 cڡ \1e*
85411 ±r
85412
85413 size_t
85414  
85415 size
85416\12
85417 \8fg_mode
85418 ) {
85419
85420 75 cڡ 
85421 a¢_SET_OF_¥ecifics_t
85422  *
85423 ¥ecs
85424  = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
85425 td
85426 ->
85427 ¥ecifics
85428 ;
85429
85430 76 cڡ 
85431 a¢_TYPE_memb\94_t
85432  *
85433 \96m
85434  = 
85435 td
85436 ->
85437 \96em\92ts
85438 ;
85439
85440 81 \1e*
85441 ¡
85442  = *
85443 ¡ruù_±r
85444 ;
85445
85446 82 
85447 a¢_¡ruù_ùx_t
85448  *
85449 ùx
85450 ;
85451
85452 84 
85453 b\94_\8ev_\8fg_t
85454  
85455 \8ev_\8fg
85456 ;
85457
85458 85 
85459 a¢_dec_rv®_t
85460  
85461 rv®
85462 ;
85463
85464 87 
85465 ssize_t
85466  
85467 cÚsumed_my£lf
85468  = 0;
85469
85470 89 
85471         `ASN_DEBUG
85472 ("Decod\9ag % a SET OF", 
85473 td
85474 ->
85475 Çme
85476 );
85477
85478 94 if(
85479 ¡
85480  == 0) {
85481
85482 95 
85483 ¡
85484  = *
85485 ¡ruù_±r
85486  = 
85487         `CALLOC
85488 (1, 
85489 ¥ecs
85490 ->
85491 ¡ruù_size
85492 );
85493
85494 96 if(
85495 ¡
85496  == 0) {
85497
85498 97 
85499         `RETURN
85500 (
85501 RC_FAIL
85502 );
85503
85504 104 
85505 ùx
85506  = (
85507 a¢_¡ruù_ùx_t
85508  *)((\ 5*)
85509 ¡
85510  + 
85511 ¥ecs
85512 ->
85513 ùx_off£t
85514 );
85515
85516 109 \1a
85517 ùx
85518 ->
85519 pha£
85520 ) {
85521
85522 117 
85523 rv®
85524  = 
85525         `b\94_check_\8fgs
85526 (
85527 Ýt_codec_ùx
85528
85529 td
85530
85531 ùx
85532
85533 ±r
85534
85535 size
85536 ,
85537
85538 118 
85539 \8fg_mode
85540 , 1, &
85541 ùx
85542 ->
85543 Ëá
85544 , 0);
85545
85546 119 if(
85547 rv®
85548 .
85549 code
85550  !ð
85551 RC_OK
85552 ) {
85553
85554 120 
85555         `ASN_DEBUG
85556 ("%s\81agging check failed: %d",
85557
85558 121 
85559 td
85560 ->
85561 Çme
85562
85563 rv®
85564 .
85565 code
85566 );
85567
85568 122 \15 
85569 rv®
85570 ;
85571
85572 125 if(
85573 ùx
85574 ->
85575 Ëá
85576  >= 0)
85577
85578 126 
85579 ùx
85580 ->
85581 Ëá
85582  +ð
85583 rv®
85584 .
85585 cÚsumed
85586 ;
85587
85588 127 
85589         `ADVANCE
85590 (
85591 rv®
85592 .
85593 cÚsumed
85594 );
85595
85596 129 
85597         `ASN_DEBUG
85598 ("Structure consumes %ld bytes, "
85599
85600 130 "bufã¸%ld", (\13)
85601 ùx
85602 ->
85603 Ëá
85604 , (\13)
85605 size
85606 );
85607
85608 132 
85609         `NEXT_PHASE
85610 (
85611 ùx
85612 );
85613
85614 140 \ f;; 
85615 ùx
85616 ->
85617 ¡\95
85618  = 0) {
85619
85620 141 
85621 ssize_t
85622  
85623 \8fg_Ën
85624 ;
85625
85626 143 if(
85627 ùx
85628 ->
85629 ¡\95
85630  & 1)
85631
85632 144 \10
85633 miüÝha£2
85634 ;
85635
85636 150 if(
85637 ùx
85638 ->
85639 Ëá
85640  == 0) {
85641
85642 151 
85643         `ASN_DEBUG
85644 ("End oàSET OF %s", 
85645 td
85646 ->
85647 Çme
85648 );
85649
85650 156 
85651         `PHASE_OUT
85652 (
85653 ùx
85654 );
85655
85656 157 
85657         `RETURN
85658 (
85659 RC_OK
85660 );
85661
85662 163 
85663 \8fg_Ën
85664  = 
85665         `b\94_ãtch_\8fg
85666 (
85667 ±r
85668
85669 LEFT
85670 , &
85671 \8ev_\8fg
85672 );
85673
85674 164 \1a
85675 \8fg_Ën
85676 ) {
85677
85678 165 \ 40: if(!
85679 SIZE_VIOLATION
85680 è
85681         `RETURN
85682 (
85683 RC_WMORE
85684 );
85685
85686 167 \ 4-1: 
85687         `RETURN
85688 (
85689 RC_FAIL
85690 );
85691
85692 170 if(
85693 ùx
85694 ->
85695 Ëá
85696  < 0 && ((cڡ 
85697 u\9at8_t
85698  *)
85699 ±r
85700 )[0] == 0) {
85701
85702 171 if(
85703 LEFT
85704  < 2) {
85705
85706 172 if(
85707 SIZE_VIOLATION
85708 )
85709
85710 173 
85711         `RETURN
85712 (
85713 RC_FAIL
85714 );
85715
85716 175 
85717         `RETURN
85718 (
85719 RC_WMORE
85720 );
85721
85722 176 } \vif(((cڡ 
85723 u\9at8_t
85724  *)
85725 ±r
85726 )[1] == 0) {
85727
85728 186 if(
85729 \96m
85730 ->
85731 \8fg
85732  !ð(
85733 b\94_\8ev_\8fg_t
85734 )-1) {
85735
85736 187 if(
85737         `BER_TAGS_EQUAL
85738 (
85739 \8ev_\8fg
85740
85741 \96m
85742 ->
85743 \8fg
85744 )) {
85745
85746 192 
85747         `ASN_DEBUG
85748 ("Unexpected\81ag %s fixed SET OF %s",
85749
85750 193 
85751         `b\94_\8ev_\8fg_¡r\9ag
85752 (
85753 \8ev_\8fg
85754 ), 
85755 td
85756 ->
85757 Çme
85758 );
85759
85760 194 
85761         `ASN_DEBUG
85762 ("%s SET OF has\81ag %s",
85763
85764 195 
85765 td
85766 ->
85767 Çme
85768
85769         `b\94_\8ev_\8fg_¡r\9ag
85770 (
85771 \96m
85772 ->
85773 \8fg
85774 ));
85775
85776 196 
85777         `RETURN
85778 (
85779 RC_FAIL
85780 );
85781
85782 203 
85783 ùx
85784 ->
85785 ¡\95
85786  |= 1;
85787
85788 204 
85789 miüÝha£2
85790 :
85791
85792 209 
85793 rv®
85794  = 
85795 \96m
85796 ->
85797 ty³
85798 ->
85799 Ý
85800 ->
85801         `b\94_decod\94
85802 (
85803 Ýt_codec_ùx
85804 ,
85805
85806 210 
85807 \96m
85808 ->
85809 ty³
85810 , &
85811 ùx
85812 ->
85813 ±r
85814 ,\85\8c
85815 LEFT
85816 , 0);
85817
85818 211 
85819         `ASN_DEBUG
85820 ("In %s SET OF %s code %d consumed %d",
85821
85822 212 
85823 td
85824 ->
85825 Çme
85826
85827 \96m
85828 ->
85829 ty³
85830 ->name,
85831
85832 213 
85833 rv®
85834 .
85835 code
85836 , (\12ìv®.
85837 cÚsumed
85838 );
85839
85840 214 \1a
85841 rv®
85842 .
85843 code
85844 ) {
85845
85846 215 \ 4
85847 RC_OK
85848 :
85849
85850 217 
85851 a¢_ªÚymous_£t_
85852  *
85853 li¡
85854  = 
85855         `_A_SET_FROM_VOID
85856 (
85857 ¡
85858 );
85859
85860 218 if(
85861         `ASN_SET_ADD
85862 (
85863 li¡
85864
85865 ùx
85866 ->
85867 ±r
85868 ) != 0)
85869
85870 219 
85871         `RETURN
85872 (
85873 RC_FAIL
85874 );
85875
85876 221 
85877 ùx
85878 ->
85879 ±r
85880  = 0;
85881
85882 224 \ 4
85883 RC_WMORE
85884 :
85885
85886 225 if(!
85887 SIZE_VIOLATION
85888 ) {
85889
85890 226 
85891         `ADVANCE
85892 (
85893 rv®
85894 .
85895 cÚsumed
85896 );
85897
85898 227 
85899         `RETURN
85900 (
85901 RC_WMORE
85902 );
85903
85904 230 \ 4
85905 RC_FAIL
85906 :
85907
85908 231 
85909         `ASN_STRUCT_FREE
85910 (*
85911 \96m
85912 ->
85913 ty³
85914
85915 ùx
85916 ->
85917 ±r
85918 );
85919
85920 232 
85921 ùx
85922 ->
85923 ±r
85924  = 0;
85925
85926 233 
85927         `RETURN
85928 (
85929 RC_FAIL
85930 );
85931
85932 236 
85933         `ADVANCE
85934 (
85935 rv®
85936 .
85937 cÚsumed
85938 );
85939
85940 239 
85941         `NEXT_PHASE
85942 (
85943 ùx
85944 );
85945
85946 244 \1f
85947 ùx
85948 ->
85949 Ëá
85950  < 0) {
85951
85952 245 if(
85953 LEFT
85954  < 2) {
85955
85956 246 if(
85957 LEFT
85958  > 0 && ((cڡ \ 5*)
85959 ±r
85960 )[0] != 0) {
85961
85962 248 
85963         `RETURN
85964 (
85965 RC_FAIL
85966 );
85967
85968 250 
85969         `RETURN
85970 (
85971 RC_WMORE
85972 );
85973
85974 253 if(((cڡ \ 5*)
85975 ±r
85976 )[0] == 0
85977
85978 254 && ((cڡ \ 5*)
85979 ±r
85980 )[1] == 0) {
85981
85982 255 
85983         `ADVANCE
85984 (2);
85985
85986 256 
85987 ùx
85988 ->
85989 Ëá
85990 ++;
85991
85992 258 
85993         `RETURN
85994 (
85995 RC_FAIL
85996 );
85997
85998 262 
85999         `PHASE_OUT
86000 (
86001 ùx
86002 );
86003
86004 265 
86005         `RETURN
86006 (
86007 RC_OK
86008 );
86009
86010 266 
86011         }
86012 }
86013
86014 271 \19
86015         s_\96_bufãr
86016  {
86017
86018 272 
86019 u\9at8_t
86020  *
86021         mbuf
86022 ;
86023
86024 273 
86025 size_t
86026  
86027         mËngth
86028 ;
86029
86030 274 
86031 size_t
86032  
86033         m®loÿ\8bd_size
86034 ;
86035
86036 275 \1d
86037         mb\99s_unu£d
86038 ;
86039
86040 278 \18\12
86041         $_\96_addby\8bs
86042 (cڡ \1e*
86043 bufãr
86044
86045 size_t
86046  
86047 size
86048\1e*
86049 \96_buf_±r
86050 ) {
86051
86052 279 \19
86053 _\96_bufãr
86054  *
86055 \96_buf
86056  = (\19_\96_bufã¸*)
86057 \96_buf_±r
86058 ;
86059
86060 281 if(
86061 \96_buf
86062 ->
86063 Ëngth
86064  + 
86065 size
86066  >\83l_buf->
86067 ®loÿ\8bd_size
86068 ) {
86069
86070 282 
86071 size_t
86072  
86073 Ãw_size
86074  = 
86075 \96_buf
86076 ->
86077 ®loÿ\8bd_size
86078  ?\83l_buf->allocated_size : 8;
86079
86080 283 \1e*
86081 p
86082 ;
86083
86084 286 
86085 Ãw_size
86086  <<= 2;
86087
86088 287 } \1f
86089 \96_buf
86090 ->
86091 Ëngth
86092  + 
86093 size
86094  > 
86095 Ãw_size
86096 );
86097
86098 289 
86099 p
86100  = 
86101         `REALLOC
86102 (
86103 \96_buf
86104 ->
86105 buf
86106
86107 Ãw_size
86108 );
86109
86110 290 if(
86111 p
86112 ) {
86113
86114 291 
86115 \96_buf
86116 ->
86117 buf
86118  = 
86119 p
86120 ;
86121
86122 292 
86123 \96_buf
86124 ->
86125 ®loÿ\8bd_size
86126  = 
86127 Ãw_size
86128 ;
86129
86130 298 
86131         `memýy
86132 (
86133 \96_buf
86134 ->
86135 buf
86136  +\83l_buf->
86137 Ëngth
86138
86139 bufãr
86140
86141 size
86142 );
86143
86144 300 
86145 \96_buf
86146 ->
86147 Ëngth
86148  +ð
86149 size
86150 ;
86151
86152 302 
86153         }
86154 }
86155
86156 304 \18\1e
86157         $as£¹_unu£d_b\99s
86158 (cڡ \19
86159 _\96_bufãr
86160
86161 p
86162 ) {
86163
86164 305 if(
86165 p
86166 ->
86167 Ëngth
86168 ) {
86169
86170 306 
86171         `as£¹
86172 ((
86173 p
86174 ->
86175 buf
86176 [p->
86177 Ëngth
86178 -1] & ~(0xfà<<\85->
86179 b\99s_unu£d
86180 )) == 0);
86181
86182 308 
86183         `as£¹
86184 (
86185 p
86186 ->
86187 b\99s_unu£d
86188  == 0);
86189
86190 310 
86191         }
86192 }
86193
86194 312 \18\12
86195         $_\96_buf_cmp
86196 (cڡ \1e*
86197 ­
86198 , cڡ \1e*
86199 bp
86200 ) {
86201
86202 313 cڡ \19
86203 _\96_bufãr
86204  *
86205 a
86206  = (cÚ¡ \19_\96_bufã¸*)
86207 ­
86208 ;
86209
86210 314 cڡ \19
86211 _\96_bufãr
86212  *
86213 b
86214  = (cÚ¡ \19_\96_bufã¸*)
86215 bp
86216 ;
86217
86218 315 
86219 size_t
86220  
86221 commÚ_Ën
86222 ;
86223
86224 316 \12
86225 »t
86226  = 0;
86227
86228 318 if(
86229 a
86230 ->
86231 Ëngth
86232  < 
86233 b
86234 ->length)
86235
86236 319 
86237 commÚ_Ën
86238  = 
86239 a
86240 ->
86241 Ëngth
86242 ;
86243
86244 321 
86245 commÚ_Ën
86246  = 
86247 b
86248 ->
86249 Ëngth
86250 ;
86251
86252 323 ià(
86253 a
86254 ->
86255 buf
86256  && 
86257 b
86258 ->buf) {
86259
86260 324 
86261 »t
86262  = 
86263         `memcmp
86264 (
86265 a
86266 ->
86267 buf
86268
86269 b
86270 ->buf, 
86271 commÚ_Ën
86272 );
86273
86274 326 if(
86275 »t
86276  == 0) {
86277
86278 327 if(
86279 a
86280 ->
86281 Ëngth
86282  < 
86283 b
86284 ->length)
86285
86286 328 
86287 »t
86288  = -1;
86289
86290 329 \vif(
86291 a
86292 ->
86293 Ëngth
86294  > 
86295 b
86296 ->length)
86297
86298 330 
86299 »t
86300  = 1;
86301
86302 332 
86303         `as£¹_unu£d_b\99s
86304 (
86305 a
86306 );
86307
86308 333 
86309         `as£¹_unu£d_b\99s
86310 (
86311 b
86312 );
86313
86314 336 \15 
86315 »t
86316 ;
86317
86318 337 
86319         }
86320 }
86321
86322 340 
86323         $SET_OF__\92code_sÜ\8bd_ä\93
86324 (\19
86325 _\96_bufãr
86326  *
86327 \96_buf
86328
86329 size_t
86330  
86331 couÁ
86332 ) {
86333
86334 341 
86335 size_t
86336  
86337 i
86338 ;
86339
86340 343 \ f
86341 i
86342  = 0; i < 
86343 couÁ
86344 ; i++) {
86345
86346 344 
86347         `FREEMEM
86348 (
86349 \96_buf
86350 [
86351 i
86352 ].
86353 buf
86354 );
86355
86356 347 
86357         `FREEMEM
86358 (
86359 \96_buf
86360 );
86361
86362 348 
86363         }
86364 }
86365
86366 350 \f
86367         eSET_OF__\92code_m\91hod
86368  {
86369
86370 351 
86371         mSOES_DER
86372 ,
86373
86374 352 
86375         mSOES_CUPER
86376
86377
86378 355 \18\19
86379 _\96_bufãr
86380  *
86381
86382 356 
86383         $SET_OF__\92code_sÜ\8bd
86384 (cڡ 
86385 a¢_TYPE_memb\94_t
86386  *
86387 \96m
86388 ,
86389
86390 357 cڡ 
86391 a¢_ªÚymous_£t_
86392  *
86393 li¡
86394 ,
86395
86396 358 \f
86397 SET_OF__\92code_m\91hod
86398  
86399 m\91hod
86400 ) {
86401
86402 359 \19
86403 _\96_bufãr
86404  *
86405 \92coded_\96s
86406 ;
86407
86408 360 \12
86409 edx
86410 ;
86411
86412 362 
86413 \92coded_\96s
86414  =
86415
86416 363 (\19
86417 _\96_bufãr
86418  *)
86419         `CALLOC
86420 (
86421 li¡
86422 ->
86423 couÁ
86424\17(
86425 \92coded_\96s
86426 [0]));
86427
86428 364 if(
86429 \92coded_\96s
86430  =ð
86431 NULL
86432 ) {
86433
86434 365 \15 
86435 NULL
86436 ;
86437
86438 371 \ f
86439 edx
86440  = 0;\83dx < 
86441 li¡
86442 ->
86443 couÁ
86444 ;\83dx++) {
86445
86446 372 cڡ \1e*
86447 memb_±r
86448  = 
86449 li¡
86450 ->
86451 ¬¿y
86452 [
86453 edx
86454 ];
86455
86456 373 \19
86457 _\96_bufãr
86458  *
86459 \92cod\9ag_\96
86460  = &
86461 \92coded_\96s
86462 [
86463 edx
86464 ];
86465
86466 374 
86467 a¢_\92c_rv®_t
86468  
86469 \94
86470  = {0,0,0};
86471
86472 376 if(!
86473 memb_±r
86474\ 3;
86475
86476 381 \1a
86477 m\91hod
86478 ) {
86479
86480 382 \ 4
86481 SOES_DER
86482 :
86483
86484 383 
86485 \94
86486  = 
86487 \96m
86488 ->
86489 ty³
86490 ->
86491 Ý
86492 ->
86493         `d\94_\92cod\94
86494 Ólm->ty³, 
86495 memb_±r
86496 , 0,\83lm->
86497 \8fg
86498 ,
86499
86500 384 
86501 _\96_addby\8bs
86502
86503 \92cod\9ag_\96
86504 );
86505
86506 386 \ 4
86507 SOES_CUPER
86508 :
86509
86510 387 
86511 \94
86512  = 
86513         `u³r_\92code
86514 (
86515 \96m
86516 ->
86517 ty³
86518 ,
86519
86520 388 
86521 \96m
86522 ->
86523 \92cod\9ag_cÚ¡¿\9ats
86524 .
86525 ³r_cÚ¡¿\9ats
86526 ,
86527
86528 389 
86529 memb_±r
86530
86531 _\96_addby\8bs
86532
86533 \92cod\9ag_\96
86534 );
86535
86536 390 if(
86537 \94
86538 .
86539 \92coded
86540  != -1) {
86541
86542 391 
86543 size_t
86544  
86545 ex\8ca_b\99s
86546  = 
86547 \94
86548 .
86549 \92coded
86550  % 8;
86551
86552 392 
86553         `as£¹
86554 (
86555 \92cod\9ag_\96
86556 ->
86557 Ëngth
86558  =ð(
86559 size_t
86560 )(
86561 \94
86562 .
86563 \92coded
86564  + 7) / 8);
86565
86566 393 
86567 \92cod\9ag_\96
86568 ->
86569 b\99s_unu£d
86570  = (8 - 
86571 ex\8ca_b\99s
86572 ) & 0x7;
86573
86574 397 
86575         `as£¹
86576 (!"Unreachable");
86577
86578 400 if(
86579 \94
86580 .
86581 \92coded
86582  < 0) \ 3;
86583
86584 403 if(
86585 edx
86586  =ð
86587 li¡
86588 ->
86589 couÁ
86590 ) {
86591
86592 407 
86593         `qsÜt
86594 (
86595 \92coded_\96s
86596
86597 li¡
86598 ->
86599 couÁ
86600\17Óncoded_\96s[0]), 
86601 _\96_buf_cmp
86602 );
86603
86604 409 \15 
86605 \92coded_\96s
86606 ;
86607
86608 411 
86609         `SET_OF__\92code_sÜ\8bd_ä\93
86610 (
86611 \92coded_\96s
86612
86613 edx
86614 );
86615
86616 412 \15 
86617 NULL
86618 ;
86619
86620 414 
86621         }
86622 }
86623
86624 420 
86625 a¢_\92c_rv®_t
86626
86627
86628 421 
86629         $SET_OF_\92code_d\94
86630 (cڡ 
86631 a¢_TYPE_desü\9dtÜ_t
86632  *
86633 td
86634 , cڡ \1e*
86635 ¥\8c
86636 ,
86637
86638 422 \12
86639 \8fg_mode
86640
86641 b\94_\8ev_\8fg_t
86642  
86643 \8fg
86644
86645 a¢_­p_cÚsume_by\8bs_f
86646  *
86647 cb
86648 ,
86649
86650 423 \1e*
86651 ­p_key
86652 ) {
86653
86654 424 cڡ 
86655 a¢_TYPE_memb\94_t
86656  *
86657 \96m
86658  = 
86659 td
86660 ->
86661 \96em\92ts
86662 ;
86663
86664 425 cڡ 
86665 a¢_ªÚymous_£t_
86666  *
86667 li¡
86668  = 
86669         `_A_CSET_FROM_VOID
86670 (
86671 ¥\8c
86672 );
86673
86674 426 
86675 size_t
86676  
86677 compu\8bd_size
86678  = 0;
86679
86680 427 
86681 ssize_t
86682  
86683 \92cod\9ag_size
86684  = 0;
86685
86686 428 \19
86687 _\96_bufãr
86688  *
86689 \92coded_\96s
86690 ;
86691
86692 429 \12
86693 edx
86694 ;
86695
86696 431 
86697         `ASN_DEBUG
86698 ("E¡im©\9ag siz\90fÜ SET OF %s", 
86699 td
86700 ->
86701 Çme
86702 );
86703
86704 436 \ f
86705 edx
86706  = 0;\83dx < 
86707 li¡
86708 ->
86709 couÁ
86710 ;\83dx++) {
86711
86712 437 \1e*
86713 memb_±r
86714  = 
86715 li¡
86716 ->
86717 ¬¿y
86718 [
86719 edx
86720 ];
86721
86722 438 
86723 a¢_\92c_rv®_t
86724  
86725 \94
86726  = {0,0,0};
86727
86728 440 if(!
86729 memb_±r
86730 è
86731 ASN__ENCODE_FAILED
86732 ;
86733
86734 442 
86735 \94
86736  =
86737
86738 443 
86739 \96m
86740 ->
86741 ty³
86742 ->
86743 Ý
86744 ->
86745         `d\94_\92cod\94
86746 Ólm->ty³, 
86747 memb_±r
86748 , 0,\83lm->
86749 \8fg
86750 , 0, 0);
86751
86752 444 if(
86753 \94
86754 .
86755 \92coded
86756  == -1) \15\83rval;
86757
86758 445 
86759 compu\8bd_size
86760  +ð
86761 \94
86762 .
86763 \92coded
86764 ;
86765
86766 452 
86767 \92cod\9ag_size
86768  =
86769
86770 453 
86771         `d\94_wr\99e_\8fgs
86772 (
86773 td
86774
86775 compu\8bd_size
86776
86777 \8fg_mode
86778 , 1, 
86779 \8fg
86780
86781 cb
86782
86783 ­p_key
86784 );
86785
86786 454 if(
86787 \92cod\9ag_size
86788  < 0) {
86789
86790 455 
86791 ASN__ENCODE_FAILED
86792 ;
86793
86794 457 
86795 compu\8bd_size
86796  +ð
86797 \92cod\9ag_size
86798 ;
86799
86800 459 if(!
86801 cb
86802  || 
86803 li¡
86804 ->
86805 couÁ
86806  == 0) {
86807
86808 460 
86809 a¢_\92c_rv®_t
86810  
86811 \94
86812  = {0,0,0};
86813
86814 461 
86815 \94
86816 .
86817 \92coded
86818  = 
86819 compu\8bd_size
86820 ;
86821
86822 462 
86823         `ASN__ENCODED_OK
86824 (
86825 \94
86826 );
86827
86828 465 
86829         `ASN_DEBUG
86830 ("Encod\9ag memb\94 oà% SET OF", 
86831 td
86832 ->
86833 Çme
86834 );
86835
86836 472 
86837 \92coded_\96s
86838  = 
86839         `SET_OF__\92code_sÜ\8bd
86840 (
86841 \96m
86842
86843 li¡
86844
86845 SOES_DER
86846 );
86847
86848 478 \ f
86849 edx
86850  = 0;\83dx < 
86851 li¡
86852 ->
86853 couÁ
86854 ;\83dx++) {
86855
86856 479 \19
86857 _\96_bufãr
86858  *
86859 \92coded_\96
86860  = &
86861 \92coded_\96s
86862 [
86863 edx
86864 ];
86865
86866 481 if(
86867         `cb
86868 (
86869 \92coded_\96
86870 ->
86871 buf
86872 ,\83ncoded_\96->
86873 Ëngth
86874
86875 ­p_key
86876 ) < 0) {
86877
86878 484 
86879 \92cod\9ag_size
86880  +ð
86881 \92coded_\96
86882 ->
86883 Ëngth
86884 ;
86885
86886 488 
86887         `SET_OF__\92code_sÜ\8bd_ä\93
86888 (
86889 \92coded_\96s
86890
86891 li¡
86892 ->
86893 couÁ
86894 );
86895
86896 490 if(
86897 edx
86898  =ð
86899 li¡
86900 ->
86901 couÁ
86902 ) {
86903
86904 491 
86905 a¢_\92c_rv®_t
86906  
86907 \94
86908  = {0,0,0};
86909
86910 492 
86911         `as£¹
86912 (
86913 compu\8bd_size
86914  =ð(
86915 size_t
86916 )
86917 \92cod\9ag_size
86918 );
86919
86920 493 
86921 \94
86922 .
86923 \92coded
86924  = 
86925 compu\8bd_size
86926 ;
86927
86928 494 
86929         `ASN__ENCODED_OK
86930 (
86931 \94
86932 );
86933
86934 496 
86935 ASN__ENCODE_FAILED
86936 ;
86937
86938 498 
86939         }
86940 }
86941
86942 500 #undeà
86943 XER_ADVANCE
86944
86945
86946 501 \ 1
86947         #XER_ADVANCE
86948 (
86949 num_by\8bs
86950 ) do { \
86951
86952 502 
86953 size_t
86954  
86955 num
86956  = 
86957 num_by\8bs
86958 ; \
86959
86960 503 
86961 buf_±r
86962  = ((cÚ¡ \ 5*)buf_±rè+ 
86963 num
86964 ;\
86965
86966 504 
86967 size
86968  -ð
86969 num
86970 ; \
86971
86972 505 
86973 cÚsumed_my£lf
86974  +ð
86975 num
86976 ; \
86977
86978 506 } \1f0)
86979
86980         )
86981
86982 511 
86983 a¢_dec_rv®_t
86984
86985
86986 512 
86987         $SET_OF_decode_x\94
86988 (cڡ 
86989 a¢_codec_ùx_t
86990  *
86991 Ýt_codec_ùx
86992 ,
86993
86994 513 cڡ 
86995 a¢_TYPE_desü\9dtÜ_t
86996  *
86997 td
86998\1e**
86999 ¡ruù_±r
87000 ,
87001
87002 514 cڡ \ 5*
87003 Ýt_mÇme
87004 , cڡ \1e*
87005 buf_±r
87006
87007 size_t
87008  
87009 size
87010 ) {
87011
87012 518 cڡ 
87013 a¢_SET_OF_¥ecifics_t
87014  *
87015 ¥ecs
87016  = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
87017 td
87018 ->
87019 ¥ecifics
87020 ;
87021
87022 519 cڡ 
87023 a¢_TYPE_memb\94_t
87024  *
87025 \96em\92t
87026  = 
87027 td
87028 ->
87029 \96em\92ts
87030 ;
87031
87032 520 cڡ \ 5*
87033 \96m_\8fg
87034 ;
87035
87036 521 cڡ \ 5*
87037 xml_\8fg
87038  = 
87039 Ýt_mÇme
87040  ? o±_mÇm\90
87041 td
87042 ->xml_tag;
87043
87044 526 \1e*
87045 ¡
87046  = *
87047 ¡ruù_±r
87048 ;
87049
87050 527 
87051 a¢_¡ruù_ùx_t
87052  *
87053 ùx
87054 ;
87055
87056 529 
87057 a¢_dec_rv®_t
87058  
87059 rv®
87060  = {
87061 RC_OK
87062 , 0};
87063
87064 530 
87065 ssize_t
87066  
87067 cÚsumed_my£lf
87068  = 0;
87069
87070 535 if(
87071 ¡
87072  == 0) {
87073
87074 536 
87075 ¡
87076  = *
87077 ¡ruù_±r
87078  = 
87079         `CALLOC
87080 (1, 
87081 ¥ecs
87082 ->
87083 ¡ruù_size
87084 );
87085
87086 537 if(
87087 ¡
87088  =ð0è
87089         `RETURN
87090 (
87091 RC_FAIL
87092 );
87093
87094 541 if(
87095 ¥ecs
87096 ->
87097 as_XMLV®ueLi¡
87098 ) {
87099
87100 542 
87101 \96m_\8fg
87102  = (
87103 ¥ecs
87104 ->
87105 as_XMLV®ueLi¡
87106  == 1) ? 0 : "";
87107
87108 544 
87109 \96m_\8fg
87110  = (*
87111 \96em\92t
87112 ->
87113 Çme
87114 )
87115
87116 545 ? 
87117 \96em\92t
87118 ->
87119 Çme
87120  :\83Ëm\92t->
87121 ty³
87122 ->
87123 xml_\8fg
87124 ;
87125
87126 551 
87127 ùx
87128  = (
87129 a¢_¡ruù_ùx_t
87130  *)((\ 5*)
87131 ¡
87132  + 
87133 ¥ecs
87134 ->
87135 ùx_off£t
87136 );
87137
87138 559 \ f
87139 ùx
87140 ->
87141 pha£
87142  <= 2;) {
87143
87144 560 
87145 px\94_chunk_ty³_e
87146  
87147 ch_ty³
87148 ;
87149
87150 561 
87151 ssize_t
87152  
87153 ch_size
87154 ;
87155
87156 562 
87157 x\94_check_\8fg_e
87158  
87159 tcv
87160 ;
87161
87162 567 if(
87163 ùx
87164 ->
87165 pha£
87166  == 2) {
87167
87168 568 
87169 a¢_dec_rv®_t
87170  
87171 tm´v®
87172  = {
87173 RC_OK
87174 , 0};
87175
87176 571 
87177         `ASN_DEBUG
87178 ("XER/SET OF\83Ëm\92\88[%s]", 
87179 \96m_\8fg
87180 );
87181
87182 572 
87183 tm´v®
87184  = 
87185 \96em\92t
87186 ->
87187 ty³
87188 ->
87189 Ý
87190 ->
87191         `x\94_decod\94
87192 (
87193 Ýt_codec_ùx
87194 ,
87195
87196 573 
87197 \96em\92t
87198 ->
87199 ty³
87200 , &
87201 ùx
87202 ->
87203 ±r
87204
87205 \96m_\8fg
87206 ,
87207
87208 574 
87209 buf_±r
87210
87211 size
87212 );
87213
87214 575 if(
87215 tm´v®
87216 .
87217 code
87218  =ð
87219 RC_OK
87220 ) {
87221
87222 576 
87223 a¢_ªÚymous_£t_
87224  *
87225 li¡
87226  = 
87227         `_A_SET_FROM_VOID
87228 (
87229 ¡
87230 );
87231
87232 577 if(
87233         `ASN_SET_ADD
87234 (
87235 li¡
87236
87237 ùx
87238 ->
87239 ±r
87240 ) != 0)
87241
87242 578 
87243         `RETURN
87244 (
87245 RC_FAIL
87246 );
87247
87248 579 
87249 ùx
87250 ->
87251 ±r
87252  = 0;
87253
87254 580 
87255         `XER_ADVANCE
87256 (
87257 tm´v®
87258 .
87259 cÚsumed
87260 );
87261
87262 582 
87263         `XER_ADVANCE
87264 (
87265 tm´v®
87266 .
87267 cÚsumed
87268 );
87269
87270 583 
87271         `RETURN
87272 (
87273 tm´v®
87274 .
87275 code
87276 );
87277
87278 585 
87279 ùx
87280 ->
87281 pha£
87282  = 1;
87283
87284 586 
87285         `ASN_DEBUG
87286 ("XER/SET OF\85ha£ => %d", 
87287 ùx
87288 ->
87289 pha£
87290 );
87291
87292 593 
87293 ch_size
87294  = 
87295         `x\94_Ãxt_tok\92
87296 (&
87297 ùx
87298 ->
87299 cڋxt
87300 ,
87301
87302 594 
87303 buf_±r
87304
87305 size
87306 , &
87307 ch_ty³
87308 );
87309
87310 595 if(
87311 ch_size
87312  == -1) {
87313
87314 596 
87315         `RETURN
87316 (
87317 RC_FAIL
87318 );
87319
87320 598 \1a
87321 ch_ty³
87322 ) {
87323
87324 599 \ 4
87325 PXER_WMORE
87326 :
87327
87328 600 
87329         `RETURN
87330 (
87331 RC_WMORE
87332 );
87333
87334 601 \ 4
87335 PXER_COMMENT
87336 :
87337
87338 602 \ 4
87339 PXER_TEXT
87340 :
87341
87342 603 
87343         `XER_ADVANCE
87344 (
87345 ch_size
87346 );
87347
87348 605 \ 4
87349 PXER_TAG
87350 :
87351
87352 610 
87353 tcv
87354  = 
87355         `x\94_check_\8fg
87356 (
87357 buf_±r
87358
87359 ch_size
87360
87361 xml_\8fg
87362 );
87363
87364 611 
87365         `ASN_DEBUG
87366 ("XER/SET OF:\81cv = %d,\85h=%d\81=%s",
87367
87368 612 
87369 tcv
87370
87371 ùx
87372 ->
87373 pha£
87374
87375 xml_\8fg
87376 );
87377
87378 613 \1a
87379 tcv
87380 ) {
87381
87382 614 \ 4
87383 XCT_CLOSING
87384 :
87385
87386 615 if(
87387 ùx
87388 ->
87389 pha£
87390  == 0) \ 3;
87391
87392 616 
87393 ùx
87394 ->
87395 pha£
87396  = 0;
87397
87398 618 \ 4
87399 XCT_BOTH
87400 :
87401
87402 619 if(
87403 ùx
87404 ->
87405 pha£
87406  == 0) {
87407
87408 621 
87409         `XER_ADVANCE
87410 (
87411 ch_size
87412 );
87413
87414 622 
87415 ùx
87416 ->
87417 pha£
87418  = 3;
87419
87420 623 
87421         `RETURN
87422 (
87423 RC_OK
87424 );
87425
87426 626 \ 4
87427 XCT_OPENING
87428 :
87429
87430 627 if(
87431 ùx
87432 ->
87433 pha£
87434  == 0) {
87435
87436 628 
87437         `XER_ADVANCE
87438 (
87439 ch_size
87440 );
87441
87442 629 
87443 ùx
87444 ->
87445 pha£
87446  = 1;
87447
87448 633 \ 4
87449 XCT_UNKNOWN_OP
87450 :
87451
87452 634 \ 4
87453 XCT_UNKNOWN_BO
87454 :
87455
87456 636 
87457         `ASN_DEBUG
87458 ("XER/SET OF:\81cv=%d,\85h=%d", 
87459 tcv
87460
87461 ùx
87462 ->
87463 pha£
87464 );
87465
87466 637 if(
87467 ùx
87468 ->
87469 pha£
87470  == 1) {
87471
87472 641 
87473 ùx
87474 ->
87475 pha£
87476  = 2;
87477
87478 649 
87479         `ASN_DEBUG
87480 ("Unexpected XML\81ag in SET OF");
87481
87482 653 
87483 ùx
87484 ->
87485 pha£
87486  = 3;
87487
87488 654 
87489         `RETURN
87490 (
87491 RC_FAIL
87492 );
87493
87494 655 
87495         }
87496 }
87497
87498 659 \e\19
87499         sx\94_tmp_\92c_s
87500  {
87501
87502 660 \1e*
87503         mbufãr
87504 ;
87505
87506 661 
87507 size_t
87508  
87509         moff£t
87510 ;
87511
87512 662 
87513 size_t
87514  
87515         msize
87516 ;
87517
87518 663 } 
87519         tx\94_tmp_\92c_t
87520 ;
87521
87522 665 
87523         $SET_OF_\92code_x\94_ÿÎback
87524 (cڡ \1e*
87525 bufãr
87526
87527 size_t
87528  
87529 size
87530\1e*
87531 key
87532 ) {
87533
87534 666 
87535 x\94_tmp_\92c_t
87536  *
87537 t
87538  = (x\94_tmp_\92c_\88*)
87539 key
87540 ;
87541
87542 667 if(
87543 t
87544 ->
87545 off£t
87546  + 
87547 size
87548  >=\81->size) {
87549
87550 668 
87551 size_t
87552  
87553 Ãwsize
87554  = (
87555 t
87556 ->
87557 size
87558  << 2) + size;
87559
87560 669 \1e*
87561 p
87562  = 
87563         `REALLOC
87564 (
87565 t
87566 ->
87567 bufãr
87568
87569 Ãwsize
87570 );
87571
87572 670 if(!
87573 p
87574\15 -1;
87575
87576 671 
87577 t
87578 ->
87579 bufãr
87580  = 
87581 p
87582 ;
87583
87584 672 
87585 t
87586 ->
87587 size
87588  = 
87589 Ãwsize
87590 ;
87591
87592 674 
87593         `memýy
87594 ((\ 5*)
87595 t
87596 ->
87597 bufãr
87598  +\81->
87599 off£t
87600 , bufãr, 
87601 size
87602 );
87603
87604 675 
87605 t
87606 ->
87607 off£t
87608  +ð
87609 size
87610 ;
87611
87612 677 
87613         }
87614 }
87615
87616 679 
87617         $SET_OF_x\94_Üd\94
87618 (cڡ \1e*
87619 ­\8c
87620 , cڡ \1e*
87621 b±r
87622 ) {
87623
87624 680 cڡ 
87625 x\94_tmp_\92c_t
87626  *
87627 a
87628  = (cÚ¡ x\94_tmp_\92c_\88*)
87629 ­\8c
87630 ;
87631
87632 681 cڡ 
87633 x\94_tmp_\92c_t
87634  *
87635 b
87636  = (cÚ¡ x\94_tmp_\92c_\88*)
87637 b±r
87638 ;
87639
87640 682 
87641 size_t
87642  
87643 m\9aËn
87644  = 
87645 a
87646 ->
87647 off£t
87648 ;
87649
87650 683 \12
87651 »t
87652 ;
87653
87654 684 if(
87655 b
87656 ->
87657 off£t
87658  < 
87659 m\9aËn
87660 ) minlen = b->offset;
87661
87662 686 
87663 »t
87664  = 
87665         `memcmp
87666 (
87667 a
87668 ->
87669 bufãr
87670
87671 b
87672 ->bufãr, 
87673 m\9aËn
87674 );
87675
87676 687 if(
87677 »t
87678  != 0) \15\84et;
87679
87680 688 if(
87681 a
87682 ->
87683 off£t
87684  =ð
87685 b
87686 ->offset)
87687
87688 690 if(
87689 a
87690 ->
87691 off£t
87692  =ð
87693 m\9aËn
87694 )
87695
87696 693 
87697         }
87698 }
87699
87700 696 
87701 a¢_\92c_rv®_t
87702
87703
87704 697 
87705         $SET_OF_\92code_x\94
87706 (cڡ 
87707 a¢_TYPE_desü\9dtÜ_t
87708  *
87709 td
87710 , cڡ \1e*
87711 ¥\8c
87712\12
87713 \9eev\96
87714 ,
87715
87716 698 \f
87717 x\94_\92cod\94_æags_e
87718  
87719 æags
87720
87721 a¢_­p_cÚsume_by\8bs_f
87722  *
87723 cb
87724 ,
87725
87726 699 \1e*
87727 ­p_key
87728 ) {
87729
87730 700 
87731 a¢_\92c_rv®_t
87732  
87733 \94
87734  = {0,0,0};
87735
87736 701 cڡ 
87737 a¢_SET_OF_¥ecifics_t
87738  *
87739 ¥ecs
87740  = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
87741 td
87742 ->
87743 ¥ecifics
87744 ;
87745
87746 702 cڡ 
87747 a¢_TYPE_memb\94_t
87748  *
87749 \96m
87750  = 
87751 td
87752 ->
87753 \96em\92ts
87754 ;
87755
87756 703 cڡ 
87757 a¢_ªÚymous_£t_
87758  *
87759 li¡
87760  = 
87761         `_A_CSET_FROM_VOID
87762 (
87763 ¥\8c
87764 );
87765
87766 704 cڡ \ 5*
87767 mÇme
87768  = 
87769 ¥ecs
87770 ->
87771 as_XMLV®ueLi¡
87772
87773
87774 705 ? 0 : ((*
87775 \96m
87776 ->
87777 Çme
87778 è?\83lm->Çm\90:\83lm->
87779 ty³
87780 ->
87781 xml_\8fg
87782 );
87783
87784 706 
87785 size_t
87786  
87787 mËn
87788  = 
87789 mÇme
87790  ? 
87791         `¡¾\92
87792 (mname) : 0;
87793
87794 707 \12
87795 xÿn
87796  = (
87797 æags
87798  & 
87799 XER_F_CANONICAL
87800 );
87801
87802 708 
87803 x\94_tmp_\92c_t
87804  *
87805 \92cs
87806  = 0;
87807
87808 709 
87809 size_t
87810  
87811 \92cs_couÁ
87812  = 0;
87813
87814 710 \1e*
87815 Üig\9a®_­p_key
87816  = 
87817 ­p_key
87818 ;
87819
87820 711 
87821 a¢_­p_cÚsume_by\8bs_f
87822  *
87823 Üig\9a®_cb
87824  = 
87825 cb
87826 ;
87827
87828 712 \12
87829 i
87830 ;
87831
87832 714 if(!
87833 ¥\8c
87834 è
87835 ASN__ENCODE_FAILED
87836 ;
87837
87838 716 if(
87839 xÿn
87840 ) {
87841
87842 717 
87843 \92cs
87844  = (
87845 x\94_tmp_\92c_t
87846  *)
87847         `MALLOC
87848 (
87849 li¡
87850 ->
87851 couÁ
87852  * \17(encs[0]));
87853
87854 718 if(!
87855 \92cs
87856 è
87857 ASN__ENCODE_FAILED
87858 ;
87859
87860 719 
87861 cb
87862  = 
87863 SET_OF_\92code_x\94_ÿÎback
87864 ;
87865
87866 722 
87867 \94
87868 .
87869 \92coded
87870  = 0;
87871
87872 724 \ f
87873 i
87874  = 0; i < 
87875 li¡
87876 ->
87877 couÁ
87878 ; i++) {
87879
87880 725 
87881 a¢_\92c_rv®_t
87882  
87883 tm³r
87884  = {0,0,0};
87885
87886 727 \1e*
87887 memb_±r
87888  = 
87889 li¡
87890 ->
87891 ¬¿y
87892 [
87893 i
87894 ];
87895
87896 728 if(!
87897 memb_±r
87898\ 6;
87899
87900 730 if(
87901 \92cs
87902 ) {
87903
87904 731 
87905         `mem£t
87906 (&
87907 \92cs
87908 [
87909 \92cs_couÁ
87910 ], 0, \17(encs[0]));
87911
87912 732 
87913 ­p_key
87914  = &
87915 \92cs
87916 [
87917 \92cs_couÁ
87918 ];
87919
87920 733 
87921 \92cs_couÁ
87922 ++;
87923
87924 736 if(
87925 mÇme
87926 ) {
87927
87928 737 if(!
87929 xÿn
87930 è
87931         `ASN__TEXT_INDENT
87932 (1, 
87933 \9eev\96
87934 );
87935
87936 738 
87937         `ASN__CALLBACK3
87938 ("<", 1, 
87939 mÇme
87940
87941 mËn
87942 , ">", 1);
87943
87944 741 if(!
87945 xÿn
87946  && 
87947 ¥ecs
87948 ->
87949 as_XMLV®ueLi¡
87950  == 1)
87951
87952 742 
87953         `ASN__TEXT_INDENT
87954 (1, 
87955 \9eev\96
87956  + 1);
87957
87958 743 
87959 tm³r
87960  = 
87961 \96m
87962 ->
87963 ty³
87964 ->
87965 Ý
87966 ->
87967         `x\94_\92cod\94
87968 Ólm->ty³, 
87969 memb_±r
87970 ,
87971
87972 744 
87973 \9eev\96
87974  + (
87975 ¥ecs
87976 ->
87977 as_XMLV®ueLi¡
87978  != 2),
87979
87980 745 
87981 æags
87982
87983 cb
87984
87985 ­p_key
87986 );
87987
87988 746 if(
87989 tm³r
87990 .
87991 \92coded
87992  == -1) \15\81mper;
87993
87994 747 
87995 \94
87996 .
87997 \92coded
87998  +ð
87999 tm³r
88000 .encoded;
88001
88002 748 if(
88003 tm³r
88004 .
88005 \92coded
88006  =ð0 && 
88007 ¥ecs
88008 ->
88009 as_XMLV®ueLi¡
88010 ) {
88011
88012 749 cڡ \ 5*
88013 Çme
88014  = 
88015 \96m
88016 ->
88017 ty³
88018 ->
88019 xml_\8fg
88020 ;
88021
88022 750 
88023 size_t
88024  
88025 Ën
88026  = 
88027         `¡¾\92
88028 (
88029 Çme
88030 );
88031
88032 751 
88033         `ASN__CALLBACK3
88034 ("<", 1, 
88035 Çme
88036
88037 Ën
88038 , "/>", 2);
88039
88040 754 if(
88041 mÇme
88042 ) {
88043
88044 755 
88045         `ASN__CALLBACK3
88046 ("</", 2, 
88047 mÇme
88048
88049 mËn
88050 , ">", 1);
88051
88052 760 if(!
88053 xÿn
88054 è
88055         `ASN__TEXT_INDENT
88056 (1, 
88057 \9eev\96
88058  - 1);
88059
88060 762 if(
88061 \92cs
88062 ) {
88063
88064 763 
88065 x\94_tmp_\92c_t
88066  *
88067 \92c
88068  = 
88069 \92cs
88070 ;
88071
88072 764 
88073 x\94_tmp_\92c_t
88074  *
88075 \92d
88076  = 
88077 \92cs
88078  + 
88079 \92cs_couÁ
88080 ;
88081
88082 765 
88083 ssize_t
88084  
88085\8cÞ_size
88086  = 0;
88087
88088 767 
88089 \94
88090 .
88091 \92coded
88092  = 0;
88093
88094 768 
88095 cb
88096  = 
88097 Üig\9a®_cb
88098 ;
88099
88100 769 
88101 ­p_key
88102  = 
88103 Üig\9a®_­p_key
88104 ;
88105
88106 770 
88107         `qsÜt
88108 (
88109 \92cs
88110
88111 \92cs_couÁ
88112\17Óncs[0]), 
88113 SET_OF_x\94_Üd\94
88114 );
88115
88116 772 \ f
88117 \92c
88118  < 
88119 \92d
88120 ;\83nc++) {
88121
88122 773 
88123         `ASN__CALLBACK
88124 (
88125 \92c
88126 ->
88127 bufãr
88128 ,\83nc->
88129 off£t
88130 );
88131
88132 774 
88133         `FREEMEM
88134 (
88135 \92c
88136 ->
88137 bufãr
88138 );
88139
88140 775 
88141 \92c
88142 ->
88143 bufãr
88144  = 0;
88145
88146 776 
88147\8cÞ_size
88148  +ð
88149 \92c
88150 ->
88151 off£t
88152 ;
88153
88154 778 
88155         `as£¹
88156 (
88157\8cÞ_size
88158  =ð
88159 \94
88160 .
88161 \92coded
88162 );
88163
88164 781 \10
88165 þ\97nup
88166 ;
88167
88168 782 
88169 cb_ç\9eed
88170 :
88171
88172 783 
88173 ASN__ENCODE_FAILED
88174 ;
88175
88176 784 
88177 þ\97nup
88178 :
88179
88180 785 if(
88181 \92cs
88182 ) {
88183
88184 786 
88185 size_t
88186  
88187 n
88188 ;
88189
88190 787 \ f
88191 n
88192  = 0;\82 < 
88193 \92cs_couÁ
88194 ;\82++) {
88195
88196 788 
88197         `FREEMEM
88198 (
88199 \92cs
88200 [
88201 n
88202 ].
88203 bufãr
88204 );
88205
88206 790 
88207         `FREEMEM
88208 (
88209 \92cs
88210 );
88211
88212 792 
88213         `ASN__ENCODED_OK
88214 (
88215 \94
88216 );
88217
88218 793 
88219         }
88220 }
88221
88222 796 
88223         $SET_OF_´\9at
88224 (cڡ 
88225 a¢_TYPE_desü\9dtÜ_t
88226  *
88227 td
88228 , cڡ \1e*
88229 ¥\8c
88230\12
88231 \9eev\96
88232 ,
88233
88234 797 
88235 a¢_­p_cÚsume_by\8bs_f
88236  *
88237 cb
88238\1e*
88239 ­p_key
88240 ) {
88241
88242 798 
88243 a¢_TYPE_memb\94_t
88244  *
88245 \96m
88246  = 
88247 td
88248 ->
88249 \96em\92ts
88250 ;
88251
88252 799 cڡ 
88253 a¢_ªÚymous_£t_
88254  *
88255 li¡
88256  = 
88257         `_A_CSET_FROM_VOID
88258 (
88259 ¥\8c
88260 );
88261
88262 800 \12
88263 »t
88264 ;
88265
88266 801 \12
88267 i
88268 ;
88269
88270 803 if(!
88271 ¥\8c
88272 è\15 (
88273         `cb
88274 ("<ab£Á>", 8, 
88275 ­p_key
88276 ) < 0) ? -1 : 0;
88277
88278 806 if(
88279         `cb
88280 (
88281 td
88282 ->
88283 Çme
88284
88285         `¡¾\92
88286 Ñd->Çme), 
88287 ­p_key
88288 ) < 0
88289
88290 807 || 
88291         `cb
88292 (" ::ð{", 6, 
88293 ­p_key
88294 ) < 0)
88295
88296 810 \ f
88297 i
88298  = 0; i < 
88299 li¡
88300 ->
88301 couÁ
88302 ; i++) {
88303
88304 811 cڡ \1e*
88305 memb_±r
88306  = 
88307 li¡
88308 ->
88309 ¬¿y
88310 [
88311 i
88312 ];
88313
88314 812 if(!
88315 memb_±r
88316\ 6;
88317
88318 814 
88319         `_i_INDENT
88320 (1);
88321
88322 816 
88323 »t
88324  = 
88325 \96m
88326 ->
88327 ty³
88328 ->
88329 Ý
88330 ->
88331         `´\9at_¡ruù
88332 Ólm->ty³, 
88333 memb_±r
88334 ,
88335
88336 817 
88337 \9eev\96
88338  + 1, 
88339 cb
88340
88341 ­p_key
88342 );
88343
88344 818 if(
88345 »t
88346\15\84et;
88347
88348 821 
88349 \9eev\96
88350 --;
88351
88352 822 
88353         `_i_INDENT
88354 (1);
88355
88356 824 \15 (
88357         `cb
88358 ("}", 1, 
88359 ­p_key
88360 ) < 0) ? -1 : 0;
88361
88362 825 
88363         }
88364 }
88365
88366 828 
88367         $SET_OF_ä\93
88368 (cڡ 
88369 a¢_TYPE_desü\9dtÜ_t
88370  *
88371 td
88372\1e*
88373 ±r
88374 ,
88375
88376 829 \f
88377 a¢_¡ruù_ä\93_m\91hod
88378  
88379 m\91hod
88380 ) {
88381
88382 830 if(
88383 td
88384  && 
88385 ±r
88386 ) {
88387
88388 831 cڡ 
88389 a¢_SET_OF_¥ecifics_t
88390  *
88391 ¥ecs
88392 ;
88393
88394 832 
88395 a¢_TYPE_memb\94_t
88396  *
88397 \96m
88398  = 
88399 td
88400 ->
88401 \96em\92ts
88402 ;
88403
88404 833 
88405 a¢_ªÚymous_£t_
88406  *
88407 li¡
88408  = 
88409         `_A_SET_FROM_VOID
88410 (
88411 ±r
88412 );
88413
88414 834 
88415 a¢_¡ruù_ùx_t
88416  *
88417 ùx
88418 ;
88419
88420 835 \12
88421 i
88422 ;
88423
88424 841 \ f
88425 i
88426  = 0; i < 
88427 li¡
88428 ->
88429 couÁ
88430 ; i++) {
88431
88432 842 \1e*
88433 memb_±r
88434  = 
88435 li¡
88436 ->
88437 ¬¿y
88438 [
88439 i
88440 ];
88441
88442 843 if(
88443 memb_±r
88444 )
88445
88446 844 
88447         `ASN_STRUCT_FREE
88448 (*
88449 \96m
88450 ->
88451 ty³
88452
88453 memb_±r
88454 );
88455
88456 846 
88457 li¡
88458 ->
88459 couÁ
88460  = 0;
88461
88462 848 
88463         `a¢_£t_em±y
88464 (
88465 li¡
88466 );
88467
88468 850 
88469 ¥ecs
88470  = (cڡ 
88471 a¢_SET_OF_¥ecifics_t
88472  *)
88473 td
88474 ->
88475 ¥ecifics
88476 ;
88477
88478 851 
88479 ùx
88480  = (
88481 a¢_¡ruù_ùx_t
88482  *)((\ 5*)
88483 ±r
88484  + 
88485 ¥ecs
88486 ->
88487 ùx_off£t
88488 );
88489
88490 852 if(
88491 ùx
88492 ->
88493 ±r
88494 ) {
88495
88496 853 
88497         `ASN_STRUCT_FREE
88498 (*
88499 \96m
88500 ->
88501 ty³
88502
88503 ùx
88504 ->
88505 ±r
88506 );
88507
88508 854 
88509 ùx
88510 ->
88511 ±r
88512  = 0;
88513
88514 857 \1a
88515 m\91hod
88516 ) {
88517
88518 858 \ 4
88519 ASFM_FREE_EVERYTHING
88520 :
88521
88522 859 
88523         `FREEMEM
88524 (
88525 ±r
88526 );
88527
88528 861 \ 4
88529 ASFM_FREE_UNDERLYING
88530 :
88531
88532 863 \ 4
88533 ASFM_FREE_UNDERLYING_AND_RESET
88534 :
88535
88536 864 
88537         `mem£t
88538 (
88539 ±r
88540 , 0, 
88541 ¥ecs
88542 ->
88543 ¡ruù_size
88544 );
88545
88546 868 
88547         }
88548 }
88549
88550 871 
88551         $SET_OF_cÚ¡¿\9at
88552 (cڡ 
88553 a¢_TYPE_desü\9dtÜ_t
88554  *
88555 td
88556 , cڡ \1e*
88557 ¥\8c
88558 ,
88559
88560 872 
88561 a¢_­p_cÚ¡¿\9at_ç\9eed_f
88562  *
88563 ùç\9ecb
88564\1e*
88565 ­p_key
88566 ) {
88567
88568 873 cڡ 
88569 a¢_TYPE_memb\94_t
88570  *
88571 \96m
88572  = 
88573 td
88574 ->
88575 \96em\92ts
88576 ;
88577
88578 874 
88579 a¢_cÚ¡r_check_f
88580  *
88581 cڡr
88582 ;
88583
88584 875 cڡ 
88585 a¢_ªÚymous_£t_
88586  *
88587 li¡
88588  = 
88589         `_A_CSET_FROM_VOID
88590 (
88591 ¥\8c
88592 );
88593
88594 876 \12
88595 i
88596 ;
88597
88598 878 if(!
88599 ¥\8c
88600 ) {
88601
88602 879 
88603         `ASN__CTFAIL
88604 (
88605 ­p_key
88606
88607 td
88608
88609 ¥\8c
88610 ,
88611
88612 881 
88613 td
88614 ->
88615 Çme
88616
88617 __FILE__
88618
88619 __LINE__
88620 );
88621
88622 885 
88623 cڡr
88624  = 
88625 \96m
88626 ->
88627 \92cod\9ag_cÚ¡¿\9ats
88628 .
88629 g\92\94®_cÚ¡¿\9ats
88630 ;
88631
88632 886 if(!
88633 cڡr
88634 ècÚ¡¸ð
88635 \96m
88636 ->
88637 ty³
88638 ->
88639 \92cod\9ag_cÚ¡¿\9ats
88640 .
88641 g\92\94®_cÚ¡¿\9ats
88642 ;
88643
88644 892 \ f
88645 i
88646  = 0; i < 
88647 li¡
88648 ->
88649 couÁ
88650 ; i++) {
88651
88652 893 cڡ \1e*
88653 memb_±r
88654  = 
88655 li¡
88656 ->
88657 ¬¿y
88658 [
88659 i
88660 ];
88661
88662 894 \12
88663 »t
88664 ;
88665
88666 896 if(!
88667 memb_±r
88668\ 6;
88669
88670 898 
88671 »t
88672  = 
88673         `cڡr
88674 (
88675 \96m
88676 ->
88677 ty³
88678
88679 memb_±r
88680
88681 ùç\9ecb
88682
88683 ­p_key
88684 );
88685
88686 899 if(
88687 »t
88688\15\84et;
88689
88690 903 
88691         }
88692 }
88693
88694 905 #iâdeà
88695 ASN_DISABLE_PER_SUPPORT
88696
88697
88698 907 
88699 a¢_dec_rv®_t
88700
88701
88702 908 
88703         $SET_OF_decode_u³r
88704 (cڡ 
88705 a¢_codec_ùx_t
88706  *
88707 Ýt_codec_ùx
88708 ,
88709
88710 909 cڡ 
88711 a¢_TYPE_desü\9dtÜ_t
88712  *
88713 td
88714 ,
88715
88716 910 cڡ 
88717 a¢_³r_cÚ¡¿\9ats_t
88718  *
88719 cÚ¡¿\9ats
88720\1e**
88721 ¥\8c
88722 ,
88723
88724 911 
88725 a¢_³r_d©a_t
88726  *
88727 pd
88728 ) {
88729
88730 912 
88731 a¢_dec_rv®_t
88732  
88733 rv
88734  = {
88735 RC_OK
88736 , 0};
88737
88738 913 cڡ 
88739 a¢_SET_OF_¥ecifics_t
88740  *
88741 ¥ecs
88742  = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
88743 td
88744 ->
88745 ¥ecifics
88746 ;
88747
88748 914 cڡ 
88749 a¢_TYPE_memb\94_t
88750  *
88751 \96m
88752  = 
88753 td
88754 ->
88755 \96em\92ts
88756 ;
88757
88758 915 \1e*
88759 ¡
88760  = *
88761 ¥\8c
88762 ;
88763
88764 916 
88765 a¢_ªÚymous_£t_
88766  *
88767 li¡
88768 ;
88769
88770 917 cڡ 
88771 a¢_³r_cÚ¡¿\9at_t
88772  *
88773 ù
88774 ;
88775
88776 918 \12
88777 »³©
88778  = 0;
88779
88780 919 
88781 ssize_t
88782  
88783 ÃËms
88784 ;
88785
88786 921 if(
88787         `ASN__STACK_OVERFLOW_CHECK
88788 (
88789 Ýt_codec_ùx
88790 ))
88791
88792 922 
88793 ASN__DECODE_FAILED
88794 ;
88795
88796 927 if(!
88797 ¡
88798 ) {
88799
88800 928 
88801 ¡
88802  = *
88803 ¥\8c
88804  = 
88805         `CALLOC
88806 (1, 
88807 ¥ecs
88808 ->
88809 ¡ruù_size
88810 );
88811
88812 929 if(!
88813 ¡
88814 è
88815 ASN__DECODE_FAILED
88816 ;
88817
88818 931 
88819 li¡
88820  = 
88821         `_A_SET_FROM_VOID
88822 (
88823 ¡
88824 );
88825
88826 934 if(
88827 cÚ¡¿\9ats
88828 è
88829 ù
88830  = &cÚ¡¿\9ats->
88831 size
88832 ;
88833
88834 935 \vif(
88835 td
88836 ->
88837 \92cod\9ag_cÚ¡¿\9ats
88838 .
88839 ³r_cÚ¡¿\9ats
88840 )
88841
88842 936 
88843 ù
88844  = &
88845 td
88846 ->
88847 \92cod\9ag_cÚ¡¿\9ats
88848 .
88849 ³r_cÚ¡¿\9ats
88850 ->
88851 size
88852 ;
88853
88854 937 \v
88855 ù
88856  = 0;
88857
88858 939 if(
88859 ù
88860  && ct->
88861 æags
88862  & 
88863 APC_EXTENSIBLE
88864 ) {
88865
88866 940 \12
88867 v®ue
88868  = 
88869         `³r_g\91_ãw_b\99s
88870 (
88871 pd
88872 , 1);
88873
88874 941 if(
88875 v®ue
88876  < 0è
88877 ASN__DECODE_STARVED
88878 ;
88879
88880 942 if(
88881 v®ue
88882 è
88883 ù
88884  = 0;
88885
88886 945 if(
88887 ù
88888  && ct->
88889 efãùive_b\99s
88890  >= 0) {
88891
88892 947 
88893 ÃËms
88894  = 
88895         `³r_g\91_ãw_b\99s
88896 (
88897 pd
88898
88899 ù
88900 ->
88901 efãùive_b\99s
88902 );
88903
88904 948 
88905         `ASN_DEBUG
88906 ("Preparing\81o fetch %ld+%ld\83lements from %s",
88907
88908 949 (\13)
88909 ÃËms
88910
88911 ù
88912 ->
88913 low\94_bound
88914
88915 td
88916 ->
88917 Çme
88918 );
88919
88920 950 if(
88921 ÃËms
88922  < 0è
88923 ASN__DECODE_STARVED
88924 ;
88925
88926 951 
88927 ÃËms
88928  +ð
88929 ù
88930 ->
88931 low\94_bound
88932 ;
88933
88934 953 
88935 ÃËms
88936  = -1;
88937
88938 957 \12
88939 i
88940 ;
88941
88942 958 if(
88943 ÃËms
88944  < 0) {
88945
88946 959 
88947 ÃËms
88948  = 
88949         `u³r_g\91_Ëngth
88950 (
88951 pd
88952 , -1, 0, &
88953 »³©
88954 );
88955
88956 960 
88957         `ASN_DEBUG
88958 ("GÙ\81Ødecod\90%" 
88959 ASN_PRI_SSIZE
88960  "\83lements (eff %d)",
88961
88962 961 
88963 ÃËms
88964 , (\12)(
88965 ù
88966  ? ct->
88967 efãùive_b\99s
88968  : -1));
88969
88970 962 if(
88971 ÃËms
88972  < 0è
88973 ASN__DECODE_STARVED
88974 ;
88975
88976 965 \ f
88977 i
88978  = 0; i < 
88979 ÃËms
88980 ; i++) {
88981
88982 966 \1e*
88983 ±r
88984  = 0;
88985
88986 967 
88987         `ASN_DEBUG
88988 ("SET OF % decod\9ag", 
88989 \96m
88990 ->
88991 ty³
88992 ->
88993 Çme
88994 );
88995
88996 968 
88997 rv
88998  = 
88999 \96m
89000 ->
89001 ty³
89002 ->
89003 Ý
89004 ->
89005         `u³r_decod\94
89006 (
89007 Ýt_codec_ùx
89008 ,\83lm->type,
89009
89010 969 
89011 \96m
89012 ->
89013 \92cod\9ag_cÚ¡¿\9ats
89014 .
89015 ³r_cÚ¡¿\9ats
89016 , &
89017 ±r
89018
89019 pd
89020 );
89021
89022 970 
89023         `ASN_DEBUG
89024 ("%s SET OF %s decoded %d, %p",
89025
89026 971 
89027 td
89028 ->
89029 Çme
89030
89031 \96m
89032 ->
89033 ty³
89034 ->Çme, 
89035 rv
89036 .
89037 code
89038
89039 ±r
89040 );
89041
89042 972 if(
89043 rv
89044 .
89045 code
89046  =ð
89047 RC_OK
89048 ) {
89049
89050 973 if(
89051         `ASN_SET_ADD
89052 (
89053 li¡
89054
89055 ±r
89056 ) == 0) {
89057
89058 974 if(
89059 rv
89060 .
89061 cÚsumed
89062  =ð0 && 
89063 ÃËms
89064  > 200) {
89065
89066 976 
89067 ASN__DECODE_FAILED
89068 ;
89069
89070 980 
89071         `ASN_DEBUG
89072 ("Failed\81o\87dd\83lement into %s",
89073
89074 981 
89075 td
89076 ->
89077 Çme
89078 );
89079
89080 983 
89081 rv
89082 .
89083 code
89084  = 
89085 RC_FAIL
89086 ;
89087
89088 985 
89089         `ASN_DEBUG
89090 ("Failed decoding %s of %s (SET OF)",
89091
89092 986 
89093 \96m
89094 ->
89095 ty³
89096 ->
89097 Çme
89098
89099 td
89100 ->name);
89101
89102 988 if(
89103 ±r
89104 è
89105         `ASN_STRUCT_FREE
89106 (*
89107 \96m
89108 ->
89109 ty³
89110 ,\85tr);
89111
89112 989 \15 
89113 rv
89114 ;
89115
89116 992 
89117 ÃËms
89118  = -1;
89119
89120 993 } \1f
89121 »³©
89122 );
89123
89124 995 
89125         `ASN_DEBUG
89126 ("Decoded % a SET OF", 
89127 td
89128 ->
89129 Çme
89130 );
89131
89132 997 
89133 rv
89134 .
89135 code
89136  = 
89137 RC_OK
89138 ;
89139
89140 998 
89141 rv
89142 .
89143 cÚsumed
89144  = 0;
89145
89146 999 \15 
89147 rv
89148 ;
89149
89150 1000 
89151         }
89152 }
89153
89154 1002 
89155 a¢_\92c_rv®_t
89156
89157
89158 1003 
89159         $SET_OF_\92code_u³r
89160 (cڡ 
89161 a¢_TYPE_desü\9dtÜ_t
89162  *
89163 td
89164 ,
89165
89166 1004 cڡ 
89167 a¢_³r_cÚ¡¿\9ats_t
89168  *
89169 cÚ¡¿\9ats
89170 , cڡ \1e*
89171 ¥\8c
89172 ,
89173
89174 1005 
89175 a¢_³r_ou\8d_t
89176  *
89177 po
89178 ) {
89179
89180 1006 cڡ 
89181 a¢_ªÚymous_£t_
89182  *
89183 li¡
89184 ;
89185
89186 1007 cڡ 
89187 a¢_³r_cÚ¡¿\9at_t
89188  *
89189 ù
89190 ;
89191
89192 1008 cڡ 
89193 a¢_TYPE_memb\94_t
89194  *
89195 \96m
89196  = 
89197 td
89198 ->
89199 \96em\92ts
89200 ;
89201
89202 1009 \19
89203 _\96_bufãr
89204  *
89205 \92coded_\96s
89206 ;
89207
89208 1010 
89209 a¢_\92c_rv®_t
89210  
89211 \94
89212  = {0,0,0};
89213
89214 1011 
89215 size_t
89216  
89217 \92coded_edx
89218 ;
89219
89220 1013 if(!
89221 ¥\8c
89222 è
89223 ASN__ENCODE_FAILED
89224 ;
89225
89226 1015 
89227 li¡
89228  = 
89229         `_A_CSET_FROM_VOID
89230 (
89231 ¥\8c
89232 );
89233
89234 1017 
89235 \94
89236 .
89237 \92coded
89238  = 0;
89239
89240 1019 
89241         `ASN_DEBUG
89242 ("Encod\9ag % a SEQUENCE OF (%d)", 
89243 td
89244 ->
89245 Çme
89246
89247 li¡
89248 ->
89249 couÁ
89250 );
89251
89252 1021 if(
89253 cÚ¡¿\9ats
89254 è
89255 ù
89256  = &cÚ¡¿\9ats->
89257 size
89258 ;
89259
89260 1022 \vif(
89261 td
89262 ->
89263 \92cod\9ag_cÚ¡¿\9ats
89264 .
89265 ³r_cÚ¡¿\9ats
89266 )
89267
89268 1023 
89269 ù
89270  = &
89271 td
89272 ->
89273 \92cod\9ag_cÚ¡¿\9ats
89274 .
89275 ³r_cÚ¡¿\9ats
89276 ->
89277 size
89278 ;
89279
89280 1024 \v
89281 ù
89282  = 0;
89283
89284 1027 if(
89285 ù
89286 ) {
89287
89288 1028 \12
89289 nÙ_\9a_roÙ
89290  =
89291
89292 1029 (
89293 li¡
89294 ->
89295 couÁ
89296  < 
89297 ù
89298 ->
89299 low\94_bound
89300  ||\86i¡->couÁ > ct->
89301\94_bound
89302 );
89303
89304 1030 
89305         `ASN_DEBUG
89306 ("lb %ld ub %ld %s", 
89307 ù
89308 ->
89309 low\94_bound
89310 , ct->
89311\94_bound
89312 ,
89313
89314 1031 
89315 ù
89316 ->
89317 æags
89318  & 
89319 APC_EXTENSIBLE
89320  ? "ext" : "fix");
89321
89322 1032 if(
89323 ù
89324 ->
89325 æags
89326  & 
89327 APC_EXTENSIBLE
89328 ) {
89329
89330 1034 if(
89331         `³r_put_ãw_b\99s
89332 (
89333 po
89334
89335 nÙ_\9a_roÙ
89336 , 1)è
89337 ASN__ENCODE_FAILED
89338 ;
89339
89340 1035 if(
89341 nÙ_\9a_roÙ
89342 è
89343 ù
89344  = 0;
89345
89346 1036 } \vif(
89347 nÙ_\9a_roÙ
89348  && 
89349 ù
89350 ->
89351 efãùive_b\99s
89352  >= 0) {
89353
89354 1037 
89355 ASN__ENCODE_FAILED
89356 ;
89357
89358 1042 if(
89359 ù
89360  && ct->
89361 efãùive_b\99s
89362  >= 0) {
89363
89364 1044 if(
89365         `³r_put_ãw_b\99s
89366 (
89367 po
89368
89369 li¡
89370 ->
89371 couÁ
89372  - 
89373 ù
89374 ->
89375 low\94_bound
89376 ,
89377
89378 1045 
89379 ù
89380 ->
89381 efãùive_b\99s
89382 ))
89383
89384 1046 
89385 ASN__ENCODE_FAILED
89386 ;
89387
89388 1047 } \vif(
89389 li¡
89390 ->
89391 couÁ
89392  == 0) {
89393
89394 1051 ià(
89395         `u³r_put_Ëngth
89396 (
89397 po
89398 , 0, 0)) {
89399
89400 1052 
89401 ASN__ENCODE_FAILED
89402 ;
89403
89404 1054 
89405         `ASN__ENCODED_OK
89406 (
89407 \94
89408 );
89409
89410 1062 
89411 \92coded_\96s
89412  = 
89413         `SET_OF__\92code_sÜ\8bd
89414 (
89415 \96m
89416
89417 li¡
89418
89419 SOES_CUPER
89420 );
89421
89422 1064 \ f
89423 \92coded_edx
89424  = 0; (
89425 ssize_t
89426 ëncoded_edx < 
89427 li¡
89428 ->
89429 couÁ
89430 ;) {
89431
89432 1065 
89433 ssize_t
89434  
89435 may_\92code
89436 ;
89437
89438 1066 
89439 size_t
89440  
89441 edx
89442 ;
89443
89444 1067 \12
89445 Ãed_eom
89446  = 0;
89447
89448 1069 if(
89449 ù
89450  && ct->
89451 efãùive_b\99s
89452  >= 0) {
89453
89454 1070 
89455 may_\92code
89456  = 
89457 li¡
89458 ->
89459 couÁ
89460 ;
89461
89462 1072 
89463 may_\92code
89464  =
89465
89466 1073 
89467         `u³r_put_Ëngth
89468 (
89469 po
89470
89471 li¡
89472 ->
89473 couÁ
89474  - 
89475 \92coded_edx
89476 , &
89477 Ãed_eom
89478 );
89479
89480 1074 if(
89481 may_\92code
89482  < 0è
89483 ASN__ENCODE_FAILED
89484 ;
89485
89486 1077 \ f
89487 edx
89488  = 
89489 \92coded_edx
89490 ;\83dx <\83ncoded_edx + 
89491 may_\92code
89492 ;\83dx++) {
89493
89494 1078 cڡ \19
89495 _\96_bufãr
89496  *
89497 \96
89498  = &
89499 \92coded_\96s
89500 [
89501 edx
89502 ];
89503
89504 1079 if(
89505         `a¢_put_mªy_b\99s
89506 (
89507 po
89508
89509 \96
89510 ->
89511 buf
89512 ,
89513
89514 1080 (8 * 
89515 \96
89516 ->
89517 Ëngth
89518 è-\83l->
89519 b\99s_unu£d
89520 ) < 0) {
89521
89522 1085 if(
89523 Ãed_eom
89524  && 
89525         `u³r_put_Ëngth
89526 (
89527 po
89528 , 0, 0))
89529
89530 1086 
89531 ASN__ENCODE_FAILED
89532 ;
89533
89534 1088 
89535 \92coded_edx
89536  +ð
89537 may_\92code
89538 ;
89539
89540 1091 
89541         `SET_OF__\92code_sÜ\8bd_ä\93
89542 (
89543 \92coded_\96s
89544
89545 li¡
89546 ->
89547 couÁ
89548 );
89549
89550 1093 if((
89551 ssize_t
89552 )
89553 \92coded_edx
89554  =ð
89555 li¡
89556 ->
89557 couÁ
89558 ) {
89559
89560 1094 
89561         `ASN__ENCODED_OK
89562 (
89563 \94
89564 );
89565
89566 1096 
89567 ASN__ENCODE_FAILED
89568 ;
89569
89570 1098 
89571         }
89572 }
89573
89574 1100 
89575 a¢_dec_rv®_t
89576
89577
89578 1101 
89579         $SET_OF_decode_­\94
89580 (cڡ 
89581 a¢_codec_ùx_t
89582  *
89583 Ýt_codec_ùx
89584 ,
89585
89586 1102 cڡ 
89587 a¢_TYPE_desü\9dtÜ_t
89588  *
89589 td
89590 ,
89591
89592 1103 cڡ 
89593 a¢_³r_cÚ¡¿\9ats_t
89594  *
89595 cÚ¡¿\9ats
89596\1e**
89597 ¥\8c
89598
89599 a¢_³r_d©a_t
89600  *
89601 pd
89602 ) {
89603
89604 1104 
89605 a¢_dec_rv®_t
89606  
89607 rv
89608  = {
89609 RC_OK
89610 , 0};
89611
89612 1105 cڡ 
89613 a¢_SET_OF_¥ecifics_t
89614  *
89615 ¥ecs
89616  = (cÚ¡\87¢_SET_OF_¥ecifics_\88*)
89617 td
89618 ->
89619 ¥ecifics
89620 ;
89621
89622 1106 cڡ 
89623 a¢_TYPE_memb\94_t
89624  *
89625 \96m
89626  = 
89627 td
89628 ->
89629 \96em\92ts
89630 ;
89631
89632 1107 \1e*
89633 ¡
89634  = *
89635 ¥\8c
89636 ;
89637
89638 1108 
89639 a¢_ªÚymous_£t_
89640  *
89641 li¡
89642 ;
89643
89644 1109 cڡ 
89645 a¢_³r_cÚ¡¿\9at_t
89646  *
89647 ù
89648 ;
89649
89650 1110 \12
89651 »³©
89652  = 0;
89653
89654 1111 
89655 ssize_t
89656  
89657 ÃËms
89658 ;
89659
89660 1113 if(
89661         `ASN__STACK_OVERFLOW_CHECK
89662 (
89663 Ýt_codec_ùx
89664 ))
89665
89666 1114 
89667 ASN__DECODE_FAILED
89668 ;
89669
89670 1119 if(!
89671 ¡
89672 ) {
89673
89674 1120 
89675 ¡
89676  = *
89677 ¥\8c
89678  = 
89679         `CALLOC
89680 (1, 
89681 ¥ecs
89682 ->
89683 ¡ruù_size
89684 );
89685
89686 1121 if(!
89687 ¡
89688 è
89689 ASN__DECODE_FAILED
89690 ;
89691
89692 1123 
89693 li¡
89694  = 
89695         `_A_SET_FROM_VOID
89696 (
89697 ¡
89698 );
89699
89700 1126 if(
89701 cÚ¡¿\9ats
89702 è
89703 ù
89704  = &cÚ¡¿\9ats->
89705 size
89706 ;
89707
89708 1127 \vif(
89709 td
89710 ->
89711 \92cod\9ag_cÚ¡¿\9ats
89712 .
89713 ³r_cÚ¡¿\9ats
89714 )
89715
89716 1128 
89717 ù
89718  = &
89719 td
89720 ->
89721 \92cod\9ag_cÚ¡¿\9ats
89722 .
89723 ³r_cÚ¡¿\9ats
89724 ->
89725 size
89726 ;
89727
89728 1129 \v
89729 ù
89730  = 0;
89731
89732 1131 if(
89733 ù
89734  && ct->
89735 æags
89736  & 
89737 APC_EXTENSIBLE
89738 ) {
89739
89740 1132 \12
89741 v®ue
89742  = 
89743         `³r_g\91_ãw_b\99s
89744 (
89745 pd
89746 , 1);
89747
89748 1133 if(
89749 v®ue
89750  < 0è
89751 ASN__DECODE_STARVED
89752 ;
89753
89754 1134 if(
89755 v®ue
89756 è
89757 ù
89758  = 0;
89759
89760 1137 if(
89761 ù
89762  && ct->
89763 efãùive_b\99s
89764  >= 0) {
89765
89766 1139 
89767 ÃËms
89768  = 
89769         `­\94_g\91_n¢nwn
89770 (
89771 pd
89772
89773 ù
89774 ->
89775\94_bound
89776  - ct->
89777 low\94_bound
89778  + 1);
89779
89780 1140 
89781         `ASN_DEBUG
89782 ("Preparing\81o fetch %ld+%ld\83lements from %s",
89783
89784 1141 (\13)
89785 ÃËms
89786
89787 ù
89788 ->
89789 low\94_bound
89790
89791 td
89792 ->
89793 Çme
89794 );
89795
89796 1142 if(
89797 ÃËms
89798  < 0è
89799 ASN__DECODE_STARVED
89800 ;
89801
89802 1143 
89803 ÃËms
89804  +ð
89805 ù
89806 ->
89807 low\94_bound
89808 ;
89809
89810 1145 
89811 ÃËms
89812  = -1;
89813
89814 1149 \12
89815 i
89816 ;
89817
89818 1150 if(
89819 ÃËms
89820  < 0) {
89821
89822 1151 
89823 ÃËms
89824  = 
89825         `­\94_g\91_Ëngth
89826 (
89827 pd
89828
89829 ù
89830  ? ct->
89831\94_bound
89832  - ct->
89833 low\94_bound
89834  + 1 : -1,
89835
89836 1152 
89837 ù
89838  ? ct->
89839 efãùive_b\99s
89840  : -1, &
89841 »³©
89842 );
89843
89844 1153 
89845         `ASN_DEBUG
89846 ("Got\81o decode %d\83lements (eff %d)",
89847
89848 1154 (\12)
89849 ÃËms
89850 , (\12)(
89851 ù
89852  ? ct->
89853 efãùive_b\99s
89854  : -1));
89855
89856 1155 if(
89857 ÃËms
89858  < 0è
89859 ASN__DECODE_STARVED
89860 ;
89861
89862 1158 \ f
89863 i
89864  = 0; i < 
89865 ÃËms
89866 ; i++) {
89867
89868 1159 \1e*
89869 ±r
89870  = 0;
89871
89872 1160 
89873         `ASN_DEBUG
89874 ("SET OF % decod\9ag", 
89875 \96m
89876 ->
89877 ty³
89878 ->
89879 Çme
89880 );
89881
89882 1161 
89883 rv
89884  = 
89885 \96m
89886 ->
89887 ty³
89888 ->
89889 Ý
89890 ->
89891         `­\94_decod\94
89892 (
89893 Ýt_codec_ùx
89894 ,\83lm->type,
89895
89896 1162 
89897 \96m
89898 ->
89899 \92cod\9ag_cÚ¡¿\9ats
89900 .
89901 ³r_cÚ¡¿\9ats
89902 , &
89903 ±r
89904
89905 pd
89906 );
89907
89908 1163 
89909         `ASN_DEBUG
89910 ("%s SET OF %s decoded %d, %p",
89911
89912 1164 
89913 td
89914 ->
89915 Çme
89916
89917 \96m
89918 ->
89919 ty³
89920 ->Çme, 
89921 rv
89922 .
89923 code
89924
89925 ±r
89926 );
89927
89928 1165 if(
89929 rv
89930 .
89931 code
89932  =ð
89933 RC_OK
89934 ) {
89935
89936 1166 if(
89937         `ASN_SET_ADD
89938 (
89939 li¡
89940
89941 ±r
89942 ) == 0)
89943
89944 1168 
89945         `ASN_DEBUG
89946 ("Failed\81o\87dd\83lement into %s",
89947
89948 1169 
89949 td
89950 ->
89951 Çme
89952 );
89953
89954 1171 
89955 rv
89956 .
89957 code
89958  = 
89959 RC_FAIL
89960 ;
89961
89962 1173 
89963         `ASN_DEBUG
89964 ("Failed decoding %s of %s (SET OF)",
89965
89966 1174 
89967 \96m
89968 ->
89969 ty³
89970 ->
89971 Çme
89972
89973 td
89974 ->name);
89975
89976 1176 if(
89977 ±r
89978 è
89979         `ASN_STRUCT_FREE
89980 (*
89981 \96m
89982 ->
89983 ty³
89984 ,\85tr);
89985
89986 1177 \15 
89987 rv
89988 ;
89989
89990 1180 
89991 ÃËms
89992  = -1;
89993
89994 1181 } \1f
89995 »³©
89996 );
89997
89998 1183 
89999         `ASN_DEBUG
90000 ("Decoded % a SET OF", 
90001 td
90002 ->
90003 Çme
90004 );
90005
90006 1185 
90007 rv
90008 .
90009 code
90010  = 
90011 RC_OK
90012 ;
90013
90014 1186 
90015 rv
90016 .
90017 cÚsumed
90018  = 0;
90019
90020 1187 \15 
90021 rv
90022 ;
90023
90024 1188 
90025         }
90026 }
90027
90028 1192 \19
90029         scom·¿bË_±r
90030  {
90031
90032 1193 cڡ 
90033 a¢_TYPE_desü\9dtÜ_t
90034  *
90035         mtd
90036 ;
90037
90038 1194 cڡ \1e*
90039         m¥\8c
90040 ;
90041
90042 1198 
90043         $SET_OF__com·»_cb
90044 (cڡ \1e*
90045 ­\8c
90046 , cڡ \1e*
90047 b±r
90048 ) {
90049
90050 1199 cڡ \19
90051 com·¿bË_±r
90052  *
90053 a
90054  = 
90055 ­\8c
90056 ;
90057
90058 1200 cڡ \19
90059 com·¿bË_±r
90060  *
90061 b
90062  = 
90063 b±r
90064 ;
90065
90066 1201 
90067         `as£¹
90068 (
90069 a
90070 ->
90071 td
90072  =ð
90073 b
90074 ->td);
90075
90076 1202 \15 
90077 a
90078 ->
90079 td
90080 ->
90081 Ý
90082 ->
90083         `com·»_¡ruù
90084 ×->td,\87->
90085 ¥\8c
90086
90087 b
90088 ->sptr);
90089
90090 1203 
90091         }
90092 }
90093
90094 1206 
90095         $SET_OF_com·»
90096 (cڡ 
90097 a¢_TYPE_desü\9dtÜ_t
90098  *
90099 td
90100 , cڡ \1e*
90101 ­\8c
90102 ,
90103
90104 1207 cڡ \1e*
90105 b±r
90106 ) {
90107
90108 1208 cڡ 
90109 a¢_ªÚymous_£t_
90110  *
90111 a
90112  = 
90113         `_A_CSET_FROM_VOID
90114 (
90115 ­\8c
90116 );
90117
90118 1209 cڡ 
90119 a¢_ªÚymous_£t_
90120  *
90121 b
90122  = 
90123         `_A_CSET_FROM_VOID
90124 (
90125 b±r
90126 );
90127
90128 1211 if(
90129 a
90130  && 
90131 b
90132 ) {
90133
90134 1212 \19
90135 com·¿bË_±r
90136  *
90137 as܋d
90138 ;
90139
90140 1213 \19
90141 com·¿bË_±r
90142  *
90143 bs܋d
90144 ;
90145
90146 1214 
90147 ssize_t
90148  
90149 commÚ_Ëngth
90150 ;
90151
90152 1215 
90153 ssize_t
90154  
90155 idx
90156 ;
90157
90158 1217 if(
90159 a
90160 ->
90161 couÁ
90162  == 0) {
90163
90164 1218 if(
90165 b
90166 ->
90167 couÁ
90168\15 -1;
90169
90170 1220 } \vif(
90171 b
90172 ->
90173 couÁ
90174  == 0) {
90175
90176 1224 
90177 as܋d
90178  = 
90179         `MALLOC
90180 (
90181 a
90182 ->
90183 couÁ
90184  * \17(asorted[0]));
90185
90186 1225 
90187 bs܋d
90188  = 
90189         `MALLOC
90190 (
90191 b
90192 ->
90193 couÁ
90194  * \17(bsorted[0]));
90195
90196 1226 if(!
90197 as܋d
90198  || !
90199 bs܋d
90200 ) {
90201
90202 1227 
90203         `FREEMEM
90204 (
90205 as܋d
90206 );
90207
90208 1228 
90209         `FREEMEM
90210 (
90211 bs܋d
90212 );
90213
90214 1232 \ f
90215 idx
90216  = 0; idx < 
90217 a
90218 ->
90219 couÁ
90220 ; idx++) {
90221
90222 1233 
90223 as܋d
90224 [
90225 idx
90226 ].
90227 td
90228  =\81d->
90229 \96em\92ts
90230 ->
90231 ty³
90232 ;
90233
90234 1234 
90235 as܋d
90236 [
90237 idx
90238 ].
90239 ¥\8c
90240  = 
90241 a
90242 ->
90243 ¬¿y
90244 [idx];
90245
90246 1237 \ f
90247 idx
90248  = 0; idx < 
90249 b
90250 ->
90251 couÁ
90252 ; idx++) {
90253
90254 1238 
90255 bs܋d
90256 [
90257 idx
90258 ].
90259 td
90260  =\81d->
90261 \96em\92ts
90262 ->
90263 ty³
90264 ;
90265
90266 1239 
90267 bs܋d
90268 [
90269 idx
90270 ].
90271 ¥\8c
90272  = 
90273 b
90274 ->
90275 ¬¿y
90276 [idx];
90277
90278 1242 
90279         `qsÜt
90280 (
90281 as܋d
90282
90283 a
90284 ->
90285 couÁ
90286\17×sÜ\8bd[0]), 
90287 SET_OF__com·»_cb
90288 );
90289
90290 1243 
90291         `qsÜt
90292 (
90293 bs܋d
90294
90295 b
90296 ->
90297 couÁ
90298\17(bs܋d[0]), 
90299 SET_OF__com·»_cb
90300 );
90301
90302 1245 
90303 commÚ_Ëngth
90304  = (
90305 a
90306 ->
90307 couÁ
90308  < 
90309 b
90310 ->count ?\87->count : b->count);
90311
90312 1246 \ f
90313 idx
90314  = 0; idx < 
90315 commÚ_Ëngth
90316 ; idx++) {
90317
90318 1247 \12
90319 »t
90320  = 
90321 td
90322 ->
90323 \96em\92ts
90324 ->
90325 ty³
90326 ->
90327 Ý
90328 ->
90329         `com·»_¡ruù
90330 (
90331
90332 1248 
90333 td
90334 ->
90335 \96em\92ts
90336 ->
90337 ty³
90338
90339 as܋d
90340 [
90341 idx
90342 ].
90343 ¥\8c
90344
90345 bs܋d
90346 [idx].sptr);
90347
90348 1249 if(
90349 »t
90350 ) {
90351
90352 1250 
90353         `FREEMEM
90354 (
90355 as܋d
90356 );
90357
90358 1251 
90359         `FREEMEM
90360 (
90361 bs܋d
90362 );
90363
90364 1252 \15 
90365 »t
90366 ;
90367
90368 1256 
90369         `FREEMEM
90370 (
90371 as܋d
90372 );
90373
90374 1257 
90375         `FREEMEM
90376 (
90377 bs܋d
90378 );
90379
90380 1259 if(
90381 idx
90382  < 
90383 b
90384 ->
90385 couÁ
90386 )
90387
90388 1261 if(
90389 idx
90390  < 
90391 a
90392 ->
90393 couÁ
90394\15 1;
90395
90396 1262 } \vif(!
90397 a
90398 ) {
90399
90400 1264 } \vif(!
90401 b
90402 ) {
90403
90404 1269 
90405         }
90406 }
90407
90408 1272 
90409 a¢_TYPE_Ý\94©iÚ_t
90410  
90411         ga¢_OP_SET_OF
90412  = {
90413
90414 1273 
90415 SET_OF_ä\93
90416 ,
90417
90418 1274 
90419 SET_OF_´\9at
90420 ,
90421
90422 1275 
90423 SET_OF_com·»
90424 ,
90425
90426 1276 
90427 SET_OF_decode_b\94
90428 ,
90429
90430 1277 
90431 SET_OF_\92code_d\94
90432 ,
90433
90434 1278 
90435 SET_OF_decode_x\94
90436 ,
90437
90438 1279 
90439 SET_OF_\92code_x\94
90440 ,
90441
90442 1280 #ifdeà
90443 ASN_DISABLE_OER_SUPPORT
90444
90445
90446 1284 
90447 SET_OF_decode_Ûr
90448 ,
90449
90450 1285 
90451 SET_OF_\92code_Ûr
90452 ,
90453
90454 1287 #ifdeà
90455 ASN_DISABLE_PER_SUPPORT
90456
90457
90458 1293 
90459 SET_OF_decode_u³r
90460 ,
90461
90462 1294 
90463 SET_OF_\92code_u³r
90464 ,
90465
90466 1295 
90467 SET_OF_decode_­\94
90468 ,
90469
90470 1298 
90471 SET_OF_¿ndom_f\9el
90472 ,
90473
90474 1303 
90475 a¢_¿ndom_f\9el_»suÉ_t
90476
90477
90478 1304 
90479         $SET_OF_¿ndom_f\9el
90480 (cڡ 
90481 a¢_TYPE_desü\9dtÜ_t
90482  *
90483 td
90484\1e**
90485 ¥\8c
90486 ,
90487
90488 1305 cڡ 
90489 a¢_\92cod\9ag_cÚ¡¿\9ats_t
90490  *
90491 cÚ¡¿\9ats
90492 ,
90493
90494 1306 
90495 size_t
90496  
90497 max_Ëngth
90498 ) {
90499
90500 1307 cڡ 
90501 a¢_SET_OF_¥ecifics_t
90502  *
90503 ¥ecs
90504  =
90505
90506 1308 (cڡ 
90507 a¢_SET_OF_¥ecifics_t
90508  *)
90509 td
90510 ->
90511 ¥ecifics
90512 ;
90513
90514 1309 
90515 a¢_¿ndom_f\9el_»suÉ_t
90516  
90517 »s_ok
90518  = {
90519 ARFILL_OK
90520 , 0};
90521
90522 1310 
90523 a¢_¿ndom_f\9el_»suÉ_t
90524  
90525 »suÉ_ç\9eed
90526  = {
90527 ARFILL_FAILED
90528 , 0};
90529
90530 1311 
90531 a¢_¿ndom_f\9el_»suÉ_t
90532  
90533 »suÉ_sk\9d³d
90534  = {
90535 ARFILL_SKIPPED
90536 , 0};
90537
90538 1312 cڡ 
90539 a¢_TYPE_memb\94_t
90540  *
90541 \96m
90542  = 
90543 td
90544 ->
90545 \96em\92ts
90546 ;
90547
90548 1313 \1e*
90549 ¡
90550  = *
90551 ¥\8c
90552 ;
90553
90554 1314 \13
90555 max_\96em\92ts
90556  = 5;
90557
90558 1315 \13
90559 ¦b
90560  = 0;
90561
90562 1316 \13
90563 sub
90564  = 0;
90565
90566 1317 
90567 size_t
90568  
90569 ºd_Ën
90570 ;
90571
90572 1319 if(
90573 max_Ëngth
90574  =ð0è\15 
90575 »suÉ_sk\9d³d
90576 ;
90577
90578 1321 if(
90579 ¡
90580  =ð
90581 NULL
90582 ) {
90583
90584 1322 
90585 ¡
90586  = (*
90587 ¥\8c
90588  = 
90589         `CALLOC
90590 (1, 
90591 ¥ecs
90592 ->
90593 ¡ruù_size
90594 ));
90595
90596 1323 if(
90597 ¡
90598  =ð
90599 NULL
90600 ) {
90601
90602 1324 \15 
90603 »suÉ_ç\9eed
90604 ;
90605
90606 1328 \1a
90607         `a¢_¿ndom_b\91w\93n
90608 (0, 6)) {
90609
90610 1329 \ 40: 
90611 max_\96em\92ts
90612  = 0; \ 3;
90613
90614 1330 \ 41: 
90615 max_\96em\92ts
90616  = 1; \ 3;
90617
90618 1331 \ 42: 
90619 max_\96em\92ts
90620  = 5; \ 3;
90621
90622 1332 \ 43: 
90623 max_\96em\92ts
90624  = 
90625 max_Ëngth
90626\ 3;
90627
90628 1333 \ 44: 
90629 max_\96em\92ts
90630  = 
90631 max_Ëngth
90632  / 2; \ 3;
90633
90634 1334 \ 45: 
90635 max_\96em\92ts
90636  = 
90637 max_Ëngth
90638  / 4; \ 3;
90639
90640 1337 
90641 sub
90642  = 
90643 ¦b
90644  + 
90645 max_\96em\92ts
90646 ;
90647
90648 1339 if(!
90649 cÚ¡¿\9ats
90650  || !cÚ¡¿\9ats->
90651 ³r_cÚ¡¿\9ats
90652 )
90653
90654 1340 
90655 cÚ¡¿\9ats
90656  = &
90657 td
90658 ->
90659 \92cod\9ag_cÚ¡¿\9ats
90660 ;
90661
90662 1341 if(
90663 cÚ¡¿\9ats
90664 ->
90665 ³r_cÚ¡¿\9ats
90666 ) {
90667
90668 1342 cڡ 
90669 a¢_³r_cÚ¡¿\9at_t
90670  *
90671 pc
90672  = &
90673 cÚ¡¿\9ats
90674 ->
90675 ³r_cÚ¡¿\9ats
90676 ->
90677 size
90678 ;
90679
90680 1343 if(
90681 pc
90682 ->
90683 æags
90684  & 
90685 APC_SEMI_CONSTRAINED
90686 ) {
90687
90688 1344 
90689 ¦b
90690  = 
90691 pc
90692 ->
90693 low\94_bound
90694 ;
90695
90696 1345 
90697 sub
90698  = 
90699 pc
90700 ->
90701 low\94_bound
90702  + 
90703 max_\96em\92ts
90704 ;
90705
90706 1346 } \vif(
90707 pc
90708 ->
90709 æags
90710  & 
90711 APC_CONSTRAINED
90712 ) {
90713
90714 1347 
90715 ¦b
90716  = 
90717 pc
90718 ->
90719 low\94_bound
90720 ;
90721
90722 1348 
90723 sub
90724  = 
90725 pc
90726 ->
90727\94_bound
90728 ;
90729
90730 1349 if(
90731 sub
90732  - 
90733 ¦b
90734  > 
90735 max_\96em\92ts
90736 ) sub = slb + max_elements;
90737
90738 1354 \1a
90739         `a¢_¿ndom_b\91w\93n
90740 (-1, 4)) {
90741
90742 1358 if(
90743 cÚ¡¿\9ats
90744 ->
90745 ³r_cÚ¡¿\9ats
90746
90747
90748 1359 && (
90749 cÚ¡¿\9ats
90750 ->
90751 ³r_cÚ¡¿\9ats
90752 ->
90753 size
90754 .
90755 æags
90756  & 
90757 APC_EXTENSIBLE
90758 )) {
90759
90760 1360 \1a
90761         `a¢_¿ndom_b\91w\93n
90762 (0, 5)) {
90763
90764 1363 
90765 ºd_Ën
90766  = 0;
90767
90768 1366 if(
90769 ¦b
90770  > 0) {
90771
90772 1367 
90773 ºd_Ën
90774  = 
90775 ¦b
90776  - 1;
90777
90778 1369 
90779 ºd_Ën
90780  = 0;
90781
90782 1373 
90783 ºd_Ën
90784  = 
90785         `a¢_¿ndom_b\91w\93n
90786 (0, 
90787 ¦b
90788 );
90789
90790 1376 if(
90791 sub
90792  < (
90793 ssize_t
90794 )
90795 max_Ëngth
90796 ) {
90797
90798 1377 
90799 ºd_Ën
90800  = 
90801 sub
90802  + 1;
90803
90804 1379 
90805 ºd_Ën
90806  = 
90807 max_Ëngth
90808 ;
90809
90810 1383 if(
90811 sub
90812  < (
90813 ssize_t
90814 )
90815 max_Ëngth
90816 ) {
90817
90818 1384 
90819 ºd_Ën
90820  = 
90821         `a¢_¿ndom_b\91w\93n
90822 (
90823 sub
90824  + 1, 
90825 max_Ëngth
90826 );
90827
90828 1386 
90829 ºd_Ën
90830  = 
90831 max_Ëngth
90832 ;
90833
90834 1390 
90835 ºd_Ën
90836  = 
90837 max_Ëngth
90838 ;
90839
90840 1397 
90841 ºd_Ën
90842  = 
90843         `a¢_¿ndom_b\91w\93n
90844 (
90845 ¦b
90846
90847 sub
90848 );
90849
90850 1400 if(
90851 ¦b
90852  < 
90853 sub
90854 ) {
90855
90856 1401 
90857 ºd_Ën
90858  = 
90859         `a¢_¿ndom_b\91w\93n
90860 (
90861 ¦b
90862  + 1, 
90863 sub
90864 );
90865
90866 1406 
90867 ºd_Ën
90868  = 
90869         `a¢_¿ndom_b\91w\93n
90870 (
90871 ¦b
90872 , slb);
90873
90874 1409 if(
90875 ¦b
90876  < 
90877 sub
90878 ) {
90879
90880 1410 
90881 ºd_Ën
90882  = 
90883         `a¢_¿ndom_b\91w\93n
90884 (
90885 ¦b
90886
90887 sub
90888  - 1);
90889
90890 1415 
90891 ºd_Ën
90892  = 
90893         `a¢_¿ndom_b\91w\93n
90894 (
90895 sub
90896 , sub);
90897
90898 1419 \ f
90899 ºd_Ën
90900  > 0;\84nd_len--) {
90901
90902 1420 
90903 a¢_ªÚymous_£t_
90904  *
90905 li¡
90906  = 
90907         `_A_SET_FROM_VOID
90908 (
90909 ¡
90910 );
90911
90912 1421 \1e*
90913 ±r
90914  = 0;
90915
90916 1422 
90917 a¢_¿ndom_f\9el_»suÉ_t
90918  
90919 tm´es
90920  = 
90921 \96m
90922 ->
90923 ty³
90924 ->
90925 Ý
90926 ->
90927         `¿ndom_f\9el
90928 (
90929
90930 1423 
90931 \96m
90932 ->
90933 ty³
90934 , &
90935 ±r
90936 , &\96m->
90937 \92cod\9ag_cÚ¡¿\9ats
90938 ,
90939
90940 1424 (
90941 max_Ëngth
90942  > 
90943 »s_ok
90944 .
90945 Ëngth
90946  ? max_length -\84es_ok.length : 0)
90947
90948 1425 / 
90949 ºd_Ën
90950 );
90951
90952 1426 \1a
90953 tm´es
90954 .
90955 code
90956 ) {
90957
90958 1427 \ 4
90959 ARFILL_OK
90960 :
90961
90962 1428 
90963         `ASN_SET_ADD
90964 (
90965 li¡
90966
90967 ±r
90968 );
90969
90970 1429 
90971 »s_ok
90972 .
90973 Ëngth
90974  +ð
90975 tm´es
90976 .length;
90977
90978 1431 \ 4
90979 ARFILL_SKIPPED
90980 :
90981
90982 1433 \ 4
90983 ARFILL_FAILED
90984 :
90985
90986 1434 
90987         `as£¹
90988 (
90989 ±r
90990  == 0);
90991
90992 1435 \15 
90993 tm´es
90994 ;
90995
90996 1439 \15 
90997 »s_ok
90998 ;
90999
91000 1440 
91001         }
91002 }
91003
91004         @constr_TYPE.c
91005
91006\ 2
91007         ~<a¢_\9a\8bº®.h
91008 >
91009
91010\ 2
91011         ~<cڡr_TYPE.h
91012 >
91013
91014\ 2
91015         ~<\94ºo.h
91016 >
91017
91018 12 \12
91019         $g\91_a¢1c_\92v\9cÚm\92t_v\94siÚ
91020 (è{ \15 
91021 ASN1C_ENVIRONMENT_VERSION
91022
91023         }
91024 }
91025
91026 14 \18
91027 a¢_­p_cÚsume_by\8bs_f
91028  
91029         g_´\9at2å
91030 ;
91031
91032 19 
91033 b\94_\8ev_\8fg_t
91034
91035
91036 20 
91037         $a¢_TYPE_outmo¡_\8fg
91038 (cڡ 
91039 a¢_TYPE_desü\9dtÜ_t
91040  *
91041 ty³_desü\9d
91042 ,
91043
91044 21 cڡ \1e*
91045 ¡ruù_±r
91046\12
91047 \8fg_mode
91048
91049 b\94_\8ev_\8fg_t
91050  
91051 \8fg
91052 ) {
91053
91054 23 if(
91055 \8fg_mode
91056 )
91057
91058 24 \15 
91059 \8fg
91060 ;
91061
91062 26 if(
91063 ty³_desü\9d
91064 ->
91065 \8fgs_couÁ
91066 )
91067
91068 27 \15 
91069 ty³_desü\9d
91070 ->
91071 \8fgs
91072 [0];
91073
91074 29 \15 
91075 ty³_desü\9d
91076 ->
91077 Ý
91078 ->
91079         `outmo¡_\8fg
91080 Ñy³_desü\9dtÜ, 
91081 ¡ruù_±r
91082 , 0, 0);
91083
91084 30 
91085         }
91086 }
91087
91088 36 
91089         $a¢_år\9at
91090 (
91091 FILE
91092  *
91093 ¡»am
91094 , cڡ 
91095 a¢_TYPE_desü\9dtÜ_t
91096  *
91097 td
91098 ,
91099
91100 37 cڡ \1e*
91101 ¡ruù_±r
91102 ) {
91103
91104 38 if(!
91105 ¡»am
91106 衻am = 
91107 ¡dout
91108 ;
91109
91110 39 if(!
91111 td
91112  || !
91113 ¡ruù_±r
91114 ) {
91115
91116 40 
91117 \94ºo
91118  = 
91119 EINVAL
91120 ;
91121
91122 45 if(
91123 td
91124 ->
91125 Ý
91126 ->
91127         `´\9at_¡ruù
91128 Ñd, 
91129 ¡ruù_±r
91130 , 1, 
91131\9at2å
91132
91133 ¡»am
91134 )) {
91135
91136 50 if(
91137         `_´\9at2å
91138 ("\n", 1, 
91139 ¡»am
91140 )) {
91141
91142 54 \15 
91143         `fæush
91144 (
91145 ¡»am
91146 );
91147
91148 55 
91149         }
91150 }
91151
91152 59 
91153         $_´\9at2å
91154 (cڡ \1e*
91155 bufãr
91156
91157 size_t
91158  
91159 size
91160\1e*
91161 ­p_key
91162 ) {
91163
91164 60 
91165 FILE
91166  *
91167 ¡»am
91168  = (FILE *)
91169 ­p_key
91170 ;
91171
91172 62 if(
91173         `fwr\99e
91174 (
91175 bufãr
91176 , 1, 
91177 size
91178
91179 ¡»am
91180 ) != size)
91181
91182 66 
91183         }
91184 }
91185
91186 73 \1e
91187 ASN_DEBUG_f
91188 (cڡ \ 5*
91189 fmt
91190 , ...);
91191
91192 74 \1e
91193         $ASN_DEBUG_f
91194 (cڡ \ 5*
91195 fmt
91196 , ...) {
91197
91198 75 
91199 va_li¡
91200  
91201 ­
91202 ;
91203
91204 76 
91205         `va_¡¬t
91206 (
91207 ­
91208
91209 fmt
91210 );
91211
91212 77 
91213         `vår\9atf
91214 (
91215 ¡d\94r
91216
91217 fmt
91218
91219 ­
91220 );
91221
91222 78 
91223         `år\9atf
91224 (
91225 ¡d\94r
91226 , "\n");
91227
91228 79 
91229         `va_\92d
91230 (
91231 ­
91232 );
91233
91234 80 
91235         }
91236 }
91237
91238         @constraints.c
91239
91240\ 2
91241         ~<a¢_\9a\8bº®.h
91242 >
91243
91244\ 2
91245         ~<cÚ¡¿\9ats.h
91246 >
91247
91248
91249         $a¢_g\92\94ic_no_cÚ¡¿\9at
91250 (cڡ 
91251 a¢_TYPE_desü\9dtÜ_t
91252  *
91253 ty³_desü\9d
91254 ,
91255
91256 6 cڡ \1e*
91257 ¡ruù_±r
91258 ,
91259
91260
91261 a¢_­p_cÚ¡¿\9at_ç\9eed_f
91262  *
91263 cb
91264\1e*
91265 key
91266 ) {
91267
91268 8 (\1e)
91269 ty³_desü\9d
91270 ;
91271
91272 9 (\1e)
91273 ¡ruù_±r
91274 ;
91275
91276 10 (\1e)
91277 cb
91278 ;
91279
91280 11 (\1e)
91281 key
91282 ;
91283
91284 15 
91285         }
91286 }
91287
91288 18 
91289         $a¢_g\92\94ic_unknown_cÚ¡¿\9at
91290 (cڡ 
91291 a¢_TYPE_desü\9dtÜ_t
91292  *
91293 ty³_desü\9d
91294 ,
91295
91296 19 cڡ \1e*
91297 ¡ruù_±r
91298 ,
91299
91300 20 
91301 a¢_­p_cÚ¡¿\9at_ç\9eed_f
91302  *
91303 cb
91304\1e*
91305 key
91306 ) {
91307
91308 21 (\1e)
91309 ty³_desü\9d
91310 ;
91311
91312 22 (\1e)
91313 ¡ruù_±r
91314 ;
91315
91316 23 (\1e)
91317 cb
91318 ;
91319
91320 24 (\1e)
91321 key
91322 ;
91323
91324 28 
91325         }
91326 }
91327
91328 30 \19
91329         s\94rbufDesc
91330  {
91331
91332 31 cڡ 
91333 a¢_TYPE_desü\9dtÜ_t
91334  *
91335         mç\9eed_ty³
91336 ;
91337
91338 32 cڡ \1e*
91339         mç\9eed_¡ruù_±r
91340 ;
91341
91342 33 \ 5*
91343         m\94rbuf
91344 ;
91345
91346 34 
91347 size_t
91348  
91349         m\94¾\92
91350 ;
91351
91352 38 
91353         $_a¢_i_ùç\9ecb
91354 (\1e*
91355 key
91356 , cڡ 
91357 a¢_TYPE_desü\9dtÜ_t
91358  *
91359 td
91360 , cڡ \1e*
91361 ¥\8c
91362 ,
91363
91364 39 cڡ \ 5*
91365 fmt
91366 , ...) {
91367
91368 40 \19
91369 \94rbufDesc
91370  *
91371 ¬g
91372  = 
91373 key
91374 ;
91375
91376 41 
91377 va_li¡
91378  
91379 ­
91380 ;
91381
91382 42 
91383 ssize_t
91384  
91385 vËn
91386 ;
91387
91388 43 
91389 ssize_t
91390  
91391 maxËn
91392 ;
91393
91394 45 
91395 ¬g
91396 ->
91397 ç\9eed_ty³
91398  = 
91399 td
91400 ;
91401
91402 46 
91403 ¬g
91404 ->
91405 ç\9eed_¡ruù_±r
91406  = 
91407 ¥\8c
91408 ;
91409
91410 48 
91411 maxËn
91412  = 
91413 ¬g
91414 ->
91415 \94¾\92
91416 ;
91417
91418 49 if(
91419 maxËn
91420  <= 0)
91421
91422 52 
91423         `va_¡¬t
91424 (
91425 ­
91426
91427 fmt
91428 );
91429
91430 53 
91431 vËn
91432  = 
91433         `v¢´\9atf
91434 (
91435 ¬g
91436 ->
91437 \94rbuf
91438
91439 maxËn
91440
91441 fmt
91442
91443 ­
91444 );
91445
91446 54 
91447         `va_\92d
91448 (
91449 ­
91450 );
91451
91452 55 if(
91453 vËn
91454  >ð
91455 maxËn
91456 ) {
91457
91458 56 
91459 ¬g
91460 ->
91461 \94rbuf
91462 [
91463 maxËn
91464 -1] = '\0';
91465
91466 57 
91467 ¬g
91468 ->
91469 \94¾\92
91470  = 
91471 maxËn
91472  - 1;
91473
91474 59 } \vif(
91475 vËn
91476  >= 0) {
91477
91478 60 
91479 ¬g
91480 ->
91481 \94rbuf
91482 [
91483 vËn
91484 ] = '\0';
91485
91486 61 
91487 ¬g
91488 ->
91489 \94¾\92
91490  = 
91491 vËn
91492 ;
91493
91494 66 
91495 vËn
91496  = \17("<broken vsnprintf>") - 1;
91497
91498 67 
91499 maxËn
91500 --;
91501
91502 68 
91503 ¬g
91504 ->
91505 \94¾\92
91506  = 
91507 vËn
91508  < 
91509 maxËn
91510  ? vlen : maxlen;
91511
91512 69 
91513         `memýy
91514 (
91515 ¬g
91516 ->
91517 \94rbuf
91518 , "<brok\92 v¢´\9atf>",\87rg->
91519 \94¾\92
91520 );
91521
91522 70 
91523 ¬g
91524 ->
91525 \94rbuf
91526 [¬g->
91527 \94¾\92
91528 ] = 0;
91529
91530 74 
91531         }
91532 }
91533
91534 77 
91535         $a¢_check_cÚ¡¿\9ats
91536 (cڡ 
91537 a¢_TYPE_desü\9dtÜ_t
91538  *
91539 ty³_desü\9d
91540 ,
91541
91542 78 cڡ \1e*
91543 ¡ruù_±r
91544\ 5*
91545 \94rbuf
91546
91547 size_t
91548  *
91549 \94¾\92
91550 ) {
91551
91552 79 \19
91553 \94rbufDesc
91554  
91555 ¬g
91556 ;
91557
91558 80 \12
91559 »t
91560 ;
91561
91562 82 
91563 ¬g
91564 .
91565 ç\9eed_ty³
91566  = 0;
91567
91568 83 
91569 ¬g
91570 .
91571 ç\9eed_¡ruù_±r
91572  = 0;
91573
91574 84 
91575 ¬g
91576 .
91577 \94rbuf
91578  =\83rrbuf;
91579
91580 85 
91581 ¬g
91582 .
91583 \94¾\92
91584  =\83rrlen ? *errlen : 0;
91585
91586 87 
91587 »t
91588  = 
91589 ty³_desü\9d
91590 ->
91591 \92cod\9ag_cÚ¡¿\9ats
91592 .
91593         `g\92\94®_cÚ¡¿\9ats
91594 (
91595
91596 88 
91597 ty³_desü\9d
91598
91599 ¡ruù_±r
91600
91601 _a¢_i_ùç\9ecb
91602 , &
91603 ¬g
91604 );
91605
91606 89 if(
91607 »t
91608  =ð-1 && 
91609 \94¾\92
91610 è*\94¾\92 = 
91611 ¬g
91612 .errlen;
91613
91614 91 \15 
91615 »t
91616 ;
91617
91618 92 
91619         }
91620 }
91621
91622         @der_encoder.c
91623
91624\ 2
91625         ~<a¢_\9a\8bº®.h
91626 >
91627
91628\ 2
91629         ~<\94ºo.h
91630 >
91631
91632\18
91633 ssize_t
91634  
91635 d\94_wr\99e_TL
91636 (
91637 b\94_\8ev_\8fg_t
91638  
91639 \8fg
91640
91641 b\94_\8ev_Ën_t
91642  
91643 Ën
91644 ,
91645
91646
91647 a¢_­p_cÚsume_by\8bs_f
91648  *
91649 cb
91650\1e*
91651 ­p_key
91652\12
91653 cÚ¡ruùed
91654 );
91655
91656 14 
91657 a¢_\92c_rv®_t
91658
91659
91660 15 
91661         $d\94_\92code
91662 (cڡ 
91663 a¢_TYPE_desü\9dtÜ_t
91664  *
91665 ty³_desü\9d
91666 , cڡ \1e*
91667 ¡ruù_±r
91668 ,
91669
91670 16 
91671 a¢_­p_cÚsume_by\8bs_f
91672  *
91673 cÚsume_by\8bs
91674\1e*
91675 ­p_key
91676 ) {
91677
91678 17 
91679         `ASN_DEBUG
91680 ("DER\83ncoder invoked for %s",
91681
91682 18 
91683 ty³_desü\9d
91684 ->
91685 Çme
91686 );
91687
91688 23 \15 
91689 ty³_desü\9d
91690 ->
91691 Ý
91692 ->
91693         `d\94_\92cod\94
91694 (
91695
91696 24 
91697 ty³_desü\9d
91698
91699 ¡ruù_±r
91700 ,
91701
91702 25 0, 0, 
91703 cÚsume_by\8bs
91704
91705 ­p_key
91706 );
91707
91708 26 
91709         }
91710 }
91711
91712 31 \e\19
91713         s\92c_to_buf_¬g
91714  {
91715
91716 32 \1e*
91717         mbufãr
91718 ;
91719
91720 33 
91721 size_t
91722  
91723         mËá
91724 ;
91725
91726 34 } 
91727         t\92c_to_buf_¬g
91728 ;
91729
91730 35 \18\12
91731         $\92code_to_bufãr_cb
91732 (cڡ \1e*
91733 bufãr
91734
91735 size_t
91736  
91737 size
91738\1e*
91739 key
91740 ) {
91741
91742 36 
91743 \92c_to_buf_¬g
91744  *
91745 ¬g
91746  = (\92c_to_buf_¬g *)
91747 key
91748 ;
91749
91750 38 if(
91751 ¬g
91752 ->
91753 Ëá
91754  < 
91755 size
91756 )
91757
91758 41 
91759         `memýy
91760 (
91761 ¬g
91762 ->
91763 bufãr
91764 , bufãr, 
91765 size
91766 );
91767
91768 42 
91769 ¬g
91770 ->
91771 bufãr
91772  = ((\ 5*ïrg->bufãrè+ 
91773 size
91774 ;
91775
91776 43 
91777 ¬g
91778 ->
91779 Ëá
91780  -ð
91781 size
91782 ;
91783
91784 46 
91785         }
91786 }
91787
91788 51 
91789 a¢_\92c_rv®_t
91790
91791
91792 52 
91793         $d\94_\92code_to_bufãr
91794 (cڡ 
91795 a¢_TYPE_desü\9dtÜ_t
91796  *
91797 ty³_desü\9d
91798 ,
91799
91800 53 cڡ \1e*
91801 ¡ruù_±r
91802\1e*
91803 bufãr
91804
91805 size_t
91806  
91807 bufãr_size
91808 ) {
91809
91810 54 
91811 \92c_to_buf_¬g
91812  
91813 ¬g
91814 ;
91815
91816 55 
91817 a¢_\92c_rv®_t
91818  
91819 ec
91820 ;
91821
91822 57 
91823 ¬g
91824 .
91825 bufãr
91826  = buffer;
91827
91828 58 
91829 ¬g
91830 .
91831 Ëá
91832  = 
91833 bufãr_size
91834 ;
91835
91836 60 
91837 ec
91838  = 
91839 ty³_desü\9d
91840 ->
91841 Ý
91842 ->
91843         `d\94_\92cod\94
91844 (type_descriptor,
91845
91846 61 
91847 ¡ruù_±r
91848 ,
91849
91850 62 0, 0, 
91851 \92code_to_bufãr_cb
91852 , &
91853 ¬g
91854 );
91855
91856 63 if(
91857 ec
91858 .
91859 \92coded
91860  != -1) {
91861
91862 64 
91863         `as£¹
91864 (
91865 ec
91866 .
91867 \92coded
91868  =ð(
91869 ssize_t
91870 )(
91871 bufãr_size
91872  - 
91873 ¬g
91874 .
91875 Ëá
91876 ));
91877
91878 67 \15 
91879 ec
91880 ;
91881
91882 68 
91883         }
91884 }
91885
91886 74 
91887 ssize_t
91888
91889
91890 75 
91891         $d\94_wr\99e_\8fgs
91892 (cڡ 
91893 a¢_TYPE_desü\9dtÜ_t
91894  *
91895 sd
91896
91897 size_t
91898  
91899 ¡ruù_Ëngth
91900 ,
91901
91902 76 \12
91903 \8fg_mode
91904\12
91905 Ï¡_\8fg_fÜm
91906 ,
91907
91908 77 
91909 b\94_\8ev_\8fg_t
91910  
91911 \8fg
91912 ,
91913
91914 78 
91915 a¢_­p_cÚsume_by\8bs_f
91916  *
91917 cb
91918\1e*
91919 ­p_key
91920 ) {
91921
91922 79 \ 1
91923         #ASN1_DER_MAX_TAGS_COUNT
91924  4
91925
91926         )
91927
91928 80 
91929 b\94_\8ev_\8fg_t
91930
91931
91932 81 
91933 \8fgs_buf_sü©ch
91934 [
91935 ASN1_DER_MAX_TAGS_COUNT
91936  * \17(
91937 b\94_\8ev_\8fg_t
91938 )];
91939
91940 82 
91941 ssize_t
91942  
91943 Ëns
91944 [
91945 ASN1_DER_MAX_TAGS_COUNT
91946  * \17(ssize_t)];
91947
91948 83 cڡ 
91949 b\94_\8ev_\8fg_t
91950  *
91951 \8fgs
91952 ;
91953
91954 84 \12
91955 \8fgs_couÁ
91956 ;
91957
91958 85 
91959 size_t
91960  
91961 ov\94®l_Ëngth
91962 ;
91963
91964 86 \12
91965 i
91966 ;
91967
91968 88 
91969         `ASN_DEBUG
91970 ("Writing\81ags (%s,\81m=%d,\81c=%d,\81ag=%s, mtc=%d)",
91971
91972 89 
91973 sd
91974 ->
91975 Çme
91976
91977 \8fg_mode
91978 , sd->
91979 \8fgs_couÁ
91980 ,
91981
91982 90 
91983         `b\94_\8ev_\8fg_¡r\9ag
91984 (
91985 \8fg
91986 ),
91987
91988 91 
91989 \8fg_mode
91990
91991
91992 92 ?(
91993 sd
91994 ->
91995 \8fgs_couÁ
91996 +1
91997
91998 93 -((
91999 \8fg_mode
92000  =ð-1è&& 
92001 sd
92002 ->
92003 \8fgs_couÁ
92004 ))
92005
92006 94 :
92007 sd
92008 ->
92009 \8fgs_couÁ
92010
92011
92012 97 if(
92013 sd
92014 ->
92015 \8fgs_couÁ
92016  + 1 > 
92017 ASN1_DER_MAX_TAGS_COUNT
92018 ) {
92019
92020 98 
92021         `ASN_DEBUG
92022 ("Sy¡em\86im\99 %d oÀ\8fg couÁ", 
92023 ASN1_DER_MAX_TAGS_COUNT
92024 );
92025
92026 102 if(
92027 \8fg_mode
92028 ) {
92029
92030 108 \12
92031 ¡ag_off£t
92032 ;
92033
92034 109 
92035 b\94_\8ev_\8fg_t
92036  *
92037 \8fgs_buf
92038  = 
92039 \8fgs_buf_sü©ch
92040 ;
92041
92042 110 
92043 \8fgs_couÁ
92044  = 
92045 sd
92046 ->tags_count
92047
92048 112 - ((
92049 \8fg_mode
92050  =ð-1è&& 
92051 sd
92052 ->
92053 \8fgs_couÁ
92054 );
92055
92056 114 
92057 \8fgs_buf
92058 [0] = 
92059 \8fg
92060 ;
92061
92062 115 
92063 ¡ag_off£t
92064  = -1 + ((
92065 \8fg_mode
92066  =ð-1è&& 
92067 sd
92068 ->
92069 \8fgs_couÁ
92070 );
92071
92072 116 \ f
92073 i
92074  = 1; i < 
92075 \8fgs_couÁ
92076 ; i++)
92077
92078 117 
92079 \8fgs_buf
92080 [
92081 i
92082 ] = 
92083 sd
92084 ->
92085 \8fgs
92086 [\98
92087 ¡ag_off£t
92088 ];
92089
92090 118 
92091 \8fgs
92092  = 
92093 \8fgs_buf
92094 ;
92095
92096 120 
92097 \8fgs
92098  = 
92099 sd
92100 ->tags;
92101
92102 121 
92103 \8fgs_couÁ
92104  = 
92105 sd
92106 ->tags_count;
92107
92108 125 if(
92109 \8fgs_couÁ
92110  == 0)
92111
92112 132 
92113 ov\94®l_Ëngth
92114  = 
92115 ¡ruù_Ëngth
92116 ;
92117
92118 133 \ f
92119 i
92120  = 
92121 \8fgs_couÁ
92122  - 1; i >= 0; --i) {
92123
92124 134 
92125 Ëns
92126 [
92127 i
92128 ] = 
92129         `d\94_wr\99e_TL
92130 (
92131 \8fgs
92132 [i], 
92133 ov\94®l_Ëngth
92134 , 0, 0, 0);
92135
92136 135 if(
92137 Ëns
92138 [
92139 i
92140 ] == -1) \15 -1;
92141
92142 136 
92143 ov\94®l_Ëngth
92144  +ð
92145 Ëns
92146 [
92147 i
92148 ];
92149
92150 137 
92151 Ëns
92152 [
92153 i
92154 ] = 
92155 ov\94®l_Ëngth
92156  -\86ens[i];
92157
92158 140 if(!
92159 cb
92160 è\15 
92161 ov\94®l_Ëngth
92162  - 
92163 ¡ruù_Ëngth
92164 ;
92165
92166 142 
92167         `ASN_DEBUG
92168 ("Encod\9ag % TL sequ\92û (%d\83Ëm\92ts)", 
92169 sd
92170 ->
92171 Çme
92172 ,
92173
92174 143 
92175 \8fgs_couÁ
92176 );
92177
92178 148 \ f
92179 i
92180  = 0; i < 
92181 \8fgs_couÁ
92182 ; i++) {
92183
92184 149 
92185 ssize_t
92186  
92187 Ën
92188 ;
92189
92190 150 \12
92191 _cڡr
92192 ;
92193
92194 153 
92195 _cڡr
92196  = (
92197 Ï¡_\8fg_fÜm
92198  || 
92199 i
92200  < (
92201 \8fgs_couÁ
92202  - 1));
92203
92204 155 
92205 Ën
92206  = 
92207         `d\94_wr\99e_TL
92208 (
92209 \8fgs
92210 [
92211 i
92212 ], 
92213 Ëns
92214 [i], 
92215 cb
92216
92217 ­p_key
92218
92219 _cڡr
92220 );
92221
92222 156 if(
92223 Ën
92224  == -1) \15 -1;
92225
92226 159 \15 
92227 ov\94®l_Ëngth
92228  - 
92229 ¡ruù_Ëngth
92230 ;
92231
92232 160 
92233         }
92234 }
92235
92236 162 \18
92237 ssize_t
92238
92239
92240 163 
92241         $d\94_wr\99e_TL
92242 (
92243 b\94_\8ev_\8fg_t
92244  
92245 \8fg
92246
92247 b\94_\8ev_Ën_t
92248  
92249 Ën
92250 ,
92251
92252 164 
92253 a¢_­p_cÚsume_by\8bs_f
92254  *
92255 cb
92256\1e*
92257 ­p_key
92258 ,
92259
92260 165 \12
92261 cÚ¡ruùed
92262 ) {
92263
92264 166 
92265 u\9at8_t
92266  
92267 buf
92268 [32];
92269
92270 167 
92271 size_t
92272  
92273 size
92274  = 0;
92275
92276 168 \12
92277 buf_size
92278  = 
92279 cb
92280 ?\17(
92281 buf
92282 ):0;
92283
92284 169 
92285 ssize_t
92286  
92287 tmp
92288 ;
92289
92290 172 
92291 tmp
92292  = 
92293         `b\94_\8ev_\8fg_£r\9flize
92294 (
92295 \8fg
92296
92297 buf
92298
92299 buf_size
92300 );
92301
92302 173 if(
92303 tmp
92304  =ð-1 ||\81m°> (
92305 ssize_t
92306 )\17(
92307 buf
92308 )) \15 -1;
92309
92310 174 
92311 size
92312  +ð
92313 tmp
92314 ;
92315
92316 177 
92317 tmp
92318  = 
92319         `d\94_\8ev_Ëngth_£r\9flize
92320 (
92321 Ën
92322
92323 buf
92324 +
92325 size
92326
92327 buf_size
92328 ?buf_size-size:0);
92329
92330 178 if(
92331 tmp
92332  == -1) \15 -1;
92333
92334 179 
92335 size
92336  +ð
92337 tmp
92338 ;
92339
92340 181 if(
92341 size
92342  > \17(
92343 buf
92344 ))
92345
92346 187 if(
92347 cb
92348 ) {
92349
92350 188 if(
92351 cÚ¡ruùed
92352 è*
92353 buf
92354  |= 0x20;
92355
92356 189 if(
92357         `cb
92358 (
92359 buf
92360
92361 size
92362
92363 ­p_key
92364 ) < 0)
92365
92366 193 \15 
92367 size
92368 ;
92369
92370 194 
92371         }
92372 }
92373
92374         @oer_decoder.c
92375
92376\ 2
92377         ~<a¢_\9a\8bº®.h
92378 >
92379
92380\ 2
92381         ~<a¢_codecs_´im.h
92382 >
92383
92384 11 
92385 a¢_dec_rv®_t
92386
92387
92388 12 
92389         $Ûr_decode
92390 (cڡ 
92391 a¢_codec_ùx_t
92392  *
92393 Ýt_codec_ùx
92394 ,
92395
92396 13 cڡ 
92397 a¢_TYPE_desü\9dtÜ_t
92398  *
92399 ty³_desü\9d
92400\1e**
92401 ¡ruù_±r
92402 ,
92403
92404 14 cڡ \1e*
92405 ±r
92406
92407 size_t
92408  
92409 size
92410 ) {
92411
92412 15 
92413 a¢_codec_ùx_t
92414  
92415 s_codec_ùx
92416 ;
92417
92418 21 if(
92419 Ýt_codec_ùx
92420 ) {
92421
92422 22 if(
92423 Ýt_codec_ùx
92424 ->
92425 max_¡ack_size
92426 ) {
92427
92428 23 
92429 s_codec_ùx
92430  = *
92431 Ýt_codec_ùx
92432 ;
92433
92434 24 
92435 Ýt_codec_ùx
92436  = &
92437 s_codec_ùx
92438 ;
92439
92440 28 
92441         `mem£t
92442 (&
92443 s_codec_ùx
92444 , 0, \17(s_codec_ctx));
92445
92446 29 
92447 s_codec_ùx
92448 .
92449 max_¡ack_size
92450  = 
92451 ASN__DEFAULT_STACK_MAX
92452 ;
92453
92454 30 
92455 Ýt_codec_ùx
92456  = &
92457 s_codec_ùx
92458 ;
92459
92460 36 \15 
92461 ty³_desü\9d
92462 ->
92463 Ý
92464 ->
92465         `Ûr_decod\94
92466 (
92467 Ýt_codec_ùx
92468 ,\81ype_descriptor, 0,
92469
92470 37 
92471 ¡ruù_±r
92472 ,
92473
92474 38 
92475 ±r
92476
92477 size
92478
92479
92480 40 
92481         }
92482 }
92483
92484 46 
92485 ssize_t
92486
92487
92488 47 
92489         $Ûr_Ý\92_ty³_sk\9d
92490 (cڡ \1e*
92491 buå\8c
92492
92493 size_t
92494  
92495 size
92496 ) {
92497
92498 48 
92499 size_t
92500  
92501 Ën
92502  = 0;
92503
92504 49 \15 
92505         `Ûr_ãtch_Ëngth
92506 (
92507 buå\8c
92508
92509 size
92510 , &
92511 Ën
92512 );
92513
92514 50 
92515         }
92516 }
92517
92518 59 
92519 ssize_t
92520
92521
92522 60 
92523         $Ûr_Ý\92_ty³_g\91
92524 (cڡ 
92525 a¢_codec_ùx_t
92526  *
92527 Ýt_codec_ùx
92528 ,
92529
92530 61 cڡ \19
92531 a¢_TYPE_desü\9dtÜ_s
92532  *
92533 td
92534 ,
92535
92536 62 cڡ 
92537 a¢_Ûr_cÚ¡¿\9ats_t
92538  *
92539 cÚ¡¿\9ats
92540\1e**
92541 ¡ruù_±r
92542 ,
92543
92544 63 cڡ \1e*
92545 buå\8c
92546
92547 size_t
92548  
92549 size
92550 ) {
92551
92552 64 
92553 a¢_dec_rv®_t
92554  
92555 dr
92556 ;
92557
92558 65 
92559 size_t
92560  
92561\8f\9a\94_Ën
92562  = 0;
92563
92564 66 
92565 ssize_t
92566  
92567 Ën_Ën
92568 ;
92569
92570 67 \f
92571 a¢_¡ruù_ä\93_m\91hod
92572  
92573 di¥o£_m\91hod
92574  =
92575
92576 68 (*
92577 ¡ruù_±r
92578 è? 
92579 ASFM_FREE_UNDERLYING_AND_RESET
92580  : 
92581 ASFM_FREE_EVERYTHING
92582 ;
92583
92584 71 
92585 Ën_Ën
92586  = 
92587         `Ûr_ãtch_Ëngth
92588 (
92589 buå\8c
92590
92591 size
92592 , &
92593\8f\9a\94_Ën
92594 );
92595
92596 72 if(
92597 Ën_Ën
92598  <= 0) {
92599
92600 73 \15 
92601 Ën_Ën
92602 ;
92603
92604 80 if(
92605 size
92606  - 
92607 Ën_Ën
92608  < 
92609\8f\9a\94_Ën
92610 ) {
92611
92612 85 
92613 dr
92614  = 
92615 td
92616 ->
92617 Ý
92618 ->
92619         `Ûr_decod\94
92620 (
92621 Ýt_codec_ùx
92622 ,\81d, 
92623 cÚ¡¿\9ats
92624
92625 ¡ruù_±r
92626 ,
92627
92628 86 (cڡ 
92629 u\9at8_t
92630  *)
92631 buå\8c
92632  + 
92633 Ën_Ën
92634
92635\8f\9a\94_Ën
92636 );
92637
92638 87 if(
92639 dr
92640 .
92641 code
92642  =ð
92643 RC_OK
92644 ) {
92645
92646 88 \15 
92647 Ën_Ën
92648  + 
92649\8f\9a\94_Ën
92650 ;
92651
92652 91 
92653 td
92654 ->
92655 Ý
92656 ->
92657         `ä\93_¡ruù
92658 Ñd, *
92659 ¡ruù_±r
92660
92661 di¥o£_m\91hod
92662 );
92663
92664 92 *
92665 ¡ruù_±r
92666  = 
92667 NULL
92668 ;
92669
92670 95 
92671         }
92672 }
92673
92674 98 
92675 a¢_dec_rv®_t
92676
92677
92678 99 
92679         $Ûr_decode_´im\99ive
92680 (cڡ 
92681 a¢_codec_ùx_t
92682  *
92683 Ýt_codec_ùx
92684 ,
92685
92686 100 cڡ 
92687 a¢_TYPE_desü\9dtÜ_t
92688  *
92689 td
92690 ,
92691
92692 101 cڡ 
92693 a¢_Ûr_cÚ¡¿\9ats_t
92694  *
92695 cÚ¡¿\9ats
92696\1e**
92697 ¥\8c
92698 ,
92699
92700 102 cڡ \1e*
92701 ±r
92702
92703 size_t
92704  
92705 size
92706 ) {
92707
92708 103 
92709 ASN__PRIMITIVE_TYPE_t
92710  *
92711 ¡
92712  = (ASN__PRIMITIVE_TYPE_\88*)*
92713 ¥\8c
92714 ;
92715
92716 104 
92717 a¢_dec_rv®_t
92718  
92719 rv®
92720  = {
92721 RC_OK
92722 , 0};
92723
92724 105 
92725 size_t
92726  
92727 ex³ùed_Ëngth
92728  = 0;
92729
92730 106 
92731 ssize_t
92732  
92733 Ën_Ën
92734 ;
92735
92736 108 (\1e)
92737 td
92738 ;
92739
92740 109 (\1e)
92741 Ýt_codec_ùx
92742 ;
92743
92744 110 (\1e)
92745 cÚ¡¿\9ats
92746 ;
92747
92748 112 if(!
92749 ¡
92750 ) {
92751
92752 113 
92753 ¡
92754  = (
92755 ASN__PRIMITIVE_TYPE_t
92756  *)(*
92757 ¥\8c
92758  = 
92759         `CALLOC
92760 (
92761
92762 114 1, \17(
92763 ASN__PRIMITIVE_TYPE_t
92764 )));
92765
92766 115 if(!
92767 ¡
92768 è
92769 ASN__DECODE_FAILED
92770 ;
92771
92772 124 
92773 Ën_Ën
92774  = 
92775         `Ûr_ãtch_Ëngth
92776 (
92777 ±r
92778
92779 size
92780 , &
92781 ex³ùed_Ëngth
92782 );
92783
92784 125 if(
92785 Ën_Ën
92786  > 0) {
92787
92788 126 
92789 rv®
92790 .
92791 cÚsumed
92792  = 
92793 Ën_Ën
92794 ;
92795
92796 127 
92797 ±r
92798  = (cÚ¡ \ 5\8c + 
92799 Ën_Ën
92800 ;
92801
92802 128 
92803 size
92804  -ð
92805 Ën_Ën
92806 ;
92807
92808 129 } \vif(
92809 Ën_Ën
92810  == 0) {
92811
92812 130 
92813 ASN__DECODE_STARVED
92814 ;
92815
92816 131 } \vif(
92817 Ën_Ën
92818  < 0) {
92819
92820 132 
92821 ASN__DECODE_FAILED
92822 ;
92823
92824 135 if(
92825 size
92826  < 
92827 ex³ùed_Ëngth
92828 ) {
92829
92830 136 
92831 ASN__DECODE_STARVED
92832 ;
92833
92834 138 
92835 u\9at8_t
92836  *
92837 buf
92838  = 
92839         `MALLOC
92840 (
92841 ex³ùed_Ëngth
92842  + 1);
92843
92844 139 if(
92845 buf
92846  =ð
92847 NULL
92848 ) {
92849
92850 140 
92851 ASN__DECODE_FAILED
92852 ;
92853
92854 142 
92855         `memýy
92856 (
92857 buf
92858
92859 ±r
92860
92861 ex³ùed_Ëngth
92862 );
92863
92864 143 
92865 buf
92866 [
92867 ex³ùed_Ëngth
92868 ] = '\0';
92869
92870 145 
92871         `FREEMEM
92872 (
92873 ¡
92874 ->
92875 buf
92876 );
92877
92878 146 
92879 ¡
92880 ->
92881 buf
92882  = buf;
92883
92884 147 
92885 ¡
92886 ->
92887 size
92888  = 
92889 ex³ùed_Ëngth
92890 ;
92891
92892 149 
92893 rv®
92894 .
92895 cÚsumed
92896  +ð
92897 ex³ùed_Ëngth
92898 ;
92899
92900 150 \15 
92901 rv®
92902 ;
92903
92904 152 
92905         }
92906 }
92907
92908         @oer_encoder.c
92909
92910\ 2
92911         ~<a¢_\9a\8bº®.h
92912 >
92913
92914\ 2
92915         ~<a¢_codecs_´im.h
92916 >
92917
92918 11 
92919 a¢_\92c_rv®_t
92920
92921
92922 12 
92923         $Ûr_\92code
92924 (cڡ 
92925 a¢_TYPE_desü\9dtÜ_t
92926  *
92927 ty³_desü\9d
92928 , cڡ \1e*
92929 ¡ruù_±r
92930 ,
92931
92932 13 
92933 a¢_­p_cÚsume_by\8bs_f
92934  *
92935 cÚsume_by\8bs
92936\1e*
92937 ­p_key
92938 ) {
92939
92940 14 
92941         `ASN_DEBUG
92942 ("OER\83ncod\94 invoked fÜ %s", 
92943 ty³_desü\9d
92944 ->
92945 Çme
92946 );
92947
92948 19 \15 
92949 ty³_desü\9d
92950 ->
92951 Ý
92952 ->
92953         `Ûr_\92cod\94
92954 (
92955
92956 20 
92957 ty³_desü\9d
92958 , 0,
92959
92960 21 
92961 ¡ruù_±r
92962 ,
92963
92964 22 
92965 cÚsume_by\8bs
92966
92967 ­p_key
92968 );
92969
92970 23 
92971         }
92972 }
92973
92974 28 \e\19
92975         s\92c_to_buf_¬g
92976  {
92977
92978 29 \1e*
92979         mbufãr
92980 ;
92981
92982 30 
92983 size_t
92984  
92985         mËá
92986 ;
92987
92988 31 } 
92989         t\92c_to_buf_¬g
92990 ;
92991
92992 33 
92993         $\92code_to_bufãr_cb
92994 (cڡ \1e*
92995 bufãr
92996
92997 size_t
92998  
92999 size
93000\1e*
93001 key
93002 ) {
93003
93004 34 
93005 \92c_to_buf_¬g
93006  *
93007 ¬g
93008  = (\92c_to_buf_¬g *)
93009 key
93010 ;
93011
93012 36 if(
93013 ¬g
93014 ->
93015 Ëá
93016  < 
93017 size
93018\15 -1;
93019
93020 38 
93021         `memýy
93022 (
93023 ¬g
93024 ->
93025 bufãr
93026 , bufãr, 
93027 size
93028 );
93029
93030 39 
93031 ¬g
93032 ->
93033 bufãr
93034  = ((\ 5*ïrg->bufãrè+ 
93035 size
93036 ;
93037
93038 40 
93039 ¬g
93040 ->
93041 Ëá
93042  -ð
93043 size
93044 ;
93045
93046 43 
93047         }
93048 }
93049
93050 48 
93051 a¢_\92c_rv®_t
93052
93053
93054 49 
93055         $Ûr_\92code_to_bufãr
93056 (cڡ 
93057 a¢_TYPE_desü\9dtÜ_t
93058  *
93059 ty³_desü\9d
93060 ,
93061
93062 50 cڡ 
93063 a¢_Ûr_cÚ¡¿\9ats_t
93064  *
93065 cÚ¡¿\9ats
93066 ,
93067
93068 51 cڡ \1e*
93069 ¡ruù_±r
93070 ,
93071
93072 52 \1e*
93073 bufãr
93074 ,
93075
93076 53 
93077 size_t
93078  
93079 bufãr_size
93080
93081
93082 55 
93083 \92c_to_buf_¬g
93084  
93085 ¬g
93086 ;
93087
93088 56 
93089 a¢_\92c_rv®_t
93090  
93091 ec
93092 ;
93093
93094 58 
93095 ¬g
93096 .
93097 bufãr
93098  = buffer;
93099
93100 59 
93101 ¬g
93102 .
93103 Ëá
93104  = 
93105 bufãr_size
93106 ;
93107
93108 61 if(
93109 ty³_desü\9d
93110 ->
93111 Ý
93112 ->
93113 Ûr_\92cod\94
93114  =ð
93115 NULL
93116 ) {
93117
93118 62 
93119 ec
93120 .
93121 \92coded
93122  = -1;
93123
93124 63 
93125 ec
93126 .
93127 ç\9eed_ty³
93128  = 
93129 ty³_desü\9d
93130 ;
93131
93132 64 
93133 ec
93134 .
93135 ¡ruùu»_±r
93136  = 
93137 ¡ruù_±r
93138 ;
93139
93140 65 
93141         `ASN_DEBUG
93142 ("OER\83ncoder is\82ot defined for %s",
93143
93144 66 
93145 ty³_desü\9d
93146 ->
93147 Çme
93148 );
93149
93150 68 
93151 ec
93152  = 
93153 ty³_desü\9d
93154 ->
93155 Ý
93156 ->
93157         `Ûr_\92cod\94
93158 (
93159
93160 69 
93161 ty³_desü\9d
93162
93163 cÚ¡¿\9ats
93164 ,
93165
93166 70 
93167 ¡ruù_±r
93168 ,
93169
93170 71 
93171 \92code_to_bufãr_cb
93172 , &
93173 ¬g
93174 );
93175
93176 72 if(
93177 ec
93178 .
93179 \92coded
93180  != -1) {
93181
93182 73 
93183         `as£¹
93184 (
93185 ec
93186 .
93187 \92coded
93188  =ð(
93189 ssize_t
93190 )(
93191 bufãr_size
93192  - 
93193 ¬g
93194 .
93195 Ëá
93196 ));
93197
93198 77 \15 
93199 ec
93200 ;
93201
93202 78 
93203         }
93204 }
93205
93206 80 
93207 a¢_\92c_rv®_t
93208
93209
93210 81 
93211         $Ûr_\92code_´im\99ive
93212 (cڡ 
93213 a¢_TYPE_desü\9dtÜ_t
93214  *
93215 td
93216 ,
93217
93218 82 cڡ 
93219 a¢_Ûr_cÚ¡¿\9ats_t
93220  *
93221 cÚ¡¿\9ats
93222 , cڡ \1e*
93223 ¥\8c
93224 ,
93225
93226 83 
93227 a¢_­p_cÚsume_by\8bs_f
93228  *
93229 cb
93230\1e*
93231 ­p_key
93232 ) {
93233
93234 84 cڡ 
93235 ASN__PRIMITIVE_TYPE_t
93236  *
93237 ¡
93238  = (cÚ¡ ASN__PRIMITIVE_TYPE_\88*)
93239 ¥\8c
93240 ;
93241
93242 85 
93243 a¢_\92c_rv®_t
93244  
93245 \94
93246  = {0, 0, 0};
93247
93248 86 
93249 ssize_t
93250  
93251 »t
93252 ;
93253
93254 88 (\1e)
93255 cÚ¡¿\9ats
93256 ;
93257
93258 90 if(!
93259 ¡
93260 è
93261 ASN__ENCODE_FAILED
93262 ;
93263
93264 92 
93265         `ASN_DEBUG
93266 ("Encod\9ag % (%" 
93267 ASN_PRI_SIZE
93268  " by\8bs)", 
93269 td
93270  ?\81d->
93271 Çme
93272  : "", 
93273 ¡
93274 ->
93275 size
93276 );
93277
93278 97 
93279 »t
93280  = 
93281         `Ûr_£r\9flize_Ëngth
93282 (
93283 ¡
93284 ->
93285 size
93286
93287 cb
93288
93289 ­p_key
93290 );
93291
93292 98 if(
93293 »t
93294  < 0) {
93295
93296 99 
93297 ASN__ENCODE_FAILED
93298 ;
93299
93300 101 
93301 \94
93302 .
93303 \92coded
93304  +ð
93305 »t
93306 ;
93307
93308 103 
93309 \94
93310 .
93311 \92coded
93312  +ð
93313 ¡
93314 ->
93315 size
93316 ;
93317
93318 104 if(
93319         `cb
93320 (
93321 ¡
93322 ->
93323 buf
93324 , st->
93325 size
93326
93327 ­p_key
93328 ) < 0) {
93329
93330 105 
93331 ASN__ENCODE_FAILED
93332 ;
93333
93334 107 
93335         `ASN__ENCODED_OK
93336 (
93337 \94
93338 );
93339
93340 109 
93341         }
93342 }
93343
93344 112 
93345         $Ûr__couÁ_by\8bs
93346 (cڡ \1e*
93347 bufãr
93348
93349 size_t
93350  
93351 size
93352\1e*
93353 by\8bs_±r
93354 ) {
93355
93356 113 
93357 size_t
93358  *
93359 by\8bs
93360  = 
93361 by\8bs_±r
93362 ;
93363
93364 114 (\1e)
93365 bufãr
93366 ;
93367
93368 115 *
93369 by\8bs
93370  +ð
93371 size
93372 ;
93373
93374 117 
93375         }
93376 }
93377
93378 119 
93379 ssize_t
93380
93381
93382 120 
93383         $Ûr_Ý\92_ty³_put
93384 (cڡ 
93385 a¢_TYPE_desü\9dtÜ_t
93386  *
93387 td
93388 ,
93389
93390 121 cڡ 
93391 a¢_Ûr_cÚ¡¿\9ats_t
93392  *
93393 cÚ¡¿\9ats
93394 , cڡ \1e*
93395 ¥\8c
93396 ,
93397
93398 122 
93399 a¢_­p_cÚsume_by\8bs_f
93400  *
93401 cb
93402\1e*
93403 ­p_key
93404 ) {
93405
93406 123 
93407 size_t
93408  
93409 £r\9flized_by\8b_couÁ
93410  = 0;
93411
93412 124 
93413 a¢_\92c_rv®_t
93414  
93415 \94
93416  = {0,0,0};
93417
93418 125 
93419 ssize_t
93420  
93421 Ën_Ën
93422 ;
93423
93424 127 
93425 \94
93426  = 
93427 td
93428 ->
93429 Ý
93430 ->
93431         `Ûr_\92cod\94
93432 Ñd, 
93433 cÚ¡¿\9ats
93434
93435 ¥\8c
93436
93437 Ûr__couÁ_by\8bs
93438 ,
93439
93440 128 &
93441 £r\9flized_by\8b_couÁ
93442 );
93443
93444 129 if(
93445 \94
93446 .
93447 \92coded
93448  < 0) \15 -1;
93449
93450 130 
93451         `as£¹
93452 (
93453 £r\9flized_by\8b_couÁ
93454  =ð(
93455 size_t
93456 )
93457 \94
93458 .
93459 \92coded
93460 );
93461
93462 132 
93463 Ën_Ën
93464  = 
93465         `Ûr_£r\9flize_Ëngth
93466 (
93467 £r\9flized_by\8b_couÁ
93468
93469 cb
93470
93471 ­p_key
93472 );
93473
93474 133 if(
93475 Ën_Ën
93476  == -1) \15 -1;
93477
93478 135 
93479 \94
93480  = 
93481 td
93482 ->
93483 Ý
93484 ->
93485         `Ûr_\92cod\94
93486 Ñd, 
93487 cÚ¡¿\9ats
93488
93489 ¥\8c
93490
93491 cb
93492
93493 ­p_key
93494 );
93495
93496 136 if(
93497 \94
93498 .
93499 \92coded
93500  < 0) \15 -1;
93501
93502 137 
93503         `as£¹
93504 (
93505 £r\9flized_by\8b_couÁ
93506  =ð(
93507 size_t
93508 )
93509 \94
93510 .
93511 \92coded
93512 );
93513
93514 139 \15 
93515 Ën_Ën
93516  + 
93517 \94
93518 .
93519 \92coded
93520 ;
93521
93522 140 
93523         }
93524 }
93525
93526         @oer_support.c
93527
93528\ 2
93529         ~<a¢_sy¡em.h
93530 >
93531
93532\ 2
93533         ~<a¢_\9a\8bº®.h
93534 >
93535
93536\ 2
93537         ~<Ûr_suµÜt.h
93538 >
93539
93540 18 
93541 ssize_t
93542
93543
93544 19 
93545         $Ûr_ãtch_Ëngth
93546 (cڡ \1e*
93547 buå\8c
93548
93549 size_t
93550  
93551 size
93552 , size_\88*
93553 Ën_r
93554 ) {
93555
93556 20 
93557 u\9at8_t
93558  
93559 f\9c¡_by\8b
93560 ;
93561
93562 21 
93563 size_t
93564  
93565 Ën_Ën
93566 ;
93567
93568 22 cڡ 
93569 u\9at8_t
93570  *
93571 b
93572 ;
93573
93574 23 cڡ 
93575 u\9at8_t
93576  *
93577 b\92d
93578 ;
93579
93580 24 
93581 size_t
93582  
93583 Ën
93584 ;
93585
93586 26 if(
93587 size
93588  == 0) {
93589
93590 27 *
93591 Ën_r
93592  = 0;
93593
93594 31 
93595 f\9c¡_by\8b
93596  = *(cڡ 
93597 u\9at8_t
93598  *)
93599 buå\8c
93600 ;
93601
93602 32 if((
93603 f\9c¡_by\8b
93604  & 0x80) == 0) {
93605
93606 33 *
93607 Ën_r
93608  = 
93609 f\9c¡_by\8b
93610 ;
93611
93612 37 
93613 Ën_Ën
93614  = (
93615 f\9c¡_by\8b
93616  & 0x7f);
93617
93618 38 if((1 + 
93619 Ën_Ën
93620 è> 
93621 size
93622 ) {
93623
93624 39 *
93625 Ën_r
93626  = 0;
93627
93628 43 
93629 b
93630  = (cڡ 
93631 u\9at8_t
93632  *)
93633 buå\8c
93634  + 1;
93635
93636 44 
93637 b\92d
93638  = 
93639 b
93640  + 
93641 Ën_Ën
93642 ;
93643
93644 46 \ f
93645 b
93646  < 
93647 b\92d
93648  && *b == 0; b++) {
93649
93650 50 if((
93651 b\92d
93652  - 
93653 b
93654 è> (
93655 ssize_t
93656 )\17(
93657 size_t
93658 )) {
93659
93660 52 *
93661 Ën_r
93662  = 0;
93663
93664 56 \ f
93665 Ën
93666  = 0; 
93667 b
93668  < 
93669 b\92d
93670 ; b++) {
93671
93672 57 
93673 Ën
93674  = (ËÀ<< 8è+ *
93675 b
93676 ;
93677
93678 60 if(
93679 Ën
93680  > 
93681 RSIZE_MAX
93682 ) {
93683
93684 61 *
93685 Ën_r
93686  = 0;
93687
93688 65 *
93689 Ën_r
93690  = 
93691 Ën
93692 ;
93693
93694 66 
93695         `as£¹
93696 (
93697 Ën_Ën
93698  + 1 =ð(
93699 size_t
93700 )(
93701 b\92d
93702  - (cڡ 
93703 u\9at8_t
93704  *)
93705 buå\8c
93706 ));
93707
93708 67 \15 
93709 Ën_Ën
93710  + 1;
93711
93712 68 
93713         }
93714 }
93715
93716 75 
93717 ssize_t
93718
93719
93720 76 
93721         $Ûr_£r\9flize_Ëngth
93722 (
93723 size_t
93724  
93725 Ëngth
93726
93727 a¢_­p_cÚsume_by\8bs_f
93728  *
93729 cb
93730 ,
93731
93732 77 \1e*
93733 ­p_key
93734 ) {
93735
93736 78 
93737 u\9at8_t
93738  
93739 sü©ch
93740 [1 + \17(
93741 Ëngth
93742 )];
93743
93744 79 
93745 u\9at8_t
93746  *
93747 ¥
93748  = 
93749 sü©ch
93750 ;
93751
93752 80 \12
93753 l\99\8eeEnd\9fn
93754  = 1;
93755
93756 81 cڡ 
93757 u\9at8_t
93758  *
93759 p¡¬t
93760 ;
93761
93762 82 cڡ 
93763 u\9at8_t
93764  *
93765 ³nd
93766 ;
93767
93768 83 cڡ 
93769 u\9at8_t
93770  *
93771 p
93772 ;
93773
93774 84 \12
93775 add
93776 ;
93777
93778 86 if(
93779 Ëngth
93780  <= 127) {
93781
93782 87 
93783 u\9at8_t
93784  
93785 b
93786  = 
93787 Ëngth
93788 ;
93789
93790 88 if(
93791         `cb
93792 (&
93793 b
93794 , 1, 
93795 ­p_key
93796 ) < 0) {
93797
93798 94 if(*(\ 5*)&
93799 l\99\8eeEnd\9fn
93800 ) {
93801
93802 95 
93803 p¡¬t
93804  = (cڡ 
93805 u\9at8_t
93806  *)&
93807 Ëngth
93808  + \17(length) - 1;
93809
93810 96 
93811 ³nd
93812  = (cڡ 
93813 u\9at8_t
93814  *)&
93815 Ëngth
93816 ;
93817
93818 97 
93819 add
93820  = -1;
93821
93822 99 
93823 p¡¬t
93824  = (cڡ 
93825 u\9at8_t
93826  *)&
93827 Ëngth
93828 ;
93829
93830 100 
93831 ³nd
93832  = 
93833 p¡¬t
93834  + \17(
93835 Ëngth
93836 );
93837
93838 101 
93839 add
93840  = 1;
93841
93842 104 \ f
93843 p
93844  = 
93845 p¡¬t
93846 ;\85 !ð
93847 ³nd
93848 ;\85 +ð
93849 add
93850 ) {
93851
93852 106 if(*
93853 p
93854\ 3;
93855
93856 109 \ f
93857 ¥
93858  = 
93859 sü©ch
93860  + 1; ; 
93861 p
93862  +ð
93863 add
93864 ) {
93865
93866 110 *
93867 ¥
93868 ++ = *
93869 p
93870 ;
93871
93872 111 if(
93873 p
93874  =ð
93875 ³nd
93876\ 3;
93877
93878 113 
93879         `as£¹
93880 ((
93881 ¥
93882  - 
93883 sü©ch
93884 ) - 1 <= 0x7f);
93885
93886 114 
93887 sü©ch
93888 [0] = 0x80 + ((
93889 ¥
93890  - scratch) - 1);
93891
93892 116 if(
93893         `cb
93894 (
93895 sü©ch
93896
93897 ¥
93898  - sü©ch, 
93899 ­p_key
93900 ) < 0) {
93901
93902 120 \15 
93903 ¥
93904  - 
93905 sü©ch
93906 ;
93907
93908 121 
93909         }
93910 }
93911
93912         @per_decoder.c
93913
93914\ 2
93915         ~<a¢_­¶iÿtiÚ.h
93916 >
93917
93918\ 2
93919         ~<a¢_\9a\8bº®.h
93920 >
93921
93922\ 2
93923         ~<³r_decod\94.h
93924 >
93925
93926 10 
93927 a¢_dec_rv®_t
93928
93929
93930 11 
93931         $u³r_decode_com¶\91e
93932 (cڡ 
93933 a¢_codec_ùx_t
93934  *
93935 Ýt_codec_ùx
93936 ,
93937
93938 12 cڡ 
93939 a¢_TYPE_desü\9dtÜ_t
93940  *
93941 td
93942\1e**
93943 ¥\8c
93944 ,
93945
93946 13 cڡ \1e*
93947 bufãr
93948
93949 size_t
93950  
93951 size
93952 ) {
93953
93954 14 
93955 a¢_dec_rv®_t
93956  
93957 rv®
93958 ;
93959
93960 16 
93961 rv®
93962  = 
93963         `u³r_decode
93964 (
93965 Ýt_codec_ùx
93966
93967 td
93968
93969 ¥\8c
93970
93971 bufãr
93972
93973 size
93974 , 0, 0);
93975
93976 17 if(
93977 rv®
93978 .
93979 cÚsumed
93980 ) {
93981
93982 22 
93983 rv®
93984 .
93985 cÚsumed
93986  += 7;
93987
93988 23 
93989 rv®
93990 .
93991 cÚsumed
93992  >>= 3;
93993
93994 24 } \vif(
93995 rv®
93996 .
93997 code
93998  =ð
93999 RC_OK
94000 ) {
94001
94002 25 if(
94003 size
94004 ) {
94005
94006 26 if(((cڡ 
94007 u\9at8_t
94008  *)
94009 bufãr
94010 )[0] == 0) {
94011
94012 27 
94013 rv®
94014 .
94015 cÚsumed
94016  = 1;
94017
94018 29 
94019         `ASN_DEBUG
94020 ("Expecting single zeroed byte");
94021
94022 30 
94023 rv®
94024 .
94025 code
94026  = 
94027 RC_FAIL
94028 ;
94029
94030 34 
94031 rv®
94032 .
94033 code
94034  = 
94035 RC_WMORE
94036 ;
94037
94038 38 \15 
94039 rv®
94040 ;
94041
94042 39 
94043         }
94044 }
94045
94046 41 
94047 a¢_dec_rv®_t
94048
94049
94050 42 
94051         $u³r_decode
94052 (cڡ 
94053 a¢_codec_ùx_t
94054  *
94055 Ýt_codec_ùx
94056 ,
94057
94058 43 cڡ 
94059 a¢_TYPE_desü\9dtÜ_t
94060  *
94061 td
94062\1e**
94063 ¥\8c
94064 , cڡ \1e*
94065 bufãr
94066 ,
94067
94068 44 
94069 size_t
94070  
94071 size
94072\12
94073 sk\9d_b\99s
94074\12
94075 unu£d_b\99s
94076 ) {
94077
94078 45 
94079 a¢_codec_ùx_t
94080  
94081 s_codec_ùx
94082 ;
94083
94084 46 
94085 a¢_dec_rv®_t
94086  
94087 rv®
94088 ;
94089
94090 47 
94091 a¢_³r_d©a_t
94092  
94093 pd
94094 ;
94095
94096 49 if(
94097 sk\9d_b\99s
94098  < 0 || skip_bits > 7
94099
94100 50 || 
94101 unu£d_b\99s
94102  < 0 || unused_bits > 7
94103
94104 51 || (
94105 unu£d_b\99s
94106  > 0 && !
94107 size
94108 ))
94109
94110 52 
94111 ASN__DECODE_FAILED
94112 ;
94113
94114 58 if(
94115 Ýt_codec_ùx
94116 ) {
94117
94118 59 if(
94119 Ýt_codec_ùx
94120 ->
94121 max_¡ack_size
94122 ) {
94123
94124 60 
94125 s_codec_ùx
94126  = *
94127 Ýt_codec_ùx
94128 ;
94129
94130 61 
94131 Ýt_codec_ùx
94132  = &
94133 s_codec_ùx
94134 ;
94135
94136 65 
94137         `mem£t
94138 (&
94139 s_codec_ùx
94140 , 0, \17(s_codec_ctx));
94141
94142 66 
94143 s_codec_ùx
94144 .
94145 max_¡ack_size
94146  = 
94147 ASN__DEFAULT_STACK_MAX
94148 ;
94149
94150 67 
94151 Ýt_codec_ùx
94152  = &
94153 s_codec_ùx
94154 ;
94155
94156 71 
94157         `mem£t
94158 (&
94159 pd
94160 , 0, \17(pd));
94161
94162 72 
94163 pd
94164 .
94165 bufãr
94166  = (cڡ 
94167 u\9at8_t
94168  *)buffer;
94169
94170 73 
94171 pd
94172 .
94173 nboff
94174  = 
94175 sk\9d_b\99s
94176 ;
94177
94178 74 
94179 pd
94180 .
94181 nb\99s
94182  = 8 * 
94183 size
94184  - 
94185 unu£d_b\99s
94186 ;
94187
94188 75 if(
94189 pd
94190 .
94191 nboff
94192  >\85d.
94193 nb\99s
94194 )
94195
94196 76 
94197 ASN__DECODE_FAILED
94198 ;
94199
94200 81 if(!
94201 td
94202 ->
94203 Ý
94204 ->
94205 u³r_decod\94
94206 )
94207
94208 82 
94209 ASN__DECODE_FAILED
94210 ;
94211
94212 83 
94213 rv®
94214  = 
94215 td
94216 ->
94217 Ý
94218 ->
94219         `u³r_decod\94
94220 (
94221 Ýt_codec_ùx
94222 ,\81d, 0, 
94223 ¥\8c
94224 , &
94225 pd
94226 );
94227
94228 84 if(
94229 rv®
94230 .
94231 code
94232  =ð
94233 RC_OK
94234 ) {
94235
94236 86 
94237 rv®
94238 .
94239 cÚsumed
94240  = ((
94241 pd
94242 .
94243 bufãr
94244  - (cڡ 
94245 u\9at8_t
94246  *)buffer) << 3)
94247
94248 87 + 
94249 pd
94250 .
94251 nboff
94252  - 
94253 sk\9d_b\99s
94254 ;
94255
94256 88 
94257         `ASN_DEBUG
94258 ("PER decoding consumed %ld, counted %ld",
94259
94260 89 (\13)
94261 rv®
94262 .
94263 cÚsumed
94264 , (\13)
94265 pd
94266 .
94267 moved
94268 );
94269
94270 90 
94271         `as£¹
94272 (
94273 rv®
94274 .
94275 cÚsumed
94276  =ð
94277 pd
94278 .
94279 moved
94280 );
94281
94282 93 
94283 rv®
94284 .
94285 cÚsumed
94286  = 0;
94287
94288 95 \15 
94289 rv®
94290 ;
94291
94292 96 
94293         }
94294 }
94295
94296 98 
94297 a¢_dec_rv®_t
94298
94299
94300 99 
94301         $­\94_decode_com¶\91e
94302 (cڡ 
94303 a¢_codec_ùx_t
94304  *
94305 Ýt_codec_ùx
94306 ,
94307
94308 100 cڡ 
94309 a¢_TYPE_desü\9dtÜ_t
94310  *
94311 td
94312\1e**
94313 ¥\8c
94314 ,
94315
94316 101 cڡ \1e*
94317 bufãr
94318
94319 size_t
94320  
94321 size
94322 ) {
94323
94324 102 
94325 a¢_dec_rv®_t
94326  
94327 rv®
94328 ;
94329
94330 104 
94331 rv®
94332  = 
94333         `­\94_decode
94334 (
94335 Ýt_codec_ùx
94336
94337 td
94338
94339 ¥\8c
94340
94341 bufãr
94342
94343 size
94344 , 0, 0);
94345
94346 105 if(
94347 rv®
94348 .
94349 cÚsumed
94350 ) {
94351
94352 110 
94353 rv®
94354 .
94355 cÚsumed
94356  += 7;
94357
94358 111 
94359 rv®
94360 .
94361 cÚsumed
94362  >>= 3;
94363
94364 112 } \vif(
94365 rv®
94366 .
94367 code
94368  =ð
94369 RC_OK
94370 ) {
94371
94372 113 if(
94373 size
94374 ) {
94375
94376 114 if(((cڡ 
94377 u\9at8_t
94378  *)
94379 bufãr
94380 )[0] == 0) {
94381
94382 115 
94383 rv®
94384 .
94385 cÚsumed
94386  = 1;
94387
94388 117 
94389         `ASN_DEBUG
94390 ("Expecting single zeroed byte");
94391
94392 118 
94393 rv®
94394 .
94395 code
94396  = 
94397 RC_FAIL
94398 ;
94399
94400 122 
94401 rv®
94402 .
94403 code
94404  = 
94405 RC_WMORE
94406 ;
94407
94408 126 \15 
94409 rv®
94410 ;
94411
94412 127 
94413         }
94414 }
94415
94416 129 
94417 a¢_dec_rv®_t
94418
94419
94420 130 
94421         $­\94_decode
94422 (cڡ 
94423 a¢_codec_ùx_t
94424  *
94425 Ýt_codec_ùx
94426 ,
94427
94428 131 cڡ 
94429 a¢_TYPE_desü\9dtÜ_t
94430  *
94431 td
94432\1e**
94433 ¥\8c
94434 , cڡ \1e*
94435 bufãr
94436 ,
94437
94438 132 
94439 size_t
94440  
94441 size
94442\12
94443 sk\9d_b\99s
94444\12
94445 unu£d_b\99s
94446 ) {
94447
94448 133 
94449 a¢_codec_ùx_t
94450  
94451 s_codec_ùx
94452 ;
94453
94454 134 
94455 a¢_dec_rv®_t
94456  
94457 rv®
94458 ;
94459
94460 135 
94461 a¢_³r_d©a_t
94462  
94463 pd
94464 ;
94465
94466 137 if(
94467 sk\9d_b\99s
94468  < 0 || skip_bits > 7
94469
94470 138 || 
94471 unu£d_b\99s
94472  < 0 || unused_bits > 7
94473
94474 139 || (
94475 unu£d_b\99s
94476  > 0 && !
94477 size
94478 ))
94479
94480 140 
94481 ASN__DECODE_FAILED
94482 ;
94483
94484 146 if(
94485 Ýt_codec_ùx
94486 ) {
94487
94488 147 if(
94489 Ýt_codec_ùx
94490 ->
94491 max_¡ack_size
94492 ) {
94493
94494 148 
94495 s_codec_ùx
94496  = *
94497 Ýt_codec_ùx
94498 ;
94499
94500 149 
94501 Ýt_codec_ùx
94502  = &
94503 s_codec_ùx
94504 ;
94505
94506 153 
94507         `mem£t
94508 (&
94509 s_codec_ùx
94510 , 0, \17(s_codec_ctx));
94511
94512 154 
94513 s_codec_ùx
94514 .
94515 max_¡ack_size
94516  = 
94517 ASN__DEFAULT_STACK_MAX
94518 ;
94519
94520 155 
94521 Ýt_codec_ùx
94522  = &
94523 s_codec_ùx
94524 ;
94525
94526 159 
94527         `mem£t
94528 (&
94529 pd
94530 , 0, \17(pd));
94531
94532 160 
94533 pd
94534 .
94535 bufãr
94536  = (cڡ 
94537 u\9at8_t
94538  *)buffer;
94539
94540 161 
94541 pd
94542 .
94543 nboff
94544  = 
94545 sk\9d_b\99s
94546 ;
94547
94548 162 
94549 pd
94550 .
94551 nb\99s
94552  = 8 * 
94553 size
94554  - 
94555 unu£d_b\99s
94556 ;
94557
94558 163 if(
94559 pd
94560 .
94561 nboff
94562  >\85d.
94563 nb\99s
94564 )
94565
94566 164 
94567 ASN__DECODE_FAILED
94568 ;
94569
94570 169 if(!
94571 td
94572 ->
94573 Ý
94574 ->
94575 ­\94_decod\94
94576 )
94577
94578 170 
94579 ASN__DECODE_FAILED
94580 ;
94581
94582 171 
94583 rv®
94584  = 
94585 td
94586 ->
94587 Ý
94588 ->
94589         `­\94_decod\94
94590 (
94591 Ýt_codec_ùx
94592 ,\81d, 0, 
94593 ¥\8c
94594 , &
94595 pd
94596 );
94597
94598 172 if(
94599 rv®
94600 .
94601 code
94602  =ð
94603 RC_OK
94604 ) {
94605
94606 174 
94607 rv®
94608 .
94609 cÚsumed
94610  = ((
94611 pd
94612 .
94613 bufãr
94614  - (cڡ 
94615 u\9at8_t
94616  *)buffer) << 3)
94617
94618 175 + 
94619 pd
94620 .
94621 nboff
94622  - 
94623 sk\9d_b\99s
94624 ;
94625
94626 176 
94627         `ASN_DEBUG
94628 ("PER decoding consumed %zu, counted %zu",
94629
94630 177 
94631 rv®
94632 .
94633 cÚsumed
94634
94635 pd
94636 .
94637 moved
94638 );
94639
94640 178 
94641         `as£¹
94642 (
94643 rv®
94644 .
94645 cÚsumed
94646  =ð
94647 pd
94648 .
94649 moved
94650 );
94651
94652 181 
94653 rv®
94654 .
94655 cÚsumed
94656  = 0;
94657
94658 183 \15 
94659 rv®
94660 ;
94661
94662 184 
94663         }
94664 }
94665
94666         @per_encoder.c
94667
94668\ 2
94669         ~<a¢_­¶iÿtiÚ.h
94670 >
94671
94672\ 2
94673         ~<a¢_\9a\8bº®.h
94674 >
94675
94676\ 2
94677         ~<³r_\92cod\94.h
94678 >
94679
94680\18\12
94681 _u³r_\92code_æush_ou\8d
94682 (
94683 a¢_³r_ou\8d_t
94684  *
94685 po
94686 );
94687
94688
94689         $ignÜe_ou\8dut
94690 (cڡ \1e*
94691 d©a
94692
94693 size_t
94694  
94695 size
94696\1e*
94697 ­p_key
94698 ) {
94699
94700 9 (\1e)
94701 d©a
94702 ;
94703
94704 10 (\1e)
94705 size
94706 ;
94707
94708 11 (\1e)
94709 ­p_key
94710 ;
94711
94712 13 
94713         }
94714 }
94715
94716 15 
94717 a¢_\92c_rv®_t
94718
94719
94720 16 
94721         $u³r_\92code
94722 (cڡ 
94723 a¢_TYPE_desü\9dtÜ_t
94724  *
94725 td
94726 ,
94727
94728 17 cڡ 
94729 a¢_³r_cÚ¡¿\9ats_t
94730  *
94731 cÚ¡¿\9ats
94732 , cڡ \1e*
94733 ¥\8c
94734 ,
94735
94736 18 
94737 a¢_­p_cÚsume_by\8bs_f
94738  *
94739 cb
94740\1e*
94741 ­p_key
94742 ) {
94743
94744 19 
94745 a¢_³r_ou\8d_t
94746  
94747 po
94748 ;
94749
94750 20 
94751 a¢_\92c_rv®_t
94752  
94753 \94
94754  = {0,0,0};
94755
94756 25 if(!
94757 td
94758  || !td->
94759 Ý
94760 ->
94761 u³r_\92cod\94
94762 )
94763
94764 26 
94765 ASN__ENCODE_FAILED
94766 ;
94767
94768 28 
94769 po
94770 .
94771 bufãr
94772  =\85o.
94773 tmp¥aû
94774 ;
94775
94776 29 
94777 po
94778 .
94779 nboff
94780  = 0;
94781
94782 30 
94783 po
94784 .
94785 nb\99s
94786  = 8 * \17Õo.
94787 tmp¥aû
94788 );
94789
94790 31 
94791 po
94792 .
94793 ou\8dut
94794  = 
94795 cb
94796  ? cb : 
94797 ignÜe_ou\8dut
94798 ;
94799
94800 32 
94801 po
94802 .
94803 Ý_key
94804  = 
94805 ­p_key
94806 ;
94807
94808 33 
94809 po
94810 .
94811 æushed_by\8bs
94812  = 0;
94813
94814 35 
94815 \94
94816  = 
94817 td
94818 ->
94819 Ý
94820 ->
94821         `u³r_\92cod\94
94822 Ñd, 
94823 cÚ¡¿\9ats
94824
94825 ¥\8c
94826 , &
94827 po
94828 );
94829
94830 36 if(
94831 \94
94832 .
94833 \92coded
94834  != -1) {
94835
94836 37 
94837 size_t
94838  
94839 b\99s_to_æush
94840 ;
94841
94842 39 
94843 b\99s_to_æush
94844  = ((
94845 po
94846 .
94847 bufãr
94848  -\85o.
94849 tmp¥aû
94850 è<< 3è+\85o.
94851 nboff
94852 ;
94853
94854 42 
94855 \94
94856 .
94857 \92coded
94858  = (
94859 po
94860 .
94861 æushed_by\8bs
94862  << 3è+ 
94863 b\99s_to_æush
94864 ;
94865
94866 44 if(
94867         `_u³r_\92code_æush_ou\8d
94868 (&
94869 po
94870
94871 ASN__ENCODE_FAILED
94872 ;
94873
94874 47 \15 
94875 \94
94876 ;
94877
94878 48 
94879         }
94880 }
94881
94882 53 \e\19
94883         s\92c_to_buf_¬g
94884  {
94885
94886 54 \1e*
94887         mbufãr
94888 ;
94889
94890 55 
94891 size_t
94892  
94893         mËá
94894 ;
94895
94896 56 } 
94897         t\92c_to_buf_¬g
94898 ;
94899
94900 57 \18\12
94901         $\92code_to_bufãr_cb
94902 (cڡ \1e*
94903 bufãr
94904
94905 size_t
94906  
94907 size
94908\1e*
94909 key
94910 ) {
94911
94912 58 
94913 \92c_to_buf_¬g
94914  *
94915 ¬g
94916  = (\92c_to_buf_¬g *)
94917 key
94918 ;
94919
94920 60 if(
94921 ¬g
94922 ->
94923 Ëá
94924  < 
94925 size
94926 )
94927
94928 63 
94929         `memýy
94930 (
94931 ¬g
94932 ->
94933 bufãr
94934 , bufãr, 
94935 size
94936 );
94937
94938 64 
94939 ¬g
94940 ->
94941 bufãr
94942  = ((\ 5*ïrg->bufãrè+ 
94943 size
94944 ;
94945
94946 65 
94947 ¬g
94948 ->
94949 Ëá
94950  -ð
94951 size
94952 ;
94953
94954 68 
94955         }
94956 }
94957
94958 70 
94959 a¢_\92c_rv®_t
94960
94961
94962 71 
94963         $u³r_\92code_to_bufãr
94964 (cڡ 
94965 a¢_TYPE_desü\9dtÜ_t
94966  *
94967 td
94968 ,
94969
94970 72 cڡ 
94971 a¢_³r_cÚ¡¿\9ats_t
94972  *
94973 cÚ¡¿\9ats
94974 ,
94975
94976 73 cڡ \1e*
94977 ¥\8c
94978\1e*
94979 bufãr
94980
94981 size_t
94982  
94983 bufãr_size
94984 ) {
94985
94986 74 
94987 \92c_to_buf_¬g
94988  
94989 key
94990 ;
94991
94992 76 
94993 key
94994 .
94995 bufãr
94996  = buffer;
94997
94998 77 
94999 key
95000 .
95001 Ëá
95002  = 
95003 bufãr_size
95004 ;
95005
95006 79 if(
95007 td
95008 è
95009         `ASN_DEBUG
95010 ("Encod\9ag \"%s\" us\9ag UNALIGNED PER",\81d->
95011 Çme
95012 );
95013
95014 81 \15 
95015         `u³r_\92code
95016 (
95017 td
95018
95019 cÚ¡¿\9ats
95020
95021 ¥\8c
95022
95023 \92code_to_bufãr_cb
95024 , &
95025 key
95026 );
95027
95028 82 
95029         }
95030 }
95031
95032 84 \e\19
95033         s\92c_dyn_¬g
95034  {
95035
95036 85 \1e*
95037         mbufãr
95038 ;
95039
95040 86 
95041 size_t
95042  
95043         mËngth
95044 ;
95045
95046 87 
95047 size_t
95048  
95049         m®loÿ\8bd
95050 ;
95051
95052 88 } 
95053         t\92c_dyn_¬g
95054 ;
95055
95056 90 
95057         $\92code_dyn_cb
95058 (cڡ \1e*
95059 bufãr
95060
95061 size_t
95062  
95063 size
95064\1e*
95065 key
95066 ) {
95067
95068 91 
95069 \92c_dyn_¬g
95070  *
95071 ¬g
95072  = 
95073 key
95074 ;
95075
95076 92 if(
95077 ¬g
95078 ->
95079 Ëngth
95080  + 
95081 size
95082  >ð¬g->
95083 ®loÿ\8bd
95084 ) {
95085
95086 93 
95087 size_t
95088  
95089 Ãw_size
95090  = 
95091 ¬g
95092 ->
95093 ®loÿ\8bd
95094  ?\87rg->allocated : 8;
95095
95096 94 \1e*
95097 p
95098 ;
95099
95100 97 
95101 Ãw_size
95102  <<= 2;
95103
95104 98 } \1f
95105 ¬g
95106 ->
95107 Ëngth
95108  + 
95109 size
95110  >ð
95111 Ãw_size
95112 );
95113
95114 100 
95115 p
95116  = 
95117         `REALLOC
95118 (
95119 ¬g
95120 ->
95121 bufãr
95122
95123 Ãw_size
95124 );
95125
95126 101 if(!
95127 p
95128 ) {
95129
95130 102 
95131         `FREEMEM
95132 (
95133 ¬g
95134 ->
95135 bufãr
95136 );
95137
95138 103 
95139         `mem£t
95140 (
95141 ¬g
95142 , 0, \17(*arg));
95143
95144 106 
95145 ¬g
95146 ->
95147 bufãr
95148  = 
95149 p
95150 ;
95151
95152 107 
95153 ¬g
95154 ->
95155 ®loÿ\8bd
95156  = 
95157 Ãw_size
95158 ;
95159
95160 109 
95161         `memýy
95162 (((\ 5*)
95163 ¬g
95164 ->
95165 bufãr
95166 è+\87rg->
95167 Ëngth
95168 , bufãr, 
95169 size
95170 );
95171
95172 110 
95173 ¬g
95174 ->
95175 Ëngth
95176  +ð
95177 size
95178 ;
95179
95180 112 
95181         }
95182 }
95183
95184 113 
95185 ssize_t
95186
95187
95188 114 
95189         $u³r_\92code_to_Ãw_bufãr
95190 (cڡ 
95191 a¢_TYPE_desü\9dtÜ_t
95192  *
95193 td
95194 ,
95195
95196 115 cڡ 
95197 a¢_³r_cÚ¡¿\9ats_t
95198  *
95199 cÚ¡¿\9ats
95200 ,
95201
95202 116 cڡ \1e*
95203 ¥\8c
95204\1e**
95205 bufãr_r
95206 ) {
95207
95208 117 
95209 a¢_\92c_rv®_t
95210  
95211 \94
95212  = {0,0,0};
95213
95214 118 
95215 \92c_dyn_¬g
95216  
95217 key
95218 ;
95219
95220 120 
95221         `mem£t
95222 (&
95223 key
95224 , 0, \17(key));
95225
95226 122 
95227 \94
95228  = 
95229         `u³r_\92code
95230 (
95231 td
95232
95233 cÚ¡¿\9ats
95234
95235 ¥\8c
95236
95237 \92code_dyn_cb
95238 , &
95239 key
95240 );
95241
95242 123 \1a
95243 \94
95244 .
95245 \92coded
95246 ) {
95247
95248 125 
95249         `FREEMEM
95250 (
95251 key
95252 .
95253 bufãr
95254 );
95255
95256 128 
95257         `FREEMEM
95258 (
95259 key
95260 .
95261 bufãr
95262 );
95263
95264 129 
95265 key
95266 .
95267 bufãr
95268  = 
95269         `MALLOC
95270 (1);
95271
95272 130 if(
95273 key
95274 .
95275 bufãr
95276 ) {
95277
95278 131 *(\ 5*)
95279 key
95280 .
95281 bufãr
95282  = '\0';
95283
95284 132 *
95285 bufãr_r
95286  = 
95287 key
95288 .
95289 bufãr
95290 ;
95291
95292 138 *
95293 bufãr_r
95294  = 
95295 key
95296 .
95297 bufãr
95298 ;
95299
95300 139 
95301         `ASN_DEBUG
95302 ("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
95303 \94
95304 .
95305 \92coded
95306 );
95307
95308 140 \15 ((
95309 \94
95310 .
95311 \92coded
95312  + 7) >> 3);
95313
95314 142 
95315         }
95316 }
95317
95318 150 
95319         $_u³r_\92code_æush_ou\8d
95320 (
95321 a¢_³r_ou\8d_t
95322  *
95323 po
95324 ) {
95325
95326 151 
95327 u\9at8_t
95328  *
95329 buf
95330 ;
95331
95332 153 if(
95333 po
95334 ->
95335 nboff
95336  =ð0 &&\85o->
95337 bufãr
95338  =ðpo->
95339 tmp¥aû
95340 )
95341
95342 156 
95343 buf
95344  = 
95345 po
95346 ->
95347 bufãr
95348  + (po->
95349 nboff
95350  >> 3);
95351
95352 158 if(
95353 po
95354 ->
95355 nboff
95356  & 0x07) {
95357
95358 159 
95359 buf
95360 [0] &ð0xfà<< (8 - (
95361 po
95362 ->
95363 nboff
95364  & 0x07));
95365
95366 160 
95367 buf
95368 ++;
95369
95370 163 \15 
95371 po
95372 ->
95373         `ou\8dut
95374 Õo->
95375 tmp¥aû
95376
95377 buf
95378  -\85o->tmp¥aû,\85o->
95379 Ý_key
95380 );
95381
95382 164 
95383         }
95384 }
95385
95386 166 
95387 a¢_\92c_rv®_t
95388
95389
95390 167 
95391         $­\94_\92code_to_bufãr
95392 (cڡ 
95393 a¢_TYPE_desü\9dtÜ_t
95394  *
95395 td
95396 ,
95397
95398 168 cڡ 
95399 a¢_³r_cÚ¡¿\9ats_t
95400  *
95401 cÚ¡¿\9ats
95402 ,
95403
95404 169 cڡ \1e*
95405 ¥\8c
95406\1e*
95407 bufãr
95408
95409 size_t
95410  
95411 bufãr_size
95412 ) {
95413
95414 170 
95415 \92c_to_buf_¬g
95416  
95417 key
95418 ;
95419
95420 172 
95421 key
95422 .
95423 bufãr
95424  = buffer;
95425
95426 173 
95427 key
95428 .
95429 Ëá
95430  = 
95431 bufãr_size
95432 ;
95433
95434 175 if(
95435 td
95436 è
95437         `ASN_DEBUG
95438 ("Encod\9ag \"%s\" us\9ag ALIGNED PER",\81d->
95439 Çme
95440 );
95441
95442 177 \15 
95443         `­\94_\92code
95444 (
95445 td
95446
95447 cÚ¡¿\9ats
95448
95449 ¥\8c
95450
95451 \92code_to_bufãr_cb
95452 , &
95453 key
95454 );
95455
95456 178 
95457         }
95458 }
95459
95460 180 
95461 ssize_t
95462
95463
95464 181 
95465         $­\94_\92code_to_Ãw_bufãr
95466 (cڡ 
95467 a¢_TYPE_desü\9dtÜ_t
95468  *
95469 td
95470 ,
95471
95472 182 cڡ 
95473 a¢_³r_cÚ¡¿\9ats_t
95474  *
95475 cÚ¡¿\9ats
95476 ,
95477
95478 183 cڡ \1e*
95479 ¥\8c
95480\1e**
95481 bufãr_r
95482 ) {
95483
95484 184 
95485 a¢_\92c_rv®_t
95486  
95487 \94
95488  = {0,0,0};
95489
95490 185 
95491 \92c_dyn_¬g
95492  
95493 key
95494 ;
95495
95496 187 
95497         `mem£t
95498 (&
95499 key
95500 , 0, \17(key));
95501
95502 189 
95503 \94
95504  = 
95505         `­\94_\92code
95506 (
95507 td
95508
95509 cÚ¡¿\9ats
95510
95511 ¥\8c
95512
95513 \92code_dyn_cb
95514 , &
95515 key
95516 );
95517
95518 190 \1a
95519 \94
95520 .
95521 \92coded
95522 ) {
95523
95524 192 
95525         `FREEMEM
95526 (
95527 key
95528 .
95529 bufãr
95530 );
95531
95532 195 
95533         `FREEMEM
95534 (
95535 key
95536 .
95537 bufãr
95538 );
95539
95540 196 
95541 key
95542 .
95543 bufãr
95544  = 
95545         `MALLOC
95546 (1);
95547
95548 197 if(
95549 key
95550 .
95551 bufãr
95552 ) {
95553
95554 198 *(\ 5*)
95555 key
95556 .
95557 bufãr
95558  = '\0';
95559
95560 199 *
95561 bufãr_r
95562  = 
95563 key
95564 .
95565 bufãr
95566 ;
95567
95568 205 *
95569 bufãr_r
95570  = 
95571 key
95572 .
95573 bufãr
95574 ;
95575
95576 206 
95577         `ASN_DEBUG
95578 ("Com¶\91\90\92coded iÀ%ld b\99s", (\13)
95579 \94
95580 .
95581 \92coded
95582 );
95583
95584 207 \15 ((
95585 \94
95586 .
95587 \92coded
95588  + 7) >> 3);
95589
95590 209 
95591         }
95592 }
95593
95594 212 
95595         $_­\94_\92code_æush_ou\8d
95596 (
95597 a¢_³r_ou\8d_t
95598  *
95599 po
95600 ) {
95601
95602 213 
95603 u\9at8_t
95604  *
95605 buf
95606 ;
95607
95608 215 if(
95609 po
95610 ->
95611 nboff
95612  =ð0 &&\85o->
95613 bufãr
95614  =ðpo->
95615 tmp¥aû
95616 )
95617
95618 218 
95619 buf
95620  = 
95621 po
95622 ->
95623 bufãr
95624  + (po->
95625 nboff
95626  >> 3);
95627
95628 220 if(
95629 po
95630 ->
95631 nboff
95632  & 0x07) {
95633
95634 221 
95635 buf
95636 [0] &ð0xfà<< (8 - (
95637 po
95638 ->
95639 nboff
95640  & 0x07));
95641
95642 222 
95643 buf
95644 ++;
95645
95646 225 ià(
95647 po
95648 ->
95649 ou\8dut
95650 ) {
95651
95652 226 \15 
95653 po
95654 ->
95655         `ou\8dut
95656 Õo->
95657 tmp¥aû
95658
95659 buf
95660  -\85o->tmp¥aû,\85o->
95661 Ý_key
95662 );
95663
95664 229 
95665         }
95666 }
95667
95668 231 
95669 a¢_\92c_rv®_t
95670
95671
95672 232 
95673         $­\94_\92code
95674 (cڡ 
95675 a¢_TYPE_desü\9dtÜ_t
95676  *
95677 td
95678 ,
95679
95680 233 cڡ 
95681 a¢_³r_cÚ¡¿\9ats_t
95682  *
95683 cÚ¡¿\9ats
95684 ,
95685
95686 234 cڡ \1e*
95687 ¥\8c
95688
95689 a¢_­p_cÚsume_by\8bs_f
95690  *
95691 cb
95692\1e*
95693 ­p_key
95694 ) {
95695
95696 235 
95697 a¢_³r_ou\8d_t
95698  
95699 po
95700 ;
95701
95702 236 
95703 a¢_\92c_rv®_t
95704  
95705 \94
95706  = {0,0,0};
95707
95708 241 if(!
95709 td
95710  || !td->
95711 Ý
95712 ->
95713 ­\94_\92cod\94
95714 )
95715
95716 242 
95717 ASN__ENCODE_FAILED
95718 ;
95719
95720 244 
95721 po
95722 .
95723 bufãr
95724  =\85o.
95725 tmp¥aû
95726 ;
95727
95728 245 
95729 po
95730 .
95731 nboff
95732  = 0;
95733
95734 246 
95735 po
95736 .
95737 nb\99s
95738  = 8 * \17Õo.
95739 tmp¥aû
95740 );
95741
95742 247 
95743 po
95744 .
95745 ou\8dut
95746  = 
95747 cb
95748 ;
95749
95750 248 
95751 po
95752 .
95753 Ý_key
95754  = 
95755 ­p_key
95756 ;
95757
95758 249 
95759 po
95760 .
95761 æushed_by\8bs
95762  = 0;
95763
95764 251 
95765 \94
95766  = 
95767 td
95768 ->
95769 Ý
95770 ->
95771         `­\94_\92cod\94
95772 Ñd, 
95773 cÚ¡¿\9ats
95774
95775 ¥\8c
95776 , &
95777 po
95778 );
95779
95780 252 if(
95781 \94
95782 .
95783 \92coded
95784  != -1) {
95785
95786 253 
95787 size_t
95788  
95789 b\99s_to_æush
95790 ;
95791
95792 255 
95793 b\99s_to_æush
95794  = ((
95795 po
95796 .
95797 bufãr
95798  -\85o.
95799 tmp¥aû
95800 è<< 3è+\85o.
95801 nboff
95802 ;
95803
95804 258 
95805 \94
95806 .
95807 \92coded
95808  = (
95809 po
95810 .
95811 æushed_by\8bs
95812  << 3è+ 
95813 b\99s_to_æush
95814 ;
95815
95816 260 if(
95817         `_­\94_\92code_æush_ou\8d
95818 (&
95819 po
95820 ))
95821
95822 261 
95823 ASN__ENCODE_FAILED
95824 ;
95825
95826 264 \15 
95827 \94
95828 ;
95829
95830 265 
95831         }
95832 }
95833
95834         @per_opentype.c
95835
95836\ 2
95837         ~<a¢_\9a\8bº®.h
95838 >
95839
95840\ 2
95841         ~<³r_suµÜt.h
95842 >
95843
95844\ 2
95845         ~<cڡr_TYPE.h
95846 >
95847
95848\ 2
95849         ~<³r_Ý\92ty³.h
95850 >
95851
95852 10 \e\19
95853         su³r_ugÙ_key
95854  {
95855
95856 11 
95857 a¢_³r_d©a_t
95858  
95859         mÞdpd
95860 ;
95861
95862 12 
95863 size_t
95864  
95865         munþaimed
95866 ;
95867
95868 13 
95869 size_t
95870  
95871         mÙ_moved
95872 ;
95873
95874 14 \12
95875         m»³©
95876 ;
95877
95878 15 } 
95879         tu³r_ugÙ_key
95880 ;
95881
95882 17 \18\12
95883 u³r_ugÙ_»f\9el
95884 (
95885 a¢_³r_d©a_t
95886  *
95887 pd
95888 );
95889
95890 18 \18\12
95891 ³r_sk\9d_b\99s
95892 (
95893 a¢_³r_d©a_t
95894  *
95895 pd
95896\12
95897 sk\9d_nb\99s
95898 );
95899
95900 19 \18
95901 a¢_dec_rv®_t
95902  
95903 u³r_sÙ_suck
95904 (cڡ 
95905 a¢_codec_ùx_t
95906  *,
95907
95908 20 cڡ 
95909 a¢_TYPE_desü\9dtÜ_t
95910  *
95911 td
95912 ,
95913
95914 21 cڡ 
95915 a¢_³r_cÚ¡¿\9ats_t
95916  *
95917 cÚ¡¿\9ats
95918 ,
95919
95920 22 \1e**
95921 ¥\8c
95922
95923 a¢_³r_d©a_t
95924  *
95925 pd
95926 );
95927
95928 29 
95929         $u³r_Ý\92_ty³_put
95930 (cڡ 
95931 a¢_TYPE_desü\9dtÜ_t
95932  *
95933 td
95934 ,
95935
95936 30 cڡ 
95937 a¢_³r_cÚ¡¿\9ats_t
95938  *
95939 cÚ¡¿\9ats
95940 , cڡ \1e*
95941 ¥\8c
95942 ,
95943
95944 31 
95945 a¢_³r_ou\8d_t
95946  *
95947 po
95948 ) {
95949
95950 32 \1e*
95951 buf
95952 ;
95953
95954 33 \1e*
95955 b±r
95956 ;
95957
95958 34 
95959 ssize_t
95960  
95961 size
95962 ;
95963
95964 36 
95965         `ASN_DEBUG
95966 ("O³Àty³\85u\88% ...", 
95967 td
95968 ->
95969 Çme
95970 );
95971
95972 38 
95973 size
95974  = 
95975         `u³r_\92code_to_Ãw_bufãr
95976 (
95977 td
95978
95979 cÚ¡¿\9ats
95980
95981 ¥\8c
95982 , &
95983 buf
95984 );
95985
95986 39 if(
95987 size
95988  <= 0) \15 -1;
95989
95990 41 
95991         `ASN_DEBUG
95992 ("O³Àty³\85u\88% oàËngth %" 
95993 ASN_PRI_SSIZE
95994  " + ov\94h\97d (1by\8b?)", 
95995 td
95996 ->
95997 Çme
95998 ,
95999
96000 42 
96001 size
96002 );
96003
96004 44 
96005 b±r
96006  = 
96007 buf
96008 ;
96009
96010 46 \12
96011 Ãed_eom
96012  = 0;
96013
96014 47 
96015 ssize_t
96016  
96017 may_§ve
96018  = 
96019         `u³r_put_Ëngth
96020 (
96021 po
96022
96023 size
96024 , &
96025 Ãed_eom
96026 );
96027
96028 48 
96029         `ASN_DEBUG
96030 ("P»³nd\9ag\86\92gth %" 
96031 ASN_PRI_SSIZE
96032
96033
96034 49 "\81Ø% ªd\87Îow\9ag\81اv\90%" 
96035 ASN_PRI_SSIZE
96036 ,
96037
96038 50 
96039 size
96040
96041 td
96042 ->
96043 Çme
96044
96045 may_§ve
96046 );
96047
96048 51 if(
96049 may_§ve
96050  < 0) \ 3;
96051
96052 52 if(
96053         `³r_put_mªy_b\99s
96054 (
96055 po
96056
96057 b±r
96058
96059 may_§ve
96060  * 8)) \ 3;
96061
96062 53 
96063 b±r
96064  = (\ 5*)b±¸+ 
96065 may_§ve
96066 ;
96067
96068 54 
96069 size
96070  -ð
96071 may_§ve
96072 ;
96073
96074 55 if(
96075 Ãed_eom
96076  && 
96077         `u³r_put_Ëngth
96078 (
96079 po
96080 , 0, 0)) {
96081
96082 56 
96083         `FREEMEM
96084 (
96085 buf
96086 );
96087
96088 59 } \1f
96089 size
96090 );
96091
96092 61 
96093         `FREEMEM
96094 (
96095 buf
96096 );
96097
96098 62 if(
96099 size
96100\15 -1;
96101
96102 65 
96103         }
96104 }
96105
96106 67 \18
96107 a¢_dec_rv®_t
96108
96109
96110 68 
96111         $u³r_Ý\92_ty³_g\91_sim¶e
96112 (cڡ 
96113 a¢_codec_ùx_t
96114  *
96115 ùx
96116 ,
96117
96118 69 cڡ 
96119 a¢_TYPE_desü\9dtÜ_t
96120  *
96121 td
96122 ,
96123
96124 70 cڡ 
96125 a¢_³r_cÚ¡¿\9ats_t
96126  *
96127 cÚ¡¿\9ats
96128\1e**
96129 ¥\8c
96130 ,
96131
96132 71 
96133 a¢_³r_d©a_t
96134  *
96135 pd
96136 ) {
96137
96138 72 
96139 a¢_dec_rv®_t
96140  
96141 rv
96142 ;
96143
96144 73 
96145 ssize_t
96146  
96147 chunk_by\8bs
96148 ;
96149
96150 74 \12
96151 »³©
96152 ;
96153
96154 75 
96155 u\9at8_t
96156  *
96157 buf
96158  = 0;
96159
96160 76 
96161 size_t
96162  
96163 bufL\92
96164  = 0;
96165
96166 77 
96167 size_t
96168  
96169 bufSize
96170  = 0;
96171
96172 78 
96173 a¢_³r_d©a_t
96174  
96175 ¥d
96176 ;
96177
96178 79 
96179 size_t
96180  
96181 ·dd\9ag
96182 ;
96183
96184 81 
96185         `ASN__STACK_OVERFLOW_CHECK
96186 (
96187 ùx
96188 );
96189
96190 83 
96191         `ASN_DEBUG
96192 ("G\91t\9ag o³Àty³ %s...", 
96193 td
96194 ->
96195 Çme
96196 );
96197
96198 86 
96199 chunk_by\8bs
96200  = 
96201         `u³r_g\91_Ëngth
96202 (
96203 pd
96204 , -1, 0, &
96205 »³©
96206 );
96207
96208 87 if(
96209 chunk_by\8bs
96210  < 0) {
96211
96212 88 
96213         `FREEMEM
96214 (
96215 buf
96216 );
96217
96218 89 
96219 ASN__DECODE_STARVED
96220 ;
96221
96222 91 if(
96223 bufL\92
96224  + 
96225 chunk_by\8bs
96226  > 
96227 bufSize
96228 ) {
96229
96230 92 \1e*
96231 ±r
96232 ;
96233
96234 93 
96235 bufSize
96236  = 
96237 chunk_by\8bs
96238  + (bufSize << 2);
96239
96240 94 
96241 ±r
96242  = 
96243         `REALLOC
96244 (
96245 buf
96246
96247 bufSize
96248 );
96249
96250 95 if(!
96251 ±r
96252 ) {
96253
96254 96 
96255         `FREEMEM
96256 (
96257 buf
96258 );
96259
96260 97 
96261 ASN__DECODE_FAILED
96262 ;
96263
96264 99 
96265 buf
96266  = 
96267 ±r
96268 ;
96269
96270 101 if(
96271         `³r_g\91_mªy_b\99s
96272 (
96273 pd
96274
96275 buf
96276  + 
96277 bufL\92
96278 , 0, 
96279 chunk_by\8bs
96280  << 3)) {
96281
96282 102 
96283         `FREEMEM
96284 (
96285 buf
96286 );
96287
96288 103 
96289 ASN__DECODE_STARVED
96290 ;
96291
96292 105 
96293 bufL\92
96294  +ð
96295 chunk_by\8bs
96296 ;
96297
96298 106 } \1f
96299 »³©
96300 );
96301
96302 108 
96303         `ASN_DEBUG
96304 ("G\91t\9ag o³Àty³ % \92coded iÀ%ld by\8bs", 
96305 td
96306 ->
96307 Çme
96308 ,
96309
96310 109 (\13)
96311 bufL\92
96312 );
96313
96314 111 
96315         `mem£t
96316 (&
96317 ¥d
96318 , 0, \17(spd));
96319
96320 112 
96321 ¥d
96322 .
96323 bufãr
96324  = 
96325 buf
96326 ;
96327
96328 113 
96329 ¥d
96330 .
96331 nb\99s
96332  = 
96333 bufL\92
96334  << 3;
96335
96336 115 
96337         `ASN_DEBUG_INDENT_ADD
96338 (+4);
96339
96340 116 
96341 rv
96342  = 
96343 td
96344 ->
96345 Ý
96346 ->
96347         `u³r_decod\94
96348 (
96349 ùx
96350 ,\81d, 
96351 cÚ¡¿\9ats
96352
96353 ¥\8c
96354 , &
96355 ¥d
96356 );
96357
96358 117 
96359         `ASN_DEBUG_INDENT_ADD
96360 (-4);
96361
96362 119 if(
96363 rv
96364 .
96365 code
96366  =ð
96367 RC_OK
96368 ) {
96369
96370 121 
96371 ·dd\9ag
96372  = 
96373 ¥d
96374 .
96375 nb\99s
96376  - spd.
96377 nboff
96378 ;
96379
96380 122 ià(((
96381 ·dd\9ag
96382  > 0 &&\85adding < 8) ||
96383
96384 124 (
96385 ¥d
96386 .
96387 nboff
96388  =ð0 && spd.
96389 nb\99s
96390  =ð8 && spd.
96391 bufãr
96392  =ð
96393 buf
96394 )) &&
96395
96396 125 
96397         `³r_g\91_ãw_b\99s
96398 (&
96399 ¥d
96400
96401 ·dd\9ag
96402 ) == 0) {
96403
96404 127 
96405         `FREEMEM
96406 (
96407 buf
96408 );
96409
96410 128 \15 
96411 rv
96412 ;
96413
96414 130 
96415         `FREEMEM
96416 (
96417 buf
96418 );
96419
96420 131 if(
96421 ·dd\9ag
96422  >= 8) {
96423
96424 132 
96425         `ASN_DEBUG
96426 ("ToØÏrg\90·dd\9ag %d iÀÝ\92\81y³", (\12)
96427 ·dd\9ag
96428 );
96429
96430 133 
96431 ASN__DECODE_FAILED
96432 ;
96433
96434 135 
96435         `ASN_DEBUG
96436 ("No\85adding");
96437
96438 138 
96439         `FREEMEM
96440 (
96441 buf
96442 );
96443
96444 140 
96445 rv
96446 .
96447 code
96448  = 
96449 RC_FAIL
96450 ;
96451
96452 143 \15 
96453 rv
96454 ;
96455
96456 144 
96457         }
96458 }
96459
96460 146 \18
96461 a¢_dec_rv®_t
96462  
96463 CC_NOTUSED
96464
96465
96466 147 
96467         $u³r_Ý\92_ty³_g\91_com¶ex
96468 (cڡ 
96469 a¢_codec_ùx_t
96470  *
96471 ùx
96472 ,
96473
96474 148 cڡ 
96475 a¢_TYPE_desü\9dtÜ_t
96476  *
96477 td
96478 ,
96479
96480 149 
96481 a¢_³r_cÚ¡¿\9ats_t
96482  *
96483 cÚ¡¿\9ats
96484\1e**
96485 ¥\8c
96486 ,
96487
96488 150 
96489 a¢_³r_d©a_t
96490  *
96491 pd
96492 ) {
96493
96494 151 
96495 u³r_ugÙ_key
96496  
96497 ¬g
96498 ;
96499
96500 152 
96501 a¢_dec_rv®_t
96502  
96503 rv
96504 ;
96505
96506 153 
96507 ssize_t
96508  
96509 ·dd\9ag
96510 ;
96511
96512 155 
96513         `ASN__STACK_OVERFLOW_CHECK
96514 (
96515 ùx
96516 );
96517
96518 157 
96519         `ASN_DEBUG
96520 ("G\91t\9ag o³Àty³ % äom %s", 
96521 td
96522 ->
96523 Çme
96524 ,
96525
96526 158 
96527         `a¢_b\99_d©a_¡r\9ag
96528 (
96529 pd
96530 ));
96531
96532 159 
96533 ¬g
96534 .
96535 Þdpd
96536  = *
96537 pd
96538 ;
96539
96540 160 
96541 ¬g
96542 .
96543 unþaimed
96544  = 0;
96545
96546 161 
96547 ¬g
96548 .
96549 Ù_moved
96550  = 0;
96551
96552 162 
96553 ¬g
96554 .
96555 »³©
96556  = 1;
96557
96558 163 
96559 pd
96560 ->
96561 »f\9el
96562  = 
96563 u³r_ugÙ_»f\9el
96564 ;
96565
96566 164 
96567 pd
96568 ->
96569 »f\9el_key
96570  = &
96571 ¬g
96572 ;
96573
96574 165 
96575 pd
96576 ->
96577 nb\99s
96578  =\85d->
96579 nboff
96580 ;
96581
96582 166 
96583 pd
96584 ->
96585 moved
96586  = 0;
96587
96588 168 
96589         `ASN_DEBUG_INDENT_ADD
96590 (+4);
96591
96592 169 
96593 rv
96594  = 
96595 td
96596 ->
96597 Ý
96598 ->
96599         `u³r_decod\94
96600 (
96601 ùx
96602 ,\81d, 
96603 cÚ¡¿\9ats
96604
96605 ¥\8c
96606
96607 pd
96608 );
96609
96610 170 
96611         `ASN_DEBUG_INDENT_ADD
96612 (-4);
96613
96614 172 \ 1
96615         #UPDRESTOREPD
96616  do { \
96617
96618 174 
96619 pd
96620 ->
96621 nb\99s
96622  = 
96623 ¬g
96624 .
96625 Þdpd
96626 .nb\99 - (pd->
96627 moved
96628  -\87rg.
96629 Ù_moved
96630 ); \
96631
96632 175 
96633 pd
96634 ->
96635 moved
96636  = 
96637 ¬g
96638 .
96639 Þdpd
96640 .moved + (pd->moved -\87rg.
96641 Ù_moved
96642 ); \
96643
96644 176 
96645 pd
96646 ->
96647 »f\9el
96648  = 
96649 ¬g
96650 .
96651 Þdpd
96652 .refill; \
96653
96654 177 
96655 pd
96656 ->
96657 »f\9el_key
96658  = 
96659 ¬g
96660 .
96661 Þdpd
96662 .refill_key; \
96663
96664 178 } \1f0)
96665
96666         )
96667
96668 180 if(
96669 rv
96670 .
96671 code
96672  !ð
96673 RC_OK
96674 ) {
96675
96676 181 
96677 UPDRESTOREPD
96678 ;
96679
96680 182 \15 
96681 rv
96682 ;
96683
96684 185 
96685         `ASN_DEBUG
96686 ("O³nTy³ % pd% Þd% unþaimed=%d,\84\95\97t=%d", 
96687 td
96688 ->
96689 Çme
96690 ,
96691
96692 186 
96693         `a¢_b\99_d©a_¡r\9ag
96694 (
96695 pd
96696 ),
96697
96698 187 
96699         `a¢_b\99_d©a_¡r\9ag
96700 (&
96701 ¬g
96702 .
96703 Þdpd
96704 ),
96705
96706 188 (\12)
96707 ¬g
96708 .
96709 unþaimed
96710 , (\12ïrg.
96711 »³©
96712 );
96713
96714 190 
96715 ·dd\9ag
96716  = 
96717 pd
96718 ->
96719 moved
96720  % 8;
96721
96722 191 if(
96723 ·dd\9ag
96724 ) {
96725
96726 192 
96727 \9at32_t
96728  
96729 pv®ue
96730 ;
96731
96732 193 if(
96733 ·dd\9ag
96734  > 7) {
96735
96736 194 
96737         `ASN_DEBUG
96738 ("Too\86arge\85adding %d in open\81ype",
96739
96740 195 (\12)
96741 ·dd\9ag
96742 );
96743
96744 196 
96745 rv
96746 .
96747 code
96748  = 
96749 RC_FAIL
96750 ;
96751
96752 197 
96753 UPDRESTOREPD
96754 ;
96755
96756 198 \15 
96757 rv
96758 ;
96759
96760 200 
96761 ·dd\9ag
96762  = 8 -\85adding;
96763
96764 201 
96765         `ASN_DEBUG
96766 ("G\91t\9ag\85add\9ag oà%d b\99s", (\12)
96767 ·dd\9ag
96768 );
96769
96770 202 
96771 pv®ue
96772  = 
96773         `³r_g\91_ãw_b\99s
96774 (
96775 pd
96776
96777 ·dd\9ag
96778 );
96779
96780 203 \1a
96781 pv®ue
96782 ) {
96783
96784 205 
96785         `ASN_DEBUG
96786 ("Padding skip failed");
96787
96788 206 
96789 UPDRESTOREPD
96790 ;
96791
96792 207 
96793 ASN__DECODE_STARVED
96794 ;
96795
96796 210 
96797         `ASN_DEBUG
96798 ("Non-blank\85adding (%d bits 0x%02x)",
96799
96800 211 (\12)
96801 ·dd\9ag
96802 , (\12)
96803 pv®ue
96804 );
96805
96806 212 
96807 UPDRESTOREPD
96808 ;
96809
96810 213 
96811 ASN__DECODE_FAILED
96812 ;
96813
96814 216 if(
96815 pd
96816 ->
96817 nboff
96818  !ðpd->
96819 nb\99s
96820 ) {
96821
96822 217 
96823         `ASN_DEBUG
96824 ("O³Àty³ % ov\94h\97d\85d% Þd%s", 
96825 td
96826 ->
96827 Çme
96828 ,
96829
96830 218 
96831         `a¢_b\99_d©a_¡r\9ag
96832 (
96833 pd
96834 ),\87¢_b\99_d©a_¡r\9ag(&
96835 ¬g
96836 .
96837 Þdpd
96838 ));
96839
96840 220 
96841 UPDRESTOREPD
96842 ;
96843
96844 221 
96845 ASN__DECODE_FAILED
96846 ;
96847
96848 223 
96849 ¬g
96850 .
96851 unþaimed
96852  +ð
96853 pd
96854 ->
96855 nb\99s
96856  -\85d->
96857 nboff
96858 ;
96859
96860 228 
96861 UPDRESTOREPD
96862 ;
96863
96864 231 if(
96865 ¬g
96866 .
96867 unþaimed
96868 ) {
96869
96870 232 
96871         `ASN_DEBUG
96872 ("G\91t\9ag unþaimed %d", (\12)
96873 ¬g
96874 .
96875 unþaimed
96876 );
96877
96878 233 \1a
96879         `³r_sk\9d_b\99s
96880 (
96881 pd
96882
96883 ¬g
96884 .
96885 unþaimed
96886 )) {
96887
96888 235 
96889         `ASN_DEBUG
96890 ("CÏim oà%d fa\9eed", (\12)
96891 ¬g
96892 .
96893 unþaimed
96894 );
96895
96896 236 
96897 ASN__DECODE_STARVED
96898 ;
96899
96900 238 
96901         `ASN_DEBUG
96902 ("GÙ cÏim oà%d", (\12)
96903 ¬g
96904 .
96905 unþaimed
96906 );
96907
96908 242 
96909         `ASN_DEBUG
96910 ("Non-blank unconsumed\85adding");
96911
96912 243 
96913 ASN__DECODE_FAILED
96914 ;
96915
96916 245 
96917 ¬g
96918 .
96919 unþaimed
96920  = 0;
96921
96922 248 if(
96923 ¬g
96924 .
96925 »³©
96926 ) {
96927
96928 249 
96929         `ASN_DEBUG
96930 ("Not consumed\81he whole\81hing");
96931
96932 250 
96933 rv
96934 .
96935 code
96936  = 
96937 RC_FAIL
96938 ;
96939
96940 251 \15 
96941 rv
96942 ;
96943
96944 254 \15 
96945 rv
96946 ;
96947
96948 255 
96949         }
96950 }
96951
96952 258 
96953 a¢_dec_rv®_t
96954
96955
96956 259 
96957         $u³r_Ý\92_ty³_g\91
96958 (cڡ 
96959 a¢_codec_ùx_t
96960  *
96961 ùx
96962 , cڡ 
96963 a¢_TYPE_desü\9dtÜ_t
96964  *
96965 td
96966 ,
96967
96968 260 cڡ 
96969 a¢_³r_cÚ¡¿\9ats_t
96970  *
96971 cÚ¡¿\9ats
96972\1e**
96973 ¥\8c
96974 ,
96975
96976 261 
96977 a¢_³r_d©a_t
96978  *
96979 pd
96980 ) {
96981
96982 262 \15 
96983         `u³r_Ý\92_ty³_g\91_sim¶e
96984 (
96985 ùx
96986
96987 td
96988
96989 cÚ¡¿\9ats
96990
96991 ¥\8c
96992
96993 pd
96994 );
96995
96996 263 
96997         }
96998 }
96999
97000 266 
97001         $u³r_Ý\92_ty³_sk\9d
97002 (cڡ 
97003 a¢_codec_ùx_t
97004  *
97005 ùx
97006
97007 a¢_³r_d©a_t
97008  *
97009 pd
97010 ) {
97011
97012 267 
97013 a¢_TYPE_desü\9dtÜ_t
97014  
97015 s_td
97016 ;
97017
97018 268 
97019 a¢_TYPE_Ý\94©iÚ_t
97020  
97021 s_Ý
97022 ;
97023
97024 269 
97025 a¢_dec_rv®_t
97026  
97027 rv
97028 ;
97029
97030 271 
97031 s_td
97032 .
97033 Çme
97034  = "<unknown\83xtension>";
97035
97036 272 
97037 s_td
97038 .
97039 Ý
97040  = &
97041 s_Ý
97042 ;
97043
97044 273 
97045 s_Ý
97046 .
97047 u³r_decod\94
97048  = 
97049 u³r_sÙ_suck
97050 ;
97051
97052 275 
97053 rv
97054  = 
97055         `u³r_Ý\92_ty³_g\91
97056 (
97057 ùx
97058 , &
97059 s_td
97060 , 0, 0, 
97061 pd
97062 );
97063
97064 276 if(
97065 rv
97066 .
97067 code
97068  !ð
97069 RC_OK
97070 )
97071
97072 280 
97073         }
97074 }
97075
97076 286 \18
97077 a¢_dec_rv®_t
97078
97079
97080 287 
97081         $u³r_sÙ_suck
97082 (cڡ 
97083 a¢_codec_ùx_t
97084  *
97085 ùx
97086 , cڡ 
97087 a¢_TYPE_desü\9dtÜ_t
97088  *
97089 td
97090 ,
97091
97092 288 cڡ 
97093 a¢_³r_cÚ¡¿\9ats_t
97094  *
97095 cÚ¡¿\9ats
97096\1e**
97097 ¥\8c
97098 ,
97099
97100 289 
97101 a¢_³r_d©a_t
97102  *
97103 pd
97104 ) {
97105
97106 290 
97107 a¢_dec_rv®_t
97108  
97109 rv
97110 ;
97111
97112 292 (\1e)
97113 ùx
97114 ;
97115
97116 293 (\1e)
97117 td
97118 ;
97119
97120 294 (\1e)
97121 cÚ¡¿\9ats
97122 ;
97123
97124 295 (\1e)
97125 ¥\8c
97126 ;
97127
97128 297 \1f
97129         `³r_g\91_ãw_b\99s
97130 (
97131 pd
97132 , 1) >= 0);
97133
97134 299 
97135 rv
97136 .
97137 code
97138  = 
97139 RC_OK
97140 ;
97141
97142 300 
97143 rv
97144 .
97145 cÚsumed
97146  = 
97147 pd
97148 ->
97149 moved
97150 ;
97151
97152 302 \15 
97153 rv
97154 ;
97155
97156 303 
97157         }
97158 }
97159
97160 306 
97161         $u³r_ugÙ_»f\9el
97162 (
97163 a¢_³r_d©a_t
97164  *
97165 pd
97166 ) {
97167
97168 307 
97169 u³r_ugÙ_key
97170  *
97171 ¬g
97172  = 
97173 pd
97174 ->
97175 »f\9el_key
97176 ;
97177
97178 308 
97179 ssize_t
97180  
97181 Ãxt_chunk_by\8bs
97182
97183 Ãxt_chunk_b\99s
97184 ;
97185
97186 309 
97187 ssize_t
97188  
97189 ava\9e
97190 ;
97191
97192 311 
97193 a¢_³r_d©a_t
97194  *
97195 Þdpd
97196  = &
97197 ¬g
97198 ->oldpd;
97199
97200 313 
97201         `ASN_DEBUG
97202 ("REFILLING\85d->moved=%ld, oldpd->moved=%ld",
97203
97204 314 (\13)
97205 pd
97206 ->
97207 moved
97208 , (\13)
97209 Þdpd
97210 ->moved);
97211
97212 317 
97213 Þdpd
97214 ->
97215 bufãr
97216  = 
97217 pd
97218 ->buffer;
97219
97220 318 
97221 Þdpd
97222 ->
97223 nboff
97224  = 
97225 pd
97226 ->nboff;
97227
97228 319 
97229 Þdpd
97230 ->
97231 nb\99s
97232  -ð
97233 pd
97234 ->
97235 moved
97236  - 
97237 ¬g
97238 ->
97239 Ù_moved
97240 ;
97241
97242 320 
97243 Þdpd
97244 ->
97245 moved
97246  +ð
97247 pd
97248 ->moved - 
97249 ¬g
97250 ->
97251 Ù_moved
97252 ;
97253
97254 321 
97255 ¬g
97256 ->
97257 Ù_moved
97258  = 
97259 pd
97260 ->
97261 moved
97262 ;
97263
97264 323 if(
97265 ¬g
97266 ->
97267 unþaimed
97268 ) {
97269
97270 325 if(
97271         `³r_g\91_ãw_b\99s
97272 (
97273 Þdpd
97274 , 1))
97275
97276 327 if(
97277 Þdpd
97278 ->
97279 nboff
97280  == 0) {
97281
97282 328 
97283         `as£¹
97284 (0);
97285
97286 331 
97287 pd
97288 ->
97289 bufãr
97290  = 
97291 Þdpd
97292 ->buffer;
97293
97294 332 
97295 pd
97296 ->
97297 nboff
97298  = 
97299 Þdpd
97300 ->nboff - 1;
97301
97302 333 
97303 pd
97304 ->
97305 nb\99s
97306  = 
97307 Þdpd
97308 ->nbits;
97309
97310 334 
97311         `ASN_DEBUG
97312 ("UNCLAIMED <-\84eturn from (pd->moved=%ld)",
97313
97314 335 (\13)
97315 pd
97316 ->
97317 moved
97318 );
97319
97320 339 if(!
97321 ¬g
97322 ->
97323 »³©
97324 ) {
97325
97326 340 
97327         `ASN_DEBUG
97328 ("Want more but\84efill doesn't have it");
97329
97330 344 
97331 Ãxt_chunk_by\8bs
97332  = 
97333         `u³r_g\91_Ëngth
97334 (
97335 Þdpd
97336 , -1, 0, &
97337 ¬g
97338 ->
97339 »³©
97340 );
97341
97342 345 
97343         `ASN_DEBUG
97344 ("Open\81ype LENGTH %ld bytes\87t off %ld,\84epeat %ld",
97345
97346 346 (\13)
97347 Ãxt_chunk_by\8bs
97348 , (\13)
97349 Þdpd
97350 ->
97351 moved
97352 , (\13)
97353 ¬g
97354 ->
97355 »³©
97356 );
97357
97358 347 if(
97359 Ãxt_chunk_by\8bs
97360  < 0) \15 -1;
97361
97362 348 if(
97363 Ãxt_chunk_by\8bs
97364  == 0) {
97365
97366 349 
97367 pd
97368 ->
97369 »f\9el
97370  = 0;
97371
97372 350 
97373         `as£¹
97374 (!
97375 ¬g
97376 ->
97377 »³©
97378 );
97379
97380 352 
97381 Ãxt_chunk_b\99s
97382  = 
97383 Ãxt_chunk_by\8bs
97384  << 3;
97385
97386 353 
97387 ava\9e
97388  = 
97389 Þdpd
97390 ->
97391 nb\99s
97392  - oldpd->
97393 nboff
97394 ;
97395
97396 354 if(
97397 ava\9e
97398  >ð
97399 Ãxt_chunk_b\99s
97400 ) {
97401
97402 355 
97403 pd
97404 ->
97405 nb\99s
97406  = 
97407 Þdpd
97408 ->
97409 nboff
97410  + 
97411 Ãxt_chunk_b\99s
97412 ;
97413
97414 356 
97415 ¬g
97416 ->
97417 unþaimed
97418  = 0;
97419
97420 357 
97421         `ASN_DEBUG
97422 ("!+Parent frame %ld bits,\87lloting %ld [%ld..%ld] (%ld)",
97423
97424 358 (\13)
97425 Ãxt_chunk_b\99s
97426 , (\13)
97427 Þdpd
97428 ->
97429 moved
97430 ,
97431
97432 359 (\13)
97433 Þdpd
97434 ->
97435 nboff
97436 , (\13)Þdpd->
97437 nb\99s
97438 ,
97439
97440 360 (\13)(
97441 Þdpd
97442 ->
97443 nb\99s
97444  - oldpd->
97445 nboff
97446 ));
97447
97448 362 
97449 pd
97450 ->
97451 nb\99s
97452  = 
97453 Þdpd
97454 ->nbits;
97455
97456 363 
97457 ¬g
97458 ->
97459 unþaimed
97460  = 
97461 Ãxt_chunk_b\99s
97462  - 
97463 ava\9e
97464 ;
97465
97466 364 
97467         `ASN_DEBUG
97468 ("!-Parent frame %ld,\84equire %ld, will claim %ld",
97469
97470 365 (\13)
97471 ava\9e
97472 , (\13)
97473 Ãxt_chunk_b\99s
97474 ,
97475
97476 366 (\13)
97477 ¬g
97478 ->
97479 unþaimed
97480 );
97481
97482 368 
97483 pd
97484 ->
97485 bufãr
97486  = 
97487 Þdpd
97488 ->buffer;
97489
97490 369 
97491 pd
97492 ->
97493 nboff
97494  = 
97495 Þdpd
97496 ->nboff;
97497
97498 370 
97499         `ASN_DEBUG
97500 ("Refilled\85d%s old%s",
97501
97502 371 
97503         `a¢_b\99_d©a_¡r\9ag
97504 (
97505 pd
97506 ),\87¢_b\99_d©a_¡r\9ag(
97507 Þdpd
97508 ));
97509
97510 373 
97511         }
97512 }
97513
97514 376 
97515         $³r_sk\9d_b\99s
97516 (
97517 a¢_³r_d©a_t
97518  *
97519 pd
97520\12
97521 sk\9d_nb\99s
97522 ) {
97523
97524 377 \12
97525 hasNÚZ\94oB\99s
97526  = 0;
97527
97528 378 \1f
97529 sk\9d_nb\99s
97530  > 0) {
97531
97532 379 \12
97533 sk\9d
97534 ;
97535
97536 382 if(
97537 sk\9d_nb\99s
97538  < 24)
97539
97540 383 
97541 sk\9d
97542  = 
97543 sk\9d_nb\99s
97544 ;
97545
97546 385 
97547 sk\9d
97548  = 24;
97549
97550 386 
97551 sk\9d_nb\99s
97552  -ð
97553 sk\9d
97554 ;
97555
97556 388 \1a
97557         `³r_g\91_ãw_b\99s
97558 (
97559 pd
97560
97561 sk\9d
97562 )) {
97563
97564 391 \a
97565 hasNÚZ\94oB\99s
97566  = 1; \ 6;
97567
97568 394 \15 
97569 hasNÚZ\94oB\99s
97570 ;
97571
97572 395 
97573         }
97574 }
97575
97576 397 \18
97577 a¢_dec_rv®_t
97578
97579
97580 398 
97581         $­\94\92_ty³_g\91_sim¶e
97582 (cڡ 
97583 a¢_codec_ùx_t
97584  *
97585 ùx
97586 ,
97587
97588 399 cڡ 
97589 a¢_TYPE_desü\9dtÜ_t
97590  *
97591 td
97592 ,
97593
97594 400 cڡ 
97595 a¢_³r_cÚ¡¿\9ats_t
97596  *
97597 cÚ¡¿\9ats
97598\1e**
97599 ¥\8c
97600
97601 a¢_³r_d©a_t
97602  *
97603 pd
97604 ) {
97605
97606 401 
97607 a¢_dec_rv®_t
97608  
97609 rv
97610 ;
97611
97612 402 
97613 ssize_t
97614  
97615 chunk_by\8bs
97616 ;
97617
97618 403 \12
97619 »³©
97620 ;
97621
97622 404 
97623 u\9at8_t
97624  *
97625 buf
97626  = 0;
97627
97628 405 
97629 size_t
97630  
97631 bufL\92
97632  = 0;
97633
97634 406 
97635 size_t
97636  
97637 bufSize
97638  = 0;
97639
97640 407 
97641 a¢_³r_d©a_t
97642  
97643 ¥d
97644 ;
97645
97646 408 
97647 size_t
97648  
97649 ·dd\9ag
97650 ;
97651
97652 410 
97653         `ASN__STACK_OVERFLOW_CHECK
97654 (
97655 ùx
97656 );
97657
97658 412 
97659         `ASN_DEBUG
97660 ("G\91t\9ag o³Àty³ %s...", 
97661 td
97662 ->
97663 Çme
97664 );
97665
97666 415 
97667 chunk_by\8bs
97668  = 
97669         `­\94_g\91_Ëngth
97670 (
97671 pd
97672 , -1, -1, &
97673 »³©
97674 );
97675
97676 416 if(
97677 chunk_by\8bs
97678  < 0) {
97679
97680 417 
97681         `FREEMEM
97682 (
97683 buf
97684 );
97685
97686 418 
97687 ASN__DECODE_STARVED
97688 ;
97689
97690 420 if(
97691 bufL\92
97692  + 
97693 chunk_by\8bs
97694  > 
97695 bufSize
97696 ) {
97697
97698 421 \1e*
97699 ±r
97700 ;
97701
97702 422 
97703 bufSize
97704  = 
97705 chunk_by\8bs
97706  + (bufSize << 2);
97707
97708 423 
97709 ±r
97710  = 
97711         `REALLOC
97712 (
97713 buf
97714
97715 bufSize
97716 );
97717
97718 424 if(!
97719 ±r
97720 ) {
97721
97722 425 
97723         `FREEMEM
97724 (
97725 buf
97726 );
97727
97728 426 
97729 ASN__DECODE_FAILED
97730 ;
97731
97732 428 
97733 buf
97734  = 
97735 ±r
97736 ;
97737
97738 430 if(
97739         `³r_g\91_mªy_b\99s
97740 (
97741 pd
97742
97743 buf
97744  + 
97745 bufL\92
97746 , 0, 
97747 chunk_by\8bs
97748  << 3)) {
97749
97750 431 
97751         `FREEMEM
97752 (
97753 buf
97754 );
97755
97756 432 
97757 ASN__DECODE_STARVED
97758 ;
97759
97760 434 
97761 bufL\92
97762  +ð
97763 chunk_by\8bs
97764 ;
97765
97766 435 } \1f
97767 »³©
97768 );
97769
97770 437 
97771         `ASN_DEBUG
97772 ("G\91t\9ag o³Àty³ % \92coded iÀ%ld by\8bs", 
97773 td
97774 ->
97775 Çme
97776 ,
97777
97778 438 (\13)
97779 bufL\92
97780 );
97781
97782 440 
97783         `mem£t
97784 (&
97785 ¥d
97786 , 0, \17(spd));
97787
97788 441 
97789 ¥d
97790 .
97791 bufãr
97792  = 
97793 buf
97794 ;
97795
97796 442 
97797 ¥d
97798 .
97799 nb\99s
97800  = 
97801 bufL\92
97802  << 3;
97803
97804 444 
97805         `ASN_DEBUG_INDENT_ADD
97806 (+4);
97807
97808 445 
97809 rv
97810  = 
97811 td
97812 ->
97813 Ý
97814 ->
97815         `­\94_decod\94
97816 (
97817 ùx
97818 ,\81d, 
97819 cÚ¡¿\9ats
97820
97821 ¥\8c
97822 , &
97823 ¥d
97824 );
97825
97826 446 
97827         `ASN_DEBUG_INDENT_ADD
97828 (-4);
97829
97830 448 if(
97831 rv
97832 .
97833 code
97834  =ð
97835 RC_OK
97836 ) {
97837
97838 450 
97839 ·dd\9ag
97840  = 
97841 ¥d
97842 .
97843 nb\99s
97844  - spd.
97845 nboff
97846 ;
97847
97848 451 ià(((
97849 ·dd\9ag
97850  > 0 &&\85adding < 8) ||
97851
97852 453 (
97853 ¥d
97854 .
97855 nboff
97856  =ð0 && spd.
97857 nb\99s
97858  =ð8 && spd.
97859 bufãr
97860  =ð
97861 buf
97862 )) &&
97863
97864 454 
97865         `³r_g\91_ãw_b\99s
97866 (&
97867 ¥d
97868
97869 ·dd\9ag
97870 ) == 0) {
97871
97872 456 
97873         `FREEMEM
97874 (
97875 buf
97876 );
97877
97878 457 \15 
97879 rv
97880 ;
97881
97882 459 
97883         `FREEMEM
97884 (
97885 buf
97886 );
97887
97888 460 if(
97889 ·dd\9ag
97890  >= 8) {
97891
97892 461 
97893         `ASN_DEBUG
97894 ("ToØÏrg\90·dd\9ag %d iÀÝ\92\81y³", (\12)
97895 ·dd\9ag
97896 );
97897
97898 462 
97899 ASN__DECODE_FAILED
97900 ;
97901
97902 464 
97903         `ASN_DEBUG
97904 ("No\85adding");
97905
97906 467 
97907         `FREEMEM
97908 (
97909 buf
97910 );
97911
97912 469 
97913 rv
97914 .
97915 code
97916  = 
97917 RC_FAIL
97918 ;
97919
97920 472 \15 
97921 rv
97922 ;
97923
97924 473 
97925         }
97926 }
97927
97928 476 
97929         $­\94\92_ty³_put
97930 (cڡ 
97931 a¢_TYPE_desü\9dtÜ_t
97932  *
97933 td
97934 ,
97935
97936 477 cڡ 
97937 a¢_³r_cÚ¡¿\9ats_t
97938  *
97939 cÚ¡¿\9ats
97940 ,
97941
97942 478 cڡ \1e*
97943 ¥\8c
97944
97945 a¢_³r_ou\8d_t
97946  *
97947 po
97948 ) {
97949
97950 479 \1e*
97951 buf
97952 ;
97953
97954 480 \1e*
97955 b±r
97956 ;
97957
97958 481 
97959 ssize_t
97960  
97961 size
97962 ;
97963
97964 482 
97965 size_t
97966  
97967 toGo
97968 ;
97969
97970 484 
97971         `ASN_DEBUG
97972 ("O³Àty³\85u\88% ...", 
97973 td
97974 ->
97975 Çme
97976 );
97977
97978 486 
97979 size
97980  = 
97981         `­\94_\92code_to_Ãw_bufãr
97982 (
97983 td
97984
97985 cÚ¡¿\9ats
97986
97987 ¥\8c
97988 , &
97989 buf
97990 );
97991
97992 487 if(
97993 size
97994  <= 0) \15 -1;
97995
97996 489 \ f
97997 b±r
97998  = 
97999 buf
98000
98001 toGo
98002  = 
98003 size
98004 ;\81oGo;) {
98005
98006 490 
98007 ssize_t
98008  
98009 maySave
98010  = 
98011         `­\94_put_Ëngth
98012 (
98013 po
98014 , -1, 
98015 toGo
98016 );
98017
98018 491 if(
98019 maySave
98020  < 0) \ 3;
98021
98022 492 if(
98023         `³r_put_mªy_b\99s
98024 (
98025 po
98026
98027 b±r
98028
98029 maySave
98030  * 8)) \ 3;
98031
98032 493 
98033 b±r
98034  = (\ 5*)b±¸+ 
98035 maySave
98036 ;
98037
98038 494 
98039 toGo
98040  -ð
98041 maySave
98042 ;
98043
98044 497 
98045         `FREEMEM
98046 (
98047 buf
98048 );
98049
98050 498 if(
98051 toGo
98052\15 -1;
98053
98054 500 
98055         `ASN_DEBUG
98056 ("Open\81ype\85ut %s of\86ength %ld + overhead (1byte?)",
98057
98058 501 
98059 td
98060 ->
98061 Çme
98062
98063 size
98064 );
98065
98066 504 
98067         }
98068 }
98069
98070 506 
98071 a¢_dec_rv®_t
98072
98073
98074 507 
98075         $­\94\92_ty³_g\91
98076 (cڡ 
98077 a¢_codec_ùx_t
98078  *
98079 ùx
98080 ,
98081
98082 508 cڡ 
98083 a¢_TYPE_desü\9dtÜ_t
98084  *
98085 td
98086 ,
98087
98088 509 cڡ 
98089 a¢_³r_cÚ¡¿\9ats_t
98090  *
98091 cÚ¡¿\9ats
98092 ,
98093
98094 510 \1e**
98095 ¥\8c
98096
98097 a¢_³r_d©a_t
98098  *
98099 pd
98100 ) {
98101
98102 512 \15 
98103         `­\94\92_ty³_g\91_sim¶e
98104 (
98105 ùx
98106
98107 td
98108
98109 cÚ¡¿\9ats
98110
98111 ¥\8c
98112
98113 pd
98114 );
98115
98116 513 
98117         }
98118 }
98119
98120 516 
98121         $­\94\92_ty³_sk\9d
98122 (cڡ 
98123 a¢_codec_ùx_t
98124  *
98125 ùx
98126
98127 a¢_³r_d©a_t
98128  *
98129 pd
98130 ) {
98131
98132 517 
98133 a¢_TYPE_desü\9dtÜ_t
98134  
98135 s_td
98136 ;
98137
98138 518 
98139 a¢_dec_rv®_t
98140  
98141 rv
98142 ;
98143
98144 519 
98145 a¢_TYPE_Ý\94©iÚ_t
98146  
98147 Ý_t
98148 ;
98149
98150 521 
98151         `mem£t
98152 (&
98153 Ý_t
98154 , 0, \17(op_t));
98155
98156 522 
98157 s_td
98158 .
98159 Çme
98160  = "<unknown\83xtension>";
98161
98162 523 
98163 s_td
98164 .
98165 Ý
98166  = &
98167 Ý_t
98168 ;
98169
98170 524 
98171 s_td
98172 .
98173 Ý
98174 ->
98175 ­\94_decod\94
98176  = 
98177 u³r_sÙ_suck
98178 ;
98179
98180 526 
98181 rv
98182  = 
98183         `­\94\92_ty³_g\91
98184 (
98185 ùx
98186 , &
98187 s_td
98188 , 0, 0, 
98189 pd
98190 );
98191
98192 527 if(
98193 rv
98194 .
98195 code
98196  !ð
98197 RC_OK
98198 )
98199
98200 531 
98201         }
98202 }
98203
98204         @per_support.c
98205
98206\ 2
98207         ~<a¢_sy¡em.h
98208 >
98209
98210\ 2
98211         ~<a¢_\9a\8bº®.h
98212 >
98213
98214\ 2
98215         ~<³r_suµÜt.h
98216 >
98217
98218 13 
98219 ssize_t
98220
98221
98222 14 
98223         $u³r_g\91_Ëngth
98224 (
98225 a¢_³r_d©a_t
98226  *
98227 pd
98228\12
98229 eb\99s
98230
98231 size_t
98232  
98233 low\94_bound
98234 ,
98235
98236 15 \12*
98237 »³©
98238 ) {
98239
98240 16 
98241 ssize_t
98242  
98243 v®ue
98244 ;
98245
98246 18 *
98247 »³©
98248  = 0;
98249
98250 21 if(
98251 eb\99s
98252  >= 0 &&\83bits <= 16) {
98253
98254 22 
98255 v®ue
98256  = 
98257         `³r_g\91_ãw_b\99s
98258 (
98259 pd
98260
98261 eb\99s
98262 );
98263
98264 23 if(
98265 v®ue
98266  >ð0èv®u\90
98267 low\94_bound
98268 ;
98269
98270 24 \15 
98271 v®ue
98272 ;
98273
98274 27 
98275 v®ue
98276  = 
98277         `³r_g\91_ãw_b\99s
98278 (
98279 pd
98280 , 8);
98281
98282 28 if((
98283 v®ue
98284  & 0x80) == 0) {
98285
98286 29 \15 (
98287 v®ue
98288  & 0x7F);
98289
98290 30 } \vif((
98291 v®ue
98292  & 0x40) == 0) {
98293
98294 32 
98295 v®ue
98296  = ((v®u\90& 0x3fè<< 8è| 
98297         `³r_g\91_ãw_b\99s
98298 (
98299 pd
98300 , 8);
98301
98302 33 \15 
98303 v®ue
98304 ;
98305
98306 34 } \vif(
98307 v®ue
98308  < 0) {
98309
98310 35 
98311         `ASN_DEBUG
98312 ("END of stream\84eached for PER");
98313
98314 38 
98315 v®ue
98316  &= 0x3f;
98317
98318 39 if(
98319 v®ue
98320  < 1 || value > 4) {
98321
98322 42 *
98323 »³©
98324  = 1;
98325
98326 43 \15 (16384 * 
98327 v®ue
98328 );
98329
98330 44 
98331         }
98332 }
98333
98334 51 
98335 ssize_t
98336
98337
98338 52 
98339         $u³r_g\91_n¦\92gth
98340 (
98341 a¢_³r_d©a_t
98342  *
98343 pd
98344 ) {
98345
98346 53 
98347 ssize_t
98348  
98349 Ëngth
98350 ;
98351
98352 55 
98353         `ASN_DEBUG
98354 ("Getting\82ormally small\86ength");
98355
98356 57 if(
98357         `³r_g\91_ãw_b\99s
98358 (
98359 pd
98360 , 1) == 0) {
98361
98362 58 
98363 Ëngth
98364  = 
98365         `³r_g\91_ãw_b\99s
98366 (
98367 pd
98368 , 6) + 1;
98369
98370 59 if(
98371 Ëngth
98372  <= 0) \15 -1;
98373
98374 60 
98375         `ASN_DEBUG
98376 ("l=%d", (\12)
98377 Ëngth
98378 );
98379
98380 61 \15 
98381 Ëngth
98382 ;
98383
98384 63 \12
98385 »³©
98386 ;
98387
98388 64 
98389 Ëngth
98390  = 
98391         `u³r_g\91_Ëngth
98392 (
98393 pd
98394 , -1, 0, &
98395 »³©
98396 );
98397
98398 65 if(
98399 Ëngth
98400  >ð0 && !
98401 »³©
98402\15\86ength;
98403
98404 68 
98405         }
98406 }
98407
98408 74 
98409 ssize_t
98410
98411
98412 75 
98413         $u³r_g\91_n¢nwn
98414 (
98415 a¢_³r_d©a_t
98416  *
98417 pd
98418 ) {
98419
98420 76 
98421 ssize_t
98422  
98423 v®ue
98424 ;
98425
98426 78 
98427 v®ue
98428  = 
98429         `³r_g\91_ãw_b\99s
98430 (
98431 pd
98432 , 7);
98433
98434 79 if(
98435 v®ue
98436  & 64) {
98437
98438 80 
98439 v®ue
98440  &= 63;
98441
98442 81 
98443 v®ue
98444  <<= 2;
98445
98446 82 
98447 v®ue
98448  |ð
98449         `³r_g\91_ãw_b\99s
98450 (
98451 pd
98452 , 2);
98453
98454 83 if(
98455 v®ue
98456  & 128)
98457
98458 85 if(
98459 v®ue
98460  == 0)
98461
98462 87 if(
98463 v®ue
98464  >= 3)
98465
98466 89 
98467 v®ue
98468  = 
98469         `³r_g\91_ãw_b\99s
98470 (
98471 pd
98472 , 8 * value);
98473
98474 90 \15 
98475 v®ue
98476 ;
98477
98478 93 \15 
98479 v®ue
98480 ;
98481
98482 94 
98483         }
98484 }
98485
98486 101 
98487         $u³r_put_n¢nwn
98488 (
98489 a¢_³r_ou\8d_t
98490  *
98491 po
98492\12
98493 n
98494 ) {
98495
98496 102 \12
98497 by\8bs
98498 ;
98499
98500 104 if(
98501 n
98502  <= 63) {
98503
98504 105 if(
98505 n
98506  < 0) \15 -1;
98507
98508 106 \15 
98509         `³r_put_ãw_b\99s
98510 (
98511 po
98512
98513 n
98514 , 7);
98515
98516 108 if(
98517 n
98518  < 256)
98519
98520 109 
98521 by\8bs
98522  = 1;
98523
98524 110 \vif(
98525 n
98526  < 65536)
98527
98528 111 
98529 by\8bs
98530  = 2;
98531
98532 112 \vif(
98533 n
98534  < 256 * 65536)
98535
98536 113 
98537 by\8bs
98538  = 3;
98539
98540 116 if(
98541         `³r_put_ãw_b\99s
98542 (
98543 po
98544
98545 by\8bs
98546 , 8))
98547
98548 119 \15 
98549         `³r_put_ãw_b\99s
98550 (
98551 po
98552
98553 n
98554 , 8 * 
98555 by\8bs
98556 );
98557
98558 120 
98559         }
98560 }
98561
98562 124 \12
98563         $u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
98564 (
98565 a¢_³r_d©a_t
98566  *
98567 pd
98568\1d\13*
98569 out_v®ue
98570\12
98571 nb\99s
98572 ) {
98573
98574 125 \1d\13
98575 lh®f
98576 ;
98577
98578 126 \13
98579 h®f
98580 ;
98581
98582 128 if(
98583 nb\99s
98584  <= 31) {
98585
98586 129 
98587 h®f
98588  = 
98589         `³r_g\91_ãw_b\99s
98590 (
98591 pd
98592
98593 nb\99s
98594 );
98595
98596 130 if(
98597 h®f
98598  < 0) \15 -1;
98599
98600 131 *
98601 out_v®ue
98602  = 
98603 h®f
98604 ;
98605
98606 135 if((
98607 size_t
98608 )
98609 nb\99s
98610  > 8 * \17(*
98611 out_v®ue
98612 ))
98613
98614 138 
98615 h®f
98616  = 
98617         `³r_g\91_ãw_b\99s
98618 (
98619 pd
98620 , 31);
98621
98622 139 if(
98623 h®f
98624  < 0) \15 -1;
98625
98626 141 if(
98627         `u³r_g\91_cÚ¡¿\9aed_whÞe_numb\94
98628 (
98629 pd
98630 , &
98631 lh®f
98632
98633 nb\99s
98634  - 31))
98635
98636 144 *
98637 out_v®ue
98638  = ((\1d\13)
98639 h®f
98640  << (
98641 nb\99s
98642  - 31)è| 
98643 lh®f
98644 ;
98645
98646 146 
98647         }
98648 }
98649
98650 151 
98651         $u³r_put_cÚ¡¿\9aed_whÞe_numb\94_u
98652 (
98653 a¢_³r_ou\8d_t
98654  *
98655 po
98656\1d\13
98657 v
98658 ,
98659
98660 152 \12
98661 nb\99s
98662 ) {
98663
98664 153 if(
98665 nb\99s
98666  <= 31) {
98667
98668 154 \15 
98669         `³r_put_ãw_b\99s
98670 (
98671 po
98672
98673 v
98674
98675 nb\99s
98676 );
98677
98678 157 if(
98679         `u³r_put_cÚ¡¿\9aed_whÞe_numb\94_u
98680 (
98681 po
98682
98683 v
98684  >> 31, 
98685 nb\99s
98686  - 31))
98687
98688 159 \15 
98689         `³r_put_ãw_b\99s
98690 (
98691 po
98692
98693 v
98694 , 31);
98695
98696 161 
98697         }
98698 }
98699
98700 167 
98701 ssize_t
98702
98703
98704 168 
98705         $u³r_put_Ëngth
98706 (
98707 a¢_³r_ou\8d_t
98708  *
98709 po
98710
98711 size_t
98712  
98713 Ëngth
98714\12*
98715 Ãed_eom
98716 ) {
98717
98718 169 \12
98719 dummy
98720  = 0;
98721
98722 170 if(!
98723 Ãed_eom
98724 èÃed_eom = &
98725 dummy
98726 ;
98727
98728 172 if(
98729 Ëngth
98730  <= 127) {
98731
98732 173 *
98733 Ãed_eom
98734  = 0;
98735
98736 174 \15 
98737         `³r_put_ãw_b\99s
98738 (
98739 po
98740
98741 Ëngth
98742 , 8)
98743
98744 175 ? -1 : (
98745 ssize_t
98746 )
98747 Ëngth
98748 ;
98749
98750 176 } \vif(
98751 Ëngth
98752  < 16384) {
98753
98754 177 *
98755 Ãed_eom
98756  = 0;
98757
98758 178 \15 
98759         `³r_put_ãw_b\99s
98760 (
98761 po
98762
98763 Ëngth
98764 |0x8000, 16)
98765
98766 179 ? -1 : (
98767 ssize_t
98768 )
98769 Ëngth
98770 ;
98771
98772 182 *
98773 Ãed_eom
98774  = 0 =ð(
98775 Ëngth
98776  & 16383);
98777
98778 183 
98779 Ëngth
98780  >>= 14;
98781
98782 184 if(
98783 Ëngth
98784  > 4) {
98785
98786 185 *
98787 Ãed_eom
98788  = 0;
98789
98790 186 
98791 Ëngth
98792  = 4;
98793
98794 189 \15 
98795         `³r_put_ãw_b\99s
98796 (
98797 po
98798 , 0xC0 | 
98799 Ëngth
98800 , 8)
98801
98802 190 ? -1 : (
98803 ssize_t
98804 )(
98805 Ëngth
98806  << 14);
98807
98808 192 
98809         }
98810 }
98811
98812 201 
98813         $u³r_put_n¦\92gth
98814 (
98815 a¢_³r_ou\8d_t
98816  *
98817 po
98818
98819 size_t
98820  
98821 Ëngth
98822 ) {
98823
98824 202 if(
98825 Ëngth
98826  <= 64) {
98827
98828 204 if(
98829 Ëngth
98830  == 0) \15 -1;
98831
98832 205 \15 
98833         `³r_put_ãw_b\99s
98834 (
98835 po
98836
98837 Ëngth
98838  - 1, 7) ? -1 : 0;
98839
98840 207 \12
98841 Ãed_eom
98842  = 0;
98843
98844 208 if(
98845         `u³r_put_Ëngth
98846 (
98847 po
98848
98849 Ëngth
98850 , &
98851 Ãed_eom
98852 è!ð(
98853 ssize_t
98854 )length
98855
98856 209 || 
98857 Ãed_eom
98858 ) {
98859
98860 216 
98861         }
98862 }
98863
98864 219 
98865         $³r__lÚg_¿nge
98866 (\13
98867 lb
98868\13
98869 ub
98870\1d\13*
98871 ¿nge_r
98872 ) {
98873
98874 220 \1d\13
98875 bounds_¿nge
98876 ;
98877
98878 221 if((
98879 ub
98880  < 0è=ð(
98881 lb
98882  < 0)) {
98883
98884 222 
98885 bounds_¿nge
98886  = 
98887 ub
98888  - 
98889 lb
98890 ;
98891
98892 223 } \vif(
98893 lb
98894  < 0) {
98895
98896 224 
98897         `as£¹
98898 (
98899 ub
98900  >= 0);
98901
98902 225 
98903 bounds_¿nge
98904  = 1 + ((\1d\13)
98905 ub
98906  + (\1d\13)-(
98907 lb
98908  + 1));
98909
98910 227 
98911         `as£¹
98912 (!"Unreachable");
98913
98914 230 *
98915 ¿nge_r
98916  = 
98917 bounds_¿nge
98918 ;
98919
98920 232 
98921         }
98922 }
98923
98924 235 
98925         $³r_lÚg_¿nge_»ba£
98926 (\13
98927 v
98928\13
98929 lb
98930\13
98931 ub
98932\1d\13*
98933 ou\8dut
98934 ) {
98935
98936 236 \1d\13
98937 ¿nge
98938 ;
98939
98940 238 
98941         `as£¹
98942 (
98943 lb
98944  <ð
98945 ub
98946 );
98947
98948 240 if(
98949 v
98950  < 
98951 lb
98952  || v > 
98953 ub
98954  || 
98955         `³r__lÚg_¿nge
98956 Öb, ub, &
98957 ¿nge
98958 ) < 0) {
98959
98960 252 if((
98961 v
98962  < 0è=ð(
98963 lb
98964  < 0)) {
98965
98966 253 *
98967 ou\8dut
98968  = 
98969 v
98970 -
98971 lb
98972 ;
98973
98974 255 } \vif(
98975 v
98976  < 0) {
98977
98978 256 \1d\13
98979 »ba£d
98980  = 1 + (\1d\13)-(
98981 v
98982 +1è+ (\1d\13)
98983 lb
98984 ;
98985
98986 257 
98987         `as£¹
98988 (
98989 »ba£d
98990  <ð
98991 ¿nge
98992 );
98993
98994 258 *
98995 ou\8dut
98996  = 
98997 »ba£d
98998 ;
98999
99000 260 } \vif(
99001 lb
99002  < 0) {
99003
99004 261 \1d\13
99005 »ba£d
99006  = 1 + (\1d\13)-(
99007 lb
99008 +1è+ (\1d\13)
99009 v
99010 ;
99011
99012 262 
99013         `as£¹
99014 (
99015 »ba£d
99016  <ð
99017 ¿nge
99018 );
99019
99020 263 *
99021 ou\8dut
99022  = 
99023 »ba£d
99024 ;
99025
99026 266 
99027         `as£¹
99028 (!"Unreachable");
99029
99030 269 
99031         }
99032 }
99033
99034 272 
99035         $³r_lÚg_¿nge_uÄeba£
99036 (\1d\13
99037 \9ap
99038\13
99039 lb
99040\13
99041 ub
99042\13*
99043 ou\8d
99044 ) {
99045
99046 273 \1d\13
99047 ¿nge
99048 ;
99049
99050 275 if(
99051         `³r__lÚg_¿nge
99052 (
99053 lb
99054
99055 ub
99056 , &
99057 ¿nge
99058 ) != 0) {
99059
99060 279 if(
99061 \9ap
99062  > 
99063 ¿nge
99064 ) {
99065
99066 288 if(
99067 \9ap
99068  <ð
99069 LONG_MAX
99070 ) {
99071
99072 289 *
99073 ou\8d
99074  = (\13)
99075 \9ap
99076  + 
99077 lb
99078 ;
99079
99080 291 *
99081 ou\8d
99082  = (
99083 lb
99084  + 
99085 LONG_MAX
99086  + 1è+ (\13)((
99087 \9ap
99088  - LONG_MAX) - 1);
99089
99090 295 
99091         }
99092 }
99093
99094 297 
99095 \9at32_t
99096
99097
99098 298 
99099         $­\94_g\91_®ign
99100 (
99101 a¢_³r_d©a_t
99102  *
99103 pd
99104 ) {
99105
99106 300 if(
99107 pd
99108 ->
99109 nboff
99110  & 0x7) {
99111
99112 301 
99113         `ASN_DEBUG
99114 ("Align\9ag %ld b\99s", 8 - ((\1d\13)
99115 pd
99116 ->
99117 nboff
99118  & 0x7));
99119
99120 302 \15 
99121         `³r_g\91_ãw_b\99s
99122 (
99123 pd
99124 , 8 - (pd->
99125 nboff
99126  & 0x7));
99127
99128 305 
99129         }
99130 }
99131
99132 307 
99133 ssize_t
99134
99135
99136 308 
99137         $­\94_g\91_Ëngth
99138 (
99139 a¢_³r_d©a_t
99140  *
99141 pd
99142\12
99143 ¿nge
99144\12
99145 eb\99s
99146\12*
99147 »³©
99148 ) {
99149
99150 309 
99151 ssize_t
99152  
99153 v®ue
99154 ;
99155
99156 311 *
99157 »³©
99158  = 0;
99159
99160 314 ià(
99161 eb\99s
99162  >= 0) {
99163
99164 315 ià(
99165 ¿nge
99166  <= 65536 &&\84ange >= 0)
99167
99168 316 \15 
99169         `­\94_g\91_n¢nwn
99170 (
99171 pd
99172
99173 ¿nge
99174 );
99175
99176 319 ià(
99177         `­\94_g\91_®ign
99178 (
99179 pd
99180 ) < 0)
99181
99182 322 if(
99183 eb\99s
99184  >ð0è\15 
99185         `³r_g\91_ãw_b\99s
99186 (
99187 pd
99188 ,\83bits);
99189
99190 324 
99191 v®ue
99192  = 
99193         `³r_g\91_ãw_b\99s
99194 (
99195 pd
99196 , 8);
99197
99198 325 if(
99199 v®ue
99200  < 0) \15 -1;
99201
99202 326 if((
99203 v®ue
99204  & 128) == 0)
99205
99206 327 \15 (
99207 v®ue
99208  & 0x7F);
99209
99210 328 if((
99211 v®ue
99212  & 64) == 0) {
99213
99214 329 
99215 v®ue
99216  = ((v®u\90& 63è<< 8è| 
99217         `³r_g\91_ãw_b\99s
99218 (
99219 pd
99220 , 8);
99221
99222 330 if(
99223 v®ue
99224  < 0) \15 -1;
99225
99226 331 \15 
99227 v®ue
99228 ;
99229
99230 333 
99231 v®ue
99232  &= 63;
99233
99234 334 if(
99235 v®ue
99236  < 1 || value > 4)
99237
99238 336 *
99239 »³©
99240  = 1;
99241
99242 337 \15 (16384 * 
99243 v®ue
99244 );
99245
99246 338 
99247         }
99248 }
99249
99250 340 
99251 ssize_t
99252
99253
99254 341 
99255         $­\94_g\91_n¦\92gth
99256 (
99257 a¢_³r_d©a_t
99258  *
99259 pd
99260 ) {
99261
99262 342 
99263 ssize_t
99264  
99265 Ëngth
99266 ;
99267
99268 344 
99269         `ASN_DEBUG
99270 ("Getting\82ormally small\86ength");
99271
99272 346 if(
99273         `³r_g\91_ãw_b\99s
99274 (
99275 pd
99276 , 1) == 0) {
99277
99278 347 
99279 Ëngth
99280  = 
99281         `³r_g\91_ãw_b\99s
99282 (
99283 pd
99284 , 6) + 1;
99285
99286 348 if(
99287 Ëngth
99288  <= 0) \15 -1;
99289
99290 349 
99291         `ASN_DEBUG
99292 ("l=%ld", 
99293 Ëngth
99294 );
99295
99296 350 \15 
99297 Ëngth
99298 ;
99299
99300 352 \12
99301 »³©
99302 ;
99303
99304 353 
99305 Ëngth
99306  = 
99307         `­\94_g\91_Ëngth
99308 (
99309 pd
99310 , -1, -1, &
99311 »³©
99312 );
99313
99314 354 if(
99315 Ëngth
99316  >ð0 && !
99317 »³©
99318\15\86ength;
99319
99320 357 
99321         }
99322 }
99323
99324 359 
99325 ssize_t
99326
99327
99328 360 
99329         $­\94_g\91_n¢nwn
99330 (
99331 a¢_³r_d©a_t
99332  *
99333 pd
99334\12
99335 ¿nge
99336 ) {
99337
99338 361 
99339 ssize_t
99340  
99341 v®ue
99342 ;
99343
99344 362 \12
99345 by\8bs
99346  = 0;
99347
99348 364 
99349         `ASN_DEBUG
99350 ("g\91t\9ag\82¢nwÀw\99h\84ªg\90%d", 
99351 ¿nge
99352 );
99353
99354 366 if(
99355 ¿nge
99356  <= 255) {
99357
99358 367 \12
99359 i
99360 ;
99361
99362 369 ià(
99363 ¿nge
99364  < 0) \15 -1;
99365
99366 371 \ f
99367 i
99368  = 1; i <= 8; i++) {
99369
99370 372 \12
99371\94
99372  = 1 << 
99373 i
99374 ;
99375
99376 373 ià(
99377\94
99378  >ð
99379 ¿nge
99380 )
99381
99382 376 
99383 v®ue
99384  = 
99385         `³r_g\91_ãw_b\99s
99386 (
99387 pd
99388
99389 i
99390 );
99391
99392 377 \15 
99393 v®ue
99394 ;
99395
99396 378 } \vià(
99397 ¿nge
99398  == 256){
99399
99400 380 
99401 by\8bs
99402  = 1;
99403
99404 381 } \vià(
99405 ¿nge
99406  <= 65536) {
99407
99408 383 
99409 by\8bs
99410  = 2;
99411
99412 387 ià(
99413         `­\94_g\91_®ign
99414 (
99415 pd
99416 ) < 0)
99417
99418 389 
99419 v®ue
99420  = 
99421         `³r_g\91_ãw_b\99s
99422 (
99423 pd
99424 , 8 * 
99425 by\8bs
99426 );
99427
99428 390 \15 
99429 v®ue
99430 ;
99431
99432 391 
99433         }
99434 }
99435
99436 393 \12
99437         $­\94_put_®ign
99438 (
99439 a¢_³r_ou\8d_t
99440  *
99441 po
99442 ) {
99443
99444 395 if(
99445 po
99446 ->
99447 nboff
99448  & 0x7) {
99449
99450 396 
99451         `ASN_DEBUG
99452 ("Align\9ag %ld b\99s", 8 - ((\1d\13)
99453 po
99454 ->
99455 nboff
99456  & 0x7));
99457
99458 397 if(
99459         `³r_put_ãw_b\99s
99460 (
99461 po
99462 , 0x00, (8 - (po->
99463 nboff
99464  & 0x7))))
99465
99466 401 
99467         }
99468 }
99469
99470 403 
99471 ssize_t
99472
99473
99474 404 
99475         $­\94_put_Ëngth
99476 (
99477 a¢_³r_ou\8d_t
99478  *
99479 po
99480\12
99481 ¿nge
99482
99483 size_t
99484  
99485 Ëngth
99486 ) {
99487
99488 406 
99489         `ASN_DEBUG
99490 ("APER\85u\88Ëngth %zu w\99h\84ªg\90%d", 
99491 Ëngth
99492
99493 ¿nge
99494 );
99495
99496 409 ià(
99497 ¿nge
99498  <= 65536 &&\84ange >= 0)
99499
99500 410 \15 
99501         `­\94_put_n¢nwn
99502 (
99503 po
99504
99505 ¿nge
99506
99507 Ëngth
99508 );
99509
99510 412 ià(
99511         `­\94_put_®ign
99512 (
99513 po
99514 ) < 0)
99515
99516 415 if(
99517 Ëngth
99518  <= 127) {
99519
99520 416 \15 
99521         `³r_put_ãw_b\99s
99522 (
99523 po
99524
99525 Ëngth
99526 , 8)
99527
99528 417 ? -1 : (
99529 ssize_t
99530 )
99531 Ëngth
99532 ;
99533
99534 419 \vif(
99535 Ëngth
99536  < 16384)
99537
99538 420 \15 
99539         `³r_put_ãw_b\99s
99540 (
99541 po
99542
99543 Ëngth
99544 |0x8000, 16)
99545
99546 421 ? -1 : (
99547 ssize_t
99548 )
99549 Ëngth
99550 ;
99551
99552 423 
99553 Ëngth
99554  >>= 14;
99555
99556 424 if(
99557 Ëngth
99558  > 4)\86ength = 4;
99559
99560 426 \15 
99561         `³r_put_ãw_b\99s
99562 (
99563 po
99564 , 0xC0 | 
99565 Ëngth
99566 , 8)
99567
99568 427 ? -1 : (
99569 ssize_t
99570 )(
99571 Ëngth
99572  << 14);
99573
99574 428 
99575         }
99576 }
99577
99578 432 
99579         $­\94_put_n¦\92gth
99580 (
99581 a¢_³r_ou\8d_t
99582  *
99583 po
99584
99585 size_t
99586  
99587 Ëngth
99588 ) {
99589
99590 434 if(
99591 Ëngth
99592  <= 64) {
99593
99594 436 if(
99595 Ëngth
99596  == 0) \15 -1;
99597
99598 437 \15 
99599         `³r_put_ãw_b\99s
99600 (
99601 po
99602
99603 Ëngth
99604 -1, 7) ? -1 : 0;
99605
99606 439 if(
99607         `­\94_put_Ëngth
99608 (
99609 po
99610 , -1, 
99611 Ëngth
99612 è!ð(
99613 ssize_t
99614 )length) {
99615
99616 446 
99617         }
99618 }
99619
99620 449 
99621         $­\94_put_n¢nwn
99622 (
99623 a¢_³r_ou\8d_t
99624  *
99625 po
99626\12
99627 ¿nge
99628\12
99629 numb\94
99630 ) {
99631
99632 450 \12
99633 by\8bs
99634 ;
99635
99636 452 
99637         `ASN_DEBUG
99638 ("­\94\85u\88n¢nwÀ%d w\99h\84ªg\90%d", 
99639 numb\94
99640
99641 ¿nge
99642 );
99643
99644 454 if(
99645 ¿nge
99646  < 0) {
99647
99648 455 \12
99649 i
99650 ;
99651
99652 456 \ f
99653 i
99654  = 1; ; i++) {
99655
99656 457 \12
99657 b\99s
99658  = 1 << (8 * 
99659 i
99660 );
99661
99662 458 ià(
99663 numb\94
99664  <ð
99665 b\99s
99666 )
99667
99668 461 
99669 by\8bs
99670  = 
99671 i
99672 ;
99673
99674 462 
99675         `as£¹
99676 (
99677 i
99678  <= 4);
99679
99680 464 if(
99681 ¿nge
99682  <= 255) {
99683
99684 465 \12
99685 i
99686 ;
99687
99688 466 \ f
99689 i
99690  = 1; i <= 8; i++) {
99691
99692 467 \12
99693 b\99s
99694  = 1 << 
99695 i
99696 ;
99697
99698 468 ià(
99699 ¿nge
99700  <ð
99701 b\99s
99702 )
99703
99704 471 \15 
99705         `³r_put_ãw_b\99s
99706 (
99707 po
99708
99709 numb\94
99710
99711 i
99712 );
99713
99714 472 } \vif(
99715 ¿nge
99716  == 256) {
99717
99718 473 
99719 by\8bs
99720  = 1;
99721
99722 474 } \vif(
99723 ¿nge
99724  <= 65536) {
99725
99726 475 
99727 by\8bs
99728  = 2;
99729
99730 477 \12
99731 i
99732 ;
99733
99734 478 \ f
99735 i
99736  = 1; ; i++) {
99737
99738 479 \12
99739 b\99s
99740  = 1 << (8 * 
99741 i
99742 );
99743
99744 480 ià(
99745 ¿nge
99746  <ð
99747 b\99s
99748 )
99749
99750 483 
99751         `as£¹
99752 (
99753 i
99754  <= 4);
99755
99756 484 
99757 by\8bs
99758  = 
99759 i
99760 ;
99761
99762 486 if(
99763         `­\94_put_®ign
99764 (
99765 po
99766 ) < 0)
99767
99768 491 \15 
99769         `³r_put_ãw_b\99s
99770 (
99771 po
99772
99773 numb\94
99774 , 8 * 
99775 by\8bs
99776 );
99777
99778 492 
99779         }
99780 }
99781
99782         @xer_decoder.c
99783
99784\ 2
99785         ~<a¢_­¶iÿtiÚ.h
99786 >
99787
99788\ 2
99789         ~<a¢_\9a\8bº®.h
99790 >
99791
99792\ 2
99793         ~<x\94_suµÜt.h
99794 >
99795
99796 13 
99797 a¢_dec_rv®_t
99798
99799
99800 14 
99801         $x\94_decode
99802 (cڡ 
99803 a¢_codec_ùx_t
99804  *
99805 Ýt_codec_ùx
99806 ,
99807
99808 15 cڡ 
99809 a¢_TYPE_desü\9dtÜ_t
99810  *
99811 td
99812\1e**
99813 ¡ruù_±r
99814 ,
99815
99816 16 cڡ \1e*
99817 bufãr
99818
99819 size_t
99820  
99821 size
99822 ) {
99823
99824 17 
99825 a¢_codec_ùx_t
99826  
99827 s_codec_ùx
99828 ;
99829
99830 23 if(
99831 Ýt_codec_ùx
99832 ) {
99833
99834 24 if(
99835 Ýt_codec_ùx
99836 ->
99837 max_¡ack_size
99838 ) {
99839
99840 25 
99841 s_codec_ùx
99842  = *
99843 Ýt_codec_ùx
99844 ;
99845
99846 26 
99847 Ýt_codec_ùx
99848  = &
99849 s_codec_ùx
99850 ;
99851
99852 30 
99853         `mem£t
99854 (&
99855 s_codec_ùx
99856 , 0, \17(s_codec_ctx));
99857
99858 31 
99859 s_codec_ùx
99860 .
99861 max_¡ack_size
99862  = 
99863 ASN__DEFAULT_STACK_MAX
99864 ;
99865
99866 32 
99867 Ýt_codec_ùx
99868  = &
99869 s_codec_ùx
99870 ;
99871
99872 38 \15 
99873 td
99874 ->
99875 Ý
99876 ->
99877         `x\94_decod\94
99878 (
99879 Ýt_codec_ùx
99880 ,\81d, 
99881 ¡ruù_±r
99882 , 0, 
99883 bufãr
99884
99885 size
99886 );
99887
99888 39 
99889         }
99890 }
99891
99892 43 \19
99893         sx\94__cb_¬g
99894  {
99895
99896 44 
99897 pxml_chunk_ty³_e
99898  
99899         mchunk_ty³
99900 ;
99901
99902 45 
99903 size_t
99904  
99905         mchunk_size
99906 ;
99907
99908 46 cڡ \1e*
99909         mchunk_buf
99910 ;
99911
99912 47 \12
99913         mÿÎback_nÙ_\9avoked
99914 ;
99915
99916 51 
99917         $x\94__tok\92_cb
99918 (
99919 pxml_chunk_ty³_e
99920  
99921 ty³
99922 , cڡ \1e*
99923 _chunk_d©a
99924
99925 size_t
99926  
99927 _chunk_size
99928\1e*
99929 key
99930 ) {
99931
99932 52 \19
99933 x\94__cb_¬g
99934  *
99935 ¬g
99936  = (\19x\94__cb_¬g *)
99937 key
99938 ;
99939
99940 53 
99941 ¬g
99942 ->
99943 chunk_ty³
99944  = 
99945 ty³
99946 ;
99947
99948 54 
99949 ¬g
99950 ->
99951 chunk_size
99952  = 
99953 _chunk_size
99954 ;
99955
99956 55 
99957 ¬g
99958 ->
99959 chunk_buf
99960  = 
99961 _chunk_d©a
99962 ;
99963
99964 56 
99965 ¬g
99966 ->
99967 ÿÎback_nÙ_\9avoked
99968  = 0;
99969
99970 58 
99971         }
99972 }
99973
99974 63 
99975 ssize_t
99976
99977
99978 64 
99979         $x\94_Ãxt_tok\92
99980 (\12*
99981 ¡©eCÚ\8bxt
99982 , cڡ \1e*
99983 bufãr
99984
99985 size_t
99986  
99987 size
99988
99989 px\94_chunk_ty³_e
99990  *
99991 ch_ty³
99992 ) {
99993
99994 65 \19
99995 x\94__cb_¬g
99996  
99997 ¬g
99998 ;
99999
100000 66 \12
100001 Ãw_¡©eCÚ\8bxt
100002  = *
100003 ¡©eCÚ\8bxt
100004 ;
100005
100006 67 
100007 ssize_t
100008  
100009 »t
100010 ;
100011
100012 69 
100013 ¬g
100014 .
100015 ÿÎback_nÙ_\9avoked
100016  = 1;
100017
100018 70 
100019 »t
100020  = 
100021         `pxml_·r£
100022 (&
100023 Ãw_¡©eCÚ\8bxt
100024
100025 bufãr
100026
100027 size
100028
100029 x\94__tok\92_cb
100030 , &
100031 ¬g
100032 );
100033
100034 71 if(
100035 »t
100036  < 0) \15 -1;
100037
100038 72 if(
100039 ¬g
100040 .
100041 ÿÎback_nÙ_\9avoked
100042 ) {
100043
100044 73 
100045         `as£¹
100046 (
100047 »t
100048  == 0);
100049
100050 74 *
100051 ch_ty³
100052  = 
100053 PXER_WMORE
100054 ;
100055
100056 77 
100057         `as£¹
100058 (
100059 ¬g
100060 .
100061 chunk_size
100062 );
100063
100064 78 
100065         `as£¹
100066 (
100067 ¬g
100068 .
100069 chunk_buf
100070  =ð
100071 bufãr
100072 );
100073
100074 84 \1a
100075 ¬g
100076 .
100077 chunk_ty³
100078 ) {
100079
100080 85 \ 4
100081 PXML_TEXT
100082 :
100083
100084 86 *
100085 ch_ty³
100086  = 
100087 PXER_TEXT
100088 ;
100089
100090 88 \ 4
100091 PXML_TAG
100092 :
100093
100094 89 *
100095 ch_ty³
100096  = 
100097 PXER_WMORE
100098 ;
100099
100100 91 \ 4
100101 PXML_TAG_END
100102 :
100103
100104 92 *
100105 ch_ty³
100106  = 
100107 PXER_TAG
100108 ;
100109
100110 94 \ 4
100111 PXML_COMMENT
100112 :
100113
100114 95 \ 4
100115 PXML_COMMENT_END
100116 :
100117
100118 96 *
100119 ch_ty³
100120  = 
100121 PXER_COMMENT
100122 ;
100123
100124 100 *
100125 ¡©eCÚ\8bxt
100126  = 
100127 Ãw_¡©eCÚ\8bxt
100128 ;
100129
100130 101 \15 
100131 ¬g
100132 .
100133 chunk_size
100134 ;
100135
100136 102 
100137         }
100138 }
100139
100140 104 \ 1
100141         #CSLASH
100142  0x2à
100143
100144         )
100145
100146 105 \ 1
100147         #LANGLE
100148  0x3ø
100149
100150         )
100151
100152 106 \ 1
100153         #RANGLE
100154  0x3\90
100155
100156         )
100157
100158 108 
100159 x\94_check_\8fg_e
100160
100161
100162 109 
100163         $x\94_check_\8fg
100164 (cڡ \1e*
100165 buf_±r
100166\12
100167 size
100168 , cڡ \ 5*
100169 Ãed_\8fg
100170 ) {
100171
100172 110 cڡ \ 5*
100173 buf
100174  = (cڡ \ 5*)
100175 buf_±r
100176 ;
100177
100178 111 cڡ \ 5*
100179 \92d
100180 ;
100181
100182 112 
100183 x\94_check_\8fg_e
100184  
100185 ù
100186  = 
100187 XCT_OPENING
100188 ;
100189
100190 114 if(
100191 size
100192  < 2 || 
100193 buf
100194 [0] !ð
100195 LANGLE
100196  || buf[size-1] !ð
100197 RANGLE
100198 ) {
100199
100200 115 if(
100201 size
100202  >= 2)
100203
100204 116 
100205         `ASN_DEBUG
100206 ("Broken XML\81ag: \"%c...%c\"",
100207
100208 117 
100209 buf
100210 [0], buf[
100211 size
100212  - 1]);
100213
100214 118 \15 
100215 XCT_BROKEN
100216 ;
100217
100218 124 if(
100219 buf
100220 [1] =ð
100221 CSLASH
100222 ) {
100223
100224 125 
100225 buf
100226  += 2;
100227
100228 126 
100229 size
100230  -= 3;
100231
100232 127 
100233 ù
100234  = 
100235 XCT_CLOSING
100236 ;
100237
100238 128 if(
100239 size
100240  > 0 && 
100241 buf
100242 [size-1] =ð
100243 CSLASH
100244 )
100245
100246 129 \15 
100247 XCT_BROKEN
100248 ;
100249
100250 131 
100251 buf
100252 ++;
100253
100254 132 
100255 size
100256  -= 2;
100257
100258 133 if(
100259 size
100260  > 0 && 
100261 buf
100262 [size-1] =ð
100263 CSLASH
100264 ) {
100265
100266 134 
100267 ù
100268  = 
100269 XCT_BOTH
100270 ;
100271
100272 135 
100273 size
100274 --;
100275
100276 140 if(!
100277 Ãed_\8fg
100278  || !*need_tag)
100279
100280 141 \15 (
100281 x\94_check_\8fg_e
100282 )(
100283 XCT__UNK__MASK
100284  | 
100285 ù
100286 );
100287
100288 146 \ f
100289 \92d
100290  = 
100291 buf
100292  + 
100293 size
100294 ; buà<\83nd; buf++, 
100295 Ãed_\8fg
100296 ++) {
100297
100298 147 \12
100299 b
100300  = *
100301 buf
100302
100303 n
100304  = *
100305 Ãed_\8fg
100306 ;
100307
100308 148 if(
100309 b
100310  !ð
100311 n
100312 ) {
100313
100314 149 if(
100315 n
100316  == 0) {
100317
100318 150 \1a
100319 b
100320 ) {
100321
100322 154 \15 
100323 ù
100324 ;
100325
100326 157 \15 (
100327 x\94_check_\8fg_e
100328 )(
100329 XCT__UNK__MASK
100330  | 
100331 ù
100332 );
100333
100334 159 if(
100335 b
100336  == 0)
100337
100338 160 \15 
100339 XCT_BROKEN
100340 ;
100341
100342 162 if(*
100343 Ãed_\8fg
100344 )
100345
100346 163 \15 (
100347 x\94_check_\8fg_e
100348 )(
100349 XCT__UNK__MASK
100350  | 
100351 ù
100352 );
100353
100354 165 \15 
100355 ù
100356 ;
100357
100358 166 
100359         }
100360 }
100361
100362 169 #undeà
100363 ADVANCE
100364
100365
100366 170 \ 1
100367         #ADVANCE
100368 (
100369 num_by\8bs
100370 ) do { \
100371
100372 171 
100373 size_t
100374  
100375 num
100376  = (
100377 num_by\8bs
100378 ); \
100379
100380 172 
100381 buf_±r
100382  = ((cÚ¡ \ 5*)buf_±rè+ 
100383 num
100384 ; \
100385
100386 173 
100387 size
100388  -ð
100389 num
100390 ; \
100391
100392 174 
100393 cÚsumed_my£lf
100394  +ð
100395 num
100396 ; \
100397
100398 175 } \1f0)
100399
100400         )
100401
100402 177 #undeà
100403 RETURN
100404
100405
100406 178 \ 1
100407         #RETURN
100408 (
100409 _code
100410 ) do { \
100411
100412 179 
100413 rv®
100414 .
100415 code
100416  = 
100417 _code
100418 ; \
100419
100420 180 
100421 rv®
100422 .
100423 cÚsumed
100424  = 
100425 cÚsumed_my£lf
100426 ; \
100427
100428 181 if(
100429 rv®
100430 .
100431 code
100432  !ð
100433 RC_OK
100434 ) \
100435
100436 182 
100437         `ASN_DEBUG
100438 ("Fa\9eed w\99h %d", 
100439 rv®
100440 .
100441 code
100442 ); \
100443
100444 183 \15 
100445 rv®
100446 ; \
100447
100448 184 } \1f0)
100449
100450         )
100451
100452 186 \ 1
100453         #XER_GOT_BODY
100454 (
100455 chunk_buf
100456
100457 chunk_size
100458
100459 size
100460 ) do { \
100461
100462 187 
100463 ssize_t
100464  
100465 cÚv\94\8bd_size
100466  = 
100467 body_»ûiv\94
100468  \
100469
100470 188 (
100471 ¡ruù_key
100472
100473 chunk_buf
100474
100475 chunk_size
100476 , \
100477
100478 189 (
100479 size_t
100480 )
100481 chunk_size
100482  < 
100483 size
100484 ); \
100485
100486 190 if(
100487 cÚv\94\8bd_size
100488  =ð-1è
100489         `RETURN
100490 (
100491 RC_FAIL
100492 ); \
100493
100494 191 if(
100495 cÚv\94\8bd_size
100496  == 0 \
100497
100498 192 && 
100499 size
100500  =ð(
100501 size_t
100502 )
100503 chunk_size
100504 ) \
100505
100506 193 
100507         `RETURN
100508 (
100509 RC_WMORE
100510 ); \
100511
100512 194 
100513 chunk_size
100514  = 
100515 cÚv\94\8bd_size
100516 ; \
100517
100518 195 } \1f0)
100519
100520         )
100521
100522 196 \ 1
100523         #XER_GOT_EMPTY
100524 () do { \
100525
100526 197 if(
100527         `body_»ûiv\94
100528 (
100529 ¡ruù_key
100530 , 0, 0, 
100531 size
100532  > 0) == -1) \
100533
100534 198 
100535         `RETURN
100536 (
100537 RC_FAIL
100538 ); \
100539
100540 199 } \1f0)
100541
100542         )
100543
100544 204 
100545 a¢_dec_rv®_t
100546
100547
100548 205 
100549 x\94_decode_g\92\94®
100550 (cڡ 
100551 a¢_codec_ùx_t
100552  *
100553 Ýt_codec_ùx
100554 ,
100555
100556 206 
100557 a¢_¡ruù_ùx_t
100558  *
100559 ùx
100560 ,
100561
100562 207 \1e*
100563 ¡ruù_key
100564 ,
100565
100566 208 cڡ \ 5*
100567 xml_\8fg
100568 ,
100569
100570 209 cڡ \1e*
100571 buf_±r
100572
100573 size_t
100574  
100575 size
100576 ,
100577
100578 210 \12(*
100579 Ýt_uÃx³ùed_\8fg_decod\94
100580 )
100581
100582 211 (\1e*
100583 ¡ruù_key
100584 , cڡ \1e*
100585 chunk_buf
100586
100587 size_t
100588  
100589 chunk_size
100590 ),
100591
100592 212 
100593         $ssize_t
100594  (*
100595 body_»ûiv\94
100596 )
100597
100598 213 (\1e*
100599 ¡ruù_key
100600 , cڡ \1e*
100601 chunk_buf
100602
100603 size_t
100604  
100605 chunk_size
100606 ,
100607
100608 214 \12
100609 have_mÜe
100610 )
100611
100612 217 
100613 a¢_dec_rv®_t
100614  
100615 rv®
100616 ;
100617
100618 218 
100619 ssize_t
100620  
100621 cÚsumed_my£lf
100622  = 0;
100623
100624 220 (\1e)
100625 Ýt_codec_ùx
100626 ;
100627
100628 227 if(
100629 ùx
100630 ->
100631 pha£
100632  > 1è
100633         `RETURN
100634 (
100635 RC_FAIL
100636 );
100637
100638 229 
100639 px\94_chunk_ty³_e
100640  
100641 ch_ty³
100642 ;
100643
100644 230 
100645 ssize_t
100646  
100647 ch_size
100648 ;
100649
100650 231 
100651 x\94_check_\8fg_e
100652  
100653 tcv
100654 ;
100655
100656 236 
100657 ch_size
100658  = 
100659         `x\94_Ãxt_tok\92
100660 (&
100661 ùx
100662 ->
100663 cڋxt
100664
100665 buf_±r
100666
100667 size
100668 ,
100669
100670 237 &
100671 ch_ty³
100672 );
100673
100674 238 if(
100675 ch_size
100676  == -1) {
100677
100678 239 
100679         `RETURN
100680 (
100681 RC_FAIL
100682 );
100683
100684 241 \1a
100685 ch_ty³
100686 ) {
100687
100688 242 \ 4
100689 PXER_WMORE
100690 :
100691
100692 243 
100693         `RETURN
100694 (
100695 RC_WMORE
100696 );
100697
100698 244 \ 4
100699 PXER_COMMENT
100700 :
100701
100702 245 
100703         `ADVANCE
100704 (
100705 ch_size
100706 );
100707
100708 247 \ 4
100709 PXER_TEXT
100710 :
100711
100712 248 if(
100713 ùx
100714 ->
100715 pha£
100716  == 0) {
100717
100718 256 
100719         `XER_GOT_BODY
100720 (
100721 buf_±r
100722
100723 ch_size
100724
100725 size
100726 );
100727
100728 258 
100729         `ADVANCE
100730 (
100731 ch_size
100732 );
100733
100734 260 \ 4
100735 PXER_TAG
100736 :
100737
100738 265 
100739         `as£¹
100740 (
100741 ch_ty³
100742  =ð
100743 PXER_TAG
100744  && 
100745 size
100746 );
100747
100748 267 
100749 tcv
100750  = 
100751         `x\94_check_\8fg
100752 (
100753 buf_±r
100754
100755 ch_size
100756
100757 xml_\8fg
100758 );
100759
100760 275 \1a
100761 tcv
100762 ) {
100763
100764 276 \ 4
100765 XCT_BOTH
100766 :
100767
100768 277 if(
100769 ùx
100770 ->
100771 pha£
100772\ 3;
100773
100774 279 
100775         `XER_GOT_EMPTY
100776 ();
100777
100778 280 
100779         `ADVANCE
100780 (
100781 ch_size
100782 );
100783
100784 281 
100785 ùx
100786 ->
100787 pha£
100788  = 2;
100789
100790 282 
100791         `RETURN
100792 (
100793 RC_OK
100794 );
100795
100796 283 \ 4
100797 XCT_OPENING
100798 :
100799
100800 284 if(
100801 ùx
100802 ->
100803 pha£
100804\ 3;
100805
100806 285 
100807         `ADVANCE
100808 (
100809 ch_size
100810 );
100811
100812 286 
100813 ùx
100814 ->
100815 pha£
100816  = 1;
100817
100818 288 \ 4
100819 XCT_CLOSING
100820 :
100821
100822 289 if(!
100823 ùx
100824 ->
100825 pha£
100826\ 3;
100827
100828 290 
100829         `ADVANCE
100830 (
100831 ch_size
100832 );
100833
100834 291 
100835 ùx
100836 ->
100837 pha£
100838  = 2;
100839
100840 292 
100841         `RETURN
100842 (
100843 RC_OK
100844 );
100845
100846 293 \ 4
100847 XCT_UNKNOWN_BO
100848 :
100849
100850 297 if(
100851 Ýt_uÃx³ùed_\8fg_decod\94
100852
100853
100854 298 && 
100855         `Ýt_uÃx³ùed_\8fg_decod\94
100856 (
100857 ¡ruù_key
100858 ,
100859
100860 299 
100861 buf_±r
100862
100863 ch_size
100864 ) >= 0) {
100865
100866 301 
100867         `ADVANCE
100868 (
100869 ch_size
100870 );
100871
100872 302 if(!
100873 ùx
100874 ->
100875 pha£
100876 ) {
100877
100878 305 
100879 ùx
100880 ->
100881 pha£
100882  = 2;
100883
100884 306 
100885         `RETURN
100886 (
100887 RC_OK
100888 );
100889
100890 315 
100891         `ASN_DEBUG
100892 ("UÃx³ùed XML\81ag (ex³ùed \"%s\")", 
100893 xml_\8fg
100894 );
100895
100896 319 
100897         `RETURN
100898 (
100899 RC_FAIL
100900 );
100901
100902 320 
100903         }
100904 }
100905
100906 323 
100907 size_t
100908
100909
100910 324 
100911         $x\94_wh\99e¥aû_¥ª
100912 (cڡ \1e*
100913 chunk_buf
100914
100915 size_t
100916  
100917 chunk_size
100918 ) {
100919
100920 325 cڡ \ 5*
100921 p
100922  = (cڡ \ 5*)
100923 chunk_buf
100924 ;
100925
100926 326 cڡ \ 5*
100927 ³nd
100928  = 
100929 p
100930  + 
100931 chunk_size
100932 ;
100933
100934 328 \ f
100935 p
100936  < 
100937 ³nd
100938 ;\85++) {
100939
100940 329 \1a*
100941 p
100942 ) {
100943
100944 343 \15 (
100945 p
100946  - (cڡ \ 5*)
100947 chunk_buf
100948 );
100949
100950 344 
100951         }
100952 }
100953
100954 350 
100955         $x\94_sk\9d_unknown
100956 (
100957 x\94_check_\8fg_e
100958  
100959 tcv
100960
100961 b\94_\8ev_Ën_t
100962  *
100963 d\95th
100964 ) {
100965
100966 351 
100967         `as£¹
100968 (*
100969 d\95th
100970  > 0);
100971
100972 352 \1a
100973 tcv
100974 ) {
100975
100976 353 \ 4
100977 XCT_BOTH
100978 :
100979
100980 354 \ 4
100981 XCT_UNKNOWN_BO
100982 :
100983
100984 357 \ 4
100985 XCT_OPENING
100986 :
100987
100988 358 \ 4
100989 XCT_UNKNOWN_OP
100990 :
100991
100992 359 ++(*
100993 d\95th
100994 );
100995
100996 361 \ 4
100997 XCT_CLOSING
100998 :
100999
101000 362 \ 4
101001 XCT_UNKNOWN_CL
101002 :
101003
101004 363 if(--(*
101005 d\95th
101006 ) == 0)
101007
101008 364 \15 (
101009 tcv
101010  =ð
101011 XCT_CLOSING
101012 ) ? 2 : 1;
101013
101014 369 
101015         }
101016 }
101017
101018         @xer_encoder.c
101019
101020\ 2
101021         ~<a¢_\9a\8bº®.h
101022 >
101023
101024\ 2
101025         ~<¡dio.h
101026 >
101027
101028\ 2
101029         ~<\94ºo.h
101030 >
101031
101032 12 
101033 a¢_\92c_rv®_t
101034
101035
101036 13 
101037         $x\94_\92code
101038 (cڡ 
101039 a¢_TYPE_desü\9dtÜ_t
101040  *
101041 td
101042 , cڡ \1e*
101043 ¥\8c
101044 ,
101045
101046 14 \f
101047 x\94_\92cod\94_æags_e
101048  
101049 x\94_æags
101050
101051 a¢_­p_cÚsume_by\8bs_f
101052  *
101053 cb
101054 ,
101055
101056 15 \1e*
101057 ­p_key
101058 ) {
101059
101060 16 
101061 a¢_\92c_rv®_t
101062  
101063 \94
101064  = {0, 0, 0};
101065
101066 17 
101067 a¢_\92c_rv®_t
101068  
101069 tm³r
101070 ;
101071
101072 18 cڡ \ 5*
101073 mÇme
101074 ;
101075
101076 19 
101077 size_t
101078  
101079 mËn
101080 ;
101081
101082 20 \12
101083 xÿn
101084  = (
101085 x\94_æags
101086  & 
101087 XER_F_CANONICAL
101088 ) ? 1 : 2;
101089
101090 22 if(!
101091 td
101092  || !
101093 ¥\8c
101094 è\10
101095 cb_ç\9eed
101096 ;
101097
101098 24 
101099 mÇme
101100  = 
101101 td
101102 ->
101103 xml_\8fg
101104 ;
101105
101106 25 
101107 mËn
101108  = 
101109         `¡¾\92
101110 (
101111 mÇme
101112 );
101113
101114 27 
101115         `ASN__CALLBACK3
101116 ("<", 1, 
101117 mÇme
101118
101119 mËn
101120 , ">", 1);
101121
101122 29 
101123 tm³r
101124  = 
101125 td
101126 ->
101127 Ý
101128 ->
101129         `x\94_\92cod\94
101130 Ñd, 
101131 ¥\8c
101132 , 1, 
101133 x\94_æags
101134
101135 cb
101136
101137 ­p_key
101138 );
101139
101140 30 if(
101141 tm³r
101142 .
101143 \92coded
101144  == -1) \15\81mper;
101145
101146 31 
101147 \94
101148 .
101149 \92coded
101150  +ð
101151 tm³r
101152 .encoded;
101153
101154 33 
101155         `ASN__CALLBACK3
101156 ("</", 2, 
101157 mÇme
101158
101159 mËn
101160 , ">\n", 
101161 xÿn
101162 );
101163
101164 35 
101165         `ASN__ENCODED_OK
101166 (
101167 \94
101168 );
101169
101170 36 
101171 cb_ç\9eed
101172 :
101173
101174 37 
101175 ASN__ENCODE_FAILED
101176 ;
101177
101178 38 
101179         }
101180 }
101181
101182 45 
101183         $x\94__´\9at2å
101184 (cڡ \1e*
101185 bufãr
101186
101187 size_t
101188  
101189 size
101190\1e*
101191 ­p_key
101192 ) {
101193
101194 46 
101195 FILE
101196  *
101197 ¡»am
101198  = (FILE *)
101199 ­p_key
101200 ;
101201
101202 48 if(
101203         `fwr\99e
101204 (
101205 bufãr
101206 , 1, 
101207 size
101208
101209 ¡»am
101210 ) != size)
101211
101212 52 
101213         }
101214 }
101215
101216 55 
101217         $x\94_år\9at
101218 (
101219 FILE
101220  *
101221 ¡»am
101222 , cڡ 
101223 a¢_TYPE_desü\9dtÜ_t
101224  *
101225 td
101226 , cڡ \1e*
101227 ¥\8c
101228 ) {
101229
101230 56 
101231 a¢_\92c_rv®_t
101232  
101233 \94
101234  = {0,0,0};
101235
101236 58 if(!
101237 ¡»am
101238 衻am = 
101239 ¡dout
101240 ;
101241
101242 59 if(!
101243 td
101244  || !
101245 ¥\8c
101246 )
101247
101248 62 
101249 \94
101250  = 
101251         `x\94_\92code
101252 (
101253 td
101254
101255 ¥\8c
101256
101257 XER_F_BASIC
101258
101259 x\94__´\9at2å
101260
101261 ¡»am
101262 );
101263
101264 63 if(
101265 \94
101266 .
101267 \92coded
101268  == -1)
101269
101270 66 \15 
101271         `fæush
101272 (
101273 ¡»am
101274 );
101275
101276 67 
101277         }
101278 }
101279
101280 69 \19
101281         sx\94_bufãr
101282  {
101283
101284 70 \ 5*
101285         mbufãr
101286 ;
101287
101288 71 
101289 size_t
101290  
101291         mbufãr_size
101292 ;
101293
101294 72 
101295 size_t
101296  
101297         m®loÿ\8bd_size
101298 ;
101299
101300 76 
101301         $x\94__bufãr_­³nd
101302 (cڡ \1e*
101303 bufãr
101304
101305 size_t
101306  
101307 size
101308\1e*
101309 ­p_key
101310 ) {
101311
101312 77 \19
101313 x\94_bufãr
101314  *
101315 xb
101316  = 
101317 ­p_key
101318 ;
101319
101320 79 \1f
101321 xb
101322 ->
101323 bufãr_size
101324  + 
101325 size
101326  + 1 > xb->
101327 ®loÿ\8bd_size
101328 ) {
101329
101330 80 
101331 size_t
101332  
101333 Ãw_size
101334  = 2 * (
101335 xb
101336 ->
101337 ®loÿ\8bd_size
101338  ? xb->allocated_size : 64);
101339
101340 81 \ 5*
101341 Ãw_buf
101342  = 
101343         `MALLOC
101344 (
101345 Ãw_size
101346 );
101347
101348 82 if(!
101349 Ãw_buf
101350\15 -1;
101351
101352 83 ià(
101353 xb
101354 ->
101355 bufãr
101356 ) {
101357
101358 84 
101359         `memýy
101360 (
101361 Ãw_buf
101362
101363 xb
101364 ->
101365 bufãr
101366 , xb->
101367 bufãr_size
101368 );
101369
101370 86 
101371         `FREEMEM
101372 (
101373 xb
101374 ->
101375 bufãr
101376 );
101377
101378 87 
101379 xb
101380 ->
101381 bufãr
101382  = 
101383 Ãw_buf
101384 ;
101385
101386 88 
101387 xb
101388 ->
101389 ®loÿ\8bd_size
101390  = 
101391 Ãw_size
101392 ;
101393
101394 91 
101395         `memýy
101396 (
101397 xb
101398 ->
101399 bufãr
101400  + xb->
101401 bufãr_size
101402 , bufãr, 
101403 size
101404 );
101405
101406 92 
101407 xb
101408 ->
101409 bufãr_size
101410  +ð
101411 size
101412 ;
101413
101414 93 
101415 xb
101416 ->
101417 bufãr
101418 [xb->
101419 bufãr_size
101420 ] = '\0';
101421
101422 95 
101423         }
101424 }
101425
101426 97 \f
101427 x\94_equiv®\92û_e
101428
101429
101430 98 
101431         $x\94_equiv®\92t
101432 (cڡ \19
101433 a¢_TYPE_desü\9dtÜ_s
101434  *
101435 td
101436 , cڡ \1e*
101437 ¡ruù1
101438 ,
101439
101440 99 cڡ \1e*
101441 ¡ruù2
101442
101443 FILE
101444  *
101445 Ýt_debug_¡»am
101446 ) {
101447
101448 100 \19
101449 x\94_bufãr
101450  
101451 xb1
101452  = {0, 0, 0};
101453
101454 101 \19
101455 x\94_bufãr
101456  
101457 xb2
101458  = {0, 0, 0};
101459
101460 102 
101461 a¢_\92c_rv®_t
101462  
101463 e1
101464
101465 e2
101466 ;
101467
101468 103 
101469 a¢_dec_rv®_t
101470  
101471 rv®
101472 ;
101473
101474 104 \1e*
101475 ¥\8c
101476  = 
101477 NULL
101478 ;
101479
101480 106 if(!
101481 td
101482  || !
101483 ¡ruù1
101484  || !
101485 ¡ruù2
101486 ) {
101487
101488 107 if(
101489 Ýt_debug_¡»am
101490 ) {
101491
101492 108 if(!
101493 td
101494 è
101495         `år\9atf
101496 (
101497 Ýt_debug_¡»am
101498 , "Type descriptor missing\n");
101499
101500 109 if(!
101501 ¡ruù1
101502 è
101503         `år\9atf
101504 (
101505 Ýt_debug_¡»am
101506 , "Structure 1 missing\n");
101507
101508 110 if(!
101509 ¡ruù2
101510 è
101511         `år\9atf
101512 (
101513 Ýt_debug_¡»am
101514 , "Structure 2 missing\n");
101515
101516 112 \15 
101517 XEQ_FAILURE
101518 ;
101519
101520 115 
101521 e1
101522  = 
101523         `x\94_\92code
101524 (
101525 td
101526
101527 ¡ruù1
101528
101529 XER_F_BASIC
101530
101531 x\94__bufãr_­³nd
101532 , &
101533 xb1
101534 );
101535
101536 116 if(
101537 e1
101538 .
101539 \92coded
101540  == -1) {
101541
101542 117 if(
101543 Ýt_debug_¡»am
101544 ) {
101545
101546 118 
101547         `år\9atf
101548 (
101549 ¡d\94r
101550 , "XER Encod\9ag oà% ç\9eed\n", 
101551 td
101552 ->
101553 Çme
101554 );
101555
101556 120 
101557         `FREEMEM
101558 (
101559 xb1
101560 .
101561 bufãr
101562 );
101563
101564 121 \15 
101565 XEQ_ENCODE1_FAILED
101566 ;
101567
101568 124 
101569 e2
101570  = 
101571         `x\94_\92code
101572 (
101573 td
101574
101575 ¡ruù2
101576
101577 XER_F_BASIC
101578
101579 x\94__bufãr_­³nd
101580 , &
101581 xb2
101582 );
101583
101584 125 if(
101585 e2
101586 .
101587 \92coded
101588  == -1) {
101589
101590 126 if(
101591 Ýt_debug_¡»am
101592 ) {
101593
101594 127 
101595         `år\9atf
101596 (
101597 ¡d\94r
101598 , "XER Encod\9ag oà% ç\9eed\n", 
101599 td
101600 ->
101601 Çme
101602 );
101603
101604 129 
101605         `FREEMEM
101606 (
101607 xb1
101608 .
101609 bufãr
101610 );
101611
101612 130 
101613         `FREEMEM
101614 (
101615 xb2
101616 .
101617 bufãr
101618 );
101619
101620 131 \15 
101621 XEQ_ENCODE1_FAILED
101622 ;
101623
101624 134 if(
101625 xb1
101626 .
101627 bufãr_size
101628  !ð
101629 xb2
101630 .buffer_size
101631
101632 135 || 
101633         `memcmp
101634 (
101635 xb1
101636 .
101637 bufãr
101638
101639 xb2
101640 .bufãr, xb1.
101641 bufãr_size
101642 ) != 0) {
101643
101644 136 if(
101645 Ýt_debug_¡»am
101646 ) {
101647
101648 137 
101649         `år\9atf
101650 (
101651 Ýt_debug_¡»am
101652 ,
101653
101654 140 
101655 xb1
101656 .
101657 bufãr
101658
101659 xb2
101660 .buffer);
101661
101662 142 
101663         `FREEMEM
101664 (
101665 xb1
101666 .
101667 bufãr
101668 );
101669
101670 143 
101671         `FREEMEM
101672 (
101673 xb2
101674 .
101675 bufãr
101676 );
101677
101678 144 \15 
101679 XEQ_DIFFERENT
101680 ;
101681
101682 146 if(
101683 Ýt_debug_¡»am
101684 ) {
101685
101686 147 
101687         `år\9atf
101688 (
101689 Ýt_debug_¡»am
101690 ,
101691
101692 149 "oàsiz\90%" 
101693 ASN_PRI_SIZE
101694  ":\n%s",
101695
101696 150 
101697 xb1
101698 .
101699 bufãr_size
101700 , xb1.
101701 bufãr
101702 );
101703
101704 154 
101705 rv®
101706  = 
101707         `x\94_decode
101708 (
101709 NULL
101710
101711 td
101712 , (\1e**)&
101713 ¥\8c
101714
101715 xb1
101716 .
101717 bufãr
101718 ,
101719
101720 155 
101721 xb1
101722 .
101723 bufãr_size
101724 );
101725
101726 156 \1a
101727 rv®
101728 .
101729 code
101730 ) {
101731
101732 157 \ 4
101733 RC_OK
101734 :
101735
101736 159 \ 4
101737 RC_WMORE
101738 :
101739
101740 160 if(
101741 Ýt_debug_¡»am
101742 ) {
101743
101744 161 
101745         `år\9atf
101746 (
101747 Ýt_debug_¡»am
101748 ,
101749
101750 164 
101751 td
101752 ->
101753 Çme
101754
101755 xb1
101756 .
101757 bufãr
101758 );
101759
101760 167 \ 4
101761 RC_FAIL
101762 :
101763
101764 169 if(
101765 Ýt_debug_¡»am
101766 ) {
101767
101768 170 
101769         `år\9atf
101770 (
101771 Ýt_debug_¡»am
101772 ,
101773
101774 172 
101775 td
101776 ->
101777 Çme
101778 );
101779
101780 174 
101781         `ASN_STRUCT_FREE
101782 (*
101783 td
101784
101785 ¥\8c
101786 );
101787
101788 175 
101789         `FREEMEM
101790 (
101791 xb1
101792 .
101793 bufãr
101794 );
101795
101796 176 
101797         `FREEMEM
101798 (
101799 xb2
101800 .
101801 bufãr
101802 );
101803
101804 177 \15 
101805 XEQ_DECODE_FAILED
101806 ;
101807
101808 180 if(
101809 rv®
101810 .
101811 cÚsumed
101812  !ð
101813 xb1
101814 .
101815 bufãr_size
101816
101817
101818 181 && ((
101819 rv®
101820 .
101821 cÚsumed
101822  > 
101823 xb1
101824 .
101825 bufãr_size
101826 )
101827
101828 182 || 
101829         `x\94_wh\99e¥aû_¥ª
101830 (
101831 xb1
101832 .
101833 bufãr
101834  + 
101835 rv®
101836 .
101837 cÚsumed
101838 ,
101839
101840 183 
101841 xb1
101842 .
101843 bufãr_size
101844  - 
101845 rv®
101846 .
101847 cÚsumed
101848 )
101849
101850 184 !ð(
101851 xb1
101852 .
101853 bufãr_size
101854  - 
101855 rv®
101856 .
101857 cÚsumed
101858 ))) {
101859
101860 185 if(
101861 Ýt_debug_¡»am
101862 ) {
101863
101864 186 
101865         `år\9atf
101866 (
101867 Ýt_debug_¡»am
101868 ,
101869
101870 187 "Round-\8c\9d decod\90oà% »qu\9ced\86es by\8b (%" 
101871 ASN_PRI_SIZE
101872  ")\81han "
101873
101874 188 "\92coded (%" 
101875 ASN_PRI_SIZE
101876  ")\n",
101877
101878 189 
101879 td
101880 ->
101881 Çme
101882
101883 rv®
101884 .
101885 cÚsumed
101886
101887 xb1
101888 .
101889 bufãr_size
101890 );
101891
101892 191 
101893         `ASN_STRUCT_FREE
101894 (*
101895 td
101896
101897 ¥\8c
101898 );
101899
101900 192 
101901         `FREEMEM
101902 (
101903 xb1
101904 .
101905 bufãr
101906 );
101907
101908 193 
101909         `FREEMEM
101910 (
101911 xb2
101912 .
101913 bufãr
101914 );
101915
101916 194 \15 
101917 XEQ_ROUND_TRIP_FAILED
101918 ;
101919
101920 200 
101921         `FREEMEM
101922 (
101923 xb2
101924 .
101925 bufãr
101926 );
101927
101928 201 
101929         `mem£t
101930 (&
101931 xb2
101932 , 0, \17(xb2));
101933
101934 203 
101935 e2
101936  = 
101937         `x\94_\92code
101938 (
101939 td
101940
101941 ¥\8c
101942
101943 XER_F_BASIC
101944
101945 x\94__bufãr_­³nd
101946 , &
101947 xb2
101948 );
101949
101950 204 if(
101951 e2
101952 .
101953 \92coded
101954  == -1) {
101955
101956 205 if(
101957 Ýt_debug_¡»am
101958 ) {
101959
101960 206 
101961         `år\9atf
101962 (
101963 ¡d\94r
101964 , "XER Encoding of\84ound-trip decode of %s failed\n",
101965
101966 207 
101967 td
101968 ->
101969 Çme
101970 );
101971
101972 209 
101973         `ASN_STRUCT_FREE
101974 (*
101975 td
101976
101977 ¥\8c
101978 );
101979
101980 210 
101981         `FREEMEM
101982 (
101983 xb1
101984 .
101985 bufãr
101986 );
101987
101988 211 
101989         `FREEMEM
101990 (
101991 xb2
101992 .
101993 bufãr
101994 );
101995
101996 212 \15 
101997 XEQ_ROUND_TRIP_FAILED
101998 ;
101999
102000 215 
102001         `ASN_STRUCT_FREE
102002 (*
102003 td
102004
102005 ¥\8c
102006 );
102007
102008 216 
102009 ¥\8c
102010  = 0;
102011
102012 218 if(
102013 xb1
102014 .
102015 bufãr_size
102016  !ð
102017 xb2
102018 .buffer_size
102019
102020 219 || 
102021         `memcmp
102022 (
102023 xb1
102024 .
102025 bufãr
102026
102027 xb2
102028 .bufãr, xb1.
102029 bufãr_size
102030 ) != 0) {
102031
102032 220 if(
102033 Ýt_debug_¡»am
102034 ) {
102035
102036 221 
102037         `år\9atf
102038 (
102039 Ýt_debug_¡»am
102040 ,
102041
102042 226 
102043 xb1
102044 .
102045 bufãr
102046
102047 xb2
102048 .bufãr, 
102049 td
102050 ->
102051 Çme
102052 );
102053
102054 228 
102055         `FREEMEM
102056 (
102057 xb1
102058 .
102059 bufãr
102060 );
102061
102062 229 
102063         `FREEMEM
102064 (
102065 xb2
102066 .
102067 bufãr
102068 );
102069
102070 230 \15 
102071 XEQ_ROUND_TRIP_FAILED
102072 ;
102073
102074 233 
102075         `FREEMEM
102076 (
102077 xb1
102078 .
102079 bufãr
102080 );
102081
102082 234 
102083         `FREEMEM
102084 (
102085 xb2
102086 .
102087 bufãr
102088 );
102089
102090 235 \15 
102091 XEQ_SUCCESS
102092 ;
102093
102094 236 
102095         }
102096 }
102097
102098         @xer_support.c
102099
102100\ 2
102101         ~<a¢_sy¡em.h
102102 >
102103
102104\ 2
102105         ~<x\94_suµÜt.h
102106 >
102107
102108 12 
102109         mST_TEXT
102110 ,
102111
102112 13 
102113         mST_TAG_START
102114 ,
102115
102116 14 
102117         mST_TAG_BODY
102118 ,
102119
102120 15 
102121         mST_TAG_QUOTE_WAIT
102122 ,
102123
102124 16 
102125         mST_TAG_QUOTED_STRING
102126 ,
102127
102128 17 
102129         mST_TAG_UNQUOTED_STRING
102130 ,
102131
102132 18 
102133         mST_COMMENT_WAIT_DASH1
102134 ,
102135
102136 19 
102137         mST_COMMENT_WAIT_DASH2
102138 ,
102139
102140 20 
102141         mST_COMMENT
102142 ,
102143
102144 21 
102145         mST_COMMENT_CLO_DASH2
102146 ,
102147
102148 22 
102149         mST_COMMENT_CLO_RT
102150
102151
102152 23 } 
102153         tp¡©e_e
102154 ;
102155
102156 26 
102157         g_ch¬þass
102158 [256] = {
102159
102160 36 \ 1
102161         #WHITESPACE
102162 (
102163 c
102164 è(
102165 _ch¬þass
102166 [(\1d\ 5)(c)] =ð1)
102167
102168         )
102169
102170 37 \ 1
102171         #ALNUM
102172 (
102173 c
102174 è(
102175 _ch¬þass
102176 [(\1d\ 5)(c)] >ð2)
102177
102178         )
102179
102180 38 \ 1
102181         #ALPHA
102182 (
102183 c
102184 è(
102185 _ch¬þass
102186 [(\1d\ 5)(c)] =ð3)
102187
102188         )
102189
102190 41 \ 1
102191         #EXCLAM
102192  0x21
102193
102194         )
102195
102196 42 \ 1
102197         #CQUOTE
102198  0x22
102199
102200         )
102201
102202 43 \ 1
102203         #CDASH
102204  0x2d
102205
102206         )
102207
102208 44 \ 1
102209         #CSLASH
102210  0x2à
102211
102212         )
102213
102214 45 \ 1
102215         #LANGLE
102216  0x3ø
102217
102218         )
102219
102220 46 \ 1
102221         #CEQUAL
102222  0x3d
102223
102224         )
102225
102226 47 \ 1
102227         #RANGLE
102228  0x3\90
102229
102230         )
102231
102232 48 \ 1
102233         #CQUEST
102234  0x3à
102235
102236         )
102237
102238 51 \ 1
102239         #TOKEN_CB_CALL
102240 (
102241 ty³
102242
102243 _ns
102244
102245 _cu¼\92t_too
102246
102247 _f\9a®
102248 ) do { \
102249
102250 52 \12
102251 _»t
102252 ; \
102253
102254 53 
102255 p¡©e_e
102256  
102257 ns
102258  = 
102259 _ns
102260 ; \
102261
102262 54 
102263 ssize_t
102264  
102265 _sz
102266  = (
102267 p
102268  - 
102269 chunk_¡¬t
102270 è+ 
102271 _cu¼\92t_too
102272 ; \
102273
102274 55 ià(!
102275 _sz
102276 ) { \
102277
102278 57 
102279 ¡©e
102280  = 
102281 _ns
102282 ; \
102283
102284 60 
102285 _»t
102286  = 
102287         `cb
102288 (
102289 ty³
102290
102291 chunk_¡¬t
102292
102293 _sz
102294
102295 key
102296 ); \
102297
102298 61 if(
102299 _»t
102300  < 
102301 _sz
102302 ) { \
102303
102304 62 if(
102305 _cu¼\92t_too
102306  && 
102307 _»t
102308  == -1) \
102309
102310 63 
102311 ¡©e
102312  = 
102313 ns
102314 ; \
102315
102316 64 \10
102317 f\9aish
102318 ; \
102319
102320 66 
102321 chunk_¡¬t
102322  = 
102323 p
102324  + 
102325 _cu¼\92t_too
102326 ; \
102327
102328 67 
102329 ¡©e
102330  = 
102331 ns
102332 ; \
102333
102334 68 } \1f0)
102335
102336         )
102337
102338 70 \ 1
102339         #TOKEN_CB
102340 (
102341 _ty³
102342
102343 _ns
102344
102345 _cu¼\92t_too
102346 ) \
102347
102348 71 
102349         `TOKEN_CB_CALL
102350 (
102351 _ty³
102352
102353 _ns
102354
102355 _cu¼\92t_too
102356 , 0)
102357
102358         )
102359
102360 73 \ 1
102361         #PXML_TAG_FINAL_CHUNK_TYPE
102362  
102363 PXML_TAG_END
102364
102365
102366         )
102367
102368 74 \ 1
102369         #PXML_COMMENT_FINAL_CHUNK_TYPE
102370  
102371 PXML_COMMENT_END
102372
102373
102374         )
102375
102376 76 \ 1
102377         #TOKEN_CB_FINAL
102378 (
102379 _ty³
102380
102381 _ns
102382
102383 _cu¼\92t_too
102384 ) \
102385
102386 77 
102387         `TOKEN_CB_CALL
102388 Ð
102389 _ty³
102390  ## 
102391 _FINAL_CHUNK_TYPE
102392  , 
102393 _ns
102394
102395 _cu¼\92t_too
102396 , 1)
102397
102398         )
102399
102400 82 
102401 ssize_t
102402  
102403         $pxml_·r£
102404 (\12*
102405 ¡©eCÚ\8bxt
102406 , cڡ \1e*
102407 xmlbuf
102408
102409 size_t
102410  
102411 size
102412
102413 pxml_ÿÎback_f
102414  *
102415 cb
102416\1e*
102417 key
102418 ) {
102419
102420 83 
102421 p¡©e_e
102422  
102423 ¡©e
102424  = (p¡©e_e)*
102425 ¡©eCÚ\8bxt
102426 ;
102427
102428 84 cڡ \ 5*
102429 chunk_¡¬t
102430  = (cڡ \ 5*)
102431 xmlbuf
102432 ;
102433
102434 85 cڡ \ 5*
102435 p
102436  = 
102437 chunk_¡¬t
102438 ;
102439
102440 86 cڡ \ 5*
102441 \92d
102442  = 
102443 p
102444  + 
102445 size
102446 ;
102447
102448 88 \ f
102449 p
102450  < 
102451 \92d
102452 ;\85++) {
102453
102454 89 \12
102455 C
102456  = *(cڡ \1d\ 5*)
102457 p
102458 ;
102459
102460 90 \1a
102461 ¡©e
102462 ) {
102463
102464 91 \ 4
102465 ST_TEXT
102466 :
102467
102468 96 ià(
102469 C
102470  =ð
102471 LANGLE
102472 )
102473
102474 98 
102475         `TOKEN_CB
102476 (
102477 PXML_TEXT
102478
102479 ST_TAG_START
102480 , 0);
102481
102482 100 \ 4
102483 ST_TAG_START
102484 :
102485
102486 101 ià(
102487         `ALPHA
102488 (
102489 C
102490 è|| (C =ð
102491 CSLASH
102492 ))
102493
102494 102 
102495 ¡©e
102496  = 
102497 ST_TAG_BODY
102498 ;
102499
102500 103 \vià(
102501 C
102502  =ð
102503 EXCLAM
102504 )
102505
102506 104 
102507 ¡©e
102508  = 
102509 ST_COMMENT_WAIT_DASH1
102510 ;
102511
102512 110 
102513         `TOKEN_CB
102514 (
102515 PXML_TEXT
102516
102517 ST_TEXT
102518 , 1);
102519
102520 112 \ 4
102521 ST_TAG_BODY
102522 :
102523
102524 113 \1a
102525 C
102526 ) {
102527
102528 114 \ 4
102529 RANGLE
102530 :
102531
102532 116 
102533         `TOKEN_CB_FINAL
102534 (
102535 PXML_TAG
102536
102537 ST_TEXT
102538 , 1);
102539
102540 118 \ 4
102541 LANGLE
102542 :
102543
102544 123 
102545         `TOKEN_CB_FINAL
102546 (
102547 PXML_TAG
102548
102549 ST_TAG_START
102550 , 0);
102551
102552 125 \ 4
102553 CEQUAL
102554 :
102555
102556 126 
102557 ¡©e
102558  = 
102559 ST_TAG_QUOTE_WAIT
102560 ;
102561
102562 130 \ 4
102563 ST_TAG_QUOTE_WAIT
102564 :
102565
102566 134 \1a
102567 C
102568 ) {
102569
102570 135 \ 4
102571 CQUOTE
102572 :
102573
102574 136 
102575 ¡©e
102576  = 
102577 ST_TAG_QUOTED_STRING
102578 ;
102579
102580 138 \ 4
102581 RANGLE
102582 :
102583
102584 140 
102585         `TOKEN_CB_FINAL
102586 (
102587 PXML_TAG
102588
102589 ST_TEXT
102590 , 1);
102591
102592 143 if(!
102593         `WHITESPACE
102594 (
102595 C
102596 ))
102597
102598 145 
102599 ¡©e
102600  = 
102601 ST_TAG_UNQUOTED_STRING
102602 ;
102603
102604 148 \ 4
102605 ST_TAG_QUOTED_STRING
102606 :
102607
102608 152 if(
102609 C
102610  =ð
102611 CQUOTE
102612 ) {
102613
102614 154 
102615 ¡©e
102616  = 
102617 ST_TAG_BODY
102618 ;
102619
102620 157 \ 4
102621 ST_TAG_UNQUOTED_STRING
102622 :
102623
102624 158 if(
102625 C
102626  =ð
102627 RANGLE
102628 ) {
102629
102630 160 
102631         `TOKEN_CB_FINAL
102632 (
102633 PXML_TAG
102634
102635 ST_TEXT
102636 , 1);
102637
102638 161 } \vif(
102639         `WHITESPACE
102640 (
102641 C
102642 )) {
102643
102644 163 
102645 ¡©e
102646  = 
102647 ST_TAG_BODY
102648 ;
102649
102650 166 \ 4
102651 ST_COMMENT_WAIT_DASH1
102652 :
102653
102654 167 if(
102655 C
102656  =ð
102657 CDASH
102658 ) {
102659
102660 168 
102661 ¡©e
102662  = 
102663 ST_COMMENT_WAIT_DASH2
102664 ;
102665
102666 171 
102667 ¡©e
102668  = 
102669 ST_TAG_BODY
102670 ;
102671
102672 174 \ 4
102673 ST_COMMENT_WAIT_DASH2
102674 :
102675
102676 175 if(
102677 C
102678  =ð
102679 CDASH
102680 ) {
102681
102682 177 
102683 ¡©e
102684  = 
102685 ST_COMMENT
102686 ;
102687
102688 180 
102689 ¡©e
102690  = 
102691 ST_TAG_BODY
102692 ;
102693
102694 183 \ 4
102695 ST_COMMENT
102696 :
102697
102698 184 if(
102699 C
102700  =ð
102701 CDASH
102702 ) {
102703
102704 185 
102705 ¡©e
102706  = 
102707 ST_COMMENT_CLO_DASH2
102708 ;
102709
102710 188 \ 4
102711 ST_COMMENT_CLO_DASH2
102712 :
102713
102714 189 if(
102715 C
102716  =ð
102717 CDASH
102718 ) {
102719
102720 190 
102721 ¡©e
102722  = 
102723 ST_COMMENT_CLO_RT
102724 ;
102725
102726 193 
102727 ¡©e
102728  = 
102729 ST_COMMENT
102730 ;
102731
102732 196 \ 4
102733 ST_COMMENT_CLO_RT
102734 :
102735
102736 197 if(
102737 C
102738  =ð
102739 RANGLE
102740 ) {
102741
102742 198 
102743         `TOKEN_CB_FINAL
102744 (
102745 PXML_COMMENT
102746
102747 ST_TEXT
102748 , 1);
102749
102750 199 } \vif(
102751 C
102752  =ð
102753 CDASH
102754 ) {
102755
102756 202 
102757 ¡©e
102758  = 
102759 ST_COMMENT
102760 ;
102761
102762 211 if(
102763 p
102764  - 
102765 chunk_¡¬t
102766 ) {
102767
102768 212 \1a
102769 ¡©e
102770 ) {
102771
102772 213 \ 4
102773 ST_COMMENT
102774 :
102775
102776 214 
102777         `TOKEN_CB
102778 (
102779 PXML_COMMENT
102780
102781 ¡©e
102782 , 0);
102783
102784 216 \ 4
102785 ST_TEXT
102786 :
102787
102788 217 
102789         `TOKEN_CB
102790 (
102791 PXML_TEXT
102792
102793 ¡©e
102794 , 0);
102795
102796 223 
102797 f\9aish
102798 :
102799
102800 224 *
102801 ¡©eCÚ\8bxt
102802  = (\12)
102803 ¡©e
102804 ;
102805
102806 225 \15 
102807 chunk_¡¬t
102808  - (cڡ \ 5*)
102809 xmlbuf
102810 ;
102811
102812 226 
102813         }
102814 }
102815
102816         @/usr/include/errno.h
102817
102818 22 #iâdef 
102819 _ERRNO_H
102820
102821
102822 23 \ 1
102823         #_ERRNO_H
102824  1
102825
102826         )
102827
102828 25 \ 2
102829         ~<ã©u»s.h
102830 >
102831
102832 28 \ 2
102833         ~<b\99s/\94ºo.h
102834 >
102835
102836 32 #iâdeà
102837 __ASSEMBLER__
102838
102839
102840 34 
102841 __BEGIN_DECLS
102842
102843
102844 37 \r\12*
102845         $__\94ºo_loÿtiÚ
102846  (\1eè
102847 __THROW
102848  
102849 __©\8cibu\8b_cÚ¡__
102850 ;
102851
102852 38 \ 1
102853         #\94ºo
102854  (*
102855         `__\94ºo_loÿtiÚ
102856  ())
102857
102858         )
102859
102860 40 #ifdeà
102861 __USE_GNU
102862
102863
102864 45 \r\ 5*
102865 ´og¿m_\9avoÿtiÚ_Çme
102866 ;
102867
102868 46 \r\ 5*
102869 ´og¿m_\9avoÿtiÚ_shÜt_Çme
102870 ;
102871
102872 50 #iâdeà
102873 __\94rÜ_t_def\9aed
102874
102875
102876 51 \ 1
102877         #__\94rÜ_t_def\9aed
102878  1
102879
102880         )
102881
102882 52 \e\12
102883         t\94rÜ_t
102884 ;
102885
102886 57 
102887 __END_DECLS
102888
102889
102890         @/usr/include/math.h
102891
102892 23 #iâdef 
102893 _MATH_H
102894
102895
102896 24 \ 1
102897         #_MATH_H
102898  1
102899
102900         )
102901
102902 26 \ 1
102903         #__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
102904
102905
102906         )
102907
102908 27 \ 2
102909         ~<b\99s/libc-h\97d\94-¡¬t.h
102910 >
102911
102912 29 #ià
102913 def\9aed
102914  
102915 log
102916  && def\9aed 
102917 __GNUC__
102918
102919
102920 30 #w¬n\9a
102921 A
102922  
102923 maüo
102924  
102925 ÿÎed
102926  
102927 log
102928  
102929 was
102930  
102931 ®»ady
102932  
102933 def\9aed
102934  
102935 wh\92
102936  <
102937 m©h
102938 .
102939 h
102940 > wa 
102941 \9aþuded
102942 .
102943
102944 31 #w¬n\9a
102945 This
102946  
102947 w\9el
102948  
102949 ÿu£
102950  
102951 comp\9e©iÚ
102952  
102953 ´obËms
102954 .
102955
102956 34 
102957         g__BEGIN_DECLS
102958
102959
102960 37 \ 2
102961         ~<b\99s/ty³s.h
102962 >
102963
102964 40 \ 2
102965         ~<b\99s/m©h-veùÜ.h
102966 >
102967
102968 43 \ 2
102969         ~<b\99s/æß\8a.h
102970 >
102971
102972 47 #ià
102973 __GNUC_PREREQ
102974  (3, 3)
102975
102976 48 \ 1
102977         #HUGE_VAL
102978  (
102979         `__bu\9et\9a_huge_v®
102980  ())
102981
102982         )
102983
102984 55 \ 1
102985         #HUGE_VAL
102986  1e10000
102987
102988         )
102989
102990 57 #ifdeà
102991 __USE_ISOC99
102992
102993
102994 58 #ià
102995 __GNUC_PREREQ
102996  (3, 3)
102997
102998 59 \ 1
102999         #HUGE_VALF
103000  (
103001         `__bu\9et\9a_huge_v®f
103002  ())
103003
103004         )
103005
103006 60 \ 1
103007         #HUGE_VALL
103008  (
103009         `__bu\9et\9a_huge_v®l
103010  ())
103011
103012         )
103013
103014 62 \ 1
103015         #HUGE_VALF
103016  1e10000f
103017
103018         )
103019
103020 63 \ 1
103021         #HUGE_VALL
103022  1e10000L
103023
103024         )
103025
103026 66 #ià
103027 __HAVE_FLOAT16
103028  && 
103029 __GLIBC_USE
103030  (
103031 IEC_60559_TYPES_EXT
103032 )
103033
103034 67 \ 1
103035         #HUGE_VAL_F16
103036  (
103037         `__bu\9et\9a_huge_v®f16
103038  ())
103039
103040         )
103041
103042 69 #ià
103043 __HAVE_FLOAT32
103044  && 
103045 __GLIBC_USE
103046  (
103047 IEC_60559_TYPES_EXT
103048 )
103049
103050 70 \ 1
103051         #HUGE_VAL_F32
103052  (
103053         `__bu\9et\9a_huge_v®f32
103054  ())
103055
103056         )
103057
103058 72 #ià
103059 __HAVE_FLOAT64
103060  && 
103061 __GLIBC_USE
103062  (
103063 IEC_60559_TYPES_EXT
103064 )
103065
103066 73 \ 1
103067         #HUGE_VAL_F64
103068  (
103069         `__bu\9et\9a_huge_v®f64
103070  ())
103071
103072         )
103073
103074 75 #ià
103075 __HAVE_FLOAT128
103076  && 
103077 __GLIBC_USE
103078  (
103079 IEC_60559_TYPES_EXT
103080 )
103081
103082 76 \ 1
103083         #HUGE_VAL_F128
103084  (
103085         `__bu\9et\9a_huge_v®f128
103086  ())
103087
103088         )
103089
103090 78 #ià
103091 __HAVE_FLOAT32X
103092  && 
103093 __GLIBC_USE
103094  (
103095 IEC_60559_TYPES_EXT
103096 )
103097
103098 79 \ 1
103099         #HUGE_VAL_F32X
103100  (
103101         `__bu\9et\9a_huge_v®f32x
103102  ())
103103
103104         )
103105
103106 81 #ià
103107 __HAVE_FLOAT64X
103108  && 
103109 __GLIBC_USE
103110  (
103111 IEC_60559_TYPES_EXT
103112 )
103113
103114 82 \ 1
103115         #HUGE_VAL_F64X
103116  (
103117         `__bu\9et\9a_huge_v®f64x
103118  ())
103119
103120         )
103121
103122 84 #ià
103123 __HAVE_FLOAT128X
103124  && 
103125 __GLIBC_USE
103126  (
103127 IEC_60559_TYPES_EXT
103128 )
103129
103130 85 \ 1
103131         #HUGE_VAL_F128X
103132  (
103133         `__bu\9et\9a_huge_v®f128x
103134  ())
103135
103136         )
103137
103138 88 #ifdeà
103139 __USE_ISOC99
103140
103141
103142 90 #ià
103143 __GNUC_PREREQ
103144  (3, 3)
103145
103146 91 \ 1
103147         #INFINITY
103148  (
103149         `__bu\9et\9a_\9aff
103150  ())
103151
103152         )
103153
103154 93 \ 1
103155         #INFINITY
103156  
103157 HUGE_VALF
103158
103159
103160         )
103161
103162 97 #ià
103163 __GNUC_PREREQ
103164  (3, 3)
103165
103166 98 \ 1
103167         #NAN
103168  (
103169         `__bu\9et\9a_Çnf
103170  (""))
103171
103172         )
103173
103174 103 \ 1
103175         #NAN
103176  (0.0à/ 0.0f)
103177
103178         )
103179
103180 107 #ià
103181 __GLIBC_USE
103182  (
103183 IEC_60559_BFP_EXT
103184 )
103185
103186 109 #ià
103187 __GNUC_PREREQ
103188  (3, 3)
103189
103190 110 \ 1
103191         #SNANF
103192  (
103193         `__bu\9et\9a_Çnsf
103194  (""))
103195
103196         )
103197
103198 111 \ 1
103199         #SNAN
103200  (
103201         `__bu\9et\9a_Çns
103202  (""))
103203
103204         )
103205
103206 112 \ 1
103207         #SNANL
103208  (
103209         `__bu\9et\9a_Çn¦
103210  (""))
103211
103212         )
103213
103214 115 #ià
103215 __HAVE_FLOAT16
103216  && 
103217 __GLIBC_USE
103218  (
103219 IEC_60559_TYPES_EXT
103220 )
103221
103222 116 \ 1
103223         #SNANF16
103224  (
103225         `__bu\9et\9a_Çnsf16
103226  (""))
103227
103228         )
103229
103230 118 #ià
103231 __HAVE_FLOAT32
103232  && 
103233 __GLIBC_USE
103234  (
103235 IEC_60559_TYPES_EXT
103236 )
103237
103238 119 \ 1
103239         #SNANF32
103240  (
103241         `__bu\9et\9a_Çnsf32
103242  (""))
103243
103244         )
103245
103246 121 #ià
103247 __HAVE_FLOAT64
103248  && 
103249 __GLIBC_USE
103250  (
103251 IEC_60559_TYPES_EXT
103252 )
103253
103254 122 \ 1
103255         #SNANF64
103256  (
103257         `__bu\9et\9a_Çnsf64
103258  (""))
103259
103260         )
103261
103262 124 #ià
103263 __HAVE_FLOAT128
103264  && 
103265 __GLIBC_USE
103266  (
103267 IEC_60559_TYPES_EXT
103268 )
103269
103270 125 \ 1
103271         #SNANF128
103272  (
103273         `__bu\9et\9a_Çnsf128
103274  (""))
103275
103276         )
103277
103278 127 #ià
103279 __HAVE_FLOAT32X
103280  && 
103281 __GLIBC_USE
103282  (
103283 IEC_60559_TYPES_EXT
103284 )
103285
103286 128 \ 1
103287         #SNANF32X
103288  (
103289         `__bu\9et\9a_Çnsf32x
103290  (""))
103291
103292         )
103293
103294 130 #ià
103295 __HAVE_FLOAT64X
103296  && 
103297 __GLIBC_USE
103298  (
103299 IEC_60559_TYPES_EXT
103300 )
103301
103302 131 \ 1
103303         #SNANF64X
103304  (
103305         `__bu\9et\9a_Çnsf64x
103306  (""))
103307
103308         )
103309
103310 133 #ià
103311 __HAVE_FLOAT128X
103312  && 
103313 __GLIBC_USE
103314  (
103315 IEC_60559_TYPES_EXT
103316 )
103317
103318 134 \ 1
103319         #SNANF128X
103320  (
103321         `__bu\9et\9a_Çnsf128x
103322  (""))
103323
103324         )
103325
103326 138 \ 2
103327         ~<b\99s/æt-ev®-m\91hod.h
103328 >
103329
103330 140 #ifdeà
103331 __USE_ISOC99
103332
103333
103334 148 #ià
103335 __GLIBC_FLT_EVAL_METHOD
103336  == 0 || __GLIBC_FLT_EVAL_METHOD == 16
103337
103338 149 \e\ e
103339         tæßt_t
103340 ;
103341
103342 150 \e\b
103343         tdoubË_t
103344 ;
103345
103346 151 #\96
103347 __GLIBC_FLT_EVAL_METHOD
103348  == 1
103349
103350 152 \e\b
103351         tæßt_t
103352 ;
103353
103354 153 \e\b
103355         tdoubË_t
103356 ;
103357
103358 154 #\96
103359 __GLIBC_FLT_EVAL_METHOD
103360  == 2
103361
103362 155 \e\13\b
103363         tæßt_t
103364 ;
103365
103366 156 \e\13\b
103367         tdoubË_t
103368 ;
103369
103370 157 #\96
103371 __GLIBC_FLT_EVAL_METHOD
103372  == 32
103373
103374 158 \e
103375 _Flßt32
103376  
103377         tæßt_t
103378 ;
103379
103380 159 \e\b
103381         tdoubË_t
103382 ;
103383
103384 160 #\96
103385 __GLIBC_FLT_EVAL_METHOD
103386  == 33
103387
103388 161 \e
103389 _Flßt32x
103390  
103391         tæßt_t
103392 ;
103393
103394 162 \e
103395 _Flßt32x
103396  
103397         tdoubË_t
103398 ;
103399
103400 163 #\96
103401 __GLIBC_FLT_EVAL_METHOD
103402  == 64
103403
103404 164 \e
103405 _Flßt64
103406  
103407         tæßt_t
103408 ;
103409
103410 165 \e
103411 _Flßt64
103412  
103413         tdoubË_t
103414 ;
103415
103416 166 #\96
103417 __GLIBC_FLT_EVAL_METHOD
103418  == 65
103419
103420 167 \e
103421 _Flßt64x
103422  
103423         tæßt_t
103424 ;
103425
103426 168 \e
103427 _Flßt64x
103428  
103429         tdoubË_t
103430 ;
103431
103432 169 #\96
103433 __GLIBC_FLT_EVAL_METHOD
103434  == 128
103435
103436 170 \e
103437 _Flßt128
103438  
103439         tæßt_t
103440 ;
103441
103442 171 \e
103443 _Flßt128
103444  
103445         tdoubË_t
103446 ;
103447
103448 172 #\96
103449 __GLIBC_FLT_EVAL_METHOD
103450  == 129
103451
103452 173 \e
103453 _Flßt128x
103454  
103455         tæßt_t
103456 ;
103457
103458 174 \e
103459 _Flßt128x
103460  
103461         tdoubË_t
103462 ;
103463
103464 190 \ 2
103465         ~<b\99s/å-logb.h
103466 >
103467
103468 191 #ifdeà
103469 __USE_ISOC99
103470
103471
103472 192 #ià
103473 __FP_LOGB0_IS_MIN
103474
103475
103476 193 \ 1
103477         #FP_ILOGB0
103478  (-2147483647 - 1)
103479
103480         )
103481
103482 195 \ 1
103483         #FP_ILOGB0
103484  (-2147483647)
103485
103486         )
103487
103488 197 #ià
103489 __FP_LOGBNAN_IS_MIN
103490
103491
103492 198 \ 1
103493         #FP_ILOGBNAN
103494  (-2147483647 - 1)
103495
103496         )
103497
103498 200 \ 1
103499         #FP_ILOGBNAN
103500  2147483647
103501
103502         )
103503
103504 203 #ià
103505 __GLIBC_USE
103506  (
103507 IEC_60559_BFP_EXT
103508 )
103509
103510 204 #ià
103511 __WORDSIZE
103512  == 32
103513
103514 205 \ 1
103515         #__FP_LONG_MAX
103516  0x7fffffffL
103517
103518         )
103519
103520 207 \ 1
103521         #__FP_LONG_MAX
103522  0x7fffffffffffffffL
103523
103524         )
103525
103526 209 #ià
103527 __FP_LOGB0_IS_MIN
103528
103529
103530 210 \ 1
103531         #FP_LLOGB0
103532  (-
103533 __FP_LONG_MAX
103534  - 1)
103535
103536         )
103537
103538 212 \ 1
103539         #FP_LLOGB0
103540  (-
103541 __FP_LONG_MAX
103542 )
103543
103544         )
103545
103546 214 #ià
103547 __FP_LOGBNAN_IS_MIN
103548
103549
103550 215 \ 1
103551         #FP_LLOGBNAN
103552  (-
103553 __FP_LONG_MAX
103554  - 1)
103555
103556         )
103557
103558 217 \ 1
103559         #FP_LLOGBNAN
103560  
103561 __FP_LONG_MAX
103562
103563
103564         )
103565
103566 233 \ 2
103567         ~<b\99s/å-ç¡.h
103568 >
103569
103570 235 #ià
103571 __GLIBC_USE
103572  (
103573 IEC_60559_BFP_EXT
103574 )
103575
103576 239 
103577         mFP_INT_UPWARD
103578  =
103579
103580 240 \ 1
103581         #FP_INT_UPWARD
103582  0
103583
103584         )
103585
103586 241 
103587 FP_INT_UPWARD
103588 ,
103589
103590 242 
103591         mFP_INT_DOWNWARD
103592  =
103593
103594 243 \ 1
103595         #FP_INT_DOWNWARD
103596  1
103597
103598         )
103599
103600 244 
103601 FP_INT_DOWNWARD
103602 ,
103603
103604 245 
103605         mFP_INT_TOWARDZERO
103606  =
103607
103608 246 \ 1
103609         #FP_INT_TOWARDZERO
103610  2
103611
103612         )
103613
103614 247 
103615 FP_INT_TOWARDZERO
103616 ,
103617
103618 248 
103619         mFP_INT_TONEARESTFROMZERO
103620  =
103621
103622 249 \ 1
103623         #FP_INT_TONEARESTFROMZERO
103624  3
103625
103626         )
103627
103628 250 
103629 FP_INT_TONEARESTFROMZERO
103630 ,
103631
103632 251 
103633         mFP_INT_TONEAREST
103634  =
103635
103636 252 \ 1
103637         #FP_INT_TONEAREST
103638  4
103639
103640         )
103641
103642 253 
103643 FP_INT_TONEAREST
103644 ,
103645
103646 262 \ 1
103647         #__SIMD_DECL
103648 (
103649 funùiÚ
103650 è
103651         `__CONCAT
103652  (
103653 __DECL_SIMD_
103654 , funùiÚ)
103655
103656         )
103657
103658 264 \ 1
103659         #__MATHCALL_VEC
103660 (
103661 funùiÚ
103662
103663 suffix
103664
103665 ¬gs
103666 ) \
103667
103668 265 
103669         `__SIMD_DECL
103670  (
103671         `__MATH_PRECNAME
103672  (
103673 funùiÚ
103674
103675 suffix
103676 )) \
103677
103678 266 
103679         `__MATHCALL
103680  (
103681 funùiÚ
103682
103683 suffix
103684
103685 ¬gs
103686 )
103687
103688         )
103689
103690 268 \ 1
103691         #__MATHDECL_VEC
103692 (
103693 ty³
103694
103695 funùiÚ
103696 ,
103697 suffix
103698
103699 ¬gs
103700 ) \
103701
103702 269 
103703         `__SIMD_DECL
103704  (
103705         `__MATH_PRECNAME
103706  (
103707 funùiÚ
103708
103709 suffix
103710 )) \
103711
103712 270 
103713         `__MATHDECL
103714 (
103715 ty³
103716
103717 funùiÚ
103718 ,
103719 suffix
103720
103721 ¬gs
103722 )
103723
103724         )
103725
103726 272 \ 1
103727         #__MATHCALL
103728 (
103729 funùiÚ
103730 ,
103731 suffix
103732
103733 ¬gs
103734 ) \
103735
103736 273 
103737         `__MATHDECL
103738  (
103739 _MdoubË_
103740 ,
103741 funùiÚ
103742 ,
103743 suffix
103744
103745 ¬gs
103746 )
103747
103748         )
103749
103750 274 \ 1
103751         #__MATHDECL
103752 (
103753 ty³
103754
103755 funùiÚ
103756 ,
103757 suffix
103758
103759 ¬gs
103760 ) \
103761
103762 275 
103763         `__MATHDECL_1
103764 (
103765 ty³
103766
103767 funùiÚ
103768 ,
103769 suffix
103770
103771 ¬gs
103772 ); \
103773
103774 276 
103775         `__MATHDECL_1
103776 (
103777 ty³
103778
103779         `__CONCAT
103780 (
103781 __
103782 ,
103783 funùiÚ
103784 ),
103785 suffix
103786
103787 ¬gs
103788 )
103789
103790         )
103791
103792 277 \ 1
103793         #__MATHCALLX
103794 (
103795 funùiÚ
103796 ,
103797 suffix
103798
103799 ¬gs
103800
103801 ©\8cib
103802 ) \
103803
103804 278 
103805         `__MATHDECLX
103806  (
103807 _MdoubË_
103808 ,
103809 funùiÚ
103810 ,
103811 suffix
103812
103813 ¬gs
103814
103815 ©\8cib
103816 )
103817
103818         )
103819
103820 279 \ 1
103821         #__MATHDECLX
103822 (
103823 ty³
103824
103825 funùiÚ
103826 ,
103827 suffix
103828
103829 ¬gs
103830
103831 ©\8cib
103832 ) \
103833
103834 280 
103835         `__MATHDECL_1
103836 (
103837 ty³
103838
103839 funùiÚ
103840 ,
103841 suffix
103842
103843 ¬gs
103844 è
103845         `__©\8cibu\8b__
103846  (
103847 ©\8cib
103848 ); \
103849
103850 281 
103851         `__MATHDECL_1
103852 (
103853 ty³
103854
103855         `__CONCAT
103856 (
103857 __
103858 ,
103859 funùiÚ
103860 ),
103861 suffix
103862
103863 ¬gs
103864 è
103865         `__©\8cibu\8b__
103866  (
103867 ©\8cib
103868 )
103869
103870         )
103871
103872 282 \ 1
103873         #__MATHDECL_1
103874 (
103875 ty³
103876
103877 funùiÚ
103878 ,
103879 suffix
103880
103881 ¬gs
103882 ) \
103883
103884 283 \r
103885 ty³
103886  
103887         `__MATH_PRECNAME
103888 (
103889 funùiÚ
103890 ,
103891 suffix
103892 è
103893 ¬gs
103894  
103895 __THROW
103896
103897
103898         )
103899
103900 285 \ 1
103901         #_MdoubË_
103902  \b
103903
103904         )
103905
103906 286 \ 1
103907         #__MATH_PRECNAME
103908 (
103909 Çme
103910 ,
103911 r
103912 è
103913         `__CONCAT
103914 Òame,r)
103915
103916         )
103917
103918 287 \ 1
103919         #__MATH_DECLARING_DOUBLE
103920  1
103921
103922         )
103923
103924 288 \ 1
103925         #__MATH_DECLARING_FLOATN
103926  0
103927
103928         )
103929
103930 289 \ 2
103931         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
103932 >
103933
103934 290 \ 2
103935         ~<b\99s/m©hÿÎs.h
103936 >
103937
103938 291 #undeà
103939 _MdoubË_
103940
103941
103942 292 #undeà
103943 __MATH_PRECNAME
103944
103945
103946 293 #undeà
103947 __MATH_DECLARING_DOUBLE
103948
103949
103950 294 #undeà
103951 __MATH_DECLARING_FLOATN
103952
103953
103954 296 #ifdeà
103955 __USE_ISOC99
103956
103957
103958 302 \ 1
103959         #_MdoubË_
103960  \ e
103961
103962         )
103963
103964 303 \ 1
103965         #__MATH_PRECNAME
103966 (
103967 Çme
103968 ,
103969 r
103970 èÇme##
103971 f
103972 ##
103973         )
103974 r
103975
103976 304 \ 1
103977         #__MATH_DECLARING_DOUBLE
103978  0
103979
103980         )
103981
103982 305 \ 1
103983         #__MATH_DECLARING_FLOATN
103984  0
103985
103986         )
103987
103988 306 \ 2
103989         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
103990 >
103991
103992 307 \ 2
103993         ~<b\99s/m©hÿÎs.h
103994 >
103995
103996 308 #undeà
103997 _MdoubË_
103998
103999
104000 309 #undeà
104001 __MATH_PRECNAME
104002
104003
104004 310 #undeà
104005 __MATH_DECLARING_DOUBLE
104006
104007
104008 311 #undeà
104009 __MATH_DECLARING_FLOATN
104010
104011
104012 313 #ià!(
104013 def\9aed
104014  
104015 __NO_LONG_DOUBLE_MATH
104016  && def\9aed 
104017 _LIBC
104018 ) \
104019
104020 314 || 
104021 def\9aed
104022  
104023 __LDBL_COMPAT
104024  \
104025
104026 315 || 
104027 def\9aed
104028  
104029 _LIBC_TEST
104030
104031
104032 316 #ifdeà
104033 __LDBL_COMPAT
104034
104035
104036 318 #ifdeà
104037 __USE_ISOC99
104038
104039
104040 319 \r\ e
104041         $__Ædbl_Ãx\89ow¬df
104042  (\ e
104043 __x
104044\13\b
104045 __y
104046 )
104047
104048 320 
104049 __THROW
104050  
104051         `__©\8cibu\8b__
104052  ((
104053 __cڡ__
104054 ));
104055
104056 321 #ifdeà
104057 __REDIRECT_NTH
104058
104059
104060 322 \r\ e
104061         `__REDIRECT_NTH
104062  (
104063 Ãx\89ow¬df
104064 , (\ e
104065 __x
104066\13\b
104067 __y
104068 ),
104069
104070 323 
104071 __Ædbl_Ãx\89ow¬df
104072 )
104073
104074 324 
104075         `__©\8cibu\8b__
104076  ((
104077 __cڡ__
104078 ));
104079
104080 325 \r\b
104081         `__REDIRECT_NTH
104082  (
104083 Ãx\89ow¬d
104084 , (\b
104085 __x
104086\13\b
104087 __y
104088 ),
104089
104090 326 
104091 Ãx\8fá\94
104092 è
104093         `__©\8cibu\8b__
104094  ((
104095 __cڡ__
104096 ));
104097
104098 327 \r\13\b
104099         `__REDIRECT_NTH
104100  (
104101 Ãx\89ow¬dl
104102 ,
104103
104104 328 (\13\b
104105 __x
104106\13\b
104107 __y
104108 ),
104109
104110 329 
104111 Ãx\8fá\94
104112 è
104113         `__©\8cibu\8b__
104114  ((
104115 __cڡ__
104116 ));
104117
104118 333 #undeà
104119 __MATHDECL_1
104120
104121
104122 334 \ 1
104123         #__MATHDECL_2
104124 (
104125 ty³
104126
104127 funùiÚ
104128 ,
104129 suffix
104130
104131 ¬gs
104132
104133 ®\9fs
104134 ) \
104135
104136 335 \r
104137 ty³
104138  
104139         `__REDIRECT_NTH
104140 (
104141         `__MATH_PRECNAME
104142 (
104143 funùiÚ
104144 ,
104145 suffix
104146 ), \
104147
104148 336 
104149 ¬gs
104150
104151 ®\9fs
104152 )
104153
104154         )
104155
104156 337 \ 1
104157         #__MATHDECL_1
104158 (
104159 ty³
104160
104161 funùiÚ
104162 ,
104163 suffix
104164
104165 ¬gs
104166 ) \
104167
104168 338 
104169         `__MATHDECL_2
104170 (
104171 ty³
104172
104173 funùiÚ
104174 ,
104175 suffix
104176
104177 ¬gs
104178
104179         `__CONCAT
104180 (funùiÚ,suffix))
104181
104182         )
104183
104184 344 \ 1
104185         #_MdoubË_
104186  \13\b
104187
104188         )
104189
104190 345 \ 1
104191         #__MATH_PRECNAME
104192 (
104193 Çme
104194 ,
104195 r
104196 èÇme##
104197 l
104198 ##
104199         )
104200 r
104201
104202 346 \ 1
104203         #__MATH_DECLARING_DOUBLE
104204  0
104205
104206         )
104207
104208 347 \ 1
104209         #__MATH_DECLARING_FLOATN
104210  0
104211
104212         )
104213
104214 348 \ 1
104215         #__MATH_DECLARE_LDOUBLE
104216  1
104217
104218         )
104219
104220 349 \ 2
104221         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104222 >
104223
104224 350 \ 2
104225         ~<b\99s/m©hÿÎs.h
104226 >
104227
104228 351 #undeà
104229 _MdoubË_
104230
104231
104232 352 #undeà
104233 __MATH_PRECNAME
104234
104235
104236 353 #undeà
104237 __MATH_DECLARING_DOUBLE
104238
104239
104240 354 #undeà
104241 __MATH_DECLARING_FLOATN
104242
104243
104244 363 #ià
104245 __HAVE_DISTINCT_FLOAT16
104246  || (
104247 __HAVE_FLOAT16
104248  && !
104249 def\9aed
104250  
104251 _LIBC
104252 )
104253
104254 364 \ 1
104255         #_MdoubË_
104256  
104257 _Flßt16
104258
104259
104260         )
104261
104262 365 \ 1
104263         #__MATH_PRECNAME
104264 (
104265 Çme
104266 ,
104267 r
104268 èÇme##
104269 f16
104270 ##
104271         )
104272 r
104273
104274 366 \ 1
104275         #__MATH_DECLARING_DOUBLE
104276  0
104277
104278         )
104279
104280 367 \ 1
104281         #__MATH_DECLARING_FLOATN
104282  1
104283
104284         )
104285
104286 368 #ià
104287 __HAVE_DISTINCT_FLOAT16
104288
104289
104290 369 \ 2
104291         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104292 >
104293
104294 371 #ià
104295         `__GLIBC_USE
104296  (
104297 IEC_60559_TYPES_EXT
104298 )
104299
104300 372 \ 2
104301         ~<b\99s/m©hÿÎs.h
104302 >
104303
104304 374 #undeà
104305 _MdoubË_
104306
104307
104308 375 #undeà
104309 __MATH_PRECNAME
104310
104311
104312 376 #undeà
104313 __MATH_DECLARING_DOUBLE
104314
104315
104316 377 #undeà
104317 __MATH_DECLARING_FLOATN
104318
104319
104320 380 #ià
104321 __HAVE_DISTINCT_FLOAT32
104322  || (
104323 __HAVE_FLOAT32
104324  && !
104325 def\9aed
104326  
104327 _LIBC
104328 )
104329
104330 381 \ 1
104331         #_MdoubË_
104332  
104333 _Flßt32
104334
104335
104336         )
104337
104338 382 \ 1
104339         #__MATH_PRECNAME
104340 (
104341 Çme
104342 ,
104343 r
104344 èÇme##
104345 f32
104346 ##
104347         )
104348 r
104349
104350 383 \ 1
104351         #__MATH_DECLARING_DOUBLE
104352  0
104353
104354         )
104355
104356 384 \ 1
104357         #__MATH_DECLARING_FLOATN
104358  1
104359
104360         )
104361
104362 385 #ià
104363 __HAVE_DISTINCT_FLOAT32
104364
104365
104366 386 \ 2
104367         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104368 >
104369
104370 388 #ià
104371         `__GLIBC_USE
104372  (
104373 IEC_60559_TYPES_EXT
104374 )
104375
104376 389 \ 2
104377         ~<b\99s/m©hÿÎs.h
104378 >
104379
104380 391 #undeà
104381 _MdoubË_
104382
104383
104384 392 #undeà
104385 __MATH_PRECNAME
104386
104387
104388 393 #undeà
104389 __MATH_DECLARING_DOUBLE
104390
104391
104392 394 #undeà
104393 __MATH_DECLARING_FLOATN
104394
104395
104396 397 #ià
104397 __HAVE_DISTINCT_FLOAT64
104398  || (
104399 __HAVE_FLOAT64
104400  && !
104401 def\9aed
104402  
104403 _LIBC
104404 )
104405
104406 398 \ 1
104407         #_MdoubË_
104408  
104409 _Flßt64
104410
104411
104412         )
104413
104414 399 \ 1
104415         #__MATH_PRECNAME
104416 (
104417 Çme
104418 ,
104419 r
104420 èÇme##
104421 f64
104422 ##
104423         )
104424 r
104425
104426 400 \ 1
104427         #__MATH_DECLARING_DOUBLE
104428  0
104429
104430         )
104431
104432 401 \ 1
104433         #__MATH_DECLARING_FLOATN
104434  1
104435
104436         )
104437
104438 402 #ià
104439 __HAVE_DISTINCT_FLOAT64
104440
104441
104442 403 \ 2
104443         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104444 >
104445
104446 405 #ià
104447         `__GLIBC_USE
104448  (
104449 IEC_60559_TYPES_EXT
104450 )
104451
104452 406 \ 2
104453         ~<b\99s/m©hÿÎs.h
104454 >
104455
104456 408 #undeà
104457 _MdoubË_
104458
104459
104460 409 #undeà
104461 __MATH_PRECNAME
104462
104463
104464 410 #undeà
104465 __MATH_DECLARING_DOUBLE
104466
104467
104468 411 #undeà
104469 __MATH_DECLARING_FLOATN
104470
104471
104472 414 #ià
104473 __HAVE_DISTINCT_FLOAT128
104474  || (
104475 __HAVE_FLOAT128
104476  && !
104477 def\9aed
104478  
104479 _LIBC
104480 )
104481
104482 415 \ 1
104483         #_MdoubË_
104484  
104485 _Flßt128
104486
104487
104488         )
104489
104490 416 \ 1
104491         #__MATH_PRECNAME
104492 (
104493 Çme
104494 ,
104495 r
104496 èÇme##
104497 f128
104498 ##
104499         )
104500 r
104501
104502 417 \ 1
104503         #__MATH_DECLARING_DOUBLE
104504  0
104505
104506         )
104507
104508 418 \ 1
104509         #__MATH_DECLARING_FLOATN
104510  1
104511
104512         )
104513
104514 419 #ià
104515 __HAVE_DISTINCT_FLOAT128
104516
104517
104518 420 \ 2
104519         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104520 >
104521
104522 422 #ià
104523         `__GLIBC_USE
104524  (
104525 IEC_60559_TYPES_EXT
104526 )
104527
104528 423 \ 2
104529         ~<b\99s/m©hÿÎs.h
104530 >
104531
104532 425 #undeà
104533 _MdoubË_
104534
104535
104536 426 #undeà
104537 __MATH_PRECNAME
104538
104539
104540 427 #undeà
104541 __MATH_DECLARING_DOUBLE
104542
104543
104544 428 #undeà
104545 __MATH_DECLARING_FLOATN
104546
104547
104548 431 #ià
104549 __HAVE_DISTINCT_FLOAT32X
104550  || (
104551 __HAVE_FLOAT32X
104552  && !
104553 def\9aed
104554  
104555 _LIBC
104556 )
104557
104558 432 \ 1
104559         #_MdoubË_
104560  
104561 _Flßt32x
104562
104563
104564         )
104565
104566 433 \ 1
104567         #__MATH_PRECNAME
104568 (
104569 Çme
104570 ,
104571 r
104572 èÇme##
104573 f32x
104574 ##
104575         )
104576 r
104577
104578 434 \ 1
104579         #__MATH_DECLARING_DOUBLE
104580  0
104581
104582         )
104583
104584 435 \ 1
104585         #__MATH_DECLARING_FLOATN
104586  1
104587
104588         )
104589
104590 436 #ià
104591 __HAVE_DISTINCT_FLOAT32X
104592
104593
104594 437 \ 2
104595         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104596 >
104597
104598 439 #ià
104599         `__GLIBC_USE
104600  (
104601 IEC_60559_TYPES_EXT
104602 )
104603
104604 440 \ 2
104605         ~<b\99s/m©hÿÎs.h
104606 >
104607
104608 442 #undeà
104609 _MdoubË_
104610
104611
104612 443 #undeà
104613 __MATH_PRECNAME
104614
104615
104616 444 #undeà
104617 __MATH_DECLARING_DOUBLE
104618
104619
104620 445 #undeà
104621 __MATH_DECLARING_FLOATN
104622
104623
104624 448 #ià
104625 __HAVE_DISTINCT_FLOAT64X
104626  || (
104627 __HAVE_FLOAT64X
104628  && !
104629 def\9aed
104630  
104631 _LIBC
104632 )
104633
104634 449 \ 1
104635         #_MdoubË_
104636  
104637 _Flßt64x
104638
104639
104640         )
104641
104642 450 \ 1
104643         #__MATH_PRECNAME
104644 (
104645 Çme
104646 ,
104647 r
104648 èÇme##
104649 f64x
104650 ##
104651         )
104652 r
104653
104654 451 \ 1
104655         #__MATH_DECLARING_DOUBLE
104656  0
104657
104658         )
104659
104660 452 \ 1
104661         #__MATH_DECLARING_FLOATN
104662  1
104663
104664         )
104665
104666 453 #ià
104667 __HAVE_DISTINCT_FLOAT64X
104668
104669
104670 454 \ 2
104671         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104672 >
104673
104674 456 #ià
104675         `__GLIBC_USE
104676  (
104677 IEC_60559_TYPES_EXT
104678 )
104679
104680 457 \ 2
104681         ~<b\99s/m©hÿÎs.h
104682 >
104683
104684 459 #undeà
104685 _MdoubË_
104686
104687
104688 460 #undeà
104689 __MATH_PRECNAME
104690
104691
104692 461 #undeà
104693 __MATH_DECLARING_DOUBLE
104694
104695
104696 462 #undeà
104697 __MATH_DECLARING_FLOATN
104698
104699
104700 465 #ià
104701 __HAVE_DISTINCT_FLOAT128X
104702  || (
104703 __HAVE_FLOAT128X
104704  && !
104705 def\9aed
104706  
104707 _LIBC
104708 )
104709
104710 466 \ 1
104711         #_MdoubË_
104712  
104713 _Flßt128x
104714
104715
104716         )
104717
104718 467 \ 1
104719         #__MATH_PRECNAME
104720 (
104721 Çme
104722 ,
104723 r
104724 èÇme##
104725 f128x
104726 ##
104727         )
104728 r
104729
104730 468 \ 1
104731         #__MATH_DECLARING_DOUBLE
104732  0
104733
104734         )
104735
104736 469 \ 1
104737         #__MATH_DECLARING_FLOATN
104738  1
104739
104740         )
104741
104742 470 #ià
104743 __HAVE_DISTINCT_FLOAT128X
104744
104745
104746 471 \ 2
104747         ~<b\99s/m©hÿÎs-h\96³r-funùiÚs.h
104748 >
104749
104750 473 #ià
104751         `__GLIBC_USE
104752  (
104753 IEC_60559_TYPES_EXT
104754 )
104755
104756 474 \ 2
104757         ~<b\99s/m©hÿÎs.h
104758 >
104759
104760 476 #undeà
104761 _MdoubË_
104762
104763
104764 477 #undeà
104765 __MATH_PRECNAME
104766
104767
104768 478 #undeà
104769 __MATH_DECLARING_DOUBLE
104770
104771
104772 479 #undeà
104773 __MATH_DECLARING_FLOATN
104774
104775
104776 482 #undeà
104777 __MATHDECL_1
104778
104779
104780 483 #undeà
104781 __MATHDECL
104782
104783
104784 484 #undeà
104785 __MATHCALL
104786
104787
104788 487 #ià
104789 def\9aed
104790  
104791 __USE_MISC
104792  || def\9aed 
104793 __USE_XOPEN
104794
104795
104796 489 \r\12
104797 signgam
104798 ;
104799
104800 492 #ià(
104801 __HAVE_DISTINCT_FLOAT16
104802  \
104803
104804 493 || 
104805 __HAVE_DISTINCT_FLOAT32
104806  \
104807
104808 494 || 
104809 __HAVE_DISTINCT_FLOAT64
104810  \
104811
104812 495 || 
104813 __HAVE_DISTINCT_FLOAT32X
104814  \
104815
104816 496 || 
104817 __HAVE_DISTINCT_FLOAT64X
104818  \
104819
104820 497 || 
104821 __HAVE_DISTINCT_FLOAT128X
104822 )
104823
104824 510 #ifdeà
104825 __NO_LONG_DOUBLE_MATH
104826
104827
104828 511 #ià
104829 __HAVE_DISTINCT_FLOAT128
104830
104831
104832 514 \ 1
104833         #__MATH_TG
104834 (
104835 TG_ARG
104836
104837 FUNC
104838
104839 ARGS
104840 ) \
104841
104842 515 (\17 (
104843 TG_ARG
104844 è=ð\17 (\ eè? 
104845 FUNC
104846  ## 
104847 f
104848  
104849 ARGS
104850  : FUNC ARGS)
104851
104852         )
104853
104854 516 #\96
104855 __HAVE_DISTINCT_FLOAT128
104856
104857
104858 517 #ià
104859 __HAVE_GENERIC_SELECTION
104860
104861
104862 518 #ià
104863 __HAVE_FLOATN_NOT_TYPEDEF
104864  && 
104865 __HAVE_FLOAT32
104866
104867
104868 519 \ 1
104869         #__MATH_TG_F32
104870 (
104871 FUNC
104872
104873 ARGS
104874 è
104875 _Flßt32
104876 : FUNC ## 
104877 f
104878  ARGS,
104879
104880         )
104881
104882 521 \ 1
104883         #__MATH_TG_F32
104884 (
104885 FUNC
104886
104887 ARGS
104888 )
104889
104890         )
104891
104892 523 #ià
104893 __HAVE_FLOATN_NOT_TYPEDEF
104894  && 
104895 __HAVE_FLOAT64X
104896
104897
104898 524 #ià
104899 __HAVE_FLOAT64X_LONG_DOUBLE
104900
104901
104902 525 \ 1
104903         #__MATH_TG_F64X
104904 (
104905 FUNC
104906
104907 ARGS
104908 è
104909 _Flßt64x
104910 : FUNC ## 
104911 l
104912  ARGS,
104913
104914         )
104915
104916 527 \ 1
104917         #__MATH_TG_F64X
104918 (
104919 FUNC
104920
104921 ARGS
104922 è
104923 _Flßt64x
104924 : FUNC ## 
104925 f128
104926  ARGS,
104927
104928         )
104929
104930 530 \ 1
104931         #__MATH_TG_F64X
104932 (
104933 FUNC
104934
104935 ARGS
104936 )
104937
104938         )
104939
104940 532 \ 1
104941         #__MATH_TG
104942 (
104943 TG_ARG
104944
104945 FUNC
104946
104947 ARGS
104948 ) \
104949
104950 533 
104951         `_G\92\94ic
104952  ((
104953 TG_ARG
104954 ), \
104955
104956 534 \ e
104957 FUNC
104958  ## 
104959 f
104960  
104961 ARGS
104962 , \
104963
104964 535 
104965         `__MATH_TG_F32
104966  (
104967 FUNC
104968
104969 ARGS
104970 ) \
104971
104972 536 \a
104973 FUNC
104974  
104975 ARGS
104976 , \
104977
104978 537 \13\b
104979 FUNC
104980  ## 
104981 l
104982  
104983 ARGS
104984 , \
104985
104986 538 
104987         `__MATH_TG_F64X
104988  (
104989 FUNC
104990
104991 ARGS
104992 ) \
104993
104994 539 
104995 _Flßt128
104996
104997 FUNC
104998  ## 
104999 f128
105000  
105001 ARGS
105002 )
105003
105004         )
105005
105006 541 #ià
105007 __HAVE_FLOATN_NOT_TYPEDEF
105008
105009
105010 544 \ 1
105011         #__MATH_TG
105012 (
105013 TG_ARG
105014
105015 FUNC
105016
105017 ARGS
105018 ) \
105019
105020 545 
105021 __bu\9et\9a_choo£_ex´
105022  \
105023
105024 546 (
105025         `__bu\9et\9a_ty³s_com·tibË_p
105026  (
105027         `__ty³of
105028  (
105029 TG_ARG
105030 ), \ e), \
105031
105032 547 
105033 FUNC
105034  ## 
105035 f
105036  
105037 ARGS
105038 , \
105039
105040 548 
105041 __bu\9et\9a_choo£_ex´
105042  \
105043
105044 549 (
105045         `__bu\9et\9a_ty³s_com·tibË_p
105046  (
105047         `__ty³of
105048  (
105049 TG_ARG
105050 ), \b), \
105051
105052 550 
105053 FUNC
105054  
105055 ARGS
105056 , \
105057
105058 551 
105059 __bu\9et\9a_choo£_ex´
105060  \
105061
105062 552 (
105063         `__bu\9et\9a_ty³s_com·tibË_p
105064  (
105065         `__ty³of
105066  (
105067 TG_ARG
105068 ), \13\b), \
105069
105070 553 
105071 FUNC
105072  ## 
105073 l
105074  
105075 ARGS
105076 , \
105077
105078 554 
105079 FUNC
105080  ## 
105081 f128
105082  
105083 ARGS
105084 )))
105085
105086         )
105087
105088 557 \ 1
105089         #__MATH_TG
105090 (
105091 TG_ARG
105092
105093 FUNC
105094
105095 ARGS
105096 ) \
105097
105098 558 (\17 (
105099 TG_ARG
105100 ) == \17 (\ e) \
105101
105102 559 ? 
105103 FUNC
105104  ## 
105105 f
105106  
105107 ARGS
105108  \
105109
105110 560 : \17 (
105111 TG_ARG
105112 ) == \17 (\b) \
105113
105114 561 ? 
105115 FUNC
105116  
105117 ARGS
105118  \
105119
105120 562 : 
105121 FUNC
105122  ## 
105123 l
105124  
105125 ARGS
105126 )
105127
105128         )
105129
105130 566 #ifdeà
105131 __USE_ISOC99
105132
105133
105134 571 
105135 FP_NAN
105136  =
105137
105138 572 \ 1
105139         #FP_NAN
105140  0
105141
105142         )
105143
105144 573 
105145 FP_NAN
105146 ,
105147
105148 574 
105149 FP_INFINITE
105150  =
105151
105152 575 \ 1
105153         #FP_INFINITE
105154  1
105155
105156         )
105157
105158 576 
105159 FP_INFINITE
105160 ,
105161
105162 577 
105163 FP_ZERO
105164  =
105165
105166 578 \ 1
105167         #FP_ZERO
105168  2
105169
105170         )
105171
105172 579 
105173 FP_ZERO
105174 ,
105175
105176 580 
105177 FP_SUBNORMAL
105178  =
105179
105180 581 \ 1
105181         #FP_SUBNORMAL
105182  3
105183
105184         )
105185
105186 582 
105187 FP_SUBNORMAL
105188 ,
105189
105190 583 
105191 FP_NORMAL
105192  =
105193
105194 584 \ 1
105195         #FP_NORMAL
105196  4
105197
105198         )
105199
105200 585 
105201 FP_NORMAL
105202
105203
105204 593 #ià
105205         `__GNUC_PREREQ
105206  (4,4è&& !
105207 def\9aed
105208  
105209 __SUPPORT_SNAN__
105210  \
105211
105212 594 && (!
105213 def\9aed
105214  
105215 __OPTIMIZE_SIZE__
105216  || def\9aed 
105217 __ýlu¥lus
105218 )
105219
105220 601 \ 1
105221         #åþassify
105222 (
105223 x
105224 è
105225         `__bu\9et\9a_åþassify
105226  (
105227 FP_NAN
105228
105229 FP_INFINITE
105230 , \
105231
105232 602 
105233 FP_NORMAL
105234
105235 FP_SUBNORMAL
105236
105237 FP_ZERO
105238
105239 x
105240 )
105241
105242         )
105243
105244 604 \ 1
105245         #åþassify
105246 (
105247 x
105248 è
105249         `__MATH_TG
105250  ((x), 
105251 __åþassify
105252 , (x))
105253
105254         )
105255
105256 608 #ià
105257         `__GNUC_PREREQ
105258  (6,0)
105259
105260 609 \ 1
105261         #signb\99
105262 (
105263 x
105264 è
105265         `__bu\9et\9a_signb\99
105266  (x)
105267
105268         )
105269
105270 610 #\96
105271 def\9aed
105272  
105273 __ýlu¥lus
105274
105275
105276 618 \ 1
105277         #signb\99
105278 (
105279 x
105280 è
105281         `__bu\9et\9a_signb\99l
105282  (x)
105283
105284         )
105285
105286 619 #\96
105287         `__GNUC_PREREQ
105288  (4,0)
105289
105290 620 \ 1
105291         #signb\99
105292 (
105293 x
105294 è
105295         `__MATH_TG
105296  ((x), 
105297 __bu\9et\9a_signb\99
105298 , (x))
105299
105300         )
105301
105302 622 \ 1
105303         #signb\99
105304 (
105305 x
105306 è
105307         `__MATH_TG
105308  ((x), 
105309 __signb\99
105310 , (x))
105311
105312         )
105313
105314 626 #ià
105315         `__GNUC_PREREQ
105316  (4,4è&& !
105317 def\9aed
105318  
105319 __SUPPORT_SNAN__
105320
105321
105322 627 \ 1
105323         #isf\9a\99e
105324 (
105325 x
105326 è
105327         `__bu\9et\9a_isf\9a\99e
105328  (x)
105329
105330         )
105331
105332 629 \ 1
105333         #isf\9a\99e
105334 (
105335 x
105336 è
105337         `__MATH_TG
105338  ((x), 
105339 __f\9a\99e
105340 , (x))
105341
105342         )
105343
105344 633 #ià
105345         `__GNUC_PREREQ
105346  (4,4è&& !
105347 def\9aed
105348  
105349 __SUPPORT_SNAN__
105350
105351
105352 634 \ 1
105353         #i¢Üm®
105354 (
105355 x
105356 è
105357         `__bu\9et\9a_i¢Üm®
105358  (x)
105359
105360         )
105361
105362 636 \ 1
105363         #i¢Üm®
105364 (
105365 x
105366 è(
105367         `åþassify
105368  (xè=ð
105369 FP_NORMAL
105370 )
105371
105372         )
105373
105374 641 #ià
105375         `__GNUC_PREREQ
105376  (4,4è&& !
105377 def\9aed
105378  
105379 __SUPPORT_SNAN__
105380
105381
105382 642 \ 1
105383         #i¢ª
105384 (
105385 x
105386 è
105387         `__bu\9et\9a_i¢ª
105388  (x)
105389
105390         )
105391
105392 644 \ 1
105393         #i¢ª
105394 (
105395 x
105396 è
105397         `__MATH_TG
105398  ((x), 
105399 __i¢ª
105400 , (x))
105401
105402         )
105403
105404 648 #ià
105405 __HAVE_DISTINCT_FLOAT128
105406  && !
105407         `__GNUC_PREREQ
105408  (7,0) \
105409
105410 649 && !
105411 def\9aed
105412  
105413 __SUPPORT_SNAN__
105414  && !def\9aed 
105415 __ýlu¥lus
105416
105417
105418 655 \ 1
105419         #is\9af
105420 (
105421 x
105422 ) \
105423
105424 656 (
105425         `__bu\9et\9a_ty³s_com·tibË_p
105426  (
105427         `__ty³of
105428  (
105429 x
105430 ), 
105431 _Flßt128
105432 ) \
105433
105434 657 ? 
105435         `__is\9aff128
105436  (
105437 x
105438 è: 
105439         `__bu\9et\9a_is\9af_sign
105440  (x))
105441
105442         )
105443
105444 658 #\96
105445         `__GNUC_PREREQ
105446  (4,4è&& !
105447 def\9aed
105448  
105449 __SUPPORT_SNAN__
105450
105451
105452 659 \ 1
105453         #is\9af
105454 (
105455 x
105456 è
105457         `__bu\9et\9a_is\9af_sign
105458  (x)
105459
105460         )
105461
105462 661 \ 1
105463         #is\9af
105464 (
105465 x
105466 è
105467         `__MATH_TG
105468  ((x), 
105469 __is\9af
105470 , (x))
105471
105472         )
105473
105474 665 \ 1
105475         #MATH_ERRNO
105476  1
105477
105478         )
105479
105480 666 \ 1
105481         #MATH_ERREXCEPT
105482  2
105483
105484         )
105485
105486 673 #ifdeà
105487 __FAST_MATH__
105488
105489
105490 674 \ 1
105491         #m©h_\94rhªdl\9ag
105492  0
105493
105494         )
105495
105496 675 #\96
105497 def\9aed
105498  
105499 __NO_MATH_ERRNO__
105500
105501
105502 676 \ 1
105503         #m©h_\94rhªdl\9ag
105504  (
105505 MATH_ERREXCEPT
105506 )
105507
105508         )
105509
105510 678 \ 1
105511         #m©h_\94rhªdl\9ag
105512  (
105513 MATH_ERRNO
105514  | 
105515 MATH_ERREXCEPT
105516 )
105517
105518         )
105519
105520 683 #ià
105521         `__GLIBC_USE
105522  (
105523 IEC_60559_BFP_EXT
105524 )
105525
105526 684 \ 2
105527         ~<b\99s/isÿnÚiÿl.h
105528 >
105529
105530 687 #iâdeà
105531 __ýlu¥lus
105532
105533
105534 688 \ 1
105535         #issigÇl\9ag
105536 (
105537 x
105538 è
105539         `__MATH_TG
105540  ((x), 
105541 __issigÇl\9ag
105542 , (x))
105543
105544         )
105545
105546 697 
105547 \9al\9ae
105548  \12
105549         `issigÇl\9ag
105550  (\ e
105551 __v®
105552 è{ \15 
105553         `__issigÇl\9agf
105554  (__val); }
105555
105556 698 
105557 \9al\9ae
105558  \12
105559         `issigÇl\9ag
105560  (\b
105561 __v®
105562 è{ \15 
105563         `__issigÇl\9ag
105564  (__val); }
105565
105566 699 
105567 \9al\9ae
105568  \12
105569
105570 700 
105571         `issigÇl\9ag
105572  (\13\b
105573 __v®
105574 )
105575
105576 702 #ifdeà
105577 __NO_LONG_DOUBLE_MATH
105578
105579
105580 703 \15 
105581         `__issigÇl\9ag
105582  (
105583 __v®
105584 );
105585
105586 705 \15 
105587         `__issigÇl\9agl
105588  (
105589 __v®
105590 );
105591
105592 708 #ià
105593 __HAVE_DISTINCT_FLOAT128
105594
105595
105596 709 
105597 \9al\9ae
105598  \12
105599         `issigÇl\9ag
105600  (
105601 _Flßt128
105602  
105603 __v®
105604 è{ \15 
105605         `__issigÇl\9agf128
105606  (__val); }
105607
105608 711 
105609         }
105610 }
105611
105612 715 \ 1
105613         #issubnÜm®
105614 (
105615 x
105616 è(
105617         `åþassify
105618  (xè=ð
105619 FP_SUBNORMAL
105620 )
105621
105622         )
105623
105624 718 #iâdeà
105625 __ýlu¥lus
105626
105627
105628 719 #ifdeà
105629 __SUPPORT_SNAN__
105630
105631
105632 720 \ 1
105633         #isz\94o
105634 (
105635 x
105636 è(
105637         `åþassify
105638  (xè=ð
105639 FP_ZERO
105640 )
105641
105642         )
105643
105644 722 \ 1
105645         #isz\94o
105646 (
105647 x
105648 è(((
105649         `__ty³of
105650  (x)è(x)è=ð0)
105651
105652         )
105653
105654 726 #ifdeà
105655 __SUPPORT_SNAN__
105656
105657
105658 727 
105659 \9al\9ae
105660  \12
105661
105662 728 
105663 isz\94o
105664  (\ e
105665 __v®
105666 )
105667
105668 730 \15 
105669 __åþassifyf
105670  (
105671 __v®
105672 è=ð
105673 FP_ZERO
105674 ;
105675
105676 732 
105677 \9al\9ae
105678  \12
105679
105680 733 
105681 isz\94o
105682  (\b
105683 __v®
105684 )
105685
105686 735 \15 
105687 __åþassify
105688  (
105689 __v®
105690 è=ð
105691 FP_ZERO
105692 ;
105693
105694 737 
105695 \9al\9ae
105696  \12
105697
105698 738 
105699 isz\94o
105700  (\13\b
105701 __v®
105702 )
105703
105704 740 #ifdeà
105705 __NO_LONG_DOUBLE_MATH
105706
105707
105708 741 \15 
105709 __åþassify
105710  (
105711 __v®
105712 è=ð
105713 FP_ZERO
105714 ;
105715
105716 743 \15 
105717 __åþassifyl
105718  (
105719 __v®
105720 è=ð
105721 FP_ZERO
105722 ;
105723
105724 746 #ià
105725 __HAVE_DISTINCT_FLOAT128
105726
105727
105728 747 
105729 \9al\9ae
105730  \12
105731
105732 748 
105733 isz\94o
105734  (
105735 _Flßt128
105736  
105737 __v®
105738 )
105739
105740 750 \15 
105741 __åþassifyf128
105742  (
105743 __v®
105744 è=ð
105745 FP_ZERO
105746 ;
105747
105748 754 
105749 \8bm¶©e
105750  <
105751 þass
105752  
105753 __T
105754
105755 \9al\9ae
105756  
105757 boÞ
105758
105759
105760 755 
105761 isz\94o
105762  (
105763 __T
105764  
105765 __v®
105766 )
105767
105768 757 \15 
105769 __v®
105770  == 0;
105771
105772 764 #ifdeà
105773 __USE_XOPEN
105774
105775
105776 766 \ 1
105777         #MAXFLOAT
105778  3.40282347e+38F
105779
105780         )
105781
105782 771 #ià
105783 def\9aed
105784  
105785 __USE_MISC
105786  || def\9aed 
105787 __USE_XOPEN
105788
105789
105790 772 \ 1
105791         #M_E
105792  2.7182818284590452354
105793
105794         )
105795
105796 773 \ 1
105797         #M_LOG2E
105798  1.4426950408889634074
105799
105800         )
105801
105802 774 \ 1
105803         #M_LOG10E
105804  0.43429448190325182765
105805
105806         )
105807
105808 775 \ 1
105809         #M_LN2
105810  0.69314718055994530942
105811
105812         )
105813
105814 776 \ 1
105815         #M_LN10
105816  2.30258509299404568402
105817
105818         )
105819
105820 777 \ 1
105821         #M_PI
105822  3.14159265358979323846
105823
105824         )
105825
105826 778 \ 1
105827         #M_PI_2
105828  1.57079632679489661923
105829
105830         )
105831
105832 779 \ 1
105833         #M_PI_4
105834  0.78539816339744830962
105835
105836         )
105837
105838 780 \ 1
105839         #M_1_PI
105840  0.31830988618379067154
105841
105842         )
105843
105844 781 \ 1
105845         #M_2_PI
105846  0.63661977236758134308
105847
105848         )
105849
105850 782 \ 1
105851         #M_2_SQRTPI
105852  1.12837916709551257390
105853
105854         )
105855
105856 783 \ 1
105857         #M_SQRT2
105858  1.41421356237309504880
105859
105860         )
105861
105862 784 \ 1
105863         #M_SQRT1_2
105864  0.70710678118654752440
105865
105866         )
105867
105868 790 #ifdeà
105869 __USE_GNU
105870
105871
105872 791 \ 1
105873         #M_El
105874  2.718281828459045235360287471352662498L
105875
105876         )
105877
105878 792 \ 1
105879         #M_LOG2El
105880  1.442695040888963407359924681001892137L
105881
105882         )
105883
105884 793 \ 1
105885         #M_LOG10El
105886  0.434294481903251827651128918916605082L
105887
105888         )
105889
105890 794 \ 1
105891         #M_LN2l
105892  0.693147180559945309417232121458176568L
105893
105894         )
105895
105896 795 \ 1
105897         #M_LN10l
105898  2.302585092994045684017991454684364208L
105899
105900         )
105901
105902 796 \ 1
105903         #M_PIl
105904  3.141592653589793238462643383279502884L
105905
105906         )
105907
105908 797 \ 1
105909         #M_PI_2l
105910  1.570796326794896619231321691639751442L
105911
105912         )
105913
105914 798 \ 1
105915         #M_PI_4l
105916  0.785398163397448309615660845819875721L
105917
105918         )
105919
105920 799 \ 1
105921         #M_1_PIl
105922  0.318309886183790671537767526745028724L
105923
105924         )
105925
105926 800 \ 1
105927         #M_2_PIl
105928  0.636619772367581343075535053490057448L
105929
105930         )
105931
105932 801 \ 1
105933         #M_2_SQRTPIl
105934  1.128379167095512573896158903121545172L
105935
105936         )
105937
105938 802 \ 1
105939         #M_SQRT2l
105940  1.414213562373095048801688724209698079L
105941
105942         )
105943
105944 803 \ 1
105945         #M_SQRT1_2l
105946  0.707106781186547524400844362104849039L
105947
105948         )
105949
105950 806 #ià
105951 __HAVE_FLOAT16
105952  && 
105953 def\9aed
105954  
105955 __USE_GNU
105956
105957
105958 807 \ 1
105959         #M_Ef16
105960  
105961         `__f16
105962  (2.718281828459045235360287471352662498è
105963
105964         )
105965
105966 808 \ 1
105967         #M_LOG2Ef16
105968  
105969         `__f16
105970  (1.442695040888963407359924681001892137è
105971
105972         )
105973
105974 809 \ 1
105975         #M_LOG10Ef16
105976  
105977         `__f16
105978  (0.434294481903251827651128918916605082è
105979
105980         )
105981
105982 810 \ 1
105983         #M_LN2f16
105984  
105985         `__f16
105986  (0.693147180559945309417232121458176568è
105987
105988         )
105989
105990 811 \ 1
105991         #M_LN10f16
105992  
105993         `__f16
105994  (2.302585092994045684017991454684364208è
105995
105996         )
105997
105998 812 \ 1
105999         #M_PIf16
106000  
106001         `__f16
106002  (3.141592653589793238462643383279502884è
106003
106004         )
106005
106006 813 \ 1
106007         #M_PI_2f16
106008  
106009         `__f16
106010  (1.570796326794896619231321691639751442è
106011
106012         )
106013
106014 814 \ 1
106015         #M_PI_4f16
106016  
106017         `__f16
106018  (0.785398163397448309615660845819875721è
106019
106020         )
106021
106022 815 \ 1
106023         #M_1_PIf16
106024  
106025         `__f16
106026  (0.318309886183790671537767526745028724è
106027
106028         )
106029
106030 816 \ 1
106031         #M_2_PIf16
106032  
106033         `__f16
106034  (0.636619772367581343075535053490057448è
106035
106036         )
106037
106038 817 \ 1
106039         #M_2_SQRTPIf16
106040  
106041         `__f16
106042  (1.128379167095512573896158903121545172è
106043
106044         )
106045
106046 818 \ 1
106047         #M_SQRT2f16
106048  
106049         `__f16
106050  (1.414213562373095048801688724209698079è
106051
106052         )
106053
106054 819 \ 1
106055         #M_SQRT1_2f16
106056  
106057         `__f16
106058  (0.707106781186547524400844362104849039è
106059
106060         )
106061
106062 822 #ià
106063 __HAVE_FLOAT32
106064  && 
106065 def\9aed
106066  
106067 __USE_GNU
106068
106069
106070 823 \ 1
106071         #M_Ef32
106072  
106073         `__f32
106074  (2.718281828459045235360287471352662498è
106075
106076         )
106077
106078 824 \ 1
106079         #M_LOG2Ef32
106080  
106081         `__f32
106082  (1.442695040888963407359924681001892137è
106083
106084         )
106085
106086 825 \ 1
106087         #M_LOG10Ef32
106088  
106089         `__f32
106090  (0.434294481903251827651128918916605082è
106091
106092         )
106093
106094 826 \ 1
106095         #M_LN2f32
106096  
106097         `__f32
106098  (0.693147180559945309417232121458176568è
106099
106100         )
106101
106102 827 \ 1
106103         #M_LN10f32
106104  
106105         `__f32
106106  (2.302585092994045684017991454684364208è
106107
106108         )
106109
106110 828 \ 1
106111         #M_PIf32
106112  
106113         `__f32
106114  (3.141592653589793238462643383279502884è
106115
106116         )
106117
106118 829 \ 1
106119         #M_PI_2f32
106120  
106121         `__f32
106122  (1.570796326794896619231321691639751442è
106123
106124         )
106125
106126 830 \ 1
106127         #M_PI_4f32
106128  
106129         `__f32
106130  (0.785398163397448309615660845819875721è
106131
106132         )
106133
106134 831 \ 1
106135         #M_1_PIf32
106136  
106137         `__f32
106138  (0.318309886183790671537767526745028724è
106139
106140         )
106141
106142 832 \ 1
106143         #M_2_PIf32
106144  
106145         `__f32
106146  (0.636619772367581343075535053490057448è
106147
106148         )
106149
106150 833 \ 1
106151         #M_2_SQRTPIf32
106152  
106153         `__f32
106154  (1.128379167095512573896158903121545172è
106155
106156         )
106157
106158 834 \ 1
106159         #M_SQRT2f32
106160  
106161         `__f32
106162  (1.414213562373095048801688724209698079è
106163
106164         )
106165
106166 835 \ 1
106167         #M_SQRT1_2f32
106168  
106169         `__f32
106170  (0.707106781186547524400844362104849039è
106171
106172         )
106173
106174 838 #ià
106175 __HAVE_FLOAT64
106176  && 
106177 def\9aed
106178  
106179 __USE_GNU
106180
106181
106182 839 \ 1
106183         #M_Ef64
106184  
106185         `__f64
106186  (2.718281828459045235360287471352662498è
106187
106188         )
106189
106190 840 \ 1
106191         #M_LOG2Ef64
106192  
106193         `__f64
106194  (1.442695040888963407359924681001892137è
106195
106196         )
106197
106198 841 \ 1
106199         #M_LOG10Ef64
106200  
106201         `__f64
106202  (0.434294481903251827651128918916605082è
106203
106204         )
106205
106206 842 \ 1
106207         #M_LN2f64
106208  
106209         `__f64
106210  (0.693147180559945309417232121458176568è
106211
106212         )
106213
106214 843 \ 1
106215         #M_LN10f64
106216  
106217         `__f64
106218  (2.302585092994045684017991454684364208è
106219
106220         )
106221
106222 844 \ 1
106223         #M_PIf64
106224  
106225         `__f64
106226  (3.141592653589793238462643383279502884è
106227
106228         )
106229
106230 845 \ 1
106231         #M_PI_2f64
106232  
106233         `__f64
106234  (1.570796326794896619231321691639751442è
106235
106236         )
106237
106238 846 \ 1
106239         #M_PI_4f64
106240  
106241         `__f64
106242  (0.785398163397448309615660845819875721è
106243
106244         )
106245
106246 847 \ 1
106247         #M_1_PIf64
106248  
106249         `__f64
106250  (0.318309886183790671537767526745028724è
106251
106252         )
106253
106254 848 \ 1
106255         #M_2_PIf64
106256  
106257         `__f64
106258  (0.636619772367581343075535053490057448è
106259
106260         )
106261
106262 849 \ 1
106263         #M_2_SQRTPIf64
106264  
106265         `__f64
106266  (1.128379167095512573896158903121545172è
106267
106268         )
106269
106270 850 \ 1
106271         #M_SQRT2f64
106272  
106273         `__f64
106274  (1.414213562373095048801688724209698079è
106275
106276         )
106277
106278 851 \ 1
106279         #M_SQRT1_2f64
106280  
106281         `__f64
106282  (0.707106781186547524400844362104849039è
106283
106284         )
106285
106286 854 #ià
106287 __HAVE_FLOAT128
106288  && 
106289 def\9aed
106290  
106291 __USE_GNU
106292
106293
106294 855 \ 1
106295         #M_Ef128
106296  
106297         `__f128
106298  (2.718281828459045235360287471352662498è
106299
106300         )
106301
106302 856 \ 1
106303         #M_LOG2Ef128
106304  
106305         `__f128
106306  (1.442695040888963407359924681001892137è
106307
106308         )
106309
106310 857 \ 1
106311         #M_LOG10Ef128
106312  
106313         `__f128
106314  (0.434294481903251827651128918916605082è
106315
106316         )
106317
106318 858 \ 1
106319         #M_LN2f128
106320  
106321         `__f128
106322  (0.693147180559945309417232121458176568è
106323
106324         )
106325
106326 859 \ 1
106327         #M_LN10f128
106328  
106329         `__f128
106330  (2.302585092994045684017991454684364208è
106331
106332         )
106333
106334 860 \ 1
106335         #M_PIf128
106336  
106337         `__f128
106338  (3.141592653589793238462643383279502884è
106339
106340         )
106341
106342 861 \ 1
106343         #M_PI_2f128
106344  
106345         `__f128
106346  (1.570796326794896619231321691639751442è
106347
106348         )
106349
106350 862 \ 1
106351         #M_PI_4f128
106352  
106353         `__f128
106354  (0.785398163397448309615660845819875721è
106355
106356         )
106357
106358 863 \ 1
106359         #M_1_PIf128
106360  
106361         `__f128
106362  (0.318309886183790671537767526745028724è
106363
106364         )
106365
106366 864 \ 1
106367         #M_2_PIf128
106368  
106369         `__f128
106370  (0.636619772367581343075535053490057448è
106371
106372         )
106373
106374 865 \ 1
106375         #M_2_SQRTPIf128
106376  
106377         `__f128
106378  (1.128379167095512573896158903121545172è
106379
106380         )
106381
106382 866 \ 1
106383         #M_SQRT2f128
106384  
106385         `__f128
106386  (1.414213562373095048801688724209698079è
106387
106388         )
106389
106390 867 \ 1
106391         #M_SQRT1_2f128
106392  
106393         `__f128
106394  (0.707106781186547524400844362104849039è
106395
106396         )
106397
106398 870 #ià
106399 __HAVE_FLOAT32X
106400  && 
106401 def\9aed
106402  
106403 __USE_GNU
106404
106405
106406 871 \ 1
106407         #M_Ef32x
106408  
106409         `__f32x
106410  (2.718281828459045235360287471352662498è
106411
106412         )
106413
106414 872 \ 1
106415         #M_LOG2Ef32x
106416  
106417         `__f32x
106418  (1.442695040888963407359924681001892137è
106419
106420         )
106421
106422 873 \ 1
106423         #M_LOG10Ef32x
106424  
106425         `__f32x
106426  (0.434294481903251827651128918916605082è
106427
106428         )
106429
106430 874 \ 1
106431         #M_LN2f32x
106432  
106433         `__f32x
106434  (0.693147180559945309417232121458176568è
106435
106436         )
106437
106438 875 \ 1
106439         #M_LN10f32x
106440  
106441         `__f32x
106442  (2.302585092994045684017991454684364208è
106443
106444         )
106445
106446 876 \ 1
106447         #M_PIf32x
106448  
106449         `__f32x
106450  (3.141592653589793238462643383279502884è
106451
106452         )
106453
106454 877 \ 1
106455         #M_PI_2f32x
106456  
106457         `__f32x
106458  (1.570796326794896619231321691639751442è
106459
106460         )
106461
106462 878 \ 1
106463         #M_PI_4f32x
106464  
106465         `__f32x
106466  (0.785398163397448309615660845819875721è
106467
106468         )
106469
106470 879 \ 1
106471         #M_1_PIf32x
106472  
106473         `__f32x
106474  (0.318309886183790671537767526745028724è
106475
106476         )
106477
106478 880 \ 1
106479         #M_2_PIf32x
106480  
106481         `__f32x
106482  (0.636619772367581343075535053490057448è
106483
106484         )
106485
106486 881 \ 1
106487         #M_2_SQRTPIf32x
106488  
106489         `__f32x
106490  (1.128379167095512573896158903121545172è
106491
106492         )
106493
106494 882 \ 1
106495         #M_SQRT2f32x
106496  
106497         `__f32x
106498  (1.414213562373095048801688724209698079è
106499
106500         )
106501
106502 883 \ 1
106503         #M_SQRT1_2f32x
106504  
106505         `__f32x
106506  (0.707106781186547524400844362104849039è
106507
106508         )
106509
106510 886 #ià
106511 __HAVE_FLOAT64X
106512  && 
106513 def\9aed
106514  
106515 __USE_GNU
106516
106517
106518 887 \ 1
106519         #M_Ef64x
106520  
106521         `__f64x
106522  (2.718281828459045235360287471352662498è
106523
106524         )
106525
106526 888 \ 1
106527         #M_LOG2Ef64x
106528  
106529         `__f64x
106530  (1.442695040888963407359924681001892137è
106531
106532         )
106533
106534 889 \ 1
106535         #M_LOG10Ef64x
106536  
106537         `__f64x
106538  (0.434294481903251827651128918916605082è
106539
106540         )
106541
106542 890 \ 1
106543         #M_LN2f64x
106544  
106545         `__f64x
106546  (0.693147180559945309417232121458176568è
106547
106548         )
106549
106550 891 \ 1
106551         #M_LN10f64x
106552  
106553         `__f64x
106554  (2.302585092994045684017991454684364208è
106555
106556         )
106557
106558 892 \ 1
106559         #M_PIf64x
106560  
106561         `__f64x
106562  (3.141592653589793238462643383279502884è
106563
106564         )
106565
106566 893 \ 1
106567         #M_PI_2f64x
106568  
106569         `__f64x
106570  (1.570796326794896619231321691639751442è
106571
106572         )
106573
106574 894 \ 1
106575         #M_PI_4f64x
106576  
106577         `__f64x
106578  (0.785398163397448309615660845819875721è
106579
106580         )
106581
106582 895 \ 1
106583         #M_1_PIf64x
106584  
106585         `__f64x
106586  (0.318309886183790671537767526745028724è
106587
106588         )
106589
106590 896 \ 1
106591         #M_2_PIf64x
106592  
106593         `__f64x
106594  (0.636619772367581343075535053490057448è
106595
106596         )
106597
106598 897 \ 1
106599         #M_2_SQRTPIf64x
106600  
106601         `__f64x
106602  (1.128379167095512573896158903121545172è
106603
106604         )
106605
106606 898 \ 1
106607         #M_SQRT2f64x
106608  
106609         `__f64x
106610  (1.414213562373095048801688724209698079è
106611
106612         )
106613
106614 899 \ 1
106615         #M_SQRT1_2f64x
106616  
106617         `__f64x
106618  (0.707106781186547524400844362104849039è
106619
106620         )
106621
106622 902 #ià
106623 __HAVE_FLOAT128X
106624  && 
106625 def\9aed
106626  
106627 __USE_GNU
106628
106629
106630 909 #ià
106631 def\9aed
106632  
106633 __STRICT_ANSI__
106634  && !def\9aed 
106635 __NO_MATH_INLINES
106636
106637
106638 910 \ 1
106639         #__NO_MATH_INLINES
106640  1
106641
106642         )
106643
106644 913 #ifdeà
106645 __USE_ISOC99
106646
106647
106648 914 #ià
106649 __GNUC_PREREQ
106650  (3, 1)
106651
106652 921 \ 1
106653         #isg»©\94
106654 (
106655 x
106656
106657 y
106658 è
106659         `__bu\9et\9a_isg»©\94
106660 (x, y)
106661
106662         )
106663
106664 922 \ 1
106665         #isg»©\94equ®
106666 (
106667 x
106668
106669 y
106670 è
106671         `__bu\9et\9a_isg»©\94equ®
106672 (x, y)
106673
106674         )
106675
106676 923 \ 1
106677         #i¦ess
106678 (
106679 x
106680
106681 y
106682 è
106683         `__bu\9et\9a_i¦ess
106684 (x, y)
106685
106686         )
106687
106688 924 \ 1
106689         #i¦es£qu®
106690 (
106691 x
106692
106693 y
106694 è
106695         `__bu\9et\9a_i¦es£qu®
106696 (x, y)
106697
106698         )
106699
106700 925 \ 1
106701         #i¦essg»©\94
106702 (
106703 x
106704
106705 y
106706 è
106707         `__bu\9et\9a_i¦essg»©\94
106708 (x, y)
106709
106710         )
106711
106712 926 \ 1
106713         #isunÜd\94ed
106714 (
106715 x
106716
106717 y
106718 è
106719         `__bu\9et\9a_isunÜd\94ed
106720 (x, y)
106721
106722         )
106723
106724 928 \ 1
106725         #isg»©\94
106726 (
106727 x
106728
106729 y
106730 ) \
106731
106732 929 (
106733         `__ex\8bnsiÚ__
106734  ({ 
106735         `__ty³of__
106736  (
106737 x
106738 è
106739 __x
106740  = (x); __ty³of__ (
106741 y
106742 è
106743 __y
106744  = (y); \
106745
106746 930 !
106747         `isunÜd\94ed
106748  (
106749 __x
106750
106751 __y
106752 è&& __x > __y; }))
106753
106754         )
106755
106756 931 \ 1
106757         #isg»©\94equ®
106758 (
106759 x
106760
106761 y
106762 ) \
106763
106764 932 (
106765         `__ex\8bnsiÚ__
106766  ({ 
106767         `__ty³of__
106768  (
106769 x
106770 è
106771 __x
106772  = (x); __ty³of__ (
106773 y
106774 è
106775 __y
106776  = (y); \
106777
106778 933 !
106779         `isunÜd\94ed
106780  (
106781 __x
106782
106783 __y
106784 è&& __x >ð__y; }))
106785
106786         )
106787
106788 934 \ 1
106789         #i¦ess
106790 (
106791 x
106792
106793 y
106794 ) \
106795
106796 935 (
106797         `__ex\8bnsiÚ__
106798  ({ 
106799         `__ty³of__
106800  (
106801 x
106802 è
106803 __x
106804  = (x); __ty³of__ (
106805 y
106806 è
106807 __y
106808  = (y); \
106809
106810 936 !
106811         `isunÜd\94ed
106812  (
106813 __x
106814
106815 __y
106816 è&& __x < __y; }))
106817
106818         )
106819
106820 937 \ 1
106821         #i¦es£qu®
106822 (
106823 x
106824
106825 y
106826 ) \
106827
106828 938 (
106829         `__ex\8bnsiÚ__
106830  ({ 
106831         `__ty³of__
106832  (
106833 x
106834 è
106835 __x
106836  = (x); __ty³of__ (
106837 y
106838 è
106839 __y
106840  = (y); \
106841
106842 939 !
106843         `isunÜd\94ed
106844  (
106845 __x
106846
106847 __y
106848 è&& __x <ð__y; }))
106849
106850         )
106851
106852 940 \ 1
106853         #i¦essg»©\94
106854 (
106855 x
106856
106857 y
106858 ) \
106859
106860 941 (
106861         `__ex\8bnsiÚ__
106862  ({ 
106863         `__ty³of__
106864  (
106865 x
106866 è
106867 __x
106868  = (x); __ty³of__ (
106869 y
106870 è
106871 __y
106872  = (y); \
106873
106874 942 !
106875         `isunÜd\94ed
106876  (
106877 __x
106878
106879 __y
106880 è&& __x !ð__y; }))
106881
106882         )
106883
106884 944 \ 1
106885         #isunÜd\94ed
106886 (
106887 x
106888
106889 y
106890 ) \
106891
106892 945 (
106893         `__ex\8bnsiÚ__
106894  ({ 
106895         `__ty³of__
106896  (
106897 x
106898 è
106899 __u
106900  = (x); __ty³of__ (
106901 y
106902 è
106903 __v
106904  = (y); \
106905
106906 946 
106907 __u
106908  !ð
106909 __v
106910  && (__u !ð__u || __v !ð__v); }))
106911
106912         )
106913
106914 951 #ifdeà
106915 __USE_EXTERN_INLINES
106916
106917
106918 952 \ 2
106919         ~<b\99s/m©h\9al\9ae.h
106920 >
106921
106922 957 #ià
106923 def\9aed
106924  
106925 __FINITE_MATH_ONLY__
106926  && __FINITE_MATH_ONLY__ > 0
106927
106928 960 \ 1
106929         #_MdoubË_
106930  \b
106931
106932         )
106933
106934 961 \ 1
106935         #__MATH_DECLARING_DOUBLE
106936  1
106937
106938         )
106939
106940 962 \ 1
106941         #__MATH_DECLARING_FLOATN
106942  0
106943
106944         )
106945
106946 963 \ 1
106947         #__REDIRFROM_X
106948 (
106949 funùiÚ
106950
106951 »\92\8cªt
106952 ) \
106953
106954 964 
106955 funùiÚ
106956  ## 
106957 »\92\8cªt
106958
106959
106960         )
106961
106962 965 \ 1
106963         #__REDIRTO_X
106964 (
106965 funùiÚ
106966
106967 »\92\8cªt
106968 ) \
106969
106970 966 
106971 __
106972  ## 
106973 funùiÚ
106974  ## 
106975 »\92\8cªt
106976  ## 
106977 _f\9a\99e
106978
106979
106980         )
106981
106982 967 \ 2
106983         ~<b\99s/m©h-f\9a\99e.h
106984 >
106985
106986 968 #undeà
106987 _MdoubË_
106988
106989
106990 969 #undeà
106991 __MATH_DECLARING_DOUBLE
106992
106993
106994 970 #undeà
106995 __MATH_DECLARING_FLOATN
106996
106997
106998 971 #undeà
106999 __REDIRFROM_X
107000
107001
107002 972 #undeà
107003 __REDIRTO_X
107004
107005
107006 976 #ifdeà
107007 __USE_ISOC99
107008
107009
107010 979 \ 1
107011         #_MdoubË_
107012  \ e
107013
107014         )
107015
107016 980 \ 1
107017         #__MATH_DECLARING_DOUBLE
107018  0
107019
107020         )
107021
107022 981 \ 1
107023         #__MATH_DECLARING_FLOATN
107024  0
107025
107026         )
107027
107028 982 \ 1
107029         #__REDIRFROM_X
107030 (
107031 funùiÚ
107032
107033 »\92\8cªt
107034 ) \
107035
107036 983 
107037 funùiÚ
107038  ## 
107039 f
107040  ## 
107041 »\92\8cªt
107042
107043
107044         )
107045
107046 984 \ 1
107047         #__REDIRTO_X
107048 (
107049 funùiÚ
107050
107051 »\92\8cªt
107052 ) \
107053
107054 985 
107055 __
107056  ## 
107057 funùiÚ
107058  ## 
107059 f
107060  ## 
107061 »\92\8cªt
107062  ## 
107063 _f\9a\99e
107064
107065
107066         )
107067
107068 986 \ 2
107069         ~<b\99s/m©h-f\9a\99e.h
107070 >
107071
107072 987 #undeà
107073 _MdoubË_
107074
107075
107076 988 #undeà
107077 __MATH_DECLARING_DOUBLE
107078
107079
107080 989 #undeà
107081 __MATH_DECLARING_FLOATN
107082
107083
107084 990 #undeà
107085 __REDIRFROM_X
107086
107087
107088 991 #undeà
107089 __REDIRTO_X
107090
107091
107092 994 #ifdeà
107093 __MATH_DECLARE_LDOUBLE
107094
107095
107096 995 \ 1
107097         #_MdoubË_
107098  \13\b
107099
107100         )
107101
107102 996 \ 1
107103         #__MATH_DECLARING_DOUBLE
107104  0
107105
107106         )
107107
107108 997 \ 1
107109         #__MATH_DECLARING_FLOATN
107110  0
107111
107112         )
107113
107114 998 \ 1
107115         #__REDIRFROM_X
107116 (
107117 funùiÚ
107118
107119 »\92\8cªt
107120 ) \
107121
107122 999 
107123 funùiÚ
107124  ## 
107125 l
107126  ## 
107127 »\92\8cªt
107128
107129
107130         )
107131
107132 1000 #ifdeà
107133 __NO_LONG_DOUBLE_MATH
107134
107135
107136 1001 \ 1
107137         #__REDIRTO_X
107138 (
107139 funùiÚ
107140
107141 »\92\8cªt
107142 ) \
107143
107144 1002 
107145 __
107146  ## 
107147 funùiÚ
107148  ## 
107149 »\92\8cªt
107150  ## 
107151 _f\9a\99e
107152
107153
107154         )
107155
107156 1004 \ 1
107157         #__REDIRTO_X
107158 (
107159 funùiÚ
107160
107161 »\92\8cªt
107162 ) \
107163
107164 1005 
107165 __
107166  ## 
107167 funùiÚ
107168  ## 
107169 l
107170  ## 
107171 »\92\8cªt
107172  ## 
107173 _f\9a\99e
107174
107175
107176         )
107177
107178 1007 \ 2
107179         ~<b\99s/m©h-f\9a\99e.h
107180 >
107181
107182 1008 #undeà
107183 _MdoubË_
107184
107185
107186 1009 #undeà
107187 __MATH_DECLARING_DOUBLE
107188
107189
107190 1010 #undeà
107191 __MATH_DECLARING_FLOATN
107192
107193
107194 1011 #undeà
107195 __REDIRFROM_X
107196
107197
107198 1012 #undeà
107199 __REDIRTO_X
107200
107201
107202 1019 #ià(
107203 __HAVE_DISTINCT_FLOAT16
107204  || (
107205 __HAVE_FLOAT16
107206  && !
107207 def\9aed
107208  
107209 _LIBC
107210 )) \
107211
107212 1020 && 
107213         $__GLIBC_USE
107214  (
107215 IEC_60559_TYPES_EXT
107216 )
107217
107218 1021 \ 1
107219         #_MdoubË_
107220  
107221 _Flßt16
107222
107223
107224         )
107225
107226 1022 \ 1
107227         #__MATH_DECLARING_DOUBLE
107228  0
107229
107230         )
107231
107232 1023 \ 1
107233         #__MATH_DECLARING_FLOATN
107234  1
107235
107236         )
107237
107238 1024 \ 1
107239         #__REDIRFROM_X
107240 (
107241 funùiÚ
107242
107243 »\92\8cªt
107244 ) \
107245
107246 1025 
107247 funùiÚ
107248  ## 
107249 f16
107250  ## 
107251 »\92\8cªt
107252
107253
107254         )
107255
107256 1026 #ià
107257 __HAVE_DISTINCT_FLOAT16
107258
107259
107260 1027 \ 1
107261         #__REDIRTO_X
107262 (
107263 funùiÚ
107264
107265 »\92\8cªt
107266 ) \
107267
107268 1028 
107269 __
107270  ## 
107271 funùiÚ
107272  ## 
107273 f16
107274  ## 
107275 »\92\8cªt
107276  ## 
107277 _f\9a\99e
107278
107279
107280         )
107281
107282 1032 \ 2
107283         ~<b\99s/m©h-f\9a\99e.h
107284 >
107285
107286 1033 #undeà
107287 _MdoubË_
107288
107289
107290 1034 #undeà
107291 __MATH_DECLARING_DOUBLE
107292
107293
107294 1035 #undeà
107295 __MATH_DECLARING_FLOATN
107296
107297
107298 1036 #undeà
107299 __REDIRFROM_X
107300
107301
107302 1037 #undeà
107303 __REDIRTO_X
107304
107305
107306 1040 #ià(
107307 __HAVE_DISTINCT_FLOAT32
107308  || (
107309 __HAVE_FLOAT32
107310  && !
107311 def\9aed
107312  
107313 _LIBC
107314 )) \
107315
107316 1041 && 
107317         $__GLIBC_USE
107318  (
107319 IEC_60559_TYPES_EXT
107320 )
107321
107322 1042 \ 1
107323         #_MdoubË_
107324  
107325 _Flßt32
107326
107327
107328         )
107329
107330 1043 \ 1
107331         #__MATH_DECLARING_DOUBLE
107332  0
107333
107334         )
107335
107336 1044 \ 1
107337         #__MATH_DECLARING_FLOATN
107338  1
107339
107340         )
107341
107342 1045 \ 1
107343         #__REDIRFROM_X
107344 (
107345 funùiÚ
107346
107347 »\92\8cªt
107348 ) \
107349
107350 1046 
107351 funùiÚ
107352  ## 
107353 f32
107354  ## 
107355 »\92\8cªt
107356
107357
107358         )
107359
107360 1047 #ià
107361 __HAVE_DISTINCT_FLOAT32
107362
107363
107364 1048 \ 1
107365         #__REDIRTO_X
107366 (
107367 funùiÚ
107368
107369 »\92\8cªt
107370 ) \
107371
107372 1049 
107373 __
107374  ## 
107375 funùiÚ
107376  ## 
107377 f32
107378  ## 
107379 »\92\8cªt
107380  ## 
107381 _f\9a\99e
107382
107383
107384         )
107385
107386 1051 \ 1
107387         #__REDIRTO_X
107388 (
107389 funùiÚ
107390
107391 »\92\8cªt
107392 ) \
107393
107394 1052 
107395 __
107396  ## 
107397 funùiÚ
107398  ## 
107399 f
107400  ## 
107401 »\92\8cªt
107402  ## 
107403 _f\9a\99e
107404
107405
107406         )
107407
107408 1054 \ 2
107409         ~<b\99s/m©h-f\9a\99e.h
107410 >
107411
107412 1055 #undeà
107413 _MdoubË_
107414
107415
107416 1056 #undeà
107417 __MATH_DECLARING_DOUBLE
107418
107419
107420 1057 #undeà
107421 __MATH_DECLARING_FLOATN
107422
107423
107424 1058 #undeà
107425 __REDIRFROM_X
107426
107427
107428 1059 #undeà
107429 __REDIRTO_X
107430
107431
107432 1062 #ià(
107433 __HAVE_DISTINCT_FLOAT64
107434  || (
107435 __HAVE_FLOAT64
107436  && !
107437 def\9aed
107438  
107439 _LIBC
107440 )) \
107441
107442 1063 && 
107443         $__GLIBC_USE
107444  (
107445 IEC_60559_TYPES_EXT
107446 )
107447
107448 1064 \ 1
107449         #_MdoubË_
107450  
107451 _Flßt64
107452
107453
107454         )
107455
107456 1065 \ 1
107457         #__MATH_DECLARING_DOUBLE
107458  0
107459
107460         )
107461
107462 1066 \ 1
107463         #__MATH_DECLARING_FLOATN
107464  1
107465
107466         )
107467
107468 1067 \ 1
107469         #__REDIRFROM_X
107470 (
107471 funùiÚ
107472
107473 »\92\8cªt
107474 ) \
107475
107476 1068 
107477 funùiÚ
107478  ## 
107479 f64
107480  ## 
107481 »\92\8cªt
107482
107483
107484         )
107485
107486 1069 #ià
107487 __HAVE_DISTINCT_FLOAT64
107488
107489
107490 1070 \ 1
107491         #__REDIRTO_X
107492 (
107493 funùiÚ
107494
107495 »\92\8cªt
107496 ) \
107497
107498 1071 
107499 __
107500  ## 
107501 funùiÚ
107502  ## 
107503 f64
107504  ## 
107505 »\92\8cªt
107506  ## 
107507 _f\9a\99e
107508
107509
107510         )
107511
107512 1073 \ 1
107513         #__REDIRTO_X
107514 (
107515 funùiÚ
107516
107517 »\92\8cªt
107518 ) \
107519
107520 1074 
107521 __
107522  ## 
107523 funùiÚ
107524  ## 
107525 »\92\8cªt
107526  ## 
107527 _f\9a\99e
107528
107529
107530         )
107531
107532 1076 \ 2
107533         ~<b\99s/m©h-f\9a\99e.h
107534 >
107535
107536 1077 #undeà
107537 _MdoubË_
107538
107539
107540 1078 #undeà
107541 __MATH_DECLARING_DOUBLE
107542
107543
107544 1079 #undeà
107545 __MATH_DECLARING_FLOATN
107546
107547
107548 1080 #undeà
107549 __REDIRFROM_X
107550
107551
107552 1081 #undeà
107553 __REDIRTO_X
107554
107555
107556 1084 #ià(
107557 __HAVE_DISTINCT_FLOAT128
107558  || (
107559 __HAVE_FLOAT128
107560  && !
107561 def\9aed
107562  
107563 _LIBC
107564 )) \
107565
107566 1085 && 
107567         $__GLIBC_USE
107568  (
107569 IEC_60559_TYPES_EXT
107570 )
107571
107572 1086 \ 1
107573         #_MdoubË_
107574  
107575 _Flßt128
107576
107577
107578         )
107579
107580 1087 \ 1
107581         #__MATH_DECLARING_DOUBLE
107582  0
107583
107584         )
107585
107586 1088 \ 1
107587         #__MATH_DECLARING_FLOATN
107588  1
107589
107590         )
107591
107592 1089 \ 1
107593         #__REDIRFROM_X
107594 (
107595 funùiÚ
107596
107597 »\92\8cªt
107598 ) \
107599
107600 1090 
107601 funùiÚ
107602  ## 
107603 f128
107604  ## 
107605 »\92\8cªt
107606
107607
107608         )
107609
107610 1091 #ià
107611 __HAVE_DISTINCT_FLOAT128
107612
107613
107614 1092 \ 1
107615         #__REDIRTO_X
107616 (
107617 funùiÚ
107618
107619 »\92\8cªt
107620 ) \
107621
107622 1093 
107623 __
107624  ## 
107625 funùiÚ
107626  ## 
107627 f128
107628  ## 
107629 »\92\8cªt
107630  ## 
107631 _f\9a\99e
107632
107633
107634         )
107635
107636 1095 \ 1
107637         #__REDIRTO_X
107638 (
107639 funùiÚ
107640
107641 »\92\8cªt
107642 ) \
107643
107644 1096 
107645 __
107646  ## 
107647 funùiÚ
107648  ## 
107649 l
107650  ## 
107651 »\92\8cªt
107652  ## 
107653 _f\9a\99e
107654
107655
107656         )
107657
107658 1098 \ 2
107659         ~<b\99s/m©h-f\9a\99e.h
107660 >
107661
107662 1099 #undeà
107663 _MdoubË_
107664
107665
107666 1100 #undeà
107667 __MATH_DECLARING_DOUBLE
107668
107669
107670 1101 #undeà
107671 __MATH_DECLARING_FLOATN
107672
107673
107674 1102 #undeà
107675 __REDIRFROM_X
107676
107677
107678 1103 #undeà
107679 __REDIRTO_X
107680
107681
107682 1106 #ià(
107683 __HAVE_DISTINCT_FLOAT32X
107684  || (
107685 __HAVE_FLOAT32X
107686  && !
107687 def\9aed
107688  
107689 _LIBC
107690 )) \
107691
107692 1107 && 
107693         $__GLIBC_USE
107694  (
107695 IEC_60559_TYPES_EXT
107696 )
107697
107698 1108 \ 1
107699         #_MdoubË_
107700  
107701 _Flßt32x
107702
107703
107704         )
107705
107706 1109 \ 1
107707         #__MATH_DECLARING_DOUBLE
107708  0
107709
107710         )
107711
107712 1110 \ 1
107713         #__MATH_DECLARING_FLOATN
107714  1
107715
107716         )
107717
107718 1111 \ 1
107719         #__REDIRFROM_X
107720 (
107721 funùiÚ
107722
107723 »\92\8cªt
107724 ) \
107725
107726 1112 
107727 funùiÚ
107728  ## 
107729 f32x
107730  ## 
107731 »\92\8cªt
107732
107733
107734         )
107735
107736 1113 #ià
107737 __HAVE_DISTINCT_FLOAT32X
107738
107739
107740 1114 \ 1
107741         #__REDIRTO_X
107742 (
107743 funùiÚ
107744
107745 »\92\8cªt
107746 ) \
107747
107748 1115 
107749 __
107750  ## 
107751 funùiÚ
107752  ## 
107753 f32x
107754  ## 
107755 »\92\8cªt
107756  ## 
107757 _f\9a\99e
107758
107759
107760         )
107761
107762 1117 \ 1
107763         #__REDIRTO_X
107764 (
107765 funùiÚ
107766
107767 »\92\8cªt
107768 ) \
107769
107770 1118 
107771 __
107772  ## 
107773 funùiÚ
107774  ## 
107775 »\92\8cªt
107776  ## 
107777 _f\9a\99e
107778
107779
107780         )
107781
107782 1120 \ 2
107783         ~<b\99s/m©h-f\9a\99e.h
107784 >
107785
107786 1121 #undeà
107787 _MdoubË_
107788
107789
107790 1122 #undeà
107791 __MATH_DECLARING_DOUBLE
107792
107793
107794 1123 #undeà
107795 __MATH_DECLARING_FLOATN
107796
107797
107798 1124 #undeà
107799 __REDIRFROM_X
107800
107801
107802 1125 #undeà
107803 __REDIRTO_X
107804
107805
107806 1128 #ià(
107807 __HAVE_DISTINCT_FLOAT64X
107808  || (
107809 __HAVE_FLOAT64X
107810  && !
107811 def\9aed
107812  
107813 _LIBC
107814 )) \
107815
107816 1129 && 
107817         $__GLIBC_USE
107818  (
107819 IEC_60559_TYPES_EXT
107820 )
107821
107822 1130 \ 1
107823         #_MdoubË_
107824  
107825 _Flßt64x
107826
107827
107828         )
107829
107830 1131 \ 1
107831         #__MATH_DECLARING_DOUBLE
107832  0
107833
107834         )
107835
107836 1132 \ 1
107837         #__MATH_DECLARING_FLOATN
107838  1
107839
107840         )
107841
107842 1133 \ 1
107843         #__REDIRFROM_X
107844 (
107845 funùiÚ
107846
107847 »\92\8cªt
107848 ) \
107849
107850 1134 
107851 funùiÚ
107852  ## 
107853 f64x
107854  ## 
107855 »\92\8cªt
107856
107857
107858         )
107859
107860 1135 #ià
107861 __HAVE_DISTINCT_FLOAT64X
107862
107863
107864 1136 \ 1
107865         #__REDIRTO_X
107866 (
107867 funùiÚ
107868
107869 »\92\8cªt
107870 ) \
107871
107872 1137 
107873 __
107874  ## 
107875 funùiÚ
107876  ## 
107877 f64x
107878  ## 
107879 »\92\8cªt
107880  ## 
107881 _f\9a\99e
107882
107883
107884         )
107885
107886 1138 #\96
107887 __HAVE_FLOAT64X_LONG_DOUBLE
107888
107889
107890 1139 \ 1
107891         #__REDIRTO_X
107892 (
107893 funùiÚ
107894
107895 »\92\8cªt
107896 ) \
107897
107898 1140 
107899 __
107900  ## 
107901 funùiÚ
107902  ## 
107903 l
107904  ## 
107905 »\92\8cªt
107906  ## 
107907 _f\9a\99e
107908
107909
107910         )
107911
107912 1142 \ 1
107913         #__REDIRTO_X
107914 (
107915 funùiÚ
107916
107917 »\92\8cªt
107918 ) \
107919
107920 1143 
107921 __
107922  ## 
107923 funùiÚ
107924  ## 
107925 f128
107926  ## 
107927 »\92\8cªt
107928  ## 
107929 _f\9a\99e
107930
107931
107932         )
107933
107934 1145 \ 2
107935         ~<b\99s/m©h-f\9a\99e.h
107936 >
107937
107938 1146 #undeà
107939 _MdoubË_
107940
107941
107942 1147 #undeà
107943 __MATH_DECLARING_DOUBLE
107944
107945
107946 1148 #undeà
107947 __MATH_DECLARING_FLOATN
107948
107949
107950 1149 #undeà
107951 __REDIRFROM_X
107952
107953
107954 1150 #undeà
107955 __REDIRTO_X
107956
107957
107958 1153 #ià(
107959 __HAVE_DISTINCT_FLOAT128X
107960  || (
107961 __HAVE_FLOAT128X
107962  && !
107963 def\9aed
107964  
107965 _LIBC
107966 )) \
107967
107968 1154 && 
107969         $__GLIBC_USE
107970  (
107971 IEC_60559_TYPES_EXT
107972 )
107973
107974 1155 \ 1
107975         #_MdoubË_
107976  
107977 _Flßt128x
107978
107979
107980         )
107981
107982 1156 \ 1
107983         #__MATH_DECLARING_DOUBLE
107984  0
107985
107986         )
107987
107988 1157 \ 1
107989         #__MATH_DECLARING_FLOATN
107990  1
107991
107992         )
107993
107994 1158 \ 1
107995         #__REDIRFROM_X
107996 (
107997 funùiÚ
107998
107999 »\92\8cªt
108000 ) \
108001
108002 1159 
108003 funùiÚ
108004  ## 
108005 f128x
108006  ## 
108007 »\92\8cªt
108008
108009
108010         )
108011
108012 1160 #ià
108013 __HAVE_DISTINCT_FLOAT128X
108014
108015
108016 1161 \ 1
108017         #__REDIRTO_X
108018 (
108019 funùiÚ
108020
108021 »\92\8cªt
108022 ) \
108023
108024 1162 
108025 __
108026  ## 
108027 funùiÚ
108028  ## 
108029 f128x
108030  ## 
108031 »\92\8cªt
108032  ## 
108033 _f\9a\99e
108034
108035
108036         )
108037
108038 1166 \ 2
108039         ~<b\99s/m©h-f\9a\99e.h
108040 >
108041
108042 1167 #undeà
108043 _MdoubË_
108044
108045
108046 1168 #undeà
108047 __MATH_DECLARING_DOUBLE
108048
108049
108050 1169 #undeà
108051 __MATH_DECLARING_FLOATN
108052
108053
108054 1170 #undeà
108055 __REDIRFROM_X
108056
108057
108058 1171 #undeà
108059 __REDIRTO_X
108060
108061
108062 1176 #ià
108063         `__GLIBC_USE
108064  (
108065 IEC_60559_BFP_EXT
108066 )
108067
108068 1179 #ià
108069 __FLT_EVAL_METHOD__
108070  == 2 || __FLT_EVAL_METHOD__ > 64
108071
108072 1180 \ 1
108073         #__MATH_EVAL_FMT2
108074 (
108075 x
108076
108077 y
108078 è((xè+ (yè+ 0.0L)
108079
108080         )
108081
108082 1181 #\96
108083 __FLT_EVAL_METHOD__
108084  == 1 || __FLT_EVAL_METHOD__ > 32
108085
108086 1182 \ 1
108087         #__MATH_EVAL_FMT2
108088 (
108089 x
108090
108091 y
108092 è((xè+ (yè+ 0.0)
108093
108094         )
108095
108096 1183 #\96
108097 __FLT_EVAL_METHOD__
108098  == 0 || __FLT_EVAL_METHOD__ == 32
108099
108100 1184 \ 1
108101         #__MATH_EVAL_FMT2
108102 (
108103 x
108104
108105 y
108106 è((xè+ (yè+ 0.0f)
108107
108108         )
108109
108110 1186 \ 1
108111         #__MATH_EVAL_FMT2
108112 (
108113 x
108114
108115 y
108116 è((xè+ (y))
108117
108118         )
108119
108120 1191 #ià!
108121 def\9aed
108122  
108123 __ýlu¥lus
108124  || (__ýlu¥lu < 201103L && !def\9aed 
108125 __GNUC__
108126 )
108127
108128 1192 \ 1
108129         #i£qsig
108130 (
108131 x
108132
108133 y
108134 ) \
108135
108136 1193 
108137         `__MATH_TG
108138  (
108139         `__MATH_EVAL_FMT2
108140  (
108141 x
108142
108143 y
108144 ), 
108145 __i£qsig
108146 , ((x), (y)))
108147
108148         )
108149
108150 1206 
108151 \8bm¶©e
108152 <
108153 ty³Çme
108154\19
108155 __i£qsig_ty³
108156 ;
108157
108158 1208 
108159 \8bm¶©e
108160 <> \19
108161 __i£qsig_ty³
108162 <\ e>
108163
108164 1210 \18\12
108165         `__ÿÎ
108166  (\ e
108167 __x
108168\ e
108169 __y
108170 è
108171         `throw
108172  ()
108173
108174 1212 \15 
108175         `__i£qsigf
108176  (
108177 __x
108178
108179 __y
108180 );
108181
108182 1216 
108183 \8bm¶©e
108184 <> \19
108185 __i£qsig_ty³
108186 <\b>
108187
108188 1218 \18\12
108189         `__ÿÎ
108190  (\b
108191 __x
108192\b
108193 __y
108194 è
108195         `throw
108196  ()
108197
108198 1220 \15 
108199         `__i£qsig
108200  (
108201 __x
108202
108203 __y
108204 );
108205
108206 1224 
108207 \8bm¶©e
108208 <> \19
108209 __i£qsig_ty³
108210 <\13\b>
108211
108212 1226 \18\12
108213         `__ÿÎ
108214  (\13\b
108215 __x
108216\13\b
108217 __y
108218 è
108219         `throw
108220  ()
108221
108222 1228 #iâdeà
108223 __NO_LONG_DOUBLE_MATH
108224
108225
108226 1229 \15 
108227         `__i£qsigl
108228  (
108229 __x
108230
108231 __y
108232 );
108233
108234 1231 \15 
108235         `__i£qsig
108236  (
108237 __x
108238
108239 __y
108240 );
108241
108242 1236 #ià
108243 __HAVE_DISTINCT_FLOAT128
108244
108245
108246 1237 
108247 \8bm¶©e
108248 <> \19
108249 __i£qsig_ty³
108250 <
108251 _Flßt128
108252 >
108253
108254 1239 \18\12
108255         `__ÿÎ
108256  (
108257 _Flßt128
108258  
108259 __x
108260 , _Flßt128 
108261 __y
108262 è
108263         `throw
108264  ()
108265
108266 1241 \15 
108267         `__i£qsigf128
108268  (
108269 __x
108270
108271 __y
108272 );
108273
108274 1246 
108275 \8bm¶©e
108276 <
108277 ty³Çme
108278  
108279 _T1
108280 ,\81y³Çm\90
108281 _T2
108282 >
108283
108284 1247 
108285 \9al\9ae
108286  \12
108287
108288 1248 
108289         `i£qsig
108290  (
108291 _T1
108292  
108293 __x
108294
108295 _T2
108296  
108297 __y
108298 è
108299         `throw
108300  ()
108301
108302 1250 #ià
108303 __ýlu¥lus
108304  >= 201103L
108305
108306 1251 \e
108307         `deþty³
108308  (
108309         t__MATH_EVAL_FMT2
108310  (
108311         t__x
108312
108313         t__y
108314
108315         t_T3
108316 ;
108317
108318 1253 \e
108319         `__ty³of
108320  (
108321         t__MATH_EVAL_FMT2
108322  (
108323         t__x
108324
108325         t__y
108326
108327         t_T3
108328 ;
108329
108330 1255 \15 
108331 __i£qsig_ty³
108332 <
108333 _T3
108334 >::
108335         `__ÿÎ
108336  (
108337 __x
108338
108339 __y
108340 );
108341
108342 1258 
108343         }
108344 }
108345
108346 1263 
108347 __END_DECLS
108348
108349
108350         @/usr/include/stdio.h
108351
108352 23 #iâdeà
108353 _STDIO_H
108354
108355
108356 24 \ 1
108357         #_STDIO_H
108358  1
108359
108360         )
108361
108362 26 \ 1
108363         #__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
108364
108365
108366         )
108367
108368 27 \ 2
108369         ~<b\99s/libc-h\97d\94-¡¬t.h
108370 >
108371
108372 29 
108373         g__BEGIN_DECLS
108374
108375
108376 31 \ 1
108377         #__Ãed_size_t
108378
108379
108380         )
108381
108382 32 \ 1
108383         #__Ãed_NULL
108384
108385
108386         )
108387
108388 33 \ 2
108389         ~<¡ddef.h
108390 >
108391
108392 35 \ 2
108393         ~<b\99s/ty³s.h
108394 >
108395
108396 36 \ 2
108397         ~<b\99s/ty³s/__FILE.h
108398 >
108399
108400 37 \ 2
108401         ~<b\99s/ty³s/FILE.h
108402 >
108403
108404 39 \ 1
108405         #_STDIO_USES_IOSTREAM
108406
108407
108408         )
108409
108410 41 \ 2
108411         ~<b\99s/libio.h
108412 >
108413
108414 43 #ià
108415 def\9aed
108416  
108417 __USE_XOPEN
108418  || def\9aed 
108419 __USE_XOPEN2K8
108420
108421
108422 44 #ifdeà
108423 __GNUC__
108424
108425
108426 45 #iâdeà
108427 _VA_LIST_DEFINED
108428
108429
108430 46 \e
108431 _G_va_li¡
108432  
108433         tva_li¡
108434 ;
108435
108436 47 \ 1
108437         #_VA_LIST_DEFINED
108438
108439
108440         )
108441
108442 50 \ 2
108443         ~<¡d¬g.h
108444 >
108445
108446 54 #ià
108447 def\9aed
108448  
108449 __USE_UNIX98
108450  || def\9aed 
108451 __USE_XOPEN2K
108452
108453
108454 55 #iâdeà
108455 __off_t_def\9aed
108456
108457
108458 56 #iâdeà
108459 __USE_FILE_OFFSET64
108460
108461
108462 57 \e
108463 __off_t
108464  
108465         toff_t
108466 ;
108467
108468 59 \e
108469 __off64_t
108470  
108471         toff_t
108472 ;
108473
108474 61 \ 1
108475         #__off_t_def\9aed
108476
108477
108478         )
108479
108480 63 #ià
108481 def\9aed
108482  
108483 __USE_LARGEFILE64
108484  && !def\9aed 
108485 __off64_t_def\9aed
108486
108487
108488 64 \e
108489 __off64_t
108490  
108491         toff64_t
108492 ;
108493
108494 65 \ 1
108495         #__off64_t_def\9aed
108496
108497
108498         )
108499
108500 69 #ifdeà
108501 __USE_XOPEN2K8
108502
108503
108504 70 #iâdeà
108505 __ssize_t_def\9aed
108506
108507
108508 71 \e
108509 __ssize_t
108510  
108511         tssize_t
108512 ;
108513
108514 72 \ 1
108515         #__ssize_t_def\9aed
108516
108517
108518         )
108519
108520 77 #iâdeà
108521 __USE_FILE_OFFSET64
108522
108523
108524 78 \e
108525 _G_åos_t
108526  
108527         tåos_t
108528 ;
108529
108530 80 \e
108531 _G_åos64_t
108532  
108533         tåos_t
108534 ;
108535
108536 82 #ifdeà
108537 __USE_LARGEFILE64
108538
108539
108540 83 \e
108541 _G_åos64_t
108542  
108543         tåos64_t
108544 ;
108545
108546 87 \ 1
108547         #_IOFBF
108548  0
108549
108550         )
108551
108552 88 \ 1
108553         #_IOLBF
108554  1
108555
108556         )
108557
108558 89 \ 1
108559         #_IONBF
108560  2
108561
108562         )
108563
108564 93 #iâdeà
108565 BUFSIZ
108566
108567
108568 94 \ 1
108569         #BUFSIZ
108570  
108571 _IO_BUFSIZ
108572
108573
108574         )
108575
108576 100 #iâdeà
108577 EOF
108578
108579
108580 101 \ 1
108581         #EOF
108582  (-1)
108583
108584         )
108585
108586 107 \ 1
108587         #SEEK_SET
108588  0
108589
108590         )
108591
108592 108 \ 1
108593         #SEEK_CUR
108594  1
108595
108596         )
108597
108598 109 \ 1
108599         #SEEK_END
108600  2
108601
108602         )
108603
108604 110 #ifdeà
108605 __USE_GNU
108606
108607
108608 111 \ 1
108609         #SEEK_DATA
108610  3
108611
108612         )
108613
108614 112 \ 1
108615         #SEEK_HOLE
108616  4
108617
108618         )
108619
108620 116 #ià
108621 def\9aed
108622  
108623 __USE_MISC
108624  || def\9aed 
108625 __USE_XOPEN
108626
108627
108628 118 \ 1
108629         #P_tmpd\9c
108630  "/tmp"
108631
108632         )
108633
108634 131 \ 2
108635         ~<b\99s/¡dio_lim.h
108636 >
108637
108638 135 \r\19
108639 _IO_FILE
108640  *
108641 ¡d\9a
108642 ;
108643
108644 136 \r\19
108645 _IO_FILE
108646  *
108647 ¡dout
108648 ;
108649
108650 137 \r\19
108651 _IO_FILE
108652  *
108653 ¡d\94r
108654 ;
108655
108656 139 \ 1
108657         #¡d\9a
108658  
108659 ¡d\9a
108660
108661
108662         )
108663
108664 140 \ 1
108665         #¡dout
108666  
108667 ¡dout
108668
108669
108670         )
108671
108672 141 \ 1
108673         #¡d\94r
108674  
108675 ¡d\94r
108676
108677
108678         )
108679
108680 144 \r\12
108681         $»move
108682  (cڡ \ 5*
108683 __f\9e\92ame
108684 è
108685 __THROW
108686 ;
108687
108688 146 \r\12
108689         $»Çme
108690  (cڡ \ 5*
108691 __Þd
108692 , cڡ \ 5*
108693 __Ãw
108694 è
108695 __THROW
108696 ;
108697
108698 148 #ifdeà
108699 __USE_ATFILE
108700
108701
108702 150 \r\12
108703         $»Çm\97t
108704  (\12
108705 __Þdfd
108706 , cڡ \ 5*
108707 __Þd
108708\12
108709 __Ãwfd
108710 ,
108711
108712 151 cڡ \ 5*
108713 __Ãw
108714 è
108715 __THROW
108716 ;
108717
108718 158 #iâdeà
108719 __USE_FILE_OFFSET64
108720
108721
108722 159 \r
108723 FILE
108724  *
108725         $tmpf\9ee
108726  (\1eè
108727 __wur
108728 ;
108729
108730 161 #ifdeà
108731 __REDIRECT
108732
108733
108734 162 \r
108735 FILE
108736  *
108737         `__REDIRECT
108738  (
108739 tmpf\9ee
108740 , (\1e), 
108741 tmpf\9ee64
108742 è
108743 __wur
108744 ;
108745
108746 164 \ 1
108747         #tmpf\9ee
108748  
108749 tmpf\9ee64
108750
108751
108752         )
108753
108754 168 #ifdeà
108755 __USE_LARGEFILE64
108756
108757
108758 169 \r
108759 FILE
108760  *
108761         $tmpf\9ee64
108762  (\1eè
108763 __wur
108764 ;
108765
108766 173 \r\ 5*
108767         $tm²am
108768  (\ 5*
108769 __s
108770 è
108771 __THROW
108772  
108773 __wur
108774 ;
108775
108776 175 #ifdeà
108777 __USE_MISC
108778
108779
108780 178 \r\ 5*
108781         $tm²am_r
108782  (\ 5*
108783 __s
108784 è
108785 __THROW
108786  
108787 __wur
108788 ;
108789
108790 182 #ià
108791 def\9aed
108792  
108793 __USE_MISC
108794  || def\9aed 
108795 __USE_XOPEN
108796
108797
108798 190 \r\ 5*
108799         $\8bm²am
108800  (cڡ \ 5*
108801 __d\9c
108802 , cڡ \ 5*
108803 __pfx
108804 )
108805
108806 191 
108807 __THROW
108808  
108809 __©\8cibu\8b_m®loc__
108810  
108811 __wur
108812 ;
108813
108814 199 \r\12
108815         `fþo£
108816  (
108817 FILE
108818  *
108819 __¡»am
108820 );
108821
108822 204 \r\12
108823         `fæush
108824  (
108825 FILE
108826  *
108827 __¡»am
108828 );
108829
108830 206 #ifdeà
108831 __USE_MISC
108832
108833
108834 213 \r\12
108835         `fæush_uÆocked
108836  (
108837 FILE
108838  *
108839 __¡»am
108840 );
108841
108842 216 #ifdeà
108843 __USE_GNU
108844
108845
108846 223 \r\12
108847         `fþo£®l
108848  (\1e);
108849
108850 227 #iâdeà
108851 __USE_FILE_OFFSET64
108852
108853
108854 232 \r
108855 FILE
108856  *
108857         $fݒ
108858  (cڡ \ 5*
108859 __»¡riù
108860  
108861 __f\9e\92ame
108862 ,
108863
108864 233 cڡ \ 5*
108865 __»¡riù
108866  
108867 __modes
108868 è
108869 __wur
108870 ;
108871
108872 238 \r
108873 FILE
108874  *
108875         $äeÝ\92
108876  (cڡ \ 5*
108877 __»¡riù
108878  
108879 __f\9e\92ame
108880 ,
108881
108882 239 cڡ \ 5*
108883 __»¡riù
108884  
108885 __modes
108886 ,
108887
108888 240 
108889 FILE
108890  *
108891 __»¡riù
108892  
108893 __¡»am
108894 è
108895 __wur
108896 ;
108897
108898 242 #ifdeà
108899 __REDIRECT
108900
108901
108902 243 \r
108903 FILE
108904  *
108905         `__REDIRECT
108906  (
108907
108908 , (cڡ \ 5*
108909 __»¡riù
108910  
108911 __f\9e\92ame
108912 ,
108913
108914 244 cڡ \ 5*
108915 __»¡riù
108916  
108917 __modes
108918 ), 
108919 fݒ64
108920 )
108921
108922 245 
108923 __wur
108924 ;
108925
108926 246 \r
108927 FILE
108928  *
108929         `__REDIRECT
108930  (
108931 äeÝ\92
108932 , (cڡ \ 5*
108933 __»¡riù
108934  
108935 __f\9e\92ame
108936 ,
108937
108938 247 cڡ \ 5*
108939 __»¡riù
108940  
108941 __modes
108942 ,
108943
108944 248 
108945 FILE
108946  *
108947 __»¡riù
108948  
108949 __¡»am
108950 ), 
108951 äeÝ\9264
108952 )
108953
108954 249 
108955 __wur
108956 ;
108957
108958 251 \ 1
108959         #fݒ
108960  
108961 fݒ64
108962
108963
108964         )
108965
108966 252 \ 1
108967         #äeÝ\92
108968  
108969 äeÝ\9264
108970
108971
108972         )
108973
108974 255 #ifdeà
108975 __USE_LARGEFILE64
108976
108977
108978 256 \r
108979 FILE
108980  *
108981         $fݒ64
108982  (cڡ \ 5*
108983 __»¡riù
108984  
108985 __f\9e\92ame
108986 ,
108987
108988 257 cڡ \ 5*
108989 __»¡riù
108990  
108991 __modes
108992 è
108993 __wur
108994 ;
108995
108996 258 \r
108997 FILE
108998  *
108999         $äeÝ\9264
109000  (cڡ \ 5*
109001 __»¡riù
109002  
109003 __f\9e\92ame
109004 ,
109005
109006 259 cڡ \ 5*
109007 __»¡riù
109008  
109009 __modes
109010 ,
109011
109012 260 
109013 FILE
109014  *
109015 __»¡riù
109016  
109017 __¡»am
109018 è
109019 __wur
109020 ;
109021
109022 263 #ifdef 
109023 __USE_POSIX
109024
109025
109026 265 \r
109027 FILE
109028  *
109029         $fdݒ
109030  (\12
109031 __fd
109032 , cڡ \ 5*
109033 __modes
109034 è
109035 __THROW
109036  
109037 __wur
109038 ;
109039
109040 268 #ifdef 
109041 __USE_GNU
109042
109043
109044 271 \r
109045 FILE
109046  *
109047         $fÝ\92cook\9b
109048  (\1e*
109049 __»¡riù
109050  
109051 __magic_cook\9b
109052 ,
109053
109054 272 cڡ \ 5*
109055 __»¡riù
109056  
109057 __modes
109058 ,
109059
109060 273 
109061 _IO_cook\9b_io_funùiÚs_t
109062  
109063 __io_funcs
109064 è
109065 __THROW
109066  
109067 __wur
109068 ;
109069
109070 276 #ià
109071 def\9aed
109072  
109073 __USE_XOPEN2K8
109074  || 
109075         `__GLIBC_USE
109076  (
109077 LIB_EXT2
109078 )
109079
109080 278 \r
109081 FILE
109082  *
109083         $fmemݒ
109084  (\1e*
109085 __s
109086
109087 size_t
109088  
109089 __Ën
109090 , cڡ \ 5*
109091 __modes
109092 )
109093
109094 279 
109095 __THROW
109096  
109097 __wur
109098 ;
109099
109100 284 \r
109101 FILE
109102  *
109103         $Ý\92_mem¡»am
109104  (\ 5**
109105 __buæoc
109106
109107 size_t
109108  *
109109 __siz\96oc
109110 è
109111 __THROW
109112  
109113 __wur
109114 ;
109115
109116 290 \r\1e
109117         $£tbuf
109118  (
109119 FILE
109120  *
109121 __»¡riù
109122  
109123 __¡»am
109124\ 5*__»¡riù 
109125 __buf
109126 è
109127 __THROW
109128 ;
109129
109130 294 \r\12
109131         $£tvbuf
109132  (
109133 FILE
109134  *
109135 __»¡riù
109136  
109137 __¡»am
109138\ 5*__»¡riù 
109139 __buf
109140 ,
109141
109142 295 \12
109143 __modes
109144
109145 size_t
109146  
109147 __n
109148 è
109149 __THROW
109150 ;
109151
109152 297 #ifdef 
109153 __USE_MISC
109154
109155
109156 300 \r\1e
109157         $£tbufãr
109158  (
109159 FILE
109160  *
109161 __»¡riù
109162  
109163 __¡»am
109164\ 5*__»¡riù 
109165 __buf
109166 ,
109167
109168 301 
109169 size_t
109170  
109171 __size
109172 è
109173 __THROW
109174 ;
109175
109176 304 \r\1e
109177         $£\8e\9aebuf
109178  (
109179 FILE
109180  *
109181 __¡»am
109182 è
109183 __THROW
109184 ;
109185
109186 312 \r\12
109187         `år\9atf
109188  (
109189 FILE
109190  *
109191 __»¡riù
109192  
109193 __¡»am
109194 ,
109195
109196 313 cڡ \ 5*
109197 __»¡riù
109198  
109199 __fÜm©
109200 , ...);
109201
109202 318 \r\12
109203         `´\9atf
109204  (cڡ \ 5*
109205 __»¡riù
109206  
109207 __fÜm©
109208 , ...);
109209
109210 320 \r\12
109211         $¥r\9atf
109212  (\ 5*
109213 __»¡riù
109214  
109215 __s
109216 ,
109217
109218 321 cڡ \ 5*
109219 __»¡riù
109220  
109221 __fÜm©
109222 , ...è
109223 __THROWNL
109224 ;
109225
109226 327 \r\12
109227         `vår\9atf
109228  (
109229 FILE
109230  *
109231 __»¡riù
109232  
109233 __s
109234 , cÚ¡ \ 5*__»¡riù 
109235 __fÜm©
109236 ,
109237
109238 328 
109239 _G_va_li¡
109240  
109241 __¬g
109242 );
109243
109244 333 \r\12
109245         `v´\9atf
109246  (cڡ \ 5*
109247 __»¡riù
109248  
109249 __fÜm©
109250
109251 _G_va_li¡
109252  
109253 __¬g
109254 );
109255
109256 335 \r\12
109257         $v¥r\9atf
109258  (\ 5*
109259 __»¡riù
109260  
109261 __s
109262 , cÚ¡ \ 5*__»¡riù 
109263 __fÜm©
109264 ,
109265
109266 336 
109267 _G_va_li¡
109268  
109269 __¬g
109270 è
109271 __THROWNL
109272 ;
109273
109274 338 #ià
109275 def\9aed
109276  
109277 __USE_ISOC99
109278  || def\9aed 
109279 __USE_UNIX98
109280
109281
109282 340 \r\12
109283         $¢´\9atf
109284  (\ 5*
109285 __»¡riù
109286  
109287 __s
109288
109289 size_t
109290  
109291 __maxËn
109292 ,
109293
109294 341 cڡ \ 5*
109295 __»¡riù
109296  
109297 __fÜm©
109298 , ...)
109299
109300 342 
109301 __THROWNL
109302  
109303         `__©\8cibu\8b__
109304  ((
109305         `__fÜm©__
109306  (
109307 __´\9atf__
109308 , 3, 4)));
109309
109310 344 \r\12
109311         $v¢´\9atf
109312  (\ 5*
109313 __»¡riù
109314  
109315 __s
109316
109317 size_t
109318  
109319 __maxËn
109320 ,
109321
109322 345 cڡ \ 5*
109323 __»¡riù
109324  
109325 __fÜm©
109326
109327 _G_va_li¡
109328  
109329 __¬g
109330 )
109331
109332 346 
109333 __THROWNL
109334  
109335         `__©\8cibu\8b__
109336  ((
109337         `__fÜm©__
109338  (
109339 __´\9atf__
109340 , 3, 0)));
109341
109342 349 #ià
109343         `__GLIBC_USE
109344  (
109345 LIB_EXT2
109346 )
109347
109348 352 \r\12
109349         $va¥r\9atf
109350  (\ 5**
109351 __»¡riù
109352  
109353 __±r
109354 , cÚ¡ \ 5*__»¡riù 
109355 __f
109356 ,
109357
109358 353 
109359 _G_va_li¡
109360  
109361 __¬g
109362 )
109363
109364 354 
109365 __THROWNL
109366  
109367         `__©\8cibu\8b__
109368  ((
109369         $__fÜm©__
109370  (
109371 __´\9atf__
109372 , 2, 0))è
109373 __wur
109374 ;
109375
109376 355 \r\12
109377         $__a¥r\9atf
109378  (\ 5**
109379 __»¡riù
109380  
109381 __±r
109382 ,
109383
109384 356 cڡ \ 5*
109385 __»¡riù
109386  
109387 __fmt
109388 , ...)
109389
109390 357 
109391 __THROWNL
109392  
109393         `__©\8cibu\8b__
109394  ((
109395         $__fÜm©__
109396  (
109397 __´\9atf__
109398 , 2, 3))è
109399 __wur
109400 ;
109401
109402 358 \r\12
109403         $a¥r\9atf
109404  (\ 5**
109405 __»¡riù
109406  
109407 __±r
109408 ,
109409
109410 359 cڡ \ 5*
109411 __»¡riù
109412  
109413 __fmt
109414 , ...)
109415
109416 360 
109417 __THROWNL
109418  
109419         `__©\8cibu\8b__
109420  ((
109421         $__fÜm©__
109422  (
109423 __´\9atf__
109424 , 2, 3))è
109425 __wur
109426 ;
109427
109428 363 #ifdeà
109429 __USE_XOPEN2K8
109430
109431
109432 365 \r\12
109433         $vd´\9atf
109434  (\12
109435 __fd
109436 , cڡ \ 5*
109437 __»¡riù
109438  
109439 __fmt
109440 ,
109441
109442 366 
109443 _G_va_li¡
109444  
109445 __¬g
109446 )
109447
109448 367 
109449         `__©\8cibu\8b__
109450  ((
109451         `__fÜm©__
109452  (
109453 __´\9atf__
109454 , 2, 0)));
109455
109456 368 \r\12
109457         $d´\9atf
109458  (\12
109459 __fd
109460 , cڡ \ 5*
109461 __»¡riù
109462  
109463 __fmt
109464 , ...)
109465
109466 369 
109467         `__©\8cibu\8b__
109468  ((
109469         `__fÜm©__
109470  (
109471 __´\9atf__
109472 , 2, 3)));
109473
109474 377 \r\12
109475         $fsÿnf
109476  (
109477 FILE
109478  *
109479 __»¡riù
109480  
109481 __¡»am
109482 ,
109483
109484 378 cڡ \ 5*
109485 __»¡riù
109486  
109487 __fÜm©
109488 , ...è
109489 __wur
109490 ;
109491
109492 383 \r\12
109493         $sÿnf
109494  (cڡ \ 5*
109495 __»¡riù
109496  
109497 __fÜm©
109498 , ...è
109499 __wur
109500 ;
109501
109502 385 \r\12
109503         $ssÿnf
109504  (cڡ \ 5*
109505 __»¡riù
109506  
109507 __s
109508 ,
109509
109510 386 cڡ \ 5*
109511 __»¡riù
109512  
109513 __fÜm©
109514 , ...è
109515 __THROW
109516 ;
109517
109518 388 #ià
109519 def\9aed
109520  
109521 __USE_ISOC99
109522  && !def\9aed 
109523 __USE_GNU
109524  \
109525
109526 389 && (!
109527 def\9aed
109528  
109529 __LDBL_COMPAT
109530  || !def\9aed 
109531 __REDIRECT
109532 ) \
109533
109534 390 && (
109535 def\9aed
109536  
109537 __STRICT_ANSI__
109538  || def\9aed 
109539 __USE_XOPEN2K
109540 )
109541
109542 391 #ifdeà
109543 __REDIRECT
109544
109545
109546 395 \r\12
109547         `__REDIRECT
109548  (
109549 fsÿnf
109550 , (
109551 FILE
109552  *
109553 __»¡riù
109554  
109555 __¡»am
109556 ,
109557
109558 396 cڡ \ 5*
109559 __»¡riù
109560  
109561 __fÜm©
109562 , ...),
109563
109564 397 
109565 __isoc99_fsÿnf
109566 è
109567 __wur
109568 ;
109569
109570 398 \r\12
109571         `__REDIRECT
109572  (
109573 sÿnf
109574 , (cڡ \ 5*
109575 __»¡riù
109576  
109577 __fÜm©
109578 , ...),
109579
109580 399 
109581 __isoc99_sÿnf
109582 è
109583 __wur
109584 ;
109585
109586 400 \r\12
109587         `__REDIRECT_NTH
109588  (
109589 ssÿnf
109590 , (cڡ \ 5*
109591 __»¡riù
109592  
109593 __s
109594 ,
109595
109596 401 cڡ \ 5*
109597 __»¡riù
109598  
109599 __fÜm©
109600 , ...),
109601
109602 402 
109603 __isoc99_ssÿnf
109604 );
109605
109606 404 \r\12
109607         $__isoc99_fsÿnf
109608  (
109609 FILE
109610  *
109611 __»¡riù
109612  
109613 __¡»am
109614 ,
109615
109616 405 cڡ \ 5*
109617 __»¡riù
109618  
109619 __fÜm©
109620 , ...è
109621 __wur
109622 ;
109623
109624 406 \r\12
109625         $__isoc99_sÿnf
109626  (cڡ \ 5*
109627 __»¡riù
109628  
109629 __fÜm©
109630 , ...è
109631 __wur
109632 ;
109633
109634 407 \r\12
109635         $__isoc99_ssÿnf
109636  (cڡ \ 5*
109637 __»¡riù
109638  
109639 __s
109640 ,
109641
109642 408 cڡ \ 5*
109643 __»¡riù
109644  
109645 __fÜm©
109646 , ...è
109647 __THROW
109648 ;
109649
109650 409 \ 1
109651         #fsÿnf
109652  
109653 __isoc99_fsÿnf
109654
109655
109656         )
109657
109658 410 \ 1
109659         #sÿnf
109660  
109661 __isoc99_sÿnf
109662
109663
109664         )
109665
109666 411 \ 1
109667         #ssÿnf
109668  
109669 __isoc99_ssÿnf
109670
109671
109672         )
109673
109674 415 #ifdef 
109675 __USE_ISOC99
109676
109677
109678 420 \r\12
109679         $vfsÿnf
109680  (
109681 FILE
109682  *
109683 __»¡riù
109684  
109685 __s
109686 , cÚ¡ \ 5*__»¡riù 
109687 __fÜm©
109688 ,
109689
109690 421 
109691 _G_va_li¡
109692  
109693 __¬g
109694 )
109695
109696 422 
109697         `__©\8cibu\8b__
109698  ((
109699         $__fÜm©__
109700  (
109701 __sÿnf__
109702 , 2, 0))è
109703 __wur
109704 ;
109705
109706 428 \r\12
109707         $vsÿnf
109708  (cڡ \ 5*
109709 __»¡riù
109710  
109711 __fÜm©
109712
109713 _G_va_li¡
109714  
109715 __¬g
109716 )
109717
109718 429 
109719         `__©\8cibu\8b__
109720  ((
109721         $__fÜm©__
109722  (
109723 __sÿnf__
109724 , 1, 0))è
109725 __wur
109726 ;
109727
109728 432 \r\12
109729         $vssÿnf
109730  (cڡ \ 5*
109731 __»¡riù
109732  
109733 __s
109734 ,
109735
109736 433 cڡ \ 5*
109737 __»¡riù
109738  
109739 __fÜm©
109740
109741 _G_va_li¡
109742  
109743 __¬g
109744 )
109745
109746 434 
109747 __THROW
109748  
109749         `__©\8cibu\8b__
109750  ((
109751         `__fÜm©__
109752  (
109753 __sÿnf__
109754 , 2, 0)));
109755
109756 436 #ià!
109757 def\9aed
109758  
109759 __USE_GNU
109760  \
109761
109762 437 && (!
109763 def\9aed
109764  
109765 __LDBL_COMPAT
109766  || !def\9aed 
109767 __REDIRECT
109768 ) \
109769
109770 438 && (
109771 def\9aed
109772  
109773 __STRICT_ANSI__
109774  || def\9aed 
109775 __USE_XOPEN2K
109776 )
109777
109778 439 #ifdeà
109779 __REDIRECT
109780
109781
109782 443 \r\12
109783         `__REDIRECT
109784  (
109785 vfsÿnf
109786 ,
109787
109788 444 (
109789 FILE
109790  *
109791 __»¡riù
109792  
109793 __s
109794 ,
109795
109796 445 cڡ \ 5*
109797 __»¡riù
109798  
109799 __fÜm©
109800
109801 _G_va_li¡
109802  
109803 __¬g
109804 ),
109805
109806 446 
109807 __isoc99_vfsÿnf
109808 )
109809
109810 447 
109811         `__©\8cibu\8b__
109812  ((
109813         $__fÜm©__
109814  (
109815 __sÿnf__
109816 , 2, 0))è
109817 __wur
109818 ;
109819
109820 448 \r\12
109821         `__REDIRECT
109822  (
109823 vsÿnf
109824 , (cڡ \ 5*
109825 __»¡riù
109826  
109827 __fÜm©
109828 ,
109829
109830 449 
109831 _G_va_li¡
109832  
109833 __¬g
109834 ), 
109835 __isoc99_vsÿnf
109836 )
109837
109838 450 
109839         `__©\8cibu\8b__
109840  ((
109841         $__fÜm©__
109842  (
109843 __sÿnf__
109844 , 1, 0))è
109845 __wur
109846 ;
109847
109848 451 \r\12
109849         `__REDIRECT_NTH
109850  (
109851 vssÿnf
109852 ,
109853
109854 452 (cڡ \ 5*
109855 __»¡riù
109856  
109857 __s
109858 ,
109859
109860 453 cڡ \ 5*
109861 __»¡riù
109862  
109863 __fÜm©
109864 ,
109865
109866 454 
109867 _G_va_li¡
109868  
109869 __¬g
109870 ), 
109871 __isoc99_vssÿnf
109872 )
109873
109874 455 
109875         `__©\8cibu\8b__
109876  ((
109877         `__fÜm©__
109878  (
109879 __sÿnf__
109880 , 2, 0)));
109881
109882 457 \r\12
109883         $__isoc99_vfsÿnf
109884  (
109885 FILE
109886  *
109887 __»¡riù
109888  
109889 __s
109890 ,
109891
109892 458 cڡ \ 5*
109893 __»¡riù
109894  
109895 __fÜm©
109896 ,
109897
109898 459 
109899 _G_va_li¡
109900  
109901 __¬g
109902 è
109903 __wur
109904 ;
109905
109906 460 \r\12
109907         $__isoc99_vsÿnf
109908  (cڡ \ 5*
109909 __»¡riù
109910  
109911 __fÜm©
109912 ,
109913
109914 461 
109915 _G_va_li¡
109916  
109917 __¬g
109918 è
109919 __wur
109920 ;
109921
109922 462 \r\12
109923         $__isoc99_vssÿnf
109924  (cڡ \ 5*
109925 __»¡riù
109926  
109927 __s
109928 ,
109929
109930 463 cڡ \ 5*
109931 __»¡riù
109932  
109933 __fÜm©
109934 ,
109935
109936 464 
109937 _G_va_li¡
109938  
109939 __¬g
109940 è
109941 __THROW
109942 ;
109943
109944 465 \ 1
109945         #vfsÿnf
109946  
109947 __isoc99_vfsÿnf
109948
109949
109950         )
109951
109952 466 \ 1
109953         #vsÿnf
109954  
109955 __isoc99_vsÿnf
109956
109957
109958         )
109959
109960 467 \ 1
109961         #vssÿnf
109962  
109963 __isoc99_vssÿnf
109964
109965
109966         )
109967
109968 477 \r\12
109969         `fg\91c
109970  (
109971 FILE
109972  *
109973 __¡»am
109974 );
109975
109976 478 \r\12
109977         `g\91c
109978  (
109979 FILE
109980  *
109981 __¡»am
109982 );
109983
109984 484 \r\12
109985         `g\91ch¬
109986  (\1e);
109987
109988 488 \ 1
109989         #g\91c
109990 (
109991
109992 è
109993         `_IO_g\91c
109994  (_å)
109995
109996         )
109997
109998 490 #ifdeà
109999 __USE_POSIX199506
110000
110001
110002 495 \r\12
110003         `g\91c_uÆocked
110004  (
110005 FILE
110006  *
110007 __¡»am
110008 );
110009
110010 496 \r\12
110011         `g\91ch¬_uÆocked
110012  (\1e);
110013
110014 499 #ifdeà
110015 __USE_MISC
110016
110017
110018 506 \r\12
110019         `fg\91c_uÆocked
110020  (
110021 FILE
110022  *
110023 __¡»am
110024 );
110025
110026 517 \r\12
110027         `åutc
110028  (\12
110029 __c
110030
110031 FILE
110032  *
110033 __¡»am
110034 );
110035
110036 518 \r\12
110037         `putc
110038  (\12
110039 __c
110040
110041 FILE
110042  *
110043 __¡»am
110044 );
110045
110046 524 \r\12
110047         `putch¬
110048  (\12
110049 __c
110050 );
110051
110052 528 \ 1
110053         #putc
110054 (
110055 _ch
110056
110057
110058 è
110059         `_IO_putc
110060  (_ch, _å)
110061
110062         )
110063
110064 530 #ifdeà
110065 __USE_MISC
110066
110067
110068 537 \r\12
110069         `åutc_uÆocked
110070  (\12
110071 __c
110072
110073 FILE
110074  *
110075 __¡»am
110076 );
110077
110078 540 #ifdeà
110079 __USE_POSIX199506
110080
110081
110082 545 \r\12
110083         `putc_uÆocked
110084  (\12
110085 __c
110086
110087 FILE
110088  *
110089 __¡»am
110090 );
110091
110092 546 \r\12
110093         `putch¬_uÆocked
110094  (\12
110095 __c
110096 );
110097
110098 550 #ià
110099 def\9aed
110100  
110101 __USE_MISC
110102  \
110103
110104 551 || (
110105 def\9aed
110106  
110107 __USE_XOPEN
110108  && !def\9aed 
110109 __USE_XOPEN2K
110110 )
110111
110112 553 \r\12
110113         `g\91w
110114  (
110115 FILE
110116  *
110117 __¡»am
110118 );
110119
110120 556 \r\12
110121         `putw
110122  (\12
110123 __w
110124
110125 FILE
110126  *
110127 __¡»am
110128 );
110129
110130 564 \r\ 5*
110131         $fg\91s
110132  (\ 5*
110133 __»¡riù
110134  
110135 __s
110136\12
110137 __n
110138
110139 FILE
110140  *__»¡riù 
110141 __¡»am
110142 )
110143
110144 565 
110145 __wur
110146 ;
110147
110148 567 #ià
110149         `__GLIBC_USE
110150  (
110151 DEPRECATED_GETS
110152 )
110153
110154 577 \r\ 5*
110155         $g\91s
110156  (\ 5*
110157 __s
110158 è
110159 __wur
110160  
110161 __©\8cibu\8b_d\95»ÿ\8bd__
110162 ;
110163
110164 580 #ifdeà
110165 __USE_GNU
110166
110167
110168 587 \r\ 5*
110169         $fg\91s_uÆocked
110170  (\ 5*
110171 __»¡riù
110172  
110173 __s
110174\12
110175 __n
110176 ,
110177
110178 588 
110179 FILE
110180  *
110181 __»¡riù
110182  
110183 __¡»am
110184 è
110185 __wur
110186 ;
110187
110188 592 #ià
110189 def\9aed
110190  
110191 __USE_XOPEN2K8
110192  || 
110193         `__GLIBC_USE
110194  (
110195 LIB_EXT2
110196 )
110197
110198 603 \r
110199 _IO_ssize_t
110200  
110201         $__g\91d\96im
110202  (\ 5**
110203 __»¡riù
110204  
110205 __l\9a\95\8c
110206 ,
110207
110208 604 
110209 size_t
110210  *
110211 __»¡riù
110212  
110213 __n
110214\12
110215 __d\96im\99\94
110216 ,
110217
110218 605 
110219 FILE
110220  *
110221 __»¡riù
110222  
110223 __¡»am
110224 è
110225 __wur
110226 ;
110227
110228 606 \r
110229 _IO_ssize_t
110230  
110231         $g\91d\96im
110232  (\ 5**
110233 __»¡riù
110234  
110235 __l\9a\95\8c
110236 ,
110237
110238 607 
110239 size_t
110240  *
110241 __»¡riù
110242  
110243 __n
110244\12
110245 __d\96im\99\94
110246 ,
110247
110248 608 
110249 FILE
110250  *
110251 __»¡riù
110252  
110253 __¡»am
110254 è
110255 __wur
110256 ;
110257
110258 616 \r
110259 _IO_ssize_t
110260  
110261         $g\91l\9ae
110262  (\ 5**
110263 __»¡riù
110264  
110265 __l\9a\95\8c
110266 ,
110267
110268 617 
110269 size_t
110270  *
110271 __»¡riù
110272  
110273 __n
110274 ,
110275
110276 618 
110277 FILE
110278  *
110279 __»¡riù
110280  
110281 __¡»am
110282 è
110283 __wur
110284 ;
110285
110286 626 \r\12
110287         `åuts
110288  (cڡ \ 5*
110289 __»¡riù
110290  
110291 __s
110292
110293 FILE
110294  *__»¡riù 
110295 __¡»am
110296 );
110297
110298 632 \r\12
110299         `puts
110300  (cڡ \ 5*
110301 __s
110302 );
110303
110304 639 \r\12
110305         `ung\91c
110306  (\12
110307 __c
110308
110309 FILE
110310  *
110311 __¡»am
110312 );
110313
110314 646 \r
110315 size_t
110316  
110317         $ä\97d
110318  (\1e*
110319 __»¡riù
110320  
110321 __±r
110322
110323 size_t
110324  
110325 __size
110326 ,
110327
110328 647 
110329 size_t
110330  
110331 __n
110332
110333 FILE
110334  *
110335 __»¡riù
110336  
110337 __¡»am
110338 è
110339 __wur
110340 ;
110341
110342 652 \r
110343 size_t
110344  
110345         `fwr\99e
110346  (cڡ \1e*
110347 __»¡riù
110348  
110349 __±r
110350 , size_\88
110351 __size
110352 ,
110353
110354 653 
110355 size_t
110356  
110357 __n
110358
110359 FILE
110360  *
110361 __»¡riù
110362  
110363 __s
110364 );
110365
110366 655 #ifdeà
110367 __USE_GNU
110368
110369
110370 662 \r\12
110371         `åuts_uÆocked
110372  (cڡ \ 5*
110373 __»¡riù
110374  
110375 __s
110376 ,
110377
110378 663 
110379 FILE
110380  *
110381 __»¡riù
110382  
110383 __¡»am
110384 );
110385
110386 666 #ifdeà
110387 __USE_MISC
110388
110389
110390 673 \r
110391 size_t
110392  
110393         $ä\97d_uÆocked
110394  (\1e*
110395 __»¡riù
110396  
110397 __±r
110398
110399 size_t
110400  
110401 __size
110402 ,
110403
110404 674 
110405 size_t
110406  
110407 __n
110408
110409 FILE
110410  *
110411 __»¡riù
110412  
110413 __¡»am
110414 è
110415 __wur
110416 ;
110417
110418 675 \r
110419 size_t
110420  
110421         `fwr\99e_uÆocked
110422  (cڡ \1e*
110423 __»¡riù
110424  
110425 __±r
110426 , size_\88
110427 __size
110428 ,
110429
110430 676 
110431 size_t
110432  
110433 __n
110434
110435 FILE
110436  *
110437 __»¡riù
110438  
110439 __¡»am
110440 );
110441
110442 684 \r\12
110443         `f£ek
110444  (
110445 FILE
110446  *
110447 __¡»am
110448\13\12
110449 __off
110450\12
110451 __wh\92û
110452 );
110453
110454 689 \r\13\12
110455         $á\96l
110456  (
110457 FILE
110458  *
110459 __¡»am
110460 è
110461 __wur
110462 ;
110463
110464 694 \r\1e
110465         `»w\9ad
110466  (
110467 FILE
110468  *
110469 __¡»am
110470 );
110471
110472 701 #ià
110473 def\9aed
110474  
110475 __USE_LARGEFILE
110476  || def\9aed 
110477 __USE_XOPEN2K
110478
110479
110480 702 #iâdeà
110481 __USE_FILE_OFFSET64
110482
110483
110484 707 \r\12
110485         `f£eko
110486  (
110487 FILE
110488  *
110489 __¡»am
110490
110491 __off_t
110492  
110493 __off
110494\12
110495 __wh\92û
110496 );
110497
110498 712 \r
110499 __off_t
110500  
110501         $á\96lo
110502  (
110503 FILE
110504  *
110505 __¡»am
110506 è
110507 __wur
110508 ;
110509
110510 714 #ifdeà
110511 __REDIRECT
110512
110513
110514 715 \r\12
110515         `__REDIRECT
110516  (
110517 f£eko
110518 ,
110519
110520 716 (
110521 FILE
110522  *
110523 __¡»am
110524
110525 __off64_t
110526  
110527 __off
110528\12
110529 __wh\92û
110530 ),
110531
110532 717 
110533 f£eko64
110534 );
110535
110536 718 \r
110537 __off64_t
110538  
110539         `__REDIRECT
110540  (
110541 á\96lo
110542 , (
110543 FILE
110544  *
110545 __¡»am
110546 ), 
110547 á\96lo64
110548 );
110549
110550 720 \ 1
110551         #f£eko
110552  
110553 f£eko64
110554
110555
110556         )
110557
110558 721 \ 1
110559         #á\96lo
110560  
110561 á\96lo64
110562
110563
110564         )
110565
110566 726 #iâdeà
110567 __USE_FILE_OFFSET64
110568
110569
110570 731 \r\12
110571         `fg\91pos
110572  (
110573 FILE
110574  *
110575 __»¡riù
110576  
110577 __¡»am
110578
110579 åos_t
110580  *__»¡riù 
110581 __pos
110582 );
110583
110584 736 \r\12
110585         `f£\8dos
110586  (
110587 FILE
110588  *
110589 __¡»am
110590 , cڡ 
110591 åos_t
110592  *
110593 __pos
110594 );
110595
110596 738 #ifdeà
110597 __REDIRECT
110598
110599
110600 739 \r\12
110601         `__REDIRECT
110602  (
110603 fg\91pos
110604 , (
110605 FILE
110606  *
110607 __»¡riù
110608  
110609 __¡»am
110610 ,
110611
110612 740 
110613 åos_t
110614  *
110615 __»¡riù
110616  
110617 __pos
110618 ), 
110619 fg\91pos64
110620 );
110621
110622 741 \r\12
110623         `__REDIRECT
110624  (
110625\8dos
110626 ,
110627
110628 742 (
110629 FILE
110630  *
110631 __¡»am
110632 , cڡ 
110633 åos_t
110634  *
110635 __pos
110636 ), 
110637\8dos64
110638 );
110639
110640 744 \ 1
110641         #fg\91pos
110642  
110643 fg\91pos64
110644
110645
110646         )
110647
110648 745 \ 1
110649         #f£\8dos
110650  
110651\8dos64
110652
110653
110654         )
110655
110656 749 #ifdeà
110657 __USE_LARGEFILE64
110658
110659
110660 750 \r\12
110661         `f£eko64
110662  (
110663 FILE
110664  *
110665 __¡»am
110666
110667 __off64_t
110668  
110669 __off
110670\12
110671 __wh\92û
110672 );
110673
110674 751 \r
110675 __off64_t
110676  
110677         $á\96lo64
110678  (
110679 FILE
110680  *
110681 __¡»am
110682 è
110683 __wur
110684 ;
110685
110686 752 \r\12
110687         `fg\91pos64
110688  (
110689 FILE
110690  *
110691 __»¡riù
110692  
110693 __¡»am
110694
110695 åos64_t
110696  *__»¡riù 
110697 __pos
110698 );
110699
110700 753 \r\12
110701         `f£\8dos64
110702  (
110703 FILE
110704  *
110705 __¡»am
110706 , cڡ 
110707 åos64_t
110708  *
110709 __pos
110710 );
110711
110712 757 \r\1e
110713         $þ\97»¼
110714  (
110715 FILE
110716  *
110717 __¡»am
110718 è
110719 __THROW
110720 ;
110721
110722 759 \r\12
110723         $ãof
110724  (
110725 FILE
110726  *
110727 __¡»am
110728 è
110729 __THROW
110730  
110731 __wur
110732 ;
110733
110734 761 \r\12
110735         $ã¼Ü
110736  (
110737 FILE
110738  *
110739 __¡»am
110740 è
110741 __THROW
110742  
110743 __wur
110744 ;
110745
110746 763 #ifdeà
110747 __USE_MISC
110748
110749
110750 765 \r\1e
110751         $þ\97»¼_uÆocked
110752  (
110753 FILE
110754  *
110755 __¡»am
110756 è
110757 __THROW
110758 ;
110759
110760 766 \r\12
110761         $ãof_uÆocked
110762  (
110763 FILE
110764  *
110765 __¡»am
110766 è
110767 __THROW
110768  
110769 __wur
110770 ;
110771
110772 767 \r\12
110773         $ã¼Ü_uÆocked
110774  (
110775 FILE
110776  *
110777 __¡»am
110778 è
110779 __THROW
110780  
110781 __wur
110782 ;
110783
110784 775 \r\1e
110785         `³¼Ü
110786  (cڡ \ 5*
110787 __s
110788 );
110789
110790 781 \ 2
110791         ~<b\99s/sys_\94¾i¡.h
110792 >
110793
110794 784 #ifdef 
110795 __USE_POSIX
110796
110797
110798 786 \r\12
110799         $f\9e\92o
110800  (
110801 FILE
110802  *
110803 __¡»am
110804 è
110805 __THROW
110806  
110807 __wur
110808 ;
110809
110810 789 #ifdeà
110811 __USE_MISC
110812
110813
110814 791 \r\12
110815         $f\9e\92o_uÆocked
110816  (
110817 FILE
110818  *
110819 __¡»am
110820 è
110821 __THROW
110822  
110823 __wur
110824 ;
110825
110826 795 #ifdeà
110827 __USE_POSIX2
110828
110829
110830 800 \r
110831 FILE
110832  *
110833         $pݒ
110834  (cڡ \ 5*
110835 __commªd
110836 , cڡ \ 5*
110837 __modes
110838 è
110839 __wur
110840 ;
110841
110842 806 \r\12
110843         `pþo£
110844  (
110845 FILE
110846  *
110847 __¡»am
110848 );
110849
110850 810 #ifdef 
110851 __USE_POSIX
110852
110853
110854 812 \r\ 5*
110855         $ù\94mid
110856  (\ 5*
110857 __s
110858 è
110859 __THROW
110860 ;
110861
110862 816 #ià(
110863 def\9aed
110864  
110865 __USE_XOPEN
110866  && !def\9aed 
110867 __USE_XOPEN2K
110868 è|| def\9aed 
110869 __USE_GNU
110870
110871
110872 818 \r\ 5*
110873         `cu£rid
110874  (\ 5*
110875 __s
110876 );
110877
110878 822 #ifdef 
110879 __USE_GNU
110880
110881
110882 823 \19
110883 ob¡ack
110884 ;
110885
110886 826 \r\12
110887         $ob¡ack_´\9atf
110888  (\19
110889 ob¡ack
110890  *
110891 __»¡riù
110892  
110893 __ob¡ack
110894 ,
110895
110896 827 cڡ \ 5*
110897 __»¡riù
110898  
110899 __fÜm©
110900 , ...)
110901
110902 828 
110903 __THROWNL
110904  
110905         `__©\8cibu\8b__
110906  ((
110907         `__fÜm©__
110908  (
110909 __´\9atf__
110910 , 2, 3)));
110911
110912 829 \r\12
110913         $ob¡ack_v´\9atf
110914  (\19
110915 ob¡ack
110916  *
110917 __»¡riù
110918  
110919 __ob¡ack
110920 ,
110921
110922 830 cڡ \ 5*
110923 __»¡riù
110924  
110925 __fÜm©
110926 ,
110927
110928 831 
110929 _G_va_li¡
110930  
110931 __¬gs
110932 )
110933
110934 832 
110935 __THROWNL
110936  
110937         `__©\8cibu\8b__
110938  ((
110939         `__fÜm©__
110940  (
110941 __´\9atf__
110942 , 2, 0)));
110943
110944 836 #ifdeà
110945 __USE_POSIX199506
110946
110947
110948 840 \r\1e
110949         $æockf\9ee
110950  (
110951 FILE
110952  *
110953 __¡»am
110954 è
110955 __THROW
110956 ;
110957
110958 844 \r\12
110959         $árylockf\9ee
110960  (
110961 FILE
110962  *
110963 __¡»am
110964 è
110965 __THROW
110966  
110967 __wur
110968 ;
110969
110970 847 \r\1e
110971         $fuÆockf\9ee
110972  (
110973 FILE
110974  *
110975 __¡»am
110976 è
110977 __THROW
110978 ;
110979
110980 850 #ià
110981 def\9aed
110982  
110983 __USE_XOPEN
110984  && !def\9aed 
110985 __USE_XOPEN2K
110986  && !def\9aed 
110987 __USE_GNU
110988
110989
110990 853 \ 2
110991         ~<b\99s/g\91Ýt_posix.h
110992 >
110993
110994 858 #ifdeà
110995 __USE_EXTERN_INLINES
110996
110997
110998 859 \ 2
110999         ~<b\99s/¡dio.h
111000 >
111001
111002 861 #ià
111003 __USE_FORTIFY_LEVEL
111004  > 0 && 
111005 def\9aed
111006  
111007 __fÜtify_funùiÚ
111008
111009
111010 862 \ 2
111011         ~<b\99s/¡dio2.h
111012 >
111013
111014 864 #ifdeà
111015 __LDBL_COMPAT
111016
111017
111018 865 \ 2
111019         ~<b\99s/¡dio-ldbl.h
111020 >
111021
111022 868 
111023 __END_DECLS
111024
111025
111026         @/usr/include/stdlib.h
111027
111028 22 #iâdef 
111029 _STDLIB_H
111030
111031
111032 24 \ 1
111033         #__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
111034
111035
111036         )
111037
111038 25 \ 2
111039         ~<b\99s/libc-h\97d\94-¡¬t.h
111040 >
111041
111042 28 \ 1
111043         #__Ãed_size_t
111044
111045
111046         )
111047
111048 29 \ 1
111049         #__Ãed_wch¬_t
111050
111051
111052         )
111053
111054 30 \ 1
111055         #__Ãed_NULL
111056
111057
111058         )
111059
111060 31 \ 2
111061         ~<¡ddef.h
111062 >
111063
111064 33 
111065         g__BEGIN_DECLS
111066
111067
111068 35 \ 1
111069         #_STDLIB_H
111070  1
111071
111072         )
111073
111074 37 #ià(
111075 def\9aed
111076  
111077 __USE_XOPEN
111078  || def\9aed 
111079 __USE_XOPEN2K8
111080 è&& !def\9aed 
111081 _SYS_WAIT_H
111082
111083
111084 39 \ 2
111085         ~<b\99s/wa\99æags.h
111086 >
111087
111088 40 \ 2
111089         ~<b\99s/wa\99¡©us.h
111090 >
111091
111092 43 \ 1
111093         #WEXITSTATUS
111094 (
111095 ¡©us
111096 è
111097         `__WEXITSTATUS
111098  (¡©us)
111099
111100         )
111101
111102 44 \ 1
111103         #WTERMSIG
111104 (
111105 ¡©us
111106 è
111107         `__WTERMSIG
111108  (¡©us)
111109
111110         )
111111
111112 45 \ 1
111113         #WSTOPSIG
111114 (
111115 ¡©us
111116 è
111117         `__WSTOPSIG
111118  (¡©us)
111119
111120         )
111121
111122 46 \ 1
111123         #WIFEXITED
111124 (
111125 ¡©us
111126 è
111127         `__WIFEXITED
111128  (¡©us)
111129
111130         )
111131
111132 47 \ 1
111133         #WIFSIGNALED
111134 (
111135 ¡©us
111136 è
111137         `__WIFSIGNALED
111138  (¡©us)
111139
111140         )
111141
111142 48 \ 1
111143         #WIFSTOPPED
111144 (
111145 ¡©us
111146 è
111147         `__WIFSTOPPED
111148  (¡©us)
111149
111150         )
111151
111152 49 #ifdeà
111153 __WIFCONTINUED
111154
111155
111156 50 \ 1
111157         #WIFCONTINUED
111158 (
111159 ¡©us
111160 è
111161         `__WIFCONTINUED
111162  (¡©us)
111163
111164         )
111165
111166 55 \ 2
111167         ~<b\99s/æß\8a.h
111168 >
111169
111170 60 \12
111171         mquÙ
111172 ;
111173
111174 61 \12
111175         m»m
111176 ;
111177
111178 62 } 
111179         tdiv_t
111180 ;
111181
111182 65 #iâdeà
111183 __ldiv_t_def\9aed
111184
111185
111186 68 \13\12
111187         mquÙ
111188 ;
111189
111190 69 \13\12
111191         m»m
111192 ;
111193
111194 70 } 
111195         tldiv_t
111196 ;
111197
111198 71 \ 1
111199         #__ldiv_t_def\9aed
111200  1
111201
111202         )
111203
111204 74 #ià
111205 def\9aed
111206  
111207 __USE_ISOC99
111208  && !def\9aed 
111209 __Îdiv_t_def\9aed
111210
111211
111212 76 
111213 __ex\8bnsiÚ__
111214  \estruct
111215
111216 78 \13\13\12
111217         mquÙ
111218 ;
111219
111220 79 \13\13\12
111221         m»m
111222 ;
111223
111224 80 } 
111225         tÎdiv_t
111226 ;
111227
111228 81 \ 1
111229         #__Îdiv_t_def\9aed
111230  1
111231
111232         )
111233
111234 86 \ 1
111235         #RAND_MAX
111236  2147483647
111237
111238         )
111239
111240 91 \ 1
111241         #EXIT_FAILURE
111242  1
111243
111244         )
111245
111246 92 \ 1
111247         #EXIT_SUCCESS
111248  0
111249
111250         )
111251
111252 96 \ 1
111253         #MB_CUR_MAX
111254  (
111255         `__ùy³_g\91_mb_cur_max
111256  ())
111257
111258         )
111259
111260 97 \r
111261 size_t
111262  
111263         $__ùy³_g\91_mb_cur_max
111264  (\1eè
111265 __THROW
111266  
111267 __wur
111268 ;
111269
111270 101 \r\b
111271         $©of
111272  (cڡ \ 5*
111273 __Ō
111274 )
111275
111276 102 
111277 __THROW
111278  
111279 __©\8cibu\8b_pu»__
111280  
111281         `__nÚnuÎ
111282  ((1)è
111283 __wur
111284 ;
111285
111286 104 \r\12
111287         $©oi
111288  (cڡ \ 5*
111289 __Ō
111290 )
111291
111292 105 
111293 __THROW
111294  
111295 __©\8cibu\8b_pu»__
111296  
111297         `__nÚnuÎ
111298  ((1)è
111299 __wur
111300 ;
111301
111302 107 \r\13\12
111303         $©Þ
111304  (cڡ \ 5*
111305 __Ō
111306 )
111307
111308 108 
111309 __THROW
111310  
111311 __©\8cibu\8b_pu»__
111312  
111313         `__nÚnuÎ
111314  ((1)è
111315 __wur
111316 ;
111317
111318 110 #ifdeà
111319 __USE_ISOC99
111320
111321
111322 112 
111323 __ex\8bnsiÚ__
111324  \r\13\13\12
111325         $©Þl
111326  (cڡ \ 5*
111327 __Ō
111328 )
111329
111330 113 
111331 __THROW
111332  
111333 __©\8cibu\8b_pu»__
111334  
111335         `__nÚnuÎ
111336  ((1)è
111337 __wur
111338 ;
111339
111340 117 \r\b
111341         $¡¹od
111342  (cڡ \ 5*
111343 __»¡riù
111344  
111345 __Ō
111346 ,
111347
111348 118 \ 5**
111349 __»¡riù
111350  
111351 __\92d±r
111352 )
111353
111354 119 
111355 __THROW
111356  
111357         `__nÚnuÎ
111358  ((1));
111359
111360 121 #ifdef 
111361 __USE_ISOC99
111362
111363
111364 123 \r\ e
111365         $¡¹of
111366  (cڡ \ 5*
111367 __»¡riù
111368  
111369 __Ō
111370 ,
111371
111372 124 \ 5**
111373 __»¡riù
111374  
111375 __\92d±r
111376 è
111377 __THROW
111378  
111379         `__nÚnuÎ
111380  ((1));
111381
111382 126 \r\13\b
111383         $¡¹Þd
111384  (cڡ \ 5*
111385 __»¡riù
111386  
111387 __Ō
111388 ,
111389
111390 127 \ 5**
111391 __»¡riù
111392  
111393 __\92d±r
111394 )
111395
111396 128 
111397 __THROW
111398  
111399         `__nÚnuÎ
111400  ((1));
111401
111402 133 #ià
111403 __HAVE_FLOAT16
111404  && 
111405         `__GLIBC_USE
111406  (
111407 IEC_60559_TYPES_EXT
111408 )
111409
111410 134 \r
111411 _Flßt16
111412  
111413         $¡¹of16
111414  (cڡ \ 5*
111415 __»¡riù
111416  
111417 __Ō
111418 ,
111419
111420 135 \ 5**
111421 __»¡riù
111422  
111423 __\92d±r
111424 )
111425
111426 136 
111427 __THROW
111428  
111429         `__nÚnuÎ
111430  ((1));
111431
111432 139 #ià
111433 __HAVE_FLOAT32
111434  && 
111435         `__GLIBC_USE
111436  (
111437 IEC_60559_TYPES_EXT
111438 )
111439
111440 140 \r
111441 _Flßt32
111442  
111443         $¡¹of32
111444  (cڡ \ 5*
111445 __»¡riù
111446  
111447 __Ō
111448 ,
111449
111450 141 \ 5**
111451 __»¡riù
111452  
111453 __\92d±r
111454 )
111455
111456 142 
111457 __THROW
111458  
111459         `__nÚnuÎ
111460  ((1));
111461
111462 145 #ià
111463 __HAVE_FLOAT64
111464  && 
111465         `__GLIBC_USE
111466  (
111467 IEC_60559_TYPES_EXT
111468 )
111469
111470 146 \r
111471 _Flßt64
111472  
111473         $¡¹of64
111474  (cڡ \ 5*
111475 __»¡riù
111476  
111477 __Ō
111478 ,
111479
111480 147 \ 5**
111481 __»¡riù
111482  
111483 __\92d±r
111484 )
111485
111486 148 
111487 __THROW
111488  
111489         `__nÚnuÎ
111490  ((1));
111491
111492 151 #ià
111493 __HAVE_FLOAT128
111494  && 
111495         `__GLIBC_USE
111496  (
111497 IEC_60559_TYPES_EXT
111498 )
111499
111500 152 \r
111501 _Flßt128
111502  
111503         $¡¹of128
111504  (cڡ \ 5*
111505 __»¡riù
111506  
111507 __Ō
111508 ,
111509
111510 153 \ 5**
111511 __»¡riù
111512  
111513 __\92d±r
111514 )
111515
111516 154 
111517 __THROW
111518  
111519         `__nÚnuÎ
111520  ((1));
111521
111522 157 #ià
111523 __HAVE_FLOAT32X
111524  && 
111525         `__GLIBC_USE
111526  (
111527 IEC_60559_TYPES_EXT
111528 )
111529
111530 158 \r
111531 _Flßt32x
111532  
111533         $¡¹of32x
111534  (cڡ \ 5*
111535 __»¡riù
111536  
111537 __Ō
111538 ,
111539
111540 159 \ 5**
111541 __»¡riù
111542  
111543 __\92d±r
111544 )
111545
111546 160 
111547 __THROW
111548  
111549         `__nÚnuÎ
111550  ((1));
111551
111552 163 #ià
111553 __HAVE_FLOAT64X
111554  && 
111555         `__GLIBC_USE
111556  (
111557 IEC_60559_TYPES_EXT
111558 )
111559
111560 164 \r
111561 _Flßt64x
111562  
111563         $¡¹of64x
111564  (cڡ \ 5*
111565 __»¡riù
111566  
111567 __Ō
111568 ,
111569
111570 165 \ 5**
111571 __»¡riù
111572  
111573 __\92d±r
111574 )
111575
111576 166 
111577 __THROW
111578  
111579         `__nÚnuÎ
111580  ((1));
111581
111582 169 #ià
111583 __HAVE_FLOAT128X
111584  && 
111585         `__GLIBC_USE
111586  (
111587 IEC_60559_TYPES_EXT
111588 )
111589
111590 170 \r
111591 _Flßt128x
111592  
111593         $¡¹of128x
111594  (cڡ \ 5*
111595 __»¡riù
111596  
111597 __Ō
111598 ,
111599
111600 171 \ 5**
111601 __»¡riù
111602  
111603 __\92d±r
111604 )
111605
111606 172 
111607 __THROW
111608  
111609         `__nÚnuÎ
111610  ((1));
111611
111612 176 \r\13\12
111613         $¡¹Þ
111614  (cڡ \ 5*
111615 __»¡riù
111616  
111617 __Ō
111618 ,
111619
111620 177 \ 5**
111621 __»¡riù
111622  
111623 __\92d±r
111624\12
111625 __ba£
111626 )
111627
111628 178 
111629 __THROW
111630  
111631         `__nÚnuÎ
111632  ((1));
111633
111634 180 \r\1d\13\12
111635         $¡¹oul
111636  (cڡ \ 5*
111637 __»¡riù
111638  
111639 __Ō
111640 ,
111641
111642 181 \ 5**
111643 __»¡riù
111644  
111645 __\92d±r
111646\12
111647 __ba£
111648 )
111649
111650 182 
111651 __THROW
111652  
111653         `__nÚnuÎ
111654  ((1));
111655
111656 184 #ifdeà
111657 __USE_MISC
111658
111659
111660 186 
111661 __ex\8bnsiÚ__
111662
111663
111664 187 \r\13\13\12
111665         $¡¹oq
111666  (cڡ \ 5*
111667 __»¡riù
111668  
111669 __Ō
111670 ,
111671
111672 188 \ 5**
111673 __»¡riù
111674  
111675 __\92d±r
111676\12
111677 __ba£
111678 )
111679
111680 189 
111681 __THROW
111682  
111683         `__nÚnuÎ
111684  ((1));
111685
111686 191 
111687 __ex\8bnsiÚ__
111688
111689
111690 192 \r\1d\13\13\12
111691         $¡¹ouq
111692  (cڡ \ 5*
111693 __»¡riù
111694  
111695 __Ō
111696 ,
111697
111698 193 \ 5**
111699 __»¡riù
111700  
111701 __\92d±r
111702\12
111703 __ba£
111704 )
111705
111706 194 
111707 __THROW
111708  
111709         `__nÚnuÎ
111710  ((1));
111711
111712 197 #ifdeà
111713 __USE_ISOC99
111714
111715
111716 199 
111717 __ex\8bnsiÚ__
111718
111719
111720 200 \r\13\13\12
111721         $¡¹Þl
111722  (cڡ \ 5*
111723 __»¡riù
111724  
111725 __Ō
111726 ,
111727
111728 201 \ 5**
111729 __»¡riù
111730  
111731 __\92d±r
111732\12
111733 __ba£
111734 )
111735
111736 202 
111737 __THROW
111738  
111739         `__nÚnuÎ
111740  ((1));
111741
111742 204 
111743 __ex\8bnsiÚ__
111744
111745
111746 205 \r\1d\13\13\12
111747         $¡¹ouÎ
111748  (cڡ \ 5*
111749 __»¡riù
111750  
111751 __Ō
111752 ,
111753
111754 206 \ 5**
111755 __»¡riù
111756  
111757 __\92d±r
111758\12
111759 __ba£
111760 )
111761
111762 207 
111763 __THROW
111764  
111765         `__nÚnuÎ
111766  ((1));
111767
111768 211 #ià
111769         `__GLIBC_USE
111770  (
111771 IEC_60559_BFP_EXT
111772 )
111773
111774 212 \r\12
111775         $¡räomd
111776  (\ 5*
111777 __de¡
111778
111779 size_t
111780  
111781 __size
111782 , cڡ \ 5*
111783 __fÜm©
111784 ,
111785
111786 213 \b
111787 __f
111788 )
111789
111790 214 
111791 __THROW
111792  
111793         `__nÚnuÎ
111794  ((3));
111795
111796 216 \r\12
111797         $¡räomf
111798  (\ 5*
111799 __de¡
111800
111801 size_t
111802  
111803 __size
111804 , cڡ \ 5*
111805 __fÜm©
111806 ,
111807
111808 217 \ e
111809 __f
111810 )
111811
111812 218 
111813 __THROW
111814  
111815         `__nÚnuÎ
111816  ((3));
111817
111818 220 \r\12
111819         $¡räoml
111820  (\ 5*
111821 __de¡
111822
111823 size_t
111824  
111825 __size
111826 , cڡ \ 5*
111827 __fÜm©
111828 ,
111829
111830 221 \13\b
111831 __f
111832 )
111833
111834 222 
111835 __THROW
111836  
111837         `__nÚnuÎ
111838  ((3));
111839
111840 225 #ià
111841 __HAVE_FLOAT16
111842  && 
111843         `__GLIBC_USE
111844  (
111845 IEC_60559_TYPES_EXT
111846 )
111847
111848 226 \r\12
111849         $¡räomf16
111850  (\ 5*
111851 __de¡
111852
111853 size_t
111854  
111855 __size
111856 , cڡ \ 5
111857 __fÜm©
111858 ,
111859
111860 227 
111861 _Flßt16
111862  
111863 __f
111864 )
111865
111866 228 
111867 __THROW
111868  
111869         `__nÚnuÎ
111870  ((3));
111871
111872 231 #ià
111873 __HAVE_FLOAT32
111874  && 
111875         `__GLIBC_USE
111876  (
111877 IEC_60559_TYPES_EXT
111878 )
111879
111880 232 \r\12
111881         $¡räomf32
111882  (\ 5*
111883 __de¡
111884
111885 size_t
111886  
111887 __size
111888 , cڡ \ 5
111889 __fÜm©
111890 ,
111891
111892 233 
111893 _Flßt32
111894  
111895 __f
111896 )
111897
111898 234 
111899 __THROW
111900  
111901         `__nÚnuÎ
111902  ((3));
111903
111904 237 #ià
111905 __HAVE_FLOAT64
111906  && 
111907         `__GLIBC_USE
111908  (
111909 IEC_60559_TYPES_EXT
111910 )
111911
111912 238 \r\12
111913         $¡räomf64
111914  (\ 5*
111915 __de¡
111916
111917 size_t
111918  
111919 __size
111920 , cڡ \ 5
111921 __fÜm©
111922 ,
111923
111924 239 
111925 _Flßt64
111926  
111927 __f
111928 )
111929
111930 240 
111931 __THROW
111932  
111933         `__nÚnuÎ
111934  ((3));
111935
111936 243 #ià
111937 __HAVE_FLOAT128
111938  && 
111939         `__GLIBC_USE
111940  (
111941 IEC_60559_TYPES_EXT
111942 )
111943
111944 244 \r\12
111945         $¡räomf128
111946  (\ 5*
111947 __de¡
111948
111949 size_t
111950  
111951 __size
111952 , cڡ \ 5
111953 __fÜm©
111954 ,
111955
111956 245 
111957 _Flßt128
111958  
111959 __f
111960 )
111961
111962 246 
111963 __THROW
111964  
111965         `__nÚnuÎ
111966  ((3));
111967
111968 249 #ià
111969 __HAVE_FLOAT32X
111970  && 
111971         `__GLIBC_USE
111972  (
111973 IEC_60559_TYPES_EXT
111974 )
111975
111976 250 \r\12
111977         $¡räomf32x
111978  (\ 5*
111979 __de¡
111980
111981 size_t
111982  
111983 __size
111984 , cڡ \ 5
111985 __fÜm©
111986 ,
111987
111988 251 
111989 _Flßt32x
111990  
111991 __f
111992 )
111993
111994 252 
111995 __THROW
111996  
111997         `__nÚnuÎ
111998  ((3));
111999
112000 255 #ià
112001 __HAVE_FLOAT64X
112002  && 
112003         `__GLIBC_USE
112004  (
112005 IEC_60559_TYPES_EXT
112006 )
112007
112008 256 \r\12
112009         $¡räomf64x
112010  (\ 5*
112011 __de¡
112012
112013 size_t
112014  
112015 __size
112016 , cڡ \ 5
112017 __fÜm©
112018 ,
112019
112020 257 
112021 _Flßt64x
112022  
112023 __f
112024 )
112025
112026 258 
112027 __THROW
112028  
112029         `__nÚnuÎ
112030  ((3));
112031
112032 261 #ià
112033 __HAVE_FLOAT128X
112034  && 
112035         `__GLIBC_USE
112036  (
112037 IEC_60559_TYPES_EXT
112038 )
112039
112040 262 \r\12
112041         $¡räomf128x
112042  (\ 5*
112043 __de¡
112044
112045 size_t
112046  
112047 __size
112048 , cڡ \ 5
112049 __fÜm©
112050 ,
112051
112052 263 
112053 _Flßt128x
112054  
112055 __f
112056 )
112057
112058 264 
112059 __THROW
112060  
112061         `__nÚnuÎ
112062  ((3));
112063
112064 268 #ifdeà
112065 __USE_GNU
112066
112067
112068 272 \ 2
112069         ~<b\99s/ty³s/loÿË_t.h
112070 >
112071
112072 274 \r\13\12
112073         $¡¹Þ_l
112074  (cڡ \ 5*
112075 __»¡riù
112076  
112077 __Ō
112078 ,
112079
112080 275 \ 5**
112081 __»¡riù
112082  
112083 __\92d±r
112084\12
112085 __ba£
112086 ,
112087
112088 276 
112089 loÿË_t
112090  
112091 __loc
112092 è
112093 __THROW
112094  
112095         `__nÚnuÎ
112096  ((1, 4));
112097
112098 278 \r\1d\13\12
112099         $¡¹oul_l
112100  (cڡ \ 5*
112101 __»¡riù
112102  
112103 __Ō
112104 ,
112105
112106 279 \ 5**
112107 __»¡riù
112108  
112109 __\92d±r
112110 ,
112111
112112 280 \12
112113 __ba£
112114
112115 loÿË_t
112116  
112117 __loc
112118 )
112119
112120 281 
112121 __THROW
112122  
112123         `__nÚnuÎ
112124  ((1, 4));
112125
112126 283 
112127 __ex\8bnsiÚ__
112128
112129
112130 284 \r\13\13\12
112131         $¡¹Þl_l
112132  (cڡ \ 5*
112133 __»¡riù
112134  
112135 __Ō
112136 ,
112137
112138 285 \ 5**
112139 __»¡riù
112140  
112141 __\92d±r
112142\12
112143 __ba£
112144 ,
112145
112146 286 
112147 loÿË_t
112148  
112149 __loc
112150 )
112151
112152 287 
112153 __THROW
112154  
112155         `__nÚnuÎ
112156  ((1, 4));
112157
112158 289 
112159 __ex\8bnsiÚ__
112160
112161
112162 290 \r\1d\13\13\12
112163         $¡¹ouÎ_l
112164  (cڡ \ 5*
112165 __»¡riù
112166  
112167 __Ō
112168 ,
112169
112170 291 \ 5**
112171 __»¡riù
112172  
112173 __\92d±r
112174 ,
112175
112176 292 \12
112177 __ba£
112178
112179 loÿË_t
112180  
112181 __loc
112182 )
112183
112184 293 
112185 __THROW
112186  
112187         `__nÚnuÎ
112188  ((1, 4));
112189
112190 295 \r\b
112191         $¡¹od_l
112192  (cڡ \ 5*
112193 __»¡riù
112194  
112195 __Ō
112196 ,
112197
112198 296 \ 5**
112199 __»¡riù
112200  
112201 __\92d±r
112202
112203 loÿË_t
112204  
112205 __loc
112206 )
112207
112208 297 
112209 __THROW
112210  
112211         `__nÚnuÎ
112212  ((1, 3));
112213
112214 299 \r\ e
112215         $¡¹of_l
112216  (cڡ \ 5*
112217 __»¡riù
112218  
112219 __Ō
112220 ,
112221
112222 300 \ 5**
112223 __»¡riù
112224  
112225 __\92d±r
112226
112227 loÿË_t
112228  
112229 __loc
112230 )
112231
112232 301 
112233 __THROW
112234  
112235         `__nÚnuÎ
112236  ((1, 3));
112237
112238 303 \r\13\b
112239         $¡¹Þd_l
112240  (cڡ \ 5*
112241 __»¡riù
112242  
112243 __Ō
112244 ,
112245
112246 304 \ 5**
112247 __»¡riù
112248  
112249 __\92d±r
112250 ,
112251
112252 305 
112253 loÿË_t
112254  
112255 __loc
112256 )
112257
112258 306 
112259 __THROW
112260  
112261         `__nÚnuÎ
112262  ((1, 3));
112263
112264 308 #ià
112265 __HAVE_FLOAT16
112266
112267
112268 309 \r
112269 _Flßt16
112270  
112271         $¡¹of16_l
112272  (cڡ \ 5*
112273 __»¡riù
112274  
112275 __Ō
112276 ,
112277
112278 310 \ 5**
112279 __»¡riù
112280  
112281 __\92d±r
112282 ,
112283
112284 311 
112285 loÿË_t
112286  
112287 __loc
112288 )
112289
112290 312 
112291 __THROW
112292  
112293         `__nÚnuÎ
112294  ((1, 3));
112295
112296 315 #ià
112297 __HAVE_FLOAT32
112298
112299
112300 316 \r
112301 _Flßt32
112302  
112303         $¡¹of32_l
112304  (cڡ \ 5*
112305 __»¡riù
112306  
112307 __Ō
112308 ,
112309
112310 317 \ 5**
112311 __»¡riù
112312  
112313 __\92d±r
112314 ,
112315
112316 318 
112317 loÿË_t
112318  
112319 __loc
112320 )
112321
112322 319 
112323 __THROW
112324  
112325         `__nÚnuÎ
112326  ((1, 3));
112327
112328 322 #ià
112329 __HAVE_FLOAT64
112330
112331
112332 323 \r
112333 _Flßt64
112334  
112335         $¡¹of64_l
112336  (cڡ \ 5*
112337 __»¡riù
112338  
112339 __Ō
112340 ,
112341
112342 324 \ 5**
112343 __»¡riù
112344  
112345 __\92d±r
112346 ,
112347
112348 325 
112349 loÿË_t
112350  
112351 __loc
112352 )
112353
112354 326 
112355 __THROW
112356  
112357         `__nÚnuÎ
112358  ((1, 3));
112359
112360 329 #ià
112361 __HAVE_FLOAT128
112362
112363
112364 330 \r
112365 _Flßt128
112366  
112367         $¡¹of128_l
112368  (cڡ \ 5*
112369 __»¡riù
112370  
112371 __Ō
112372 ,
112373
112374 331 \ 5**
112375 __»¡riù
112376  
112377 __\92d±r
112378 ,
112379
112380 332 
112381 loÿË_t
112382  
112383 __loc
112384 )
112385
112386 333 
112387 __THROW
112388  
112389         `__nÚnuÎ
112390  ((1, 3));
112391
112392 336 #ià
112393 __HAVE_FLOAT32X
112394
112395
112396 337 \r
112397 _Flßt32x
112398  
112399         $¡¹of32x_l
112400  (cڡ \ 5*
112401 __»¡riù
112402  
112403 __Ō
112404 ,
112405
112406 338 \ 5**
112407 __»¡riù
112408  
112409 __\92d±r
112410 ,
112411
112412 339 
112413 loÿË_t
112414  
112415 __loc
112416 )
112417
112418 340 
112419 __THROW
112420  
112421         `__nÚnuÎ
112422  ((1, 3));
112423
112424 343 #ià
112425 __HAVE_FLOAT64X
112426
112427
112428 344 \r
112429 _Flßt64x
112430  
112431         $¡¹of64x_l
112432  (cڡ \ 5*
112433 __»¡riù
112434  
112435 __Ō
112436 ,
112437
112438 345 \ 5**
112439 __»¡riù
112440  
112441 __\92d±r
112442 ,
112443
112444 346 
112445 loÿË_t
112446  
112447 __loc
112448 )
112449
112450 347 
112451 __THROW
112452  
112453         `__nÚnuÎ
112454  ((1, 3));
112455
112456 350 #ià
112457 __HAVE_FLOAT128X
112458
112459
112460 351 \r
112461 _Flßt128x
112462  
112463         $¡¹of128x_l
112464  (cڡ \ 5*
112465 __»¡riù
112466  
112467 __Ō
112468 ,
112469
112470 352 \ 5**
112471 __»¡riù
112472  
112473 __\92d±r
112474 ,
112475
112476 353 
112477 loÿË_t
112478  
112479 __loc
112480 )
112481
112482 354 
112483 __THROW
112484  
112485         `__nÚnuÎ
112486  ((1, 3));
112487
112488 359 #ifdeà
112489 __USE_EXTERN_INLINES
112490
112491
112492 360 
112493 __ex\8bº_\9al\9ae
112494  \12
112495
112496 361 
112497         `__NTH
112498  (
112499         $©oi
112500  (cڡ \ 5*
112501 __Ō
112502 ))
112503
112504 363 \15 (\12è
112505         `¡¹Þ
112506  (
112507 __Ō
112508 , (\ 5**è
112509 NULL
112510 , 10);
112511
112512 364 
112513         }
112514 }
112515
112516 365 
112517 __ex\8bº_\9al\9ae
112518  \13\12
112519
112520 366 
112521 __NTH
112522  (
112523         $©Þ
112524  (cڡ \ 5*
112525 __Ō
112526 ))
112527
112528 368 \15 
112529         `¡¹Þ
112530  (
112531 __Ō
112532 , (\ 5**è
112533 NULL
112534 , 10);
112535
112536 369 
112537         }
112538 }
112539
112540 371 #ifdeà
112541 __USE_ISOC99
112542
112543
112544 372 
112545 __ex\8bnsiÚ__
112546  
112547 __ex\8bº_\9al\9ae
112548  \13\13\12
112549
112550 373 
112551 __NTH
112552  (
112553         $©Þl
112554  (cڡ \ 5*
112555 __Ō
112556 ))
112557
112558 375 \15 
112559         `¡¹Þl
112560  (
112561 __Ō
112562 , (\ 5**è
112563 NULL
112564 , 10);
112565
112566 376 
112567         }
112568 }
112569
112570 381 #ià
112571 def\9aed
112572  
112573 __USE_MISC
112574  || def\9aed 
112575 __USE_XOPEN_EXTENDED
112576
112577
112578 385 \r\ 5*
112579         $l64a
112580  (\13\12
112581 __n
112582 è
112583 __THROW
112584  
112585 __wur
112586 ;
112587
112588 388 \r\13\12
112589         $a64l
112590  (cڡ \ 5*
112591 __s
112592 )
112593
112594 389 
112595 __THROW
112596  
112597 __©\8cibu\8b_pu»__
112598  
112599         `__nÚnuÎ
112600  ((1)è
112601 __wur
112602 ;
112603
112604 393 #ià
112605 def\9aed
112606  
112607 __USE_MISC
112608  || def\9aed 
112609 __USE_XOPEN_EXTENDED
112610
112611
112612 394 \ 2
112613         ~<sys/ty³s.h
112614 >
112615
112616 401 \r\13\12
112617         $¿ndom
112618  (\1eè
112619 __THROW
112620 ;
112621
112622 404 \r\1e
112623         $¤ªdom
112624  (\1d\12
112625 __£ed
112626 è
112627 __THROW
112628 ;
112629
112630 410 \r\ 5*
112631         $\9a\99¡©e
112632  (\1d\12
112633 __£ed
112634\ 5*
112635 __¡©ebuf
112636 ,
112637
112638 411 
112639 size_t
112640  
112641 __¡©\96\92
112642 è
112643 __THROW
112644  
112645         `__nÚnuÎ
112646  ((2));
112647
112648 415 \r\ 5*
112649         $£t¡©e
112650  (\ 5*
112651 __¡©ebuf
112652 è
112653 __THROW
112654  
112655         `__nÚnuÎ
112656  ((1));
112657
112658 418 #ifdeà
112659 __USE_MISC
112660
112661
112662 423 \19
112663         s¿ndom_d©a
112664
112665
112666 425 
112667 \9at32_t
112668  *
112669 å\8c
112670 ;
112671
112672 426 
112673 \9at32_t
112674  *
112675 ½\8c
112676 ;
112677
112678 427 
112679 \9at32_t
112680  *
112681 ¡©e
112682 ;
112683
112684 428 \12
112685 ¿nd_ty³
112686 ;
112687
112688 429 \12
112689 ¿nd_deg
112690 ;
112691
112692 430 \12
112693 ¿nd_£p
112694 ;
112695
112696 431 
112697 \9at32_t
112698  *
112699 \92d_±r
112700 ;
112701
112702 434 \r\12
112703         $¿ndom_r
112704  (\19
112705 ¿ndom_d©a
112706  *
112707 __»¡riù
112708  
112709 __buf
112710 ,
112711
112712 435 
112713 \9at32_t
112714  *
112715 __»¡riù
112716  
112717 __»suÉ
112718 è
112719 __THROW
112720  
112721         `__nÚnuÎ
112722  ((1, 2));
112723
112724 437 \r\12
112725         $¤ªdom_r
112726  (\1d\12
112727 __£ed
112728\19
112729 ¿ndom_d©a
112730  *
112731 __buf
112732 )
112733
112734 438 
112735 __THROW
112736  
112737         `__nÚnuÎ
112738  ((2));
112739
112740 440 \r\12
112741         $\9a\99¡©e_r
112742  (\1d\12
112743 __£ed
112744\ 5*
112745 __»¡riù
112746  
112747 __¡©ebuf
112748 ,
112749
112750 441 
112751 size_t
112752  
112753 __¡©\96\92
112754 ,
112755
112756 442 \19
112757 ¿ndom_d©a
112758  *
112759 __»¡riù
112760  
112761 __buf
112762 )
112763
112764 443 
112765 __THROW
112766  
112767         `__nÚnuÎ
112768  ((2, 4));
112769
112770 445 \r\12
112771         $£t¡©e_r
112772  (\ 5*
112773 __»¡riù
112774  
112775 __¡©ebuf
112776 ,
112777
112778 446 \19
112779 ¿ndom_d©a
112780  *
112781 __»¡riù
112782  
112783 __buf
112784 )
112785
112786 447 
112787 __THROW
112788  
112789         `__nÚnuÎ
112790  ((1, 2));
112791
112792 453 \r\12
112793         $¿nd
112794  (\1eè
112795 __THROW
112796 ;
112797
112798 455 \r\1e
112799         $¤ªd
112800  (\1d\12
112801 __£ed
112802 è
112803 __THROW
112804 ;
112805
112806 457 #ifdeà
112807 __USE_POSIX199506
112808
112809
112810 459 \r\12
112811         $¿nd_r
112812  (\1d\12*
112813 __£ed
112814 è
112815 __THROW
112816 ;
112817
112818 463 #ià
112819 def\9aed
112820  
112821 __USE_MISC
112822  || def\9aed 
112823 __USE_XOPEN
112824
112825
112826 467 \r\b
112827         $d¿nd48
112828  (\1eè
112829 __THROW
112830 ;
112831
112832 468 \r\b
112833         $\94ªd48
112834  (\1d\16\12
112835 __xsubi
112836 [3]è
112837 __THROW
112838  
112839         `__nÚnuÎ
112840  ((1));
112841
112842 471 \r\13\12
112843         $̪d48
112844  (\1eè
112845 __THROW
112846 ;
112847
112848 472 \r\13\12
112849         $Īd48
112850  (\1d\16\12
112851 __xsubi
112852 [3])
112853
112854 473 
112855 __THROW
112856  
112857         `__nÚnuÎ
112858  ((1));
112859
112860 476 \r\13\12
112861         $m¿nd48
112862  (\1eè
112863 __THROW
112864 ;
112865
112866 477 \r\13\12
112867         $j¿nd48
112868  (\1d\16\12
112869 __xsubi
112870 [3])
112871
112872 478 
112873 __THROW
112874  
112875         `__nÚnuÎ
112876  ((1));
112877
112878 481 \r\1e
112879         $¤ªd48
112880  (\13\12
112881 __£edv®
112882 è
112883 __THROW
112884 ;
112885
112886 482 \r\1d\16\12*
112887         $£ed48
112888  (\1d\16\12
112889 __£ed16v
112890 [3])
112891
112892 483 
112893 __THROW
112894  
112895         `__nÚnuÎ
112896  ((1));
112897
112898 484 \r\1e
112899         $lcÚg48
112900  (\1d\16\12
112901 __·¿m
112902 [7]è
112903 __THROW
112904  
112905         `__nÚnuÎ
112906  ((1));
112907
112908 486 #ifdeà
112909 __USE_MISC
112910
112911
112912 490 \19
112913         sd¿nd48_d©a
112914
112915
112916 492 \1d\16\12
112917 __x
112918 [3];
112919
112920 493 \1d\16\12
112921 __Þd_x
112922 [3];
112923
112924 494 \1d\16\12
112925 __c
112926 ;
112927
112928 495 \1d\16\12
112929 __\9a\99
112930 ;
112931
112932 496 
112933 __ex\8bnsiÚ__
112934  \1d\13\13\12
112935 __a
112936 ;
112937
112938 501 \r\12
112939         $d¿nd48_r
112940  (\19
112941 d¿nd48_d©a
112942  *
112943 __»¡riù
112944  
112945 __bufãr
112946 ,
112947
112948 502 \b*
112949 __»¡riù
112950  
112951 __»suÉ
112952 è
112953 __THROW
112954  
112955         `__nÚnuÎ
112956  ((1, 2));
112957
112958 503 \r\12
112959         $\94ªd48_r
112960  (\1d\16\12
112961 __xsubi
112962 [3],
112963
112964 504 \19
112965 d¿nd48_d©a
112966  *
112967 __»¡riù
112968  
112969 __bufãr
112970 ,
112971
112972 505 \b*
112973 __»¡riù
112974  
112975 __»suÉ
112976 è
112977 __THROW
112978  
112979         `__nÚnuÎ
112980  ((1, 2));
112981
112982 508 \r\12
112983         $̪d48_r
112984  (\19
112985 d¿nd48_d©a
112986  *
112987 __»¡riù
112988  
112989 __bufãr
112990 ,
112991
112992 509 \13\12*
112993 __»¡riù
112994  
112995 __»suÉ
112996 )
112997
112998 510 
112999 __THROW
113000  
113001         `__nÚnuÎ
113002  ((1, 2));
113003
113004 511 \r\12
113005         $Īd48_r
113006  (\1d\16\12
113007 __xsubi
113008 [3],
113009
113010 512 \19
113011 d¿nd48_d©a
113012  *
113013 __»¡riù
113014  
113015 __bufãr
113016 ,
113017
113018 513 \13\12*
113019 __»¡riù
113020  
113021 __»suÉ
113022 )
113023
113024 514 
113025 __THROW
113026  
113027         `__nÚnuÎ
113028  ((1, 2));
113029
113030 517 \r\12
113031         $m¿nd48_r
113032  (\19
113033 d¿nd48_d©a
113034  *
113035 __»¡riù
113036  
113037 __bufãr
113038 ,
113039
113040 518 \13\12*
113041 __»¡riù
113042  
113043 __»suÉ
113044 )
113045
113046 519 
113047 __THROW
113048  
113049         `__nÚnuÎ
113050  ((1, 2));
113051
113052 520 \r\12
113053         $j¿nd48_r
113054  (\1d\16\12
113055 __xsubi
113056 [3],
113057
113058 521 \19
113059 d¿nd48_d©a
113060  *
113061 __»¡riù
113062  
113063 __bufãr
113064 ,
113065
113066 522 \13\12*
113067 __»¡riù
113068  
113069 __»suÉ
113070 )
113071
113072 523 
113073 __THROW
113074  
113075         `__nÚnuÎ
113076  ((1, 2));
113077
113078 526 \r\12
113079         $¤ªd48_r
113080  (\13\12
113081 __£edv®
113082\19
113083 d¿nd48_d©a
113084  *
113085 __bufãr
113086 )
113087
113088 527 
113089 __THROW
113090  
113091         `__nÚnuÎ
113092  ((2));
113093
113094 529 \r\12
113095         $£ed48_r
113096  (\1d\16\12
113097 __£ed16v
113098 [3],
113099
113100 530 \19
113101 d¿nd48_d©a
113102  *
113103 __bufãr
113104 è
113105 __THROW
113106  
113107         `__nÚnuÎ
113108  ((1, 2));
113109
113110 532 \r\12
113111         $lcÚg48_r
113112  (\1d\16\12
113113 __·¿m
113114 [7],
113115
113116 533 \19
113117 d¿nd48_d©a
113118  *
113119 __bufãr
113120 )
113121
113122 534 
113123 __THROW
113124  
113125         `__nÚnuÎ
113126  ((1, 2));
113127
113128 539 \r\1e*
113129         $m®loc
113130  (
113131 size_t
113132  
113133 __size
113134 è
113135 __THROW
113136  
113137 __©\8cibu\8b_m®loc__
113138  
113139 __wur
113140 ;
113141
113142 541 \r\1e*
113143         $ÿÎoc
113144  (
113145 size_t
113146  
113147 __nmemb
113148 , size_\88
113149 __size
113150 )
113151
113152 542 
113153 __THROW
113154  
113155 __©\8cibu\8b_m®loc__
113156  
113157 __wur
113158 ;
113159
113160 549 \r\1e*
113161         $»®loc
113162  (\1e*
113163 __±r
113164
113165 size_t
113166  
113167 __size
113168 )
113169
113170 550 
113171 __THROW
113172  
113173 __©\8cibu\8b_w¬n_unu£d_»suÉ__
113174 ;
113175
113176 552 #ifdeà
113177 __USE_GNU
113178
113179
113180 558 \r\1e*
113181         $»®loÿ¼ay
113182  (\1e*
113183 __±r
113184
113185 size_t
113186  
113187 __nmemb
113188 , size_\88
113189 __size
113190 )
113191
113192 559 
113193 __THROW
113194  
113195 __©\8cibu\8b_w¬n_unu£d_»suÉ__
113196 ;
113197
113198 563 \r\1e
113199         $ä\93
113200  (\1e*
113201 __±r
113202 è
113203 __THROW
113204 ;
113205
113206 565 #ifdeà
113207 __USE_MISC
113208
113209
113210 566 \ 2
113211         ~<®loÿ.h
113212 >
113213
113214 569 #ià(
113215 def\9aed
113216  
113217 __USE_XOPEN_EXTENDED
113218  && !def\9aed 
113219 __USE_XOPEN2K
113220 ) \
113221
113222 570 || 
113223 def\9aed
113224  
113225 __USE_MISC
113226
113227
113228 572 \r\1e*
113229         $v®loc
113230  (
113231 size_t
113232  
113233 __size
113234 è
113235 __THROW
113236  
113237 __©\8cibu\8b_m®loc__
113238  
113239 __wur
113240 ;
113241
113242 575 #ifdeà
113243 __USE_XOPEN2K
113244
113245
113246 577 \r\12
113247         $posix_mem®ign
113248  (\1e**
113249 __mem±r
113250
113251 size_t
113252  
113253 __®ignm\92t
113254 , size_\88
113255 __size
113256 )
113257
113258 578 
113259 __THROW
113260  
113261         `__nÚnuÎ
113262  ((1)è
113263 __wur
113264 ;
113265
113266 581 #ifdeà
113267 __USE_ISOC11
113268
113269
113270 583 \r\1e*
113271         $®igÃd_®loc
113272  (
113273 size_t
113274  
113275 __®ignm\92t
113276 , size_\88
113277 __size
113278 )
113279
113280 584 
113281 __THROW
113282  
113283 __©\8cibu\8b_m®loc__
113284  
113285         `__©\8cibu\8b_®loc_size__
113286  ((2)è
113287 __wur
113288 ;
113289
113290 588 \r\1e
113291         $abÜt
113292  (\1eè
113293 __THROW
113294  
113295         `__©\8cibu\8b__
113296  ((
113297 __nÜ\91uº__
113298 ));
113299
113300 592 \r\12
113301         $©ex\99
113302  (\1e(*
113303 __func
113304 è(\1e
113305 __THROW
113306  
113307         `__nÚnuÎ
113308  ((1));
113309
113310 594 #ià
113311 def\9aed
113312  
113313 __USE_ISOC11
113314  || def\9aed 
113315 __USE_ISOCXX11
113316
113317
113318 596 #ifdeà
113319 __ýlu¥lus
113320
113321
113322 597 \r"C++" \12
113323         $©_quick_ex\99
113324  (\1e(*
113325 __func
113326 ) (\1e))
113327
113328 598 
113329 __THROW
113330  
113331         `__asm
113332  ("©_quick_ex\99
113333         `__nÚnuÎ
113334  ((1));
113335
113336 600 \r\12
113337         $©_quick_ex\99
113338  (\1e(*
113339 __func
113340 è(\1e
113341 __THROW
113342  
113343         `__nÚnuÎ
113344  ((1));
113345
113346 604 #ifdef 
113347 __USE_MISC
113348
113349
113350 607 \r\12
113351         $Ú_ex\99
113352  (\1e(*
113353 __func
113354 è(\12
113355 __¡©us
113356\1e*
113357 __¬g
113358 ), \1e*__arg)
113359
113360 608 
113361 __THROW
113362  
113363         `__nÚnuÎ
113364  ((1));
113365
113366 614 \r\1e
113367         $ex\99
113368  (\12
113369 __¡©us
113370 è
113371 __THROW
113372  
113373         `__©\8cibu\8b__
113374  ((
113375 __nÜ\91uº__
113376 ));
113377
113378 616 #ià
113379 def\9aed
113380  
113381 __USE_ISOC11
113382  || def\9aed 
113383 __USE_ISOCXX11
113384
113385
113386 620 \r\1e
113387         $quick_ex\99
113388  (\12
113389 __¡©us
113390 è
113391 __THROW
113392  
113393         `__©\8cibu\8b__
113394  ((
113395 __nÜ\91uº__
113396 ));
113397
113398 623 #ifdeà
113399 __USE_ISOC99
113400
113401
113402 626 \r\1e
113403         $_Ex\99
113404  (\12
113405 __¡©us
113406 è
113407 __THROW
113408  
113409         `__©\8cibu\8b__
113410  ((
113411 __nÜ\91uº__
113412 ));
113413
113414 631 \r\ 5*
113415         $g\91\92v
113416  (cڡ \ 5*
113417 __Çme
113418 è
113419 __THROW
113420  
113421         `__nÚnuÎ
113422  ((1)è
113423 __wur
113424 ;
113425
113426 633 #ifdeà
113427 __USE_GNU
113428
113429
113430 636 \r\ 5*
113431         $£cu»_g\91\92v
113432  (cڡ \ 5*
113433 __Çme
113434 )
113435
113436 637 
113437 __THROW
113438  
113439         `__nÚnuÎ
113440  ((1)è
113441 __wur
113442 ;
113443
113444 640 #ià
113445 def\9aed
113446  
113447 __USE_MISC
113448  || def\9aed 
113449 __USE_XOPEN
113450
113451
113452 644 \r\12
113453         $pu\8bnv
113454  (\ 5*
113455 __¡r\9ag
113456 è
113457 __THROW
113458  
113459         `__nÚnuÎ
113460  ((1));
113461
113462 647 #ifdeà
113463 __USE_XOPEN2K
113464
113465
113466 650 \r\12
113467         $£\8bnv
113468  (cڡ \ 5*
113469 __Çme
113470 , cڡ \ 5*
113471 __v®ue
113472\12
113473 __»¶aû
113474 )
113475
113476 651 
113477 __THROW
113478  
113479         `__nÚnuÎ
113480  ((2));
113481
113482 654 \r\12
113483         $un£\8bnv
113484  (cڡ \ 5*
113485 __Çme
113486 è
113487 __THROW
113488  
113489         `__nÚnuÎ
113490  ((1));
113491
113492 657 #ifdef 
113493 __USE_MISC
113494
113495
113496 661 \r\12
113497         $þ\97»nv
113498  (\1eè
113499 __THROW
113500 ;
113501
113502 665 #ià
113503 def\9aed
113504  
113505 __USE_MISC
113506  \
113507
113508 666 || (
113509 def\9aed
113510  
113511 __USE_XOPEN_EXTENDED
113512  && !def\9aed 
113513 __USE_XOPEN2K8
113514 )
113515
113516 672 \r\ 5*
113517         $mk\8bmp
113518  (\ 5*
113519 __\8bm¶©e
113520 è
113521 __THROW
113522  
113523         `__nÚnuÎ
113524  ((1));
113525
113526 675 #ià
113527 def\9aed
113528  
113529 __USE_XOPEN_EXTENDED
113530  || def\9aed 
113531 __USE_XOPEN2K8
113532
113533
113534 684 #iâdeà
113535 __USE_FILE_OFFSET64
113536
113537
113538 685 \r\12
113539         $mk¡emp
113540  (\ 5*
113541 __\8bm¶©e
113542 è
113543         `__nÚnuÎ
113544  ((1)è
113545 __wur
113546 ;
113547
113548 687 #ifdeà
113549 __REDIRECT
113550
113551
113552 688 \r\12
113553         `__REDIRECT
113554  (
113555 mk¡emp
113556 , (\ 5*
113557 __\8bm¶©e
113558 ), 
113559 mk¡emp64
113560 )
113561
113562 689 
113563         `__nÚnuÎ
113564  ((1)è
113565 __wur
113566 ;
113567
113568 691 \ 1
113569         #mk¡emp
113570  
113571 mk¡emp64
113572
113573
113574         )
113575
113576 694 #ifdeà
113577 __USE_LARGEFILE64
113578
113579
113580 695 \r\12
113581         $mk¡emp64
113582  (\ 5*
113583 __\8bm¶©e
113584 è
113585         `__nÚnuÎ
113586  ((1)è
113587 __wur
113588 ;
113589
113590 699 #ifdeà
113591 __USE_MISC
113592
113593
113594 706 #iâdeà
113595 __USE_FILE_OFFSET64
113596
113597
113598 707 \r\12
113599         $mk¡emps
113600  (\ 5*
113601 __\8bm¶©e
113602\12
113603 __suffixËn
113604 è
113605         `__nÚnuÎ
113606  ((1)è
113607 __wur
113608 ;
113609
113610 709 #ifdeà
113611 __REDIRECT
113612
113613
113614 710 \r\12
113615         `__REDIRECT
113616  (
113617 mk¡emps
113618 , (\ 5*
113619 __\8bm¶©e
113620\12
113621 __suffixËn
113622 ),
113623
113624 711 
113625 mk¡emps64
113626 è
113627         `__nÚnuÎ
113628  ((1)è
113629 __wur
113630 ;
113631
113632 713 \ 1
113633         #mk¡emps
113634  
113635 mk¡emps64
113636
113637
113638         )
113639
113640 716 #ifdeà
113641 __USE_LARGEFILE64
113642
113643
113644 717 \r\12
113645         $mk¡emps64
113646  (\ 5*
113647 __\8bm¶©e
113648\12
113649 __suffixËn
113650 )
113651
113652 718 
113653         `__nÚnuÎ
113654  ((1)è
113655 __wur
113656 ;
113657
113658 722 #ifdeà
113659 __USE_XOPEN2K8
113660
113661
113662 728 \r\ 5*
113663         $mkd\8bmp
113664  (\ 5*
113665 __\8bm¶©e
113666 è
113667 __THROW
113668  
113669         `__nÚnuÎ
113670  ((1)è
113671 __wur
113672 ;
113673
113674 731 #ifdeà
113675 __USE_GNU
113676
113677
113678 738 #iâdeà
113679 __USE_FILE_OFFSET64
113680
113681
113682 739 \r\12
113683         $mko¡emp
113684  (\ 5*
113685 __\8bm¶©e
113686\12
113687 __æags
113688 è
113689         `__nÚnuÎ
113690  ((1)è
113691 __wur
113692 ;
113693
113694 741 #ifdeà
113695 __REDIRECT
113696
113697
113698 742 \r\12
113699         `__REDIRECT
113700  (
113701 mko¡emp
113702 , (\ 5*
113703 __\8bm¶©e
113704\12
113705 __æags
113706 ), 
113707 mko¡emp64
113708 )
113709
113710 743 
113711         `__nÚnuÎ
113712  ((1)è
113713 __wur
113714 ;
113715
113716 745 \ 1
113717         #mko¡emp
113718  
113719 mko¡emp64
113720
113721
113722         )
113723
113724 748 #ifdeà
113725 __USE_LARGEFILE64
113726
113727
113728 749 \r\12
113729         $mko¡emp64
113730  (\ 5*
113731 __\8bm¶©e
113732\12
113733 __æags
113734 è
113735         `__nÚnuÎ
113736  ((1)è
113737 __wur
113738 ;
113739
113740 758 #iâdeà
113741 __USE_FILE_OFFSET64
113742
113743
113744 759 \r\12
113745         $mko¡emps
113746  (\ 5*
113747 __\8bm¶©e
113748\12
113749 __suffixËn
113750\12
113751 __æags
113752 )
113753
113754 760 
113755         `__nÚnuÎ
113756  ((1)è
113757 __wur
113758 ;
113759
113760 762 #ifdeà
113761 __REDIRECT
113762
113763
113764 763 \r\12
113765         `__REDIRECT
113766  (
113767 mko¡emps
113768 , (\ 5*
113769 __\8bm¶©e
113770\12
113771 __suffixËn
113772 ,
113773
113774 764 \12
113775 __æags
113776 ), 
113777 mko¡emps64
113778 )
113779
113780 765 
113781         `__nÚnuÎ
113782  ((1)è
113783 __wur
113784 ;
113785
113786 767 \ 1
113787         #mko¡emps
113788  
113789 mko¡emps64
113790
113791
113792         )
113793
113794 770 #ifdeà
113795 __USE_LARGEFILE64
113796
113797
113798 771 \r\12
113799         $mko¡emps64
113800  (\ 5*
113801 __\8bm¶©e
113802\12
113803 __suffixËn
113804\12
113805 __æags
113806 )
113807
113808 772 
113809         `__nÚnuÎ
113810  ((1)è
113811 __wur
113812 ;
113813
113814 781 \r\12
113815         $sy¡em
113816  (cڡ \ 5*
113817 __commªd
113818 è
113819 __wur
113820 ;
113821
113822 784 #ifdef 
113823 __USE_GNU
113824
113825
113826 787 \r\ 5*
113827         $ÿnÚiÿlize_f\9ee_Çme
113828  (cڡ \ 5*
113829 __Çme
113830 )
113831
113832 788 
113833 __THROW
113834  
113835         `__nÚnuÎ
113836  ((1)è
113837 __wur
113838 ;
113839
113840 791 #ià
113841 def\9aed
113842  
113843 __USE_MISC
113844  || def\9aed 
113845 __USE_XOPEN_EXTENDED
113846
113847
113848 797 \r\ 5*
113849         $»®·th
113850  (cڡ \ 5*
113851 __»¡riù
113852  
113853 __Çme
113854 ,
113855
113856 798 \ 5*
113857 __»¡riù
113858  
113859 __»sÞved
113860 è
113861 __THROW
113862  
113863 __wur
113864 ;
113865
113866 803 #iâdeà
113867 __COMPAR_FN_T
113868
113869
113870 804 \ 1
113871         #__COMPAR_FN_T
113872
113873
113874         )
113875
113876 805 \e\12(*
113877         t__com·r_â_t
113878 ) (const \1e*, const \1e*);
113879
113880 807 #ifdef 
113881 __USE_GNU
113882
113883
113884 808 \e
113885 __com·r_â_t
113886  
113887         tcom·risÚ_â_t
113888 ;
113889
113890 811 #ifdeà
113891 __USE_GNU
113892
113893
113894 812 \e\12(*
113895         t__com·r_d_â_t
113896 ) (const \1e*, const \1e*, \1e*);
113897
113898 817 \r\1e*
113899         $b£¬ch
113900  (cڡ \1e*
113901 __key
113902 , cڡ \1e*
113903 __ba£
113904 ,
113905
113906 818 
113907 size_t
113908  
113909 __nmemb
113910 , size_\88
113911 __size
113912
113913 __com·r_â_t
113914  
113915 __com·r
113916 )
113917
113918 819 
113919         `__nÚnuÎ
113920  ((1, 2, 5)è
113921 __wur
113922 ;
113923
113924 821 #ifdeà
113925 __USE_EXTERN_INLINES
113926
113927
113928 822 \ 2
113929         ~<b\99s/¡dlib-b£¬ch.h
113930 >
113931
113932 827 \r\1e
113933         $qsÜt
113934  (\1e*
113935 __ba£
113936
113937 size_t
113938  
113939 __nmemb
113940 , size_\88
113941 __size
113942 ,
113943
113944 828 
113945 __com·r_â_t
113946  
113947 __com·r
113948 è
113949         `__nÚnuÎ
113950  ((1, 4));
113951
113952 829 #ifdeà
113953 __USE_GNU
113954
113955
113956 830 \r\1e
113957         $qsÜt_r
113958  (\1e*
113959 __ba£
113960
113961 size_t
113962  
113963 __nmemb
113964 , size_\88
113965 __size
113966 ,
113967
113968 831 
113969 __com·r_d_â_t
113970  
113971 __com·r
113972\1e*
113973 __¬g
113974 )
113975
113976 832 
113977         `__nÚnuÎ
113978  ((1, 4));
113979
113980 837 \r\12
113981         $abs
113982  (\12
113983 __x
113984 è
113985 __THROW
113986  
113987         `__©\8cibu\8b__
113988  ((
113989 __cڡ__
113990
113991 __wur
113992 ;
113993
113994 838 \r\13\12
113995         $Ïbs
113996  (\13\12
113997 __x
113998 è
113999 __THROW
114000  
114001         `__©\8cibu\8b__
114002  ((
114003 __cڡ__
114004
114005 __wur
114006 ;
114007
114008 840 #ifdeà
114009 __USE_ISOC99
114010
114011
114012 841 
114013 __ex\8bnsiÚ__
114014  \r\13\13\12
114015         $Îabs
114016  (\13\13\12
114017 __x
114018 )
114019
114020 842 
114021 __THROW
114022  
114023         `__©\8cibu\8b__
114024  ((
114025 __cڡ__
114026
114027 __wur
114028 ;
114029
114030 849 \r
114031 div_t
114032  
114033         $div
114034  (\12
114035 __num\94
114036\12
114037 __d\92om
114038 )
114039
114040 850 
114041 __THROW
114042  
114043         `__©\8cibu\8b__
114044  ((
114045 __cڡ__
114046
114047 __wur
114048 ;
114049
114050 851 \r
114051 ldiv_t
114052  
114053         $ldiv
114054  (\13\12
114055 __num\94
114056\13\12
114057 __d\92om
114058 )
114059
114060 852 
114061 __THROW
114062  
114063         `__©\8cibu\8b__
114064  ((
114065 __cڡ__
114066
114067 __wur
114068 ;
114069
114070 854 #ifdeà
114071 __USE_ISOC99
114072
114073
114074 855 
114075 __ex\8bnsiÚ__
114076  \r
114077 Îdiv_t
114078  
114079         $Îdiv
114080  (\13\13\12
114081 __num\94
114082 ,
114083
114084 856 \13\13\12
114085 __d\92om
114086 )
114087
114088 857 
114089 __THROW
114090  
114091         `__©\8cibu\8b__
114092  ((
114093 __cڡ__
114094
114095 __wur
114096 ;
114097
114098 861 #ià(
114099 def\9aed
114100  
114101 __USE_XOPEN_EXTENDED
114102  && !def\9aed 
114103 __USE_XOPEN2K8
114104 ) \
114105
114106 862 || 
114107 def\9aed
114108  
114109 __USE_MISC
114110
114111
114112 869 \r\ 5*
114113         $ecvt
114114  (\b
114115 __v®ue
114116\12
114117 __ndig\99
114118\12*
114119 __»¡riù
114120  
114121 __deýt
114122 ,
114123
114124 870 \12*
114125 __»¡riù
114126  
114127 __sign
114128 è
114129 __THROW
114130  
114131         `__nÚnuÎ
114132  ((3, 4)è
114133 __wur
114134 ;
114135
114136 875 \r\ 5*
114137         $fcvt
114138  (\b
114139 __v®ue
114140\12
114141 __ndig\99
114142\12*
114143 __»¡riù
114144  
114145 __deýt
114146 ,
114147
114148 876 \12*
114149 __»¡riù
114150  
114151 __sign
114152 è
114153 __THROW
114154  
114155         `__nÚnuÎ
114156  ((3, 4)è
114157 __wur
114158 ;
114159
114160 881 \r\ 5*
114161         $gcvt
114162  (\b
114163 __v®ue
114164\12
114165 __ndig\99
114166\ 5*
114167 __buf
114168 )
114169
114170 882 
114171 __THROW
114172  
114173         `__nÚnuÎ
114174  ((3)è
114175 __wur
114176 ;
114177
114178 885 #ifdeà
114179 __USE_MISC
114180
114181
114182 887 \r\ 5*
114183         $qecvt
114184  (\13\b
114185 __v®ue
114186\12
114187 __ndig\99
114188 ,
114189
114190 888 \12*
114191 __»¡riù
114192  
114193 __deýt
114194\12*__»¡riù 
114195 __sign
114196 )
114197
114198 889 
114199 __THROW
114200  
114201         `__nÚnuÎ
114202  ((3, 4)è
114203 __wur
114204 ;
114205
114206 890 \r\ 5*
114207         $qfcvt
114208  (\13\b
114209 __v®ue
114210\12
114211 __ndig\99
114212 ,
114213
114214 891 \12*
114215 __»¡riù
114216  
114217 __deýt
114218\12*__»¡riù 
114219 __sign
114220 )
114221
114222 892 
114223 __THROW
114224  
114225         `__nÚnuÎ
114226  ((3, 4)è
114227 __wur
114228 ;
114229
114230 893 \r\ 5*
114231         $qgcvt
114232  (\13\b
114233 __v®ue
114234\12
114235 __ndig\99
114236\ 5*
114237 __buf
114238 )
114239
114240 894 
114241 __THROW
114242  
114243         `__nÚnuÎ
114244  ((3)è
114245 __wur
114246 ;
114247
114248 899 \r\12
114249         $ecvt_r
114250  (\b
114251 __v®ue
114252\12
114253 __ndig\99
114254\12*
114255 __»¡riù
114256  
114257 __deýt
114258 ,
114259
114260 900 \12*
114261 __»¡riù
114262  
114263 __sign
114264\ 5*__»¡riù 
114265 __buf
114266 ,
114267
114268 901 
114269 size_t
114270  
114271 __Ën
114272 è
114273 __THROW
114274  
114275         `__nÚnuÎ
114276  ((3, 4, 5));
114277
114278 902 \r\12
114279         $fcvt_r
114280  (\b
114281 __v®ue
114282\12
114283 __ndig\99
114284\12*
114285 __»¡riù
114286  
114287 __deýt
114288 ,
114289
114290 903 \12*
114291 __»¡riù
114292  
114293 __sign
114294\ 5*__»¡riù 
114295 __buf
114296 ,
114297
114298 904 
114299 size_t
114300  
114301 __Ën
114302 è
114303 __THROW
114304  
114305         `__nÚnuÎ
114306  ((3, 4, 5));
114307
114308 906 \r\12
114309         $qecvt_r
114310  (\13\b
114311 __v®ue
114312\12
114313 __ndig\99
114314 ,
114315
114316 907 \12*
114317 __»¡riù
114318  
114319 __deýt
114320\12*__»¡riù 
114321 __sign
114322 ,
114323
114324 908 \ 5*
114325 __»¡riù
114326  
114327 __buf
114328
114329 size_t
114330  
114331 __Ën
114332 )
114333
114334 909 
114335 __THROW
114336  
114337         `__nÚnuÎ
114338  ((3, 4, 5));
114339
114340 910 \r\12
114341         $qfcvt_r
114342  (\13\b
114343 __v®ue
114344\12
114345 __ndig\99
114346 ,
114347
114348 911 \12*
114349 __»¡riù
114350  
114351 __deýt
114352\12*__»¡riù 
114353 __sign
114354 ,
114355
114356 912 \ 5*
114357 __»¡riù
114358  
114359 __buf
114360
114361 size_t
114362  
114363 __Ën
114364 )
114365
114366 913 
114367 __THROW
114368  
114369         `__nÚnuÎ
114370  ((3, 4, 5));
114371
114372 919 \r\12
114373         $mbËn
114374  (cڡ \ 5*
114375 __s
114376
114377 size_t
114378  
114379 __n
114380 è
114381 __THROW
114382 ;
114383
114384 922 \r\12
114385         $mbtowc
114386  (
114387 wch¬_t
114388  *
114389 __»¡riù
114390  
114391 __pwc
114392 ,
114393
114394 923 cڡ \ 5*
114395 __»¡riù
114396  
114397 __s
114398
114399 size_t
114400  
114401 __n
114402 è
114403 __THROW
114404 ;
114405
114406 926 \r\12
114407         $wùomb
114408  (\ 5*
114409 __s
114410
114411 wch¬_t
114412  
114413 __wch¬
114414 è
114415 __THROW
114416 ;
114417
114418 930 \r
114419 size_t
114420  
114421         $mb¡owcs
114422  (
114423 wch¬_t
114424  *
114425 __»¡riù
114426  
114427 __pwcs
114428 ,
114429
114430 931 cڡ \ 5*
114431 __»¡riù
114432  
114433 __s
114434
114435 size_t
114436  
114437 __n
114438 è
114439 __THROW
114440 ;
114441
114442 933 \r
114443 size_t
114444  
114445         $wc¡ombs
114446  (\ 5*
114447 __»¡riù
114448  
114449 __s
114450 ,
114451
114452 934 cڡ 
114453 wch¬_t
114454  *
114455 __»¡riù
114456  
114457 __pwcs
114458
114459 size_t
114460  
114461 __n
114462 )
114463
114464 935 
114465 __THROW
114466 ;
114467
114468 938 #ifdeà
114469 __USE_MISC
114470
114471
114472 943 \r\12
114473         $½m©ch
114474  (cڡ \ 5*
114475 __»¥Ú£
114476 è
114477 __THROW
114478  
114479         `__nÚnuÎ
114480  ((1)è
114481 __wur
114482 ;
114483
114484 947 #ià
114485 def\9aed
114486  
114487 __USE_XOPEN_EXTENDED
114488  || def\9aed 
114489 __USE_XOPEN2K8
114490
114491
114492 954 \r\12
114493         $g\91subÝt
114494  (\ 5**
114495 __»¡riù
114496  
114497 __ÝtiÚp
114498 ,
114499
114500 955 \ 5*cڡ *
114501 __»¡riù
114502  
114503 __tok\92s
114504 ,
114505
114506 956 \ 5**
114507 __»¡riù
114508  
114509 __v®u\95
114510 )
114511
114512 957 
114513 __THROW
114514  
114515         `__nÚnuÎ
114516  ((1, 2, 3)è
114517 __wur
114518 ;
114519
114520 961 #ifdeà
114521 __USE_XOPEN
114522
114523
114524 963 \r\1e
114525         $£tkey
114526  (cڡ \ 5*
114527 __key
114528 è
114529 __THROW
114530  
114531         `__nÚnuÎ
114532  ((1));
114533
114534 969 #ifdeà
114535 __USE_XOPEN2KXSI
114536
114537
114538 971 \r\12
114539         $posix_Ý\92±
114540  (\12
114541 __oæag
114542 è
114543 __wur
114544 ;
114545
114546 974 #ifdeà
114547 __USE_XOPEN_EXTENDED
114548
114549
114550 979 \r\12
114551         $g¿Á±
114552  (\12
114553 __fd
114554 è
114555 __THROW
114556 ;
114557
114558 983 \r\12
114559         $uÆock±
114560  (\12
114561 __fd
114562 è
114563 __THROW
114564 ;
114565
114566 988 \r\ 5*
114567         $±¢ame
114568  (\12
114569 __fd
114570 è
114571 __THROW
114572  
114573 __wur
114574 ;
114575
114576 991 #ifdeà
114577 __USE_GNU
114578
114579
114580 995 \r\12
114581         $±¢ame_r
114582  (\12
114583 __fd
114584\ 5*
114585 __buf
114586
114587 size_t
114588  
114589 __buæ\92
114590 )
114591
114592 996 
114593 __THROW
114594  
114595         `__nÚnuÎ
114596  ((2));
114597
114598 999 \r\12
114599         `g\91±
114600  (\1e);
114601
114602 1002 #ifdeà
114603 __USE_MISC
114604
114605
114606 1006 \r\12
114607         $g\91lßdavg
114608  (\b
114609 __lßdavg
114610 [], \12
114611 __ÃËm
114612 )
114613
114614 1007 
114615 __THROW
114616  
114617         `__nÚnuÎ
114618  ((1));
114619
114620 1010 #ià
114621 def\9aed
114622  
114623 __USE_XOPEN_EXTENDED
114624  && !def\9aed 
114625 __USE_XOPEN2K
114626
114627
114628 1013 \r\12
114629         $\89y¦Ù
114630  (\1eè
114631 __THROW
114632 ;
114633
114634 1016 \ 2
114635         ~<b\99s/¡dlib-æßt.h
114636 >
114637
114638 1019 #ià
114639 __USE_FORTIFY_LEVEL
114640  > 0 && 
114641 def\9aed
114642  
114643 __fÜtify_funùiÚ
114644
114645
114646 1020 \ 2
114647         ~<b\99s/¡dlib.h
114648 >
114649
114650 1022 #ifdeà
114651 __LDBL_COMPAT
114652
114653
114654 1023 \ 2
114655         ~<b\99s/¡dlib-ldbl.h
114656 >
114657
114658 1026 
114659 __END_DECLS
114660
114661
114662         @/usr/include/alloca.h
114663
114664 18 #iâdef 
114665 _ALLOCA_H
114666
114667
114668 19 \ 1
114669         #_ALLOCA_H
114670  1
114671
114672         )
114673
114674 21 \ 2
114675         ~<ã©u»s.h
114676 >
114677
114678 23 \ 1
114679         #__Ãed_size_t
114680
114681
114682         )
114683
114684 24 \ 2
114685         ~<¡ddef.h
114686 >
114687
114688 26 
114689         g__BEGIN_DECLS
114690
114691
114692 29 #undeà
114693 ®loÿ
114694
114695
114696 32 \r\1e*
114697         $®loÿ
114698  (
114699 size_t
114700  
114701 __size
114702 è
114703 __THROW
114704 ;
114705
114706 34 #ifdef 
114707 __GNUC__
114708
114709
114710 35 \ 1
114711         #®loÿ
114712 (
114713 size
114714 è
114715         `__bu\9et\9a_®loÿ
114716  (size)
114717
114718         )
114719
114720 38 
114721 __END_DECLS
114722
114723
114724         @/usr/include/features.h
114725
114726 18 #iâdef 
114727 _FEATURES_H
114728
114729
114730 19 \ 1
114731         #_FEATURES_H
114732  1
114733
114734         )
114735
114736 119 #undeà
114737 __USE_ISOC11
114738
114739
114740 120 #undeà
114741 __USE_ISOC99
114742
114743
114744 121 #undeà
114745 __USE_ISOC95
114746
114747
114748 122 #undeà
114749 __USE_ISOCXX11
114750
114751
114752 123 #undeà
114753 __USE_POSIX
114754
114755
114756 124 #undeà
114757 __USE_POSIX2
114758
114759
114760 125 #undeà
114761 __USE_POSIX199309
114762
114763
114764 126 #undeà
114765 __USE_POSIX199506
114766
114767
114768 127 #undeà
114769 __USE_XOPEN
114770
114771
114772 128 #undeà
114773 __USE_XOPEN_EXTENDED
114774
114775
114776 129 #undeà
114777 __USE_UNIX98
114778
114779
114780 130 #undeà
114781 __USE_XOPEN2K
114782
114783
114784 131 #undeà
114785 __USE_XOPEN2KXSI
114786
114787
114788 132 #undeà
114789 __USE_XOPEN2K8
114790
114791
114792 133 #undeà
114793 __USE_XOPEN2K8XSI
114794
114795
114796 134 #undeà
114797 __USE_LARGEFILE
114798
114799
114800 135 #undeà
114801 __USE_LARGEFILE64
114802
114803
114804 136 #undeà
114805 __USE_FILE_OFFSET64
114806
114807
114808 137 #undeà
114809 __USE_MISC
114810
114811
114812 138 #undeà
114813 __USE_ATFILE
114814
114815
114816 139 #undeà
114817 __USE_GNU
114818
114819
114820 140 #undeà
114821 __USE_FORTIFY_LEVEL
114822
114823
114824 141 #undeà
114825 __KERNEL_STRICT_NAMES
114826
114827
114828 142 #undeà
114829 __GLIBC_USE_DEPRECATED_GETS
114830
114831
114832 146 #iâdeà
114833 _LOOSE_KERNEL_NAMES
114834
114835
114836 147 \ 1
114837         #__KERNEL_STRICT_NAMES
114838
114839
114840         )
114841
114842 157 #ià
114843 def\9aed
114844  
114845 __GNUC__
114846  && def\9aed 
114847 __GNUC_MINOR__
114848
114849
114850 158 \ 1
114851         #__GNUC_PREREQ
114852 (
114853 maj
114854
114855 m\9a
114856 ) \
114857
114858 159 ((
114859 __GNUC__
114860  << 16è+ 
114861 __GNUC_MINOR__
114862  >ð((
114863 maj
114864 è<< 16è+ (
114865 m\9a
114866 ))
114867
114868         )
114869
114870 161 \ 1
114871         #__GNUC_PREREQ
114872 (
114873 maj
114874
114875 m\9a
114876 è0
114877
114878         )
114879
114880 168 #ià
114881 def\9aed
114882  
114883 __þªg_majÜ__
114884  && def\9aed 
114885 __þªg_m\9aÜ__
114886
114887
114888 169 \ 1
114889         #__glibc_þªg_´\94eq
114890 (
114891 maj
114892
114893 m\9a
114894 ) \
114895
114896 170 ((
114897 __þªg_majÜ__
114898  << 16è+ 
114899 __þªg_m\9aÜ__
114900  >ð((
114901 maj
114902 è<< 16è+ (
114903 m\9a
114904 ))
114905
114906         )
114907
114908 172 \ 1
114909         #__glibc_þªg_´\94eq
114910 (
114911 maj
114912
114913 m\9a
114914 è0
114915
114916         )
114917
114918 176 \ 1
114919         #__GLIBC_USE
114920 (
114921 F
114922 è
114923 __GLIBC_USE_
114924  ## 
114925         )
114926 F
114927
114928 182 #ià(
114929 def\9aed
114930  
114931 _BSD_SOURCE
114932  || def\9aed 
114933 _SVID_SOURCE
114934 ) \
114935
114936 183 && !
114937 def\9aed
114938  
114939         g_DEFAULT_SOURCE
114940
114941
114942 185 #undeà
114943 _DEFAULT_SOURCE
114944
114945
114946 186 \ 1
114947         #_DEFAULT_SOURCE
114948  1
114949
114950         )
114951
114952 190 #ifdeà
114953 _GNU_SOURCE
114954
114955
114956 191 #undeà
114957 _ISOC95_SOURCE
114958
114959
114960 192 \ 1
114961         #_ISOC95_SOURCE
114962  1
114963
114964         )
114965
114966 193 #undeà
114967 _ISOC99_SOURCE
114968
114969
114970 194 \ 1
114971         #_ISOC99_SOURCE
114972  1
114973
114974         )
114975
114976 195 #undeà
114977 _ISOC11_SOURCE
114978
114979
114980 196 \ 1
114981         #_ISOC11_SOURCE
114982  1
114983
114984         )
114985
114986 197 #undeà
114987 _POSIX_SOURCE
114988
114989
114990 198 \ 1
114991         #_POSIX_SOURCE
114992  1
114993
114994         )
114995
114996 199 #undeà
114997 _POSIX_C_SOURCE
114998
114999
115000 200 \ 1
115001         #_POSIX_C_SOURCE
115002  200809L
115003
115004         )
115005
115006 201 #undeà
115007 _XOPEN_SOURCE
115008
115009
115010 202 \ 1
115011         #_XOPEN_SOURCE
115012  700
115013
115014         )
115015
115016 203 #undeà
115017 _XOPEN_SOURCE_EXTENDED
115018
115019
115020 204 \ 1
115021         #_XOPEN_SOURCE_EXTENDED
115022  1
115023
115024         )
115025
115026 205 #undeà
115027 _LARGEFILE64_SOURCE
115028
115029
115030 206 \ 1
115031         #_LARGEFILE64_SOURCE
115032  1
115033
115034         )
115035
115036 207 #undeà
115037 _DEFAULT_SOURCE
115038
115039
115040 208 \ 1
115041         #_DEFAULT_SOURCE
115042  1
115043
115044         )
115045
115046 209 #undeà
115047 _ATFILE_SOURCE
115048
115049
115050 210 \ 1
115051         #_ATFILE_SOURCE
115052  1
115053
115054         )
115055
115056 215 #ià(
115057 def\9aed
115058  
115059 _DEFAULT_SOURCE
115060  \
115061
115062 216 || (!
115063 def\9aed
115064  
115065         g__STRICT_ANSI__
115066  \
115067
115068 217 && !
115069 def\9aed
115070  
115071         g_ISOC99_SOURCE
115072  \
115073
115074 218 && !
115075 def\9aed
115076  
115077         g_POSIX_SOURCE
115078  && !def\9aed 
115079         g_POSIX_C_SOURCE
115080  \
115081
115082 219 && !
115083 def\9aed
115084  
115085         g_XOPEN_SOURCE
115086 ))
115087
115088 220 #undeà
115089 _DEFAULT_SOURCE
115090
115091
115092 221 \ 1
115093         #_DEFAULT_SOURCE
115094  1
115095
115096         )
115097
115098 225 #ià(
115099 def\9aed
115100  
115101 _ISOC11_SOURCE
115102  \
115103
115104 226 || (
115105 def\9aed
115106  
115107         g__STDC_VERSION__
115108  && __STDC_VERSION__ >= 201112L))
115109
115110 227 \ 1
115111         #__USE_ISOC11
115112  1
115113
115114         )
115115
115116 231 #ià(
115117 def\9aed
115118  
115119 _ISOC99_SOURCE
115120  || def\9aed 
115121 _ISOC11_SOURCE
115122  \
115123
115124 232 || (
115125 def\9aed
115126  
115127 __STDC_VERSION__
115128  && __STDC_VERSION__ >= 199901L))
115129
115130 233 \ 1
115131         #__USE_ISOC99
115132  1
115133
115134         )
115135
115136 237 #ià(
115137 def\9aed
115138  
115139 _ISOC99_SOURCE
115140  || def\9aed 
115141 _ISOC11_SOURCE
115142  \
115143
115144 238 || (
115145 def\9aed
115146  
115147 __STDC_VERSION__
115148  && __STDC_VERSION__ >= 199409L))
115149
115150 239 \ 1
115151         #__USE_ISOC95
115152  1
115153
115154         )
115155
115156 242 #ifdeà
115157 __ýlu¥lus
115158
115159
115160 244 #ià
115161 __ýlu¥lus
115162  >= 201703L
115163
115164 245 \ 1
115165         #__USE_ISOC11
115166  1
115167
115168         )
115169
115170 249 #ià
115171 __ýlu¥lus
115172  >ð201103L || 
115173 def\9aed
115174  
115175 __GXX_EXPERIMENTAL_CXX0X__
115176
115177
115178 250 \ 1
115179         #__USE_ISOCXX11
115180  1
115181
115182         )
115183
115184 251 \ 1
115185         #__USE_ISOC99
115186  1
115187
115188         )
115189
115190 258 #ifdeà
115191 _DEFAULT_SOURCE
115192
115193
115194 259 #ià!
115195 def\9aed
115196  
115197 _POSIX_SOURCE
115198  && !def\9aed 
115199 _POSIX_C_SOURCE
115200
115201
115202 260 \ 1
115203         #__USE_POSIX_IMPLICITLY
115204  1
115205
115206         )
115207
115208 262 #undeà
115209 _POSIX_SOURCE
115210
115211
115212 263 \ 1
115213         #_POSIX_SOURCE
115214  1
115215
115216         )
115217
115218 264 #undeà
115219 _POSIX_C_SOURCE
115220
115221
115222 265 \ 1
115223         #_POSIX_C_SOURCE
115224  200809L
115225
115226         )
115227
115228 268 #ià((!
115229 def\9aed
115230  
115231 __STRICT_ANSI__
115232  \
115233
115234 269 || (
115235 def\9aed
115236  
115237 _XOPEN_SOURCE
115238  && (_XOPEN_SOURCE - 0) >= 500)) \
115239
115240 270 && !
115241 def\9aed
115242  
115243 _POSIX_SOURCE
115244  && !def\9aed 
115245 _POSIX_C_SOURCE
115246 )
115247
115248 271 \ 1
115249         #_POSIX_SOURCE
115250  1
115251
115252         )
115253
115254 272 #ià
115255 def\9aed
115256  
115257 _XOPEN_SOURCE
115258  && (_XOPEN_SOURCE - 0) < 500
115259
115260 273 \ 1
115261         #_POSIX_C_SOURCE
115262  2
115263
115264         )
115265
115266 274 #\96
115267 def\9aed
115268  
115269 _XOPEN_SOURCE
115270  && (_XOPEN_SOURCE - 0) < 600
115271
115272 275 \ 1
115273         #_POSIX_C_SOURCE
115274  199506L
115275
115276         )
115277
115278 276 #\96
115279 def\9aed
115280  
115281 _XOPEN_SOURCE
115282  && (_XOPEN_SOURCE - 0) < 700
115283
115284 277 \ 1
115285         #_POSIX_C_SOURCE
115286  200112L
115287
115288         )
115289
115290 279 \ 1
115291         #_POSIX_C_SOURCE
115292  200809L
115293
115294         )
115295
115296 281 \ 1
115297         #__USE_POSIX_IMPLICITLY
115298  1
115299
115300         )
115301
115302 290 #ià((!
115303 def\9aed
115304  
115305 _POSIX_C_SOURCE
115306  || (_POSIX_C_SOURCE - 0) < 199506L) \
115307
115308 291 && (
115309 def\9aed
115310  
115311 _REENTRANT
115312  || def\9aed 
115313 _THREAD_SAFE
115314 ))
115315
115316 292 \ 1
115317         #_POSIX_SOURCE
115318  1
115319
115320         )
115321
115322 293 #undeà
115323 _POSIX_C_SOURCE
115324
115325
115326 294 \ 1
115327         #_POSIX_C_SOURCE
115328  199506L
115329
115330         )
115331
115332 297 #ià(
115333 def\9aed
115334  
115335 _POSIX_SOURCE
115336  \
115337
115338 298 || (
115339 def\9aed
115340  
115341 _POSIX_C_SOURCE
115342  && _POSIX_C_SOURCE >= 1) \
115343
115344 299 || 
115345 def\9aed
115346  
115347 _XOPEN_SOURCE
115348 )
115349
115350 300 \ 1
115351         #__USE_POSIX
115352  1
115353
115354         )
115355
115356 303 #ià
115357 def\9aed
115358  
115359 _POSIX_C_SOURCE
115360  && _POSIX_C_SOURCE >ð2 || def\9aed 
115361 _XOPEN_SOURCE
115362
115363
115364 304 \ 1
115365         #__USE_POSIX2
115366  1
115367
115368         )
115369
115370 307 #ià
115371 def\9aed
115372  
115373 _POSIX_C_SOURCE
115374  && (_POSIX_C_SOURCE - 0) >= 199309L
115375
115376 308 \ 1
115377         #__USE_POSIX199309
115378  1
115379
115380         )
115381
115382 311 #ià
115383 def\9aed
115384  
115385 _POSIX_C_SOURCE
115386  && (_POSIX_C_SOURCE - 0) >= 199506L
115387
115388 312 \ 1
115389         #__USE_POSIX199506
115390  1
115391
115392         )
115393
115394 315 #ià
115395 def\9aed
115396  
115397 _POSIX_C_SOURCE
115398  && (_POSIX_C_SOURCE - 0) >= 200112L
115399
115400 316 \ 1
115401         #__USE_XOPEN2K
115402  1
115403
115404         )
115405
115406 317 #undeà
115407 __USE_ISOC95
115408
115409
115410 318 \ 1
115411         #__USE_ISOC95
115412  1
115413
115414         )
115415
115416 319 #undeà
115417 __USE_ISOC99
115418
115419
115420 320 \ 1
115421         #__USE_ISOC99
115422  1
115423
115424         )
115425
115426 323 #ià
115427 def\9aed
115428  
115429 _POSIX_C_SOURCE
115430  && (_POSIX_C_SOURCE - 0) >= 200809L
115431
115432 324 \ 1
115433         #__USE_XOPEN2K8
115434  1
115435
115436         )
115437
115438 325 #undeà
115439 _ATFILE_SOURCE
115440
115441
115442 326 \ 1
115443         #_ATFILE_SOURCE
115444  1
115445
115446         )
115447
115448 329 #ifdef 
115449 _XOPEN_SOURCE
115450
115451
115452 330 \ 1
115453         #__USE_XOPEN
115454  1
115455
115456         )
115457
115458 331 #ià(
115459 _XOPEN_SOURCE
115460  - 0) >= 500
115461
115462 332 \ 1
115463         #__USE_XOPEN_EXTENDED
115464  1
115465
115466         )
115467
115468 333 \ 1
115469         #__USE_UNIX98
115470  1
115471
115472         )
115473
115474 334 #undeà
115475 _LARGEFILE_SOURCE
115476
115477
115478 335 \ 1
115479         #_LARGEFILE_SOURCE
115480  1
115481
115482         )
115483
115484 336 #ià(
115485 _XOPEN_SOURCE
115486  - 0) >= 600
115487
115488 337 #ià(
115489 _XOPEN_SOURCE
115490  - 0) >= 700
115491
115492 338 \ 1
115493         #__USE_XOPEN2K8
115494  1
115495
115496         )
115497
115498 339 \ 1
115499         #__USE_XOPEN2K8XSI
115500  1
115501
115502         )
115503
115504 341 \ 1
115505         #__USE_XOPEN2K
115506  1
115507
115508         )
115509
115510 342 \ 1
115511         #__USE_XOPEN2KXSI
115512  1
115513
115514         )
115515
115516 343 #undeà
115517 __USE_ISOC95
115518
115519
115520 344 \ 1
115521         #__USE_ISOC95
115522  1
115523
115524         )
115525
115526 345 #undeà
115527 __USE_ISOC99
115528
115529
115530 346 \ 1
115531         #__USE_ISOC99
115532  1
115533
115534         )
115535
115536 349 #ifdeà
115537 _XOPEN_SOURCE_EXTENDED
115538
115539
115540 350 \ 1
115541         #__USE_XOPEN_EXTENDED
115542  1
115543
115544         )
115545
115546 355 #ifdeà
115547 _LARGEFILE_SOURCE
115548
115549
115550 356 \ 1
115551         #__USE_LARGEFILE
115552  1
115553
115554         )
115555
115556 359 #ifdeà
115557 _LARGEFILE64_SOURCE
115558
115559
115560 360 \ 1
115561         #__USE_LARGEFILE64
115562  1
115563
115564         )
115565
115566 363 #ià
115567 def\9aed
115568  
115569 _FILE_OFFSET_BITS
115570  && _FILE_OFFSET_BITS == 64
115571
115572 364 \ 1
115573         #__USE_FILE_OFFSET64
115574  1
115575
115576         )
115577
115578 367 #ià
115579 def\9aed
115580  
115581 _DEFAULT_SOURCE
115582
115583
115584 368 \ 1
115585         #__USE_MISC
115586  1
115587
115588         )
115589
115590 371 #ifdef 
115591 _ATFILE_SOURCE
115592
115593
115594 372 \ 1
115595         #__USE_ATFILE
115596  1
115597
115598         )
115599
115600 375 #ifdef 
115601 _GNU_SOURCE
115602
115603
115604 376 \ 1
115605         #__USE_GNU
115606  1
115607
115608         )
115609
115610 379 #ià
115611 def\9aed
115612  
115613 _FORTIFY_SOURCE
115614  && _FORTIFY_SOURCE > 0 \
115615
115616 380 && 
115617 __GNUC_PREREQ
115618  (4, 1è&& 
115619 def\9aed
115620  
115621         g__OPTIMIZE__
115622  && __OPTIMIZE__ > 0
115623
115624 381 #ià
115625 _FORTIFY_SOURCE
115626  > 1
115627
115628 382 \ 1
115629         #__USE_FORTIFY_LEVEL
115630  2
115631
115632         )
115633
115634 384 \ 1
115635         #__USE_FORTIFY_LEVEL
115636  1
115637
115638         )
115639
115640 387 \ 1
115641         #__USE_FORTIFY_LEVEL
115642  0
115643
115644         )
115645
115646 394 #ià
115647 def\9aed
115648  
115649 __ýlu¥lus
115650  ? __ýlu¥lu >ð201402L : def\9aed 
115651 __USE_ISOC11
115652
115653
115654 395 \ 1
115655         #__GLIBC_USE_DEPRECATED_GETS
115656  0
115657
115658         )
115659
115660 397 \ 1
115661         #__GLIBC_USE_DEPRECATED_GETS
115662  1
115663
115664         )
115665
115666 402 \ 2
115667         ~<¡dc-´edef.h
115668 >
115669
115670 410 #undeà
115671 __GNU_LIBRARY__
115672
115673
115674 411 \ 1
115675         #__GNU_LIBRARY__
115676  6
115677
115678         )
115679
115680 415 \ 1
115681         #__GLIBC__
115682  2
115683
115684         )
115685
115686 416 \ 1
115687         #__GLIBC_MINOR__
115688  27
115689
115690         )
115691
115692 418 \ 1
115693         #__GLIBC_PREREQ
115694 (
115695 maj
115696
115697 m\9a
115698 ) \
115699
115700 419 ((
115701 __GLIBC__
115702  << 16è+ 
115703 __GLIBC_MINOR__
115704  >ð((
115705 maj
115706 è<< 16è+ (
115707 m\9a
115708 ))
115709
115710         )
115711
115712 422 #iâdeà
115713 __ASSEMBLER__
115714
115715
115716 423 #iâdeà
115717 _SYS_CDEFS_H
115718
115719
115720 424 \ 2
115721         ~<sys/cdefs.h
115722 >
115723
115724 429 #ià
115725 def\9aed
115726  
115727 __USE_FILE_OFFSET64
115728  && !def\9aed 
115729 __REDIRECT
115730
115731
115732 430 \ 1
115733         #__USE_LARGEFILE
115734  1
115735
115736         )
115737
115738 431 \ 1
115739         #__USE_LARGEFILE64
115740  1
115741
115742         )
115743
115744 437 #ià
115745 __GNUC_PREREQ
115746  (2, 7è&& 
115747 def\9aed
115748  
115749 __OPTIMIZE__
115750  \
115751
115752 438 && !
115753 def\9aed
115754  
115755         g__OPTIMIZE_SIZE__
115756  && !def\9aed 
115757         g__NO_INLINE__
115758  \
115759
115760 439 && 
115761 def\9aed
115762  
115763         g__ex\8bº_\9al\9ae
115764
115765
115766 440 \ 1
115767         #__USE_EXTERN_INLINES
115768  1
115769
115770         )
115771
115772 448 \ 2
115773         ~<gnu/¡ubs.h
115774 >
115775
115776         @/usr/include/stdc-predef.h
115777
115778 18 #iâdef 
115779 _STDC_PREDEF_H
115780
115781
115782 19 \ 1
115783         #_STDC_PREDEF_H
115784  1
115785
115786         )
115787
115788 36 #ifdeà
115789 __GCC_IEC_559
115790
115791
115792 37 #ià
115793 __GCC_IEC_559
115794  > 0
115795
115796 38 \ 1
115797         #__STDC_IEC_559__
115798  1
115799
115800         )
115801
115802 41 \ 1
115803         #__STDC_IEC_559__
115804  1
115805
115806         )
115807
115808 44 #ifdeà
115809 __GCC_IEC_559_COMPLEX
115810
115811
115812 45 #ià
115813 __GCC_IEC_559_COMPLEX
115814  > 0
115815
115816 46 \ 1
115817         #__STDC_IEC_559_COMPLEX__
115818  1
115819
115820         )
115821
115822 49 \ 1
115823         #__STDC_IEC_559_COMPLEX__
115824  1
115825
115826         )
115827
115828 58 \ 1
115829         #__STDC_ISO_10646__
115830  201706L
115831
115832         )
115833
115834 61 \ 1
115835         #__STDC_NO_THREADS__
115836  1
115837
115838         )
115839
115840         @
115841 1
115842 .
115843 1
115844 /usr/include
115845 176
115846 3161
115847 AMF-UE-NGAP-ID.c
115848 AMFPointer.c
115849 AMFRegionID.c
115850 AMFSetID.c
115851 BIT_STRING.c
115852 BOOLEAN.c
115853 CGI.c
115854 CoreCPID.c
115855 E-UTRA-ARFCN.c
115856 E-UTRA-PCI.c
115857 E-UTRA-TAC.c
115858 E2SM-KPM-ActionDefinition-Format1.c
115859 E2SM-KPM-ActionDefinition-Format2.c
115860 E2SM-KPM-ActionDefinition-Format3.c
115861 E2SM-KPM-ActionDefinition.c
115862 E2SM-KPM-EventTriggerDefinition-Format1.c
115863 E2SM-KPM-EventTriggerDefinition.c
115864 E2SM-KPM-IndicationHeader-Format1.c
115865 E2SM-KPM-IndicationHeader.c
115866 E2SM-KPM-IndicationMessage-Format1.c
115867 E2SM-KPM-IndicationMessage-Format2.c
115868 E2SM-KPM-IndicationMessage.c
115869 E2SM-KPM-RANfunction-Description.c
115870 EN-GNB-ID.c
115871 ENB-ID.c
115872 ENB-UE-X2AP-ID-Extension.c
115873 ENB-UE-X2AP-ID.c
115874 EUTRA-CGI.c
115875 EUTRACellIdentity.c
115876 FiveGS-TAC.c
115877 FiveQI.c
115878 FreqBandNrItem.c
115879 GNB-CU-CP-UE-E1AP-ID.c
115880 GNB-CU-UE-F1AP-ID.c
115881 GNB-CU-UP-ID.c
115882 GNB-DU-ID.c
115883 GNB-ID.c
115884 GUAMI.c
115885 GUMMEI.c
115886 GlobalENB-ID.c
115887 GlobalGNB-ID.c
115888 GlobalNGRANNodeID.c
115889 GlobalNgENB-ID.c
115890 GlobalenGNB-ID.c
115891 GranularityPeriod.c
115892 GroupID.c
115893 INTEGER.c
115894 IndexToRFSP.c
115895 Interface-MessageID.c
115896 InterfaceID-E1.c
115897 InterfaceID-F1.c
115898 InterfaceID-NG.c
115899 InterfaceID-S1.c
115900 InterfaceID-W1.c
115901 InterfaceID-X2.c
115902 InterfaceID-Xn.c
115903 InterfaceIdentifier.c
115904 InterfaceType.c
115905 LabelInfoItem.c
115906 LabelInfoList.c
115907 MME-Code.c
115908 MME-Group-ID.c
115909 MME-UE-S1AP-ID.c
115910 MatchingCondItem.c
115911 MatchingCondList.c
115912 MatchingUEidItem.c
115913 MatchingUEidList.c
115914 MeasurementCondItem.c
115915 MeasurementCondList.c
115916 MeasurementCondUEidItem.c
115917 MeasurementCondUEidList.c
115918 MeasurementData.c
115919 MeasurementDataItem.c
115920 MeasurementInfo-Action-Item.c
115921 MeasurementInfo-Action-List.c
115922 MeasurementInfoItem.c
115923 MeasurementInfoList.c
115924 MeasurementLabel.c
115925 MeasurementRecord.c
115926 MeasurementRecordItem.c
115927 MeasurementType.c
115928 MeasurementTypeID.c
115929 MeasurementTypeName.c
115930 NG-RANnodeUEXnAPID.c
115931 NGENB-CU-UE-W1AP-ID.c
115932 NGENB-DU-ID.c
115933 NR-ARFCN.c
115934 NR-CGI.c
115935 NR-PCI.c
115936 NRCellIdentity.c
115937 NRFrequencyBand-List.c
115938 NRFrequencyBandItem.c
115939 NRFrequencyInfo.c
115940 NRFrequencyShift7p5khz.c
115941 NULL.c
115942 NativeEnumerated.c
115943 NativeInteger.c
115944 NativeReal.c
115945 NgENB-ID.c
115946 OCTET_STRING.c
115947 OPEN_TYPE.c
115948 PLMNIdentity.c
115949 PrintableString.c
115950 QCI.c
115951 QoSID.c
115952 QosFlowIdentifier.c
115953 RANUEID.c
115954 RANfunction-Name.c
115955 REAL.c
115956 RIC-EventTriggerStyle-Item.c
115957 RIC-Format-Type.c
115958 RIC-ReportStyle-Item.c
115959 RIC-Style-Name.c
115960 RIC-Style-Type.c
115961 RRC-MessageID.c
115962 RRCclass-LTE.c
115963 RRCclass-NR.c
115964 S-NSSAI.c
115965 SD.c
115966 SST.c
115967 ServingCell-ARFCN.c
115968 ServingCell-PCI.c
115969 SubscriberProfileIDforRFP.c
115970 SupportedSULBandList.c
115971 SupportedSULFreqBandItem.c
115972 TestCond-Expression.c
115973 TestCond-Type.c
115974 TestCond-Value.c
115975 TestCondInfo.c
115976 TimeStamp.c
115977 UEID-EN-GNB.c
115978 UEID-ENB.c
115979 UEID-GNB-CU-CP-E1AP-ID-Item.c
115980 UEID-GNB-CU-CP-E1AP-ID-List.c
115981 UEID-GNB-CU-CP-F1AP-ID-Item.c
115982 UEID-GNB-CU-F1AP-ID-List.c
115983 UEID-GNB-CU-UP.c
115984 UEID-GNB-DU.c
115985 UEID-GNB.c
115986 UEID-NG-ENB-DU.c
115987 UEID-NG-ENB.c
115988 UEID.c
115989 asn_SEQUENCE_OF.c
115990 asn_SET_OF.c
115991 asn_application.c
115992 asn_bit_data.c
115993 asn_codecs_prim.c
115994 asn_internal.c
115995 asn_random_fill.c
115996 ber_decoder.c
115997 ber_tlv_length.c
115998 ber_tlv_tag.c
115999 constr_CHOICE.c
116000 constr_SEQUENCE.c
116001 constr_SEQUENCE_OF.c
116002 constr_SET_OF.c
116003 constr_TYPE.c
116004 constraints.c
116005 der_encoder.c
116006 oer_decoder.c
116007 oer_encoder.c
116008 oer_support.c
116009 per_decoder.c
116010 per_encoder.c
116011 per_opentype.c
116012 per_support.c
116013 xer_decoder.c
116014 xer_encoder.c
116015 xer_support.c
116016 /usr/include/errno.h
116017 /usr/include/math.h
116018 /usr/include/stdio.h
116019 /usr/include/stdlib.h
116020 /usr/include/alloca.h
116021 /usr/include/features.h
116022 /usr/include/stdc-predef.h