Annotation of 43BSDReno/contrib/isode-beta/vt/send_text.py, revision 1.1.1.1

1.1       root        1: -- VTPM: encode NDQ PDU
                      2: 
                      3: -- $Header: /f/osi/vt/RCS/send_text.py,v 7.0 89/11/23 22:31:44 mrose Rel $
                      4: --
                      5: --
                      6: -- $Log:       send_text.py,v $
                      7: -- Revision 7.0  89/11/23  22:31:44  mrose
                      8: -- Release 6.0
                      9: -- 
                     10: 
                     11: --
                     12: --                               NOTICE
                     13: --
                     14: --    Acquisition, use, and distribution of this module and related
                     15: --    materials are subject to the restrictions of a license agreement.
                     16: --    Consult the Preface in the User's Manual for the full terms of
                     17: --    this agreement.
                     18: --
                     19: --
                     20: 
                     21: 
                     22: NDQPDU DEFINITIONS ::=
                     23: 
                     24: %{
                     25: #include <stdio.h>
                     26: #include "sector1.h"
                     27: 
                     28: #undef PEPYPARM
                     29: #define PEPYPARM int *
                     30:     
                     31: #undef PEPYTEST
                     32: 
                     33: #ifdef PEPYTEST
                     34: 
                     35: char *myname;
                     36: int l;
                     37: TEXT_UPDATE ud;
                     38: 
                     39: TEXT_UPDATE *ndq_queue;
                     40: 
                     41: main(argc,argv)
                     42: int argc;
                     43: char **argv;
                     44: {
                     45: 
                     46:        PE pe;
                     47: 
                     48:        myname = argv[0];
                     49: 
                     50:        ud.echo_sw = 1;
                     51:        ud.type_sw = 0;
                     52:        ud.updates.do_list.do_name = "display";
                     53:        ud.updates.do_list.do_type = 5;
                     54:        ud.updates.do_list.do_cmd.text_ud.text_ptr = "pissant";
                     55:        ud.updates.do_list.do_cmd.text_ud.text_count = 7;
                     56: 
                     57:        build_NDQPDU_NDQpdu(&pe,1,NULL,NULLCP,&ud);
                     58: 
                     59:        print_NDQPDU_NDQpdu(pe,1,NULLIP,NULLVP,&ud);
                     60: 
                     61:        if(unbuild_NDQPDU_NDQpdu(pe,1,NULLIP,NULLVP,NULLCP)==NOTOK)
                     62:        (void)printf("Can't Unbuild\n");;
                     63: 
                     64:        exit(0);
                     65: }
                     66: 
                     67: #endif
                     68: 
                     69: %}
                     70: 
                     71: BEGIN
                     72: 
                     73: SECTIONS build none none
                     74: 
                     75: NDQpdu ::= CHOICE <<1>>
                     76: 
                     77: {
                     78:        ndqpdu [6] IMPLICIT NDQcontent [[p (PEPYPARM)parm]]
                     79: }
                     80: 
                     81: NDQcontent 
                     82: %{ int j; %} ::=
                     83:        SEQUENCE OF <<j=0; j<1; j++>> VTsdi [[p (PEPYPARM)parm]]
                     84: 
                     85: VTsdi 
                     86: %{
                     87:        int j,k;
                     88:        TEXT_UPDATE     *arg = (TEXT_UPDATE *)parm;
                     89: %} 
                     90:        ::= CHOICE <<arg->echo_sw + 1>> {
                     91:                echoNow [0] IMPLICIT SEQUENCE OF <<k=0; k<1; k++>> ObjectUpdate
                     92:                [[p (PEPYPARM)parm]],
                     93: 
                     94:                notEchoNow [1] IMPLICIT SEQUENCE OF <<j=0; j<1; j++>> ObjectUpdate
                     95:                [[p (PEPYPARM)parm]]  
                     96: }
                     97: 
                     98: ObjectUpdate 
                     99: %{
                    100:        int j;
                    101:        TEXT_UPDATE     *arg = (TEXT_UPDATE *)parm;
                    102: %} ::=
                    103:        CHOICE <<arg->type_sw + 1>> {
                    104:                display [0] IMPLICIT SEQUENCE {
                    105:                        doName PrintableString
                    106:                                [[s arg->updates.do_list.do_name]],
                    107:                        SEQUENCE OF <<j=0; j<1; j++>> 
                    108:                                DOupdate [[p (PEPYPARM)&(arg->updates.do_list)]]
                    109:                },
                    110:                control [1] IMPLICIT COupdate [[p (PEPYPARM)&(arg->updates.co_list)]]
                    111: }
                    112: 
                    113: 
                    114: DOupdate 
                    115: %{
                    116:        DO_UPDATE       *arg = (DO_UPDATE *)parm;
                    117: %}
                    118:        ::= CHOICE <<arg->do_type + 1>> {
                    119:                nextXarray      [0]     IMPLICIT NULL,
                    120:                nextYarray      [1]     IMPLICIT NULL,
                    121:                ptr-relative [2] IMPLICIT ExplicitPointer [[p (PEPYPARM)&(arg->do_cmd.ptr_rel)]],
                    122:                ptr-absolute [3] IMPLICIT Pointer [[p (PEPYPARM)&(arg->do_cmd.ptr_abs)]],
                    123:                text    [4]     IMPLICIT OCTETSTRING
                    124:                        [[o arg->do_cmd.text_ud.text_ptr $ arg->do_cmd.text_ud.text_count]],
                    125: 
                    126:                repeatText      [5]     IMPLICIT SEQUENCE {
                    127:                        finishAddress Pointer
                    128:                        [[p (PEPYPARM)&(arg->do_cmd.rpt_seq.fin_addr)]],
                    129: 
                    130:                        OCTETSTRING
                    131:                        [[o arg->do_cmd.rpt_seq.text $ arg->do_cmd.rpt_seq.text_count]]
                    132:                },
                    133: 
                    134:                writeAttr       [6]     IMPLICIT SEQUENCE {
                    135:                        AttrId [[p (PEPYPARM)&(arg->do_cmd.wrt_attrib)]],
                    136:                        AttrExtent [[p (PEPYPARM)&(arg->do_cmd.wrt_attrib)]]
                    137:                },
                    138: 
                    139:                erase           [7]     IMPLICIT SEQUENCE {
                    140:                        startErase Pointer[[p (PEPYPARM)&(arg->do_cmd.erase.start_erase)]],
                    141:                        endErase Pointer [[p (PEPYPARM)&(arg->do_cmd.erase.end_erase)]],
                    142:                        eraseAttr BOOLEAN
                    143:                                [[b arg->do_cmd.erase.erase_attr]]
                    144:                },
                    145: 
                    146:                previousXarray  [8]     IMPLICIT NULL,
                    147:                previousYarray  [9]     IMPLICIT NULL 
                    148:        }
                    149: 
                    150: COupdate 
                    151: %{
                    152:        CO_UPDATE       *arg = (CO_UPDATE *)parm;
                    153: %}
                    154:        ::= SEQUENCE {
                    155:                coName          PrintableString
                    156:                        [[s arg->co_name]],
                    157: 
                    158:                objectUpdate    CHOICE <<arg->co_type + 1>> {
                    159:                        characterUpdate [0] IMPLICIT PrintableString
                    160:                        [[s arg->co_cmd.char_update]],
                    161: 
                    162:                        booleanUpdate [1] IMPLICIT SEQUENCE {
                    163:                                values [0] IMPLICIT BITSTRING
                    164:                                [[x arg->co_cmd.bool_update.value $ arg->co_cmd.bool_update.val_count]],
                    165: 
                    166:                                mask [1] IMPLICIT BITSTRING
                    167:                                [[x arg->co_cmd.bool_update.mask $ arg->co_cmd.bool_update.mask_count]]
                    168:                        },
                    169: 
                    170:                        symbolicUpdate [2] IMPLICIT INTEGER
                    171:                        [[i arg->co_cmd.sym_update]],
                    172: 
                    173:                        integerUpdate [3] IMPLICIT INTEGER
                    174:                        [[i arg->co_cmd.int_update]],
                    175: 
                    176:                        bitStringUpdate [4] IMPLICIT BITSTRING
                    177:                        [[x int2strb (arg->co_cmd.bit_update.bitstring,
                    178:                                      arg->co_cmd.bit_update.bitcount)
                    179:                          $ arg->co_cmd.bit_update.bitcount]]
                    180:                }
                    181: }
                    182: 
                    183: ExplicitPointer 
                    184: %{
                    185:        EX_POINTER      *arg = (EX_POINTER *)parm;
                    186: %}
                    187:        ::= SEQUENCE {
                    188:                x [0] IMPLICIT INTEGER
                    189:                        [[i arg->x_value]]
                    190:                        OPTIONAL
                    191:                        <<arg->x_true>>,
                    192: 
                    193:                y [1] IMPLICIT INTEGER
                    194:                        [[i arg->y_value]]
                    195:                        OPTIONAL
                    196:                        <<arg->y_true>>,
                    197: 
                    198:                z [2] IMPLICIT INTEGER
                    199:                        [[i arg->z_value]]
                    200:                        OPTIONAL
                    201:                        <<arg->z_true>>
                    202: }
                    203: 
                    204: Pointer 
                    205: %{
                    206:        POINTER  *arg = (POINTER *)parm;
                    207: %}
                    208:        ::= CHOICE <<arg->ptr_type + 1>> {
                    209:                current [0] IMPLICIT NULL,
                    210:                start   [1] IMPLICIT NULL,
                    211:                startY  [2] IMPLICIT NULL,
                    212:                startX  [3] IMPLICIT NULL,
                    213:                end     [4] IMPLICIT NULL,
                    214:                endY    [5] IMPLICIT NULL,
                    215:                endX    [6] IMPLICIT NULL,
                    216:                coords  [7] IMPLICIT ExplicitPointer [[p (PEPYPARM)&(arg->e_ptr)]]
                    217: }
                    218: 
                    219: AttrId 
                    220: %{
                    221:        ATTRIB  *arg = (ATTRIB *)parm;
                    222: %}
                    223:        ::= CHOICE <<arg->attr_id + 1>> {
                    224:                graphCharRep    [0]     IMPLICIT INTEGER
                    225:                [[i arg->attr_val]],
                    226: 
                    227:                foreColor       [1]     IMPLICIT INTEGER
                    228:                [[i arg->attr_val]],
                    229: 
                    230:                backColor       [2]     IMPLICIT INTEGER
                    231:                [[i arg->attr_val]],
                    232: 
                    233:                emphasis        [3]     IMPLICIT INTEGER
                    234:                [[i arg->attr_val]],
                    235: 
                    236:                font            [4]     IMPLICIT INTEGER
                    237:                [[i arg->attr_val]]
                    238: }
                    239: 
                    240: AttrExtent 
                    241: %{
                    242:        ATTRIB  *arg = (ATTRIB *)parm;
                    243: %}
                    244:        ::= CHOICE <<arg->attr_ext + 1>> {
                    245:                global          [0]     IMPLICIT NULL,
                    246:                addrExtent      [1]     IMPLICIT SEQUENCE {
                    247:                        beginning Pointer [[p (PEPYPARM)&(arg->beg_p)]],
                    248:                        ending Pointer [[p (PEPYPARM)&(arg->end_p)]]
                    249:                },
                    250:                modalExtent     [2]     IMPLICIT NULL
                    251: }
                    252: 
                    253: END
                    254: 
                    255: %{
                    256: 
                    257: #ifdef PEPYTEST
                    258: 
                    259: void advise(what,fmt,a,b,c,d,e,f,g,h,i,j)
                    260: char *what, *fmt, *a, *b, *c, *d, *e, *f, *g, *h, *i, *j;
                    261: {
                    262: 
                    263:        (void) fflush(stdout);
                    264: 
                    265:        fprintf(stderr,"%s:  ",myname);
                    266:        fprintf(stderr,fmt,a,b,c,d,e,f,g,h,i,j);
                    267:        if(what)
                    268:                (void) fputc(' ',stderr),perror(what);
                    269:        else
                    270:                (void) fputc('\n',stderr);
                    271:        (void)fflush(stderr);
                    272: }
                    273: 
                    274: testdebug(pe,words)
                    275: PE pe;
                    276: char *words;
                    277: {
                    278: 
                    279:        printf("%s\n",words);
                    280: }
                    281: 
                    282: #endif
                    283: 
                    284: %}

unix.superglobalmegacorp.com

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