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

1.1       root        1: -- do-dec.py - manually augmented DistributedOperations module
                      2: 
                      3: -- $Header: /f/osi/dsap/x500as/RCS/do-dec.py,v 7.1 90/07/09 14:35:56 mrose Exp $
                      4: --
                      5: --
                      6: -- $Log:       do-dec.py,v $
                      7: -- Revision 7.1  90/07/09  14:35:56  mrose
                      8: -- sync
                      9: -- 
                     10: -- Revision 7.0  89/11/23  21:50:23  mrose
                     11: -- Release 6.0
                     12: -- 
                     13: 
                     14: --
                     15: --                               NOTICE
                     16: --
                     17: --    Acquisition, use, and distribution of this module and related
                     18: --    materials are subject to the restrictions of a license agreement.
                     19: --    Consult the Preface in the User's Manual for the full terms of
                     20: --    this agreement.
                     21: --
                     22: --
                     23: 
                     24: 
                     25: DO
                     26:        {
                     27:        joint-iso-ccitt
                     28:        ds(5)
                     29:        modules(1)
                     30:        distributedOperations(3)
                     31:        }
                     32: 
                     33: DEFINITIONS ::=
                     34: 
                     35: %{
                     36: #include "quipu/util.h"
                     37: #include "quipu/entry.h"
                     38: #include "quipu/common.h"
                     39: #include "quipu/dsargument.h"
                     40: 
                     41: extern  LLog    * log_dsap;
                     42: 
                     43: #define        decode_DSE_PSAPaddr     parse_DSE_PSAPaddr
                     44: #define decode_UNIV_UTCTime parse_UNIV_UTCTime
                     45: 
                     46: %}
                     47: 
                     48: PREFIXES encode decode print
                     49: BEGIN
                     50: 
                     51: -- EXPORTS
                     52: --     ContinuationReference ,
                     53: --     OperationProgress ,
                     54: --     DSAReferralParm;
                     55: 
                     56: IMPORTS
                     57:        DistinguishedName ,
                     58:        Name ,
                     59:        RelativeDistinguishedName
                     60:                FROM IF
                     61:                        {
                     62:                        joint-iso-ccitt
                     63:                        ds(5)
                     64:                        modules(1)
                     65:                        informationFramework(1)
                     66:                        }
                     67: 
                     68:        AlgorithmIdentifier
                     69:                FROM AF
                     70:                        {
                     71:                        joint-iso-ccitt
                     72:                        ds(5)
                     73:                        modules(1)
                     74:                        authenticationFramework(7)
                     75:                        }
                     76: 
                     77:        ReadArgument ,
                     78:        ReadResult ,
                     79:        CompareArgument ,
                     80:        CompareResult ,
                     81:        AbandonArgument ,
                     82:        AbandonResult ,
                     83:        ListArgument ,
                     84:        ListResult ,
                     85:        SearchArgument ,
                     86:        SearchResult ,
                     87:        AddEntryArgument ,
                     88:        AddEntryResult ,
                     89:        RemoveEntryArgument ,
                     90:        RemoveEntryResult ,
                     91:        ModifyEntryArgument ,
                     92:        ModifyEntryResult ,
                     93:        ModifyRDNArgument ,
                     94:        ModifyRDNResult ,
                     95:        SecurityParameters
                     96:                FROM DAS
                     97:                        {
                     98:                        joint-iso-ccitt
                     99:                        ds(5)
                    100:                        modules(1)
                    101:                        directoryAbstractService(2)
                    102:                        };
                    103: 
                    104: DECODER decode
                    105: 
                    106: ChainedReadArgument [[P struct ds_op_arg *]]
                    107:        ::=
                    108:         %{
                    109:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedReadArgument"));
                    110:         %}
                    111:        CHOICE
                    112:        {
                    113:                ChainedReadArgumentData [[p parm]] ,
                    114:                SEQUENCE
                    115:                {
                    116:                        ChainedReadArgumentData [[p parm]] ,
                    117:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    118:                        BIT STRING
                    119:                }
                    120:        }
                    121:         %{
                    122:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedReadArgument"));
                    123:         %}
                    124: 
                    125: ChainedReadArgumentData [[P struct ds_op_arg *]]
                    126:        ::=
                    127:         %{
                    128:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedReadArgumentData"));
                    129:                parm->dca_dsarg.arg_type = OP_READ;
                    130:         %}
                    131:        SET
                    132:        {
                    133:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    134:                [0] ReadArgument [[p &(parm->dca_dsarg.arg_rd)]]
                    135:        }
                    136:         %{
                    137:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedReadArgumentData"));
                    138:         %}
                    139: 
                    140: ChainedReadResult [[P struct ds_op_res *]]
                    141:        ::=
                    142:         %{
                    143:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedReadResult"));
                    144:         %}
                    145:        CHOICE
                    146:        {
                    147:                ChainedReadResultData [[p parm]] ,
                    148:                SEQUENCE
                    149:                {
                    150:                        ChainedReadResultData [[p parm]] ,
                    151:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    152:                        BIT STRING
                    153:                }
                    154:        }
                    155:         %{
                    156:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedReadResult"));
                    157:         %}
                    158: 
                    159: ChainedReadResultData [[P struct ds_op_res *]]
                    160:        ::=
                    161:         %{
                    162:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedReadResultData"));
                    163:                parm->dcr_dsres.result_type = OP_READ;
                    164:         %}
                    165:        SET
                    166:        {
                    167:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    168:                [0] ReadResult [[p &(parm->dcr_dsres.res_rd)]]
                    169:        }
                    170:         %{
                    171:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedReadResultData"));
                    172:         %}
                    173: 
                    174: ChainedCompareArgument [[P struct ds_op_arg *]]
                    175:        ::=
                    176:         %{
                    177:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedCompareArgument"));
                    178:         %}
                    179:        CHOICE
                    180:        {
                    181:                ChainedCompareArgumentData [[p parm]] ,
                    182:                SEQUENCE
                    183:                {
                    184:                        ChainedCompareArgumentData [[p parm]] ,
                    185:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    186:                        BIT STRING
                    187:                }
                    188:        }
                    189:         %{
                    190:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedCompareArgument"));
                    191:         %}
                    192: 
                    193: ChainedCompareArgumentData [[P struct ds_op_arg *]]
                    194:        ::=
                    195:         %{
                    196:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedCompareArgumentData"));
                    197:                parm->dca_dsarg.arg_type = OP_COMPARE;
                    198:         %}
                    199:        SET
                    200:        {
                    201:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    202:                [0] CompareArgument [[p &(parm->dca_dsarg.arg_cm)]]
                    203:        }
                    204:         %{
                    205:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedCompareArgumentData"));
                    206:         %}
                    207: 
                    208: ChainedCompareResult [[P struct ds_op_res *]]
                    209:        ::=
                    210:         %{
                    211:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedCompareResult"));
                    212:         %}
                    213:        CHOICE
                    214:        {
                    215:                ChainedCompareResultData [[p parm]] ,
                    216:                SEQUENCE
                    217:                {
                    218:                        ChainedCompareResultData [[p parm]] ,
                    219:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    220:                        BIT STRING
                    221:                }
                    222:        }
                    223:         %{
                    224:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedCompareResult"));
                    225:         %}
                    226: 
                    227: ChainedCompareResultData [[P struct ds_op_res *]]
                    228:        ::=
                    229:         %{
                    230:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedCompareResultData"));
                    231:                parm->dcr_dsres.result_type = OP_COMPARE;
                    232:         %}
                    233:        SET
                    234:        {
                    235:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    236:                [0] CompareResult [[p &(parm->dcr_dsres.res_cm)]]
                    237:        }
                    238:         %{
                    239:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedCompareResultData"));
                    240:         %}
                    241: 
                    242: ChainedAbandonArgument [[P struct ds_op_arg *]]
                    243:        ::=
                    244:         %{
                    245:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedAbandonArgument"));
                    246:                parm->dca_dsarg.arg_type = OP_ABANDON;
                    247:         %}
                    248:        AbandonArgument [[p &(parm->dca_dsarg.arg_ab)]]
                    249:         %{
                    250:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedAbandonArgument"));
                    251:         %}
                    252: 
                    253: ChainedAbandonResult [[P struct ds_op_res *]]
                    254:        ::=
                    255:         %{
                    256:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedAbandonResult"));
                    257:                parm->dcr_dsres.result_type = OP_ABANDON;
                    258:         %}
                    259:        AbandonResult
                    260:         %{
                    261:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedAbandonResult"));
                    262:         %}
                    263: 
                    264: ChainedListArgument [[P struct ds_op_arg *]]
                    265:        ::=
                    266:         %{
                    267:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedListArgument"));
                    268:         %}
                    269:        CHOICE
                    270:        {
                    271:                ChainedListArgumentData [[p parm]] ,
                    272:                SEQUENCE
                    273:                {
                    274:                        ChainedListArgumentData [[p parm]] ,
                    275:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    276:                        BIT STRING
                    277:                }
                    278:        }
                    279:         %{
                    280:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedListArgument"));
                    281:         %}
                    282: 
                    283: ChainedListArgumentData [[P struct ds_op_arg *]]
                    284:        ::=
                    285:         %{
                    286:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedListArgumentData"));
                    287:                parm->dca_dsarg.arg_type = OP_LIST;
                    288:         %}
                    289:        SET
                    290:        {
                    291:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    292:                [0] ListArgument [[p &(parm->dca_dsarg.arg_ls)]]
                    293:        }
                    294:         %{
                    295:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedListArgumentData"));
                    296:         %}
                    297: 
                    298: ChainedListResult [[P struct ds_op_res *]]
                    299:        ::=
                    300:         %{
                    301:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedListResult"));
                    302:         %}
                    303:        CHOICE
                    304:        {
                    305:                ChainedListResultData [[p parm]] ,
                    306:                SEQUENCE
                    307:                {
                    308:                        ChainedListResultData [[p parm]] ,
                    309:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    310:                        BIT STRING
                    311:                }
                    312:        }
                    313:         %{
                    314:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedListResult"));
                    315:         %}
                    316: 
                    317: ChainedListResultData [[P struct ds_op_res *]]
                    318:        ::=
                    319:         %{
                    320:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedListResultData"));
                    321:                parm->dcr_dsres.result_type = OP_LIST;
                    322:         %}
                    323:        SET
                    324:        {
                    325:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    326:                [0] ListResult [[p &(parm->dcr_dsres.res_ls)]]
                    327:        }
                    328:         %{
                    329:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedListResultData"));
                    330:         %}
                    331: 
                    332: ChainedSearchArgument [[P struct ds_op_arg *]]
                    333:        ::=
                    334:         %{
                    335:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedSearchArgument"));
                    336:         %}
                    337:        CHOICE
                    338:        {
                    339:                ChainedSearchArgumentData [[p parm]] ,
                    340:                SEQUENCE
                    341:                {
                    342:                        ChainedSearchArgumentData [[p parm]] ,
                    343:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    344:                        BIT STRING
                    345:                }
                    346:        }
                    347:         %{
                    348:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedSearchArgument"));
                    349:         %}
                    350: 
                    351: ChainedSearchArgumentData [[P struct ds_op_arg *]]
                    352:        ::=
                    353:         %{
                    354:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedSearchArgumentData"));
                    355:                parm->dca_dsarg.arg_type = OP_SEARCH;
                    356:         %}
                    357:        SET
                    358:        {
                    359:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    360:                [0] SearchArgument [[p &(parm->dca_dsarg.arg_sr)]]
                    361:        }
                    362:         %{
                    363:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedSearchArgumentData"));
                    364:         %}
                    365: 
                    366: ChainedSearchResult [[P struct ds_op_res *]]
                    367:        ::=
                    368:         %{
                    369:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedSearchResult"));
                    370:         %}
                    371:        CHOICE
                    372:        {
                    373:                ChainedSearchResultData [[p parm]] ,
                    374:                SEQUENCE
                    375:                {
                    376:                        ChainedSearchResultData [[p parm]] ,
                    377:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    378:                        BIT STRING
                    379:                }
                    380:        }
                    381:         %{
                    382:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedSearchResult"));
                    383:         %}
                    384: 
                    385: ChainedSearchResultData [[P struct ds_op_res *]]
                    386:        ::=
                    387:         %{
                    388:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedSearchResultData"));
                    389:                parm->dcr_dsres.result_type = OP_SEARCH;
                    390:         %}
                    391:        SET
                    392:        {
                    393:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    394:                [0] SearchResult [[p &(parm->dcr_dsres.res_sr)]]
                    395:        }
                    396:         %{
                    397:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedSearchResultData"));
                    398:         %}
                    399: 
                    400: ChainedAddEntryArgument [[P struct ds_op_arg *]]
                    401:        ::=
                    402:         %{
                    403:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedAddEntryArgument"));
                    404:         %}
                    405:        CHOICE
                    406:        {
                    407:                ChainedAddEntryArgumentData [[p parm]] ,
                    408:                SEQUENCE
                    409:                {
                    410:                        ChainedAddEntryArgumentData [[p parm]] ,
                    411:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]],
                    412:                        BIT STRING
                    413:                }
                    414:        }
                    415:         %{
                    416:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedAddEntryArgument"));
                    417:         %}
                    418: 
                    419: ChainedAddEntryArgumentData [[P struct ds_op_arg *]]
                    420:        ::=
                    421:         %{
                    422:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedAddEntryArgumentData"));
                    423:                parm->dca_dsarg.arg_type = OP_ADDENTRY;
                    424:         %}
                    425:        SET
                    426:        {
                    427:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    428:                [0] AddEntryArgument [[p &(parm->dca_dsarg.arg_ad)]]
                    429:        }
                    430:         %{
                    431:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedAddEntryArgumentData"));
                    432:         %}
                    433: 
                    434: ChainedAddEntryResult [[P struct ds_op_res *]]
                    435:        ::=
                    436:         %{
                    437:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedAddEntryResult"));
                    438:         %}
                    439:        CHOICE
                    440:        {
                    441:                ChainedAddEntryResultData [[p parm]] ,
                    442:                SEQUENCE
                    443:                {
                    444:                        ChainedAddEntryResultData [[p parm]] ,
                    445:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]],
                    446:                        BIT STRING
                    447:                }
                    448:        }
                    449:         %{
                    450:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedAddEntryResult"));
                    451:         %}
                    452: 
                    453: ChainedAddEntryResultData [[P struct ds_op_res *]]
                    454:        ::=
                    455:         %{
                    456:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedAddEntryArgumentResultData"));
                    457:                parm->dcr_dsres.result_type = OP_ADDENTRY;
                    458:         %}
                    459:        SET
                    460:        {
                    461:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    462:                [0] AddEntryResult
                    463:        }
                    464:         %{
                    465:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedAddEntryArgumentResultData"));
                    466:         %}
                    467: 
                    468: ChainedRemoveEntryArgument [[P struct ds_op_arg *]]
                    469:        ::=
                    470:         %{
                    471:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedRemoveEntryArgument"));
                    472:         %}
                    473:        CHOICE
                    474:        {
                    475:                ChainedRemoveEntryArgumentData [[p parm]] ,
                    476:                SEQUENCE
                    477:                {
                    478:                        ChainedRemoveEntryArgumentData [[p parm]] ,
                    479:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]],
                    480:                        BIT STRING
                    481:                }
                    482:        }
                    483:         %{
                    484:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedRemoveEntryArgument"));
                    485:         %}
                    486: 
                    487: ChainedRemoveEntryArgumentData [[P struct ds_op_arg *]]
                    488:        ::=
                    489:         %{
                    490:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedRemoveEntryArgumentData"));
                    491:                parm->dca_dsarg.arg_type = OP_REMOVEENTRY;
                    492:         %}
                    493:        SET
                    494:        {
                    495:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    496:                [0] RemoveEntryArgument [[p &(parm->dca_dsarg.arg_rm)]]
                    497:        }
                    498:         %{
                    499:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedRemoveEntryArgumentData"));
                    500:         %}
                    501: 
                    502: ChainedRemoveEntryResult [[P struct ds_op_res *]]
                    503:        ::=
                    504:         %{
                    505:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedRemoveEntryResult"));
                    506:         %}
                    507:        CHOICE
                    508:        {
                    509:                ChainedRemoveEntryResultData [[p parm]] ,
                    510:                SEQUENCE
                    511:                {
                    512:                        ChainedRemoveEntryResultData [[p parm]] ,
                    513:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]],
                    514:                        BIT STRING
                    515:                }
                    516:        }
                    517:         %{
                    518:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedRemoveEntryResult"));
                    519:         %}
                    520: 
                    521: ChainedRemoveEntryResultData [[P struct ds_op_res *]]
                    522:        ::=
                    523:         %{
                    524:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedRemoveEntryResultData"));
                    525:                parm->dcr_dsres.result_type = OP_REMOVEENTRY;
                    526:         %}
                    527:        SET
                    528:        {
                    529:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    530:                [0] RemoveEntryResult
                    531:        }
                    532:         %{
                    533:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedRemoveEntryResultData"));
                    534:         %}
                    535: 
                    536: ChainedModifyEntryArgument [[P struct ds_op_arg *]]
                    537:        ::=
                    538:         %{
                    539:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyEntryArgument"));
                    540:         %}
                    541:        CHOICE
                    542:        {
                    543:                ChainedModifyEntryArgumentData [[p parm]] ,
                    544:                SEQUENCE
                    545:                {
                    546:                        ChainedModifyEntryArgumentData [[p parm]] ,
                    547:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]],
                    548:                        BIT STRING
                    549:                }
                    550:        }
                    551:         %{
                    552:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyEntryArgument"));
                    553:         %}
                    554: 
                    555: ChainedModifyEntryArgumentData [[P struct ds_op_arg *]]
                    556:        ::=
                    557:         %{
                    558:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyEntryArgumentData"));
                    559:                parm->dca_dsarg.arg_type = OP_MODIFYENTRY;
                    560:         %}
                    561:        SET
                    562:        {
                    563:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    564:                [0] ModifyEntryArgument [[p &(parm->dca_dsarg.arg_me)]]
                    565:        }
                    566:         %{
                    567:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyEntryArgumentData"));
                    568:         %}
                    569: 
                    570: ChainedModifyEntryResult [[P struct ds_op_res *]]
                    571:        ::=
                    572:         %{
                    573:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyEntryResult"));
                    574:         %}
                    575:        CHOICE
                    576:        {
                    577:                ChainedModifyEntryResultData [[p parm]] ,
                    578:                SEQUENCE
                    579:                {
                    580:                        ChainedModifyEntryResultData [[p parm]] ,
                    581:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]],
                    582:                        BIT STRING
                    583:                }
                    584:        }
                    585:         %{
                    586:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyEntryResult"));
                    587:         %}
                    588: 
                    589: ChainedModifyEntryResultData [[P struct ds_op_res *]]
                    590:        ::=
                    591:         %{
                    592:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyEntryResultData"));
                    593:                parm->dcr_dsres.result_type = OP_MODIFYENTRY;
                    594:         %}
                    595:        SET
                    596:        {
                    597:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    598:                [0] ModifyEntryResult
                    599:        }
                    600:         %{
                    601:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyEntryResultData"));
                    602:         %}
                    603: 
                    604: ChainedModifyRDNArgument [[P struct ds_op_arg *]]
                    605:        ::=
                    606:         %{
                    607:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyRDNArgument"));
                    608:         %}
                    609:        CHOICE
                    610:        {
                    611:                ChainedModifyRDNArgumentData [[p parm]] ,
                    612:                SEQUENCE
                    613:                {
                    614:                        ChainedModifyRDNArgumentData [[p parm]] ,
                    615:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    616:                        BIT STRING
                    617:                }
                    618:        }
                    619:         %{
                    620:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyRDNArgument"));
                    621:         %}
                    622: 
                    623: ChainedModifyRDNArgumentData [[P struct ds_op_arg *]]
                    624:        ::=
                    625:         %{
                    626:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyRDNArgumentData"));
                    627:                parm->dca_dsarg.arg_type = OP_MODIFYRDN;
                    628:         %}
                    629:        SET
                    630:        {
                    631:                ChainingArgument [[p &(parm->dca_charg)]] ,
                    632:                [0] ModifyRDNArgument [[p &(parm->dca_dsarg.arg_mr)]]
                    633:        }
                    634:         %{
                    635:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyRDNArgumentData"));
                    636:         %}
                    637: 
                    638: ChainedModifyRDNResult [[P struct ds_op_res *]]
                    639:        ::=
                    640:         %{
                    641:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyRDNResult"));
                    642:         %}
                    643:        CHOICE
                    644:        {
                    645:                ChainedModifyRDNResultData [[p parm]] ,
                    646:                SEQUENCE
                    647:                {
                    648:                        ChainedModifyRDNResultData [[p parm]] ,
                    649:                        AlgorithmIdentifier [[p (struct alg_id *)0 ]] ,
                    650:                        BIT STRING
                    651:                }
                    652:        }
                    653:         %{
                    654:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyRDNResult"));
                    655:         %}
                    656: 
                    657: ChainedModifyRDNResultData [[P struct ds_op_res *]]
                    658:        ::=
                    659:         %{
                    660:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainedModifyRDNResultData"));
                    661:                parm->dcr_dsres.result_type = OP_MODIFYRDN;
                    662:         %}
                    663:        SET
                    664:        {
                    665:                ChainingResult [[p &(parm->dcr_chres)]] ,
                    666:                [0] ModifyRDNResult
                    667:        }
                    668:         %{
                    669:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainedModifyRDNResultData"));
                    670:         %}
                    671: 
                    672: DSAReferralParm [[P struct DSE_referral *]]
                    673:        ::=
                    674:         %{
                    675:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode DSAReferralParm"));
                    676:                parm->DSE_ref_prefix = NULLDN;
                    677:                parm->DSE_ref_candidates = (ContinuationRef) smalloc(sizeof(continuation_ref));
                    678:         %}
                    679:        SET
                    680:        {
                    681:                [0] ContinuationReference [[p parm->DSE_ref_candidates]] ,
                    682:        contextPrefix
                    683:                [1] DistinguishedName [[p &(parm->DSE_ref_prefix)]]
                    684:                    OPTIONAL
                    685:        }
                    686:         %{
                    687:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode DSAReferralParm"));
                    688:         %}
                    689: 
                    690: ChainingArgument [[P struct chain_arg *]]
                    691:        ::=
                    692:         %{
                    693:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainingArgument"));
                    694:                parm->cha_originator = NULLDN;
                    695:                parm->cha_target = NULLDN;
                    696:                parm->cha_progress.op_resolution_phase = OP_PHASE_NOTSTARTED;
                    697:                parm->cha_progress.op_nextrdntoberesolved = 0;
                    698:                parm->cha_aliasderef = FALSE;
                    699:                parm->cha_aliasedrdns = CA_NO_ALIASDEREFERENCED;
                    700:                parm->cha_returnrefs = FALSE;
                    701:                parm->cha_reftype = RT_SUPERIOR;
                    702:                parm->cha_timelimit = NULLCP;
                    703:                parm->cha_domaininfo = NULLPE;
                    704:         %}
                    705:        SET
                    706:        {
                    707:        originator
                    708:                [0] DistinguishedName [[p &(parm->cha_originator)]]
                    709:                    OPTIONAL ,
                    710:        targetObject
                    711:                [1] DistinguishedName [[p &(parm->cha_target)]]
                    712:                    OPTIONAL ,
                    713:        operationProgress
                    714:                [2] OperationProgress [[p &(parm->cha_progress)]]
                    715:                    -- DEFAULT {notStarted} ,
                    716:                    OPTIONAL ,
                    717:        traceInformation
                    718:                [3] TraceInformation [[p &(parm->cha_trace)]] ,
                    719:        aliasDereferenced
                    720:                [4] BOOLEAN [[b parm->cha_aliasderef]]
                    721:                    -- DEFAULT FALSE ,
                    722:                    OPTIONAL ,
                    723:        aliasedRDNs
                    724:                [5] INTEGER [[i parm->cha_aliasedrdns]]
                    725:                    OPTIONAL ,
                    726:                -- absent unless aliasDereferenced is TRUE
                    727:        entryOnly
                    728:                [11] BOOLEAN [[b parm->cha_entryonly]]
                    729:                    -- DEFAULT FALSE ,
                    730:                    OPTIONAL ,
                    731:                -- absent unless aliasDereferenced is TRUE
                    732:                -- and operation is search, one-level
                    733:        returnCrossRefs
                    734:                [6] BOOLEAN [[b parm->cha_returnrefs]]
                    735:                    -- DEFAULT FALSE ,
                    736:                    OPTIONAL ,
                    737:        referenceType
                    738:                [7] ReferenceType [[p &(parm->cha_reftype)]]
                    739:                    -- DEFAULT superior ,
                    740:                    OPTIONAL ,
                    741:        info
                    742:                [8] DomainInfo [[p &(parm->cha_domaininfo)]]
                    743:                    OPTIONAL ,
                    744:        timeLimit
                    745:                [9] UTCTime [[s parm->cha_timelimit]]
                    746:                    OPTIONAL ,
                    747:                [10] SecurityParameters [[p (struct security_parms **)0 ]]
                    748:                    -- DEFAULT {}
                    749:                    OPTIONAL
                    750:        }
                    751:         %{
                    752:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainingArgument"));
                    753:         %}
                    754: 
                    755: ChainingResult [[P struct chain_res *]]
                    756: %{
                    757:        struct cross_ref        **xrefp;
                    758: %}
                    759:        ::=
                    760:         %{
                    761:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ChainingResult"));
                    762:                parm->chr_domaininfo = NULLPE;
                    763:                parm->chr_crossrefs = NULLXREF;
                    764:         %}
                    765:        SET
                    766:        {
                    767:        info
                    768:                [0] DomainInfo [[p &(parm->chr_domaininfo)]]
                    769:                    OPTIONAL ,
                    770:        crossReferences
                    771:                %{
                    772:                        xrefp = &(parm->chr_crossrefs);
                    773:                %}
                    774:                [1] SEQUENCE OF
                    775:                        %{
                    776:                                (*xrefp) = (struct cross_ref *) smalloc(sizeof(struct cross_ref));
                    777:                        %}
                    778:                        CrossReference [[p (*xrefp)]]
                    779:                        %{
                    780:                                xrefp = &((*xrefp)->xref_next);
                    781:                        %}
                    782:                %{
                    783:                        (*xrefp) = NULLXREF;
                    784:                %}
                    785:                    OPTIONAL ,
                    786:                [2] SecurityParameters [[p (struct security_parms **)0 ]]
                    787:                    -- DEFAULT {}
                    788:                    OPTIONAL
                    789:        }
                    790:         %{
                    791:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ChainingResult"));
                    792:         %}
                    793: 
                    794: CrossReference [[P struct cross_ref *]]
                    795:        ::=
                    796:         %{
                    797:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode CrossReference"));
                    798:                parm->xref_dn = NULLDN;
                    799:                parm->xref_ap = NULLACCESSPOINT;
                    800:         %}
                    801:        SET
                    802:        {
                    803:        contextPrefix
                    804:                [0] DistinguishedName [[p &(parm->xref_dn)]] ,
                    805:        accessPoint
                    806:                [1] AccessPoint [[p parm->xref_ap]]
                    807:        }
                    808:         %{
                    809:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode CrossReference"));
                    810:         %}
                    811: 
                    812: ReferenceType [[P int*]]
                    813: %{
                    814: %}
                    815:         ::=
                    816:         %{
                    817:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ReferenceType"));
                    818:         %}
                    819:         ENUMERATED [[i (*parm)]]
                    820:         {
                    821:         superior(1) ,
                    822:         subordinate(2) ,
                    823:         cross(3) ,
                    824:         nonSpecificSubordinate(4)
                    825:         }
                    826:         %{
                    827:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ReferenceType"));
                    828:         %}
                    829: 
                    830: TraceInformation [[P struct trace_info **]]
                    831: %{
                    832:        struct trace_info       **tip;
                    833: %}
                    834:        ::=
                    835:         %{
                    836:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode TraceInformation"));
                    837:                (*parm) = NULLTRACEINFO;
                    838:                tip = parm;
                    839:         %}
                    840:        SEQUENCE OF
                    841:                %{
                    842:                        (*tip) = (struct trace_info *) malloc(sizeof(struct trace_info));
                    843:                %}
                    844:                TraceItem [[p (*tip)]]
                    845:                %{
                    846:                        tip = &((*tip)->ti_next);
                    847:                %}
                    848:         %{
                    849:                (*tip) = NULLTRACEINFO;
                    850:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode TraceInformation"));
                    851:         %}
                    852: 
                    853: TraceItem [[P struct trace_info *]]
                    854:        ::=
                    855:         %{
                    856:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode TraceItem"));
                    857:                parm->ti_dsa = NULLDN;
                    858:                parm->ti_target = NULLDN;
                    859:         %}
                    860:        SET
                    861:        {
                    862:        dsa
                    863:                [0] Name [[p &(parm->ti_dsa)]] ,
                    864:        targetObject
                    865:                [1] Name [[p &(parm->ti_target)]]
                    866:                    OPTIONAL ,
                    867:        operationProgress
                    868:                [2] OperationProgress [[p &(parm->ti_progress)]]
                    869:        }
                    870:         %{
                    871:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode TraceItem"));
                    872:         %}
                    873: 
                    874: OperationProgress [[P struct op_progress *]]
                    875: %{
                    876:         int     phase;
                    877: %}
                    878:         ::=
                    879:         %{
                    880:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode OperationProgress"));
                    881:                 parm->op_resolution_phase = 0;
                    882:                 parm->op_nextrdntoberesolved = 0;
                    883:         %}
                    884:         SET
                    885:         {
                    886:         nameResolutionPhase
                    887:                 [0] ENUMERATED [[i phase]]
                    888:                 {
                    889:                 notStarted(1) ,
                    890:                 proceeding(2) ,
                    891:                 completed(3)
                    892:                 }
                    893:                 %{
                    894:                         parm->op_resolution_phase = phase - 1;
                    895:                 %} ,
                    896:         nextRDNToBeResolved
                    897:                 [1] INTEGER [[i parm->op_nextrdntoberesolved]]
                    898:                 %{
                    899:                 %}
                    900:                    OPTIONAL
                    901:         }
                    902:         %{
                    903:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode OperationProgress"));
                    904:         %}
                    905: 
                    906: DomainInfo [[P PE *]]
                    907: %{
                    908:        PE        old_pe;
                    909: %}
                    910:        ::=
                    911:         %{
                    912:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode DomainInfo"));
                    913:         %}
                    914:        ANY [[a old_pe]]
                    915:         %{
                    916:                (*parm) = old_pe;
                    917:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode DomainInfo"));
                    918:         %}
                    919: 
                    920: ContinuationReference [[P struct continuation_ref *]]
                    921: %{
                    922:         struct  access_point    **app;
                    923: %}
                    924:         ::=
                    925:         %{
                    926:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode ContinuationReference"));
                    927:                 parm->cr_name = NULLDN;
                    928:                parm->cr_aliasedRDNs = CR_NOALIASEDRDNS;
                    929:                 parm->cr_rdn_resolved = CR_RDNRESOLVED_NOTDEFINED;
                    930:                 parm->cr_reftype = RT_UNDEFINED;
                    931:                 parm->cr_next = NULLCONTINUATIONREF;
                    932:                parm->cr_accesspoints = NULLACCESSPOINT;
                    933:                 app = &(parm->cr_accesspoints);
                    934:         %}
                    935:         SET
                    936:         {
                    937:         targetObject
                    938:                 [0] Name [[p &(parm->cr_name)]]
                    939:                 %{
                    940:                 %} ,
                    941:         aliasedRDNs
                    942:                 [1] INTEGER [[i parm->cr_aliasedRDNs]]
                    943:                 %{
                    944:                 %}
                    945:                     OPTIONAL ,
                    946:         operationProgress
                    947:                 [2] OperationProgress [[p &(parm->cr_progress)]]
                    948:                 %{
                    949:                 %} ,
                    950:         rdnsResolved
                    951:                 [3] INTEGER [[i parm->cr_rdn_resolved]]
                    952:                 %{
                    953:                 %}
                    954:                     OPTIONAL ,
                    955:         referenceType
                    956:                 [4] ReferenceType [[p &(parm->cr_reftype)]]
                    957:                 %{
                    958:                 %}
                    959:                     OPTIONAL ,
                    960:         accessPoints
                    961:                 [5] SET OF
                    962:                 %{
                    963:                         (*app) = (struct access_point *) smalloc(sizeof(struct access_point));
                    964:                 %}
                    965:                         AccessPoint [[p (*app)]]
                    966:                         %{
                    967:                                app = &((*app)->ap_next);
                    968:                         %}
                    969:                 %{
                    970:                        (*app) = NULLACCESSPOINT;
                    971:                 %}
                    972:         }
                    973:         %{
                    974:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode ContinuationReference"));
                    975:         %}
                    976: 
                    977: AccessPoint [[P struct access_point *]]
                    978: %{
                    979: %}
                    980:         ::=
                    981:         %{
                    982:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode AccessPoint"));
                    983:                 parm->ap_name = NULLDN;
                    984:                 parm->ap_next = NULLACCESSPOINT;
                    985:                parm->ap_address = (struct PSAPaddr *) smalloc(sizeof(struct PSAPaddr));
                    986:         %}
                    987:         SET
                    988:         {
                    989:                 [0] Name [[p &(parm->ap_name)]]
                    990:                 %{
                    991:                 %} ,
                    992:                 [1] ISODEPresentationAddress [[p parm->ap_address]]
                    993:                 %{
                    994:                 %}
                    995:         }
                    996:         %{
                    997:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode AccessPoint"));
                    998:         %}
                    999: 
                   1000: ISODEPresentationAddress [[P struct PSAPaddr * ]]
                   1001:     ::=
                   1002:         %{
                   1003:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode PresentationAddress"));
                   1004:         %}
                   1005:        DSE.PSAPaddr [[p parm]]
                   1006:         %{
                   1007:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode PresentationAddress"));
                   1008:         %}
                   1009: 
                   1010: InvokeID [[P int*]]
                   1011: %{
                   1012: %}
                   1013:         ::=
                   1014:         %{
                   1015:                 DLOG(log_dsap, LLOG_TRACE, ("About to decode InvokeID"));
                   1016:         %}
                   1017:         INTEGER [[i (*parm)]]
                   1018:         %{
                   1019:                 DLOG(log_dsap, LLOG_TRACE, ("Done decode InvokeID"));
                   1020:         %}
                   1021: 
                   1022: END

unix.superglobalmegacorp.com

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