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

1.1       root        1: -- VTPM: decode UDQ PDU
                      2: 
                      3: -- $Header: /f/osi/vt/RCS/rcv_udq.py,v 7.0 89/11/23 22:31:39 mrose Rel $
                      4: --
                      5: --
                      6: -- $Log:       rcv_udq.py,v $
                      7: -- Revision 7.0  89/11/23  22:31:39  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: UDQPDU DEFINITIONS ::=
                     23: 
                     24: %{
                     25: #include <stdio.h>
                     26: #include "sector1.h"
                     27: #undef PEPYPARM
                     28: #define PEPYPARM int *
                     29: 
                     30: void   adios ();
                     31: 
                     32: 
                     33: #define        bitstr2int(arg,val,cnt) \
                     34: { \
                     35:     char   *cp; \
                     36:  \
                     37:     cp = bitstr2strb (arg, &cnt); \
                     38:     val = strb2int (cp, cnt); \
                     39:     free (cp); \
                     40: }
                     41: 
                     42: %}
                     43: 
                     44: BEGIN
                     45: 
                     46: SECTIONS none unbuild none
                     47: 
                     48: UDQpdu ::= CHOICE
                     49: 
                     50: {
                     51:        udqpdu [7] IMPLICIT COupdate [[p (PEPYPARM)parm]]
                     52: }
                     53: 
                     54: COupdate 
                     55: %{
                     56:        TEXT_UPDATE     *arg = (TEXT_UPDATE *)parm;
                     57: %}
                     58:        ::= SEQUENCE 
                     59: {
                     60:                coName          PrintableString
                     61:                [[s arg->updates.co_list.co_name]],
                     62: 
                     63:                objectUpdate    CHOICE {
                     64:                        characterUpdate [0] IMPLICIT PrintableString
                     65:                        [[s arg->updates.co_list.co_cmd.char_update]]
                     66:                        %{arg->updates.co_list.co_type = 0;%},
                     67: 
                     68:                        booleanUpdate [1] IMPLICIT SEQUENCE {
                     69:                                values [0] IMPLICIT BITSTRING
                     70:                                [[x arg->updates.co_list.co_cmd.bool_update.value $ arg->updates.co_list.co_cmd.bool_update.val_count]],
                     71: 
                     72:                                mask [1] IMPLICIT BITSTRING
                     73:                                [[x arg->updates.co_list.co_cmd.bool_update.mask $ arg->updates.co_list.co_cmd.bool_update.mask_count]]
                     74:                        }
                     75:                        %{arg->updates.co_list.co_type = 1;%},
                     76: 
                     77:                        symbolicUpdate [2] IMPLICIT INTEGER
                     78:                        [[i arg->updates.co_list.co_cmd.sym_update]]
                     79:                        %{arg->updates.co_list.co_type = 2;%},
                     80: 
                     81:                        integerUpdate [3] IMPLICIT INTEGER
                     82:                        [[i arg->updates.co_list.co_cmd.int_update]]
                     83:                        %{arg->updates.co_list.co_type = 3;%},
                     84: 
                     85:                        bitStringUpdate [4] IMPLICIT BITSTRING
                     86:                        %{ bitstr2int ($$,
                     87:                                       arg->updates.co_list.co_cmd.bit_update.bitstring,
                     88:                                       arg->updates.co_list.co_cmd.bit_update.bitcount);
                     89:                        arg->updates.co_list.co_type = 4;%}
                     90:                }
                     91: }
                     92: END

unix.superglobalmegacorp.com

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