Annotation of 43BSDReno/contrib/isode-beta/dsap/x500as/nrs-enc.py, revision 1.1.1.1

1.1       root        1: -- nrs-enc.py - additional QUIPU NRS type definitions module
                      2: 
                      3: --
                      4: --                               NOTICE
                      5: --
                      6: --    Acquisition, use, and distribution of this module and related
                      7: --    materials are subject to the restrictions of a license agreement.
                      8: --    Consult the Preface in the User's Manual for the full terms of
                      9: --    this agreement.
                     10: --
                     11: --
                     12: 
                     13: 
                     14: QuipuNRS
                     15:        {
                     16:        ccitt
                     17:        data(9)
                     18:        pss(2342)
                     19:        ucl(19200300)
                     20:        quipu(99)
                     21:        nRSDefinitions(2)
                     22:        }
                     23: 
                     24: DEFINITIONS
                     25: ::=
                     26: 
                     27: %{
                     28: #include <stdio.h>
                     29: #include "quipu/util.h"
                     30: #include "quipu/nrs_info.h"
                     31: 
                     32: extern  LLog    * log_dsap;
                     33: #define encode_UNIV_NumericString build_UNIV_NumericString
                     34: #define encode_UNIV_VisibleString build_UNIV_VisibleString
                     35: #define encode_UNIV_OCTETSTRING build_UNIV_OCTETSTRING
                     36: %}
                     37: 
                     38: PREFIXES encode decode print
                     39: 
                     40: BEGIN
                     41: 
                     42: ENCODER encode
                     43: 
                     44: Context [[P int]]
                     45: ::=
                     46:         INTEGER [[i parm]]
                     47:         {
                     48:             context-unknown(-1) ,
                     49:             x29(0) ,
                     50:             ts29(1) ,
                     51:             niftp(2) ,
                     52:             mail-niftp(3) ,
                     53:             not-used(4) ,
                     54:             mail-telex(5) ,
                     55:             jtmp(6) ,
                     56:             jtmp-files(7) ,
                     57:             jtmp-reg(8) ,
                     58:             ybts-node(9) ,
                     59:             ybts(10) ,
                     60:             ftam(11) ,
                     61:             jtm(12) ,
                     62:             jtm-reg(13) ,
                     63:             vt(14) ,
                     64:             motis(15)
                     65:         }
                     66: 
                     67: Address-space-id [[P int]]
                     68: ::=
                     69:         INTEGER [[i parm]]
                     70:         {
                     71:             pss(0) ,
                     72:             janet(1) ,
                     73:             telex(2) ,
                     74:             osi-cons(3)
                     75:         }
                     76: 
                     77: Route-cost [[P PE]]
                     78: ::=
                     79:         ANY [[a parm]]
                     80: 
                     81: Addressing-info [[P struct addr_info *]]
                     82:     %{
                     83:        struct str_seq  * ss;
                     84:     %}
                     85: ::=
                     86:         CHOICE
                     87:             <<parm->addr_info_type>>
                     88:         {
                     89:         dte-only
                     90:                [0] NumericString [[s parm->dte_number]] ,
                     91: 
                     92:         dte-appli-info
                     93:                [1] SEQUENCE
                     94:                 {
                     95:                 dte-number
                     96:                        [0] NumericString [[s parm->dte_number]] ,
                     97: 
                     98:                 applic-info
                     99:                        [1] SEQUENCE OF
                    100:                             <<ss = parm->applic_info; ss; ss=ss->ss_next>>
                    101:                                VisibleString [[s ss->ss_str]]
                    102:                 } ,
                    103: 
                    104:         dte-cudf
                    105:                [2] SEQUENCE
                    106:                 {
                    107:                 dte-number
                    108:                        [0] NumericString [[s parm->dte_number]] ,
                    109: 
                    110:                 cudf
                    111:                        [1] OCTET STRING [[s parm->cudf]]
                    112:                 } ,
                    113: 
                    114:         dte-cudf-applic-info
                    115:                [3] SEQUENCE
                    116:                 {
                    117:                 dte-number
                    118:                        [0] NumericString [[s parm->dte_number]] ,
                    119: 
                    120:                 cudf
                    121:                        [1] OCTET STRING [[s parm->cudf]] ,
                    122: 
                    123:                 applic-info
                    124:                        [2] SEQUENCE OF
                    125:                             <<ss = parm->applic_info; ss; ss=ss->ss_next>>
                    126:                                VisibleString [[s ss->ss_str]]
                    127:                 } ,
                    128: 
                    129:         dte-ybts
                    130:                [4] SEQUENCE
                    131:                 {
                    132:                 dte-number
                    133:                        [0] NumericString [[s parm->dte_number]] ,
                    134: 
                    135:                 ybts-string
                    136:                        [1] VisibleString [[s parm->ybts_string]]
                    137:                 } ,
                    138: 
                    139:         dte-ybts-applic-info
                    140:                [5] SEQUENCE
                    141:                 {
                    142:                 dte-number
                    143:                        [0] NumericString [[s parm->dte_number]] ,
                    144: 
                    145:                 ybts-string
                    146:                        [1] VisibleString [[s parm->ybts_string]] ,
                    147: 
                    148:                 applic-info
                    149:                        [2] SEQUENCE OF
                    150:                             <<ss = parm->applic_info; ss; ss=ss->ss_next>>
                    151:                                VisibleString [[s ss->ss_str]]
                    152:                 } ,
                    153: 
                    154:         dte-ybts-appli-relays
                    155:                [6] SEQUENCE
                    156:                 {
                    157:                 dte-number
                    158:                        [0] NumericString [[s parm->dte_number]] ,
                    159: 
                    160:                 ybts-string
                    161:                        [1] VisibleString [[s parm->ybts_string]] ,
                    162: 
                    163:                 applic-relay
                    164:                        [2] SEQUENCE OF
                    165:                             <<ss = parm->applic_relay; ss; ss=ss->ss_next>>
                    166:                                VisibleString [[s ss->ss_str]]
                    167:                 } ,
                    168: 
                    169:         none-needed
                    170:                [7] NULL ,
                    171: 
                    172:         osi-addressing
                    173:                [8] SEQUENCE
                    174:                 {
                    175:                 nsap
                    176:                        [0] NumericString [[s parm->nsap]] ,
                    177: 
                    178:                 tselector
                    179:                        [1] OCTET STRING [[s parm->tselector]]
                    180:                             OPTIONAL <<parm->tselector>> ,
                    181: 
                    182:                 sselector
                    183:                        [2] OCTET STRING [[s parm->sselector]]
                    184:                             OPTIONAL <<parm->sselector>> ,
                    185: 
                    186:                 pselector
                    187:                        [3] OCTET STRING [[s parm->pselector]]
                    188:                             OPTIONAL <<parm->pselector>> ,
                    189: 
                    190:                 place-holder
                    191:                        [4] ANY [[a parm->place_holder]]
                    192:                             OPTIONAL <<parm->place_holder>> ,
                    193: 
                    194:                 application-title
                    195:                        [5] ANY [[a parm->application_title]]
                    196:                             OPTIONAL <<parm->application_title>> ,
                    197: 
                    198:                 per-application-context-info
                    199:                        [6] ANY [[a parm->per_app_context_info]]
                    200:                             OPTIONAL <<parm->per_app_context_info>>
                    201:                 } ,
                    202: 
                    203:         osi-nsap-only
                    204:                [9] NumericString [[s parm->nsap]] ,
                    205: 
                    206:         osi-nsap-applic-info
                    207:                [10] SEQUENCE
                    208:                 {
                    209:                 nsap
                    210:                        [0] NumericString [[s parm->nsap]] ,
                    211: 
                    212:                 applic-info
                    213:                        [1] SEQUENCE OF
                    214:                             <<ss = parm->applic_info; ss; ss=ss->ss_next>>
                    215:                                VisibleString [[s ss->ss_str]]
                    216:                 } ,
                    217: 
                    218:         osi-nsap-applic-relays
                    219:                [11] SEQUENCE
                    220:                 {
                    221:                 nsap
                    222:                        [0] NumericString [[s parm->nsap]] ,
                    223: 
                    224:                 applic-relay
                    225:                        [1] SEQUENCE OF
                    226:                             <<ss = parm->applic_relay; ss; ss=ss->ss_next>>
                    227:                                 VisibleString [[s ss->ss_str]]
                    228:                 } ,
                    229: 
                    230:        dte-ybts-osi-addressing
                    231:                [12] SEQUENCE
                    232:                {
                    233:                 dte-number
                    234:                        [0] NumericString [[s parm->dte_number]] ,
                    235: 
                    236:                 ybts-string
                    237:                        [1] VisibleString [[s parm->ybts_string]] ,
                    238: 
                    239:                 tselector
                    240:                        [2] OCTET STRING [[s parm->tselector]]
                    241:                             OPTIONAL <<parm->tselector>> ,
                    242: 
                    243:                 sselector
                    244:                        [3] OCTET STRING [[s parm->sselector]]
                    245:                             OPTIONAL <<parm->sselector>> ,
                    246: 
                    247:                 pselector
                    248:                        [4] OCTET STRING [[s parm->pselector]]
                    249:                             OPTIONAL <<parm->pselector>> ,
                    250: 
                    251:                 place-holder
                    252:                        [5] ANY [[a parm->place_holder]]
                    253:                             OPTIONAL <<parm->place_holder>> ,
                    254: 
                    255:                 application-title
                    256:                        [6] ANY [[a parm->application_title]]
                    257:                             OPTIONAL <<parm->application_title>> ,
                    258: 
                    259:                 per-application-context-info
                    260:                        [7] ANY [[a parm->per_app_context_info]]
                    261:                             OPTIONAL <<parm->per_app_context_info>>
                    262:                }
                    263:         }
                    264: 
                    265: NRSInformation [[P struct nrs_info *]]
                    266:     %{
                    267:        struct nrs_routes       * rt;
                    268:     %}
                    269: ::=
                    270:        SET
                    271:        {
                    272:                [0] Context [[p parm->context]] ,
                    273:                [1] Address-space-id [[p parm->addr_sp_id]] ,
                    274:        routes
                    275:                [2] SEQUENCE OF
                    276:                    <<rt=parm->routes; rt; rt=rt->next>>
                    277:                        SEQUENCE
                    278:                        {
                    279:                                Route-cost [[p rt->cost]] ,
                    280:                                Addressing-info [[p rt->addr_info]]
                    281:                        }
                    282:        }
                    283: 
                    284: END

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.