Annotation of 43BSDReno/contrib/isode-beta/dsap/x500as/do-dec.py, revision 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.