Annotation of 43BSDReno/contrib/isode-beta/vt/sector1.h, revision 1.1

1.1     ! root        1: /* sector1.h - VTPM: sector 1 definitions */
        !             2: 
        !             3: /* 
        !             4:  * $Header: /f/osi/vt/RCS/sector1.h,v 7.0 89/11/23 22:31:39 mrose Rel $
        !             5:  *
        !             6:  *
        !             7:  * $Log:       sector1.h,v $
        !             8:  * Revision 7.0  89/11/23  22:31:39  mrose
        !             9:  * Release 6.0
        !            10:  * 
        !            11:  */
        !            12: 
        !            13: /*
        !            14:  *                               NOTICE
        !            15:  *
        !            16:  *    Acquisition, use, and distribution of this module and related
        !            17:  *    materials are subject to the restrictions of a license agreement.
        !            18:  *    Consult the Preface in the User's Manual for the full terms of
        !            19:  *    this agreement.
        !            20:  *
        !            21:  */
        !            22: 
        !            23: 
        !            24: #define MAXSPARGS      2       /*Max Special Profile Arguments (2 for TLENET)*/
        !            25: #define MAXCDSOBJ      2       /*Max Display Objects (2 for TRANSPARENT)*/
        !            26: #define MAXCSSOBJ      1       /*Max Control Objects to negotiate*/
        !            27: #define MAXDEVOBJ      1       /*Max Device Objects*/
        !            28: #define MAXFONTS       1
        !            29: #define MAXREPS                1       /*Maximum Repertoires*/
        !            30: #define MAXEMPS                1       /*Max Background Emphasis*/
        !            31: #define MAXCOLORS      1       /*Aw C'mon*/
        !            32: 
        !            33: 
        !            34: /* ASQ PDU Fields*/
        !            35: #define ASQ_basic      0
        !            36: #define ASQ_Imp_Ident  1
        !            37: #define ASQ_Func_Units 2
        !            38: #define ASQ_Profile    3
        !            39: #define ASQ_P_Version  4
        !            40: #define ASQ_Coll_Win   5
        !            41: 
        !            42: /* ASR PDU Fields */
        !            43: #define ASR_Fail_String        0
        !            44: #define ASR_Fail_Reason        1
        !            45: #define ASR_Result     2
        !            46: #define ASR_Imp_Ident  3
        !            47: #define ASR_P_Version  4
        !            48: #define ASR_Arg_List   5
        !            49: #define ASR_Func_Units 6
        !            50: #define ASR_Coll_Win   7
        !            51: 
        !            52: /* Functional Units Bit Map*/
        !            53: #define        profileSwitch   0x01
        !            54: #define profileMIN     0x02
        !            55: #define negRelease     0x04
        !            56: #define urgData                0x08
        !            57: #define destBreak      0x10
        !            58: 
        !            59: /* NDQ ASN.1 Types */
        !            60: #define ECHO_ON                0
        !            61: #define ECHO_OFF       1
        !            62: #define DISPLAY_OBJ    0
        !            63: #define CTRL_OBJ       1
        !            64: #define DO_NEXT_X      0
        !            65: #define DO_NEXT_Y      1
        !            66: #define DO_PTR_REL     2
        !            67: #define DO_PTR_ABS     3
        !            68: #define DO_TEXT                4
        !            69: #define DO_RPT_TEXT    5
        !            70: #define DO_ATTR                6
        !            71: #define DO_ERASE       7
        !            72: #define DO_PREV_X      8
        !            73: #define DO_PREV_Y      9
        !            74: 
        !            75: /*DI/KB Control Objects*/
        !            76: #define KB_SIZE                5       /* network bit ordering */
        !            77: #define IP_OBJ         0x80
        !            78: #define AO_OBJ         0x40
        !            79: #define AYT_OBJ                0x20
        !            80: #define DM_OBJ         0x10
        !            81: #define BRK_OBJ                0x08
        !            82: 
        !            83: /*NI/NA Control Objects*/
        !            84: #define NA_SIZE                4       /* network bit ordering */
        !            85: #define ECHO_OBJ       0x80    /*0 is Local; 1 is Remote*/
        !            86: #define SUP_GA         0x40    /*0 is Use Go Ahead; 1 is Suppress Go Ahead*/
        !            87: #define DISP_BIN       0x20    /*1 = WACA is Binary; 0 = WACA is ASCII*/
        !            88: #define KBD_BIN                0x10    /*1 = WACI is Binary; 0 = WACI is ASCII*/
        !            89: 
        !            90: /*Go Ahead Control Object*/
        !            91: #define        GA_SIZE         1       /* network bit ordering */
        !            92: #define GO_AHEAD       0x80
        !            93: 
        !            94: /*Synch Control Object*/
        !            95: #define        SYNC_SIZE       1       /* network bit ordering */
        !            96: #define SYNC           0x80
        !            97: 
        !            98: /*Default Profile Control Object*/
        !            99: #define        DEF_SIZE        1       /* network bit ordering */
        !           100: #define DEF_ECHO       0x80    /*True for local echo*/
        !           101: 
        !           102: #define FULL_ASCII     "ASCII" /*TEMP repertoire ID*/
        !           103: #define ASCII_GO       "GO"
        !           104: #define TRANSPARENT    "TRANS"
        !           105: 
        !           106: typedef struct trans_args      /*Arguments for transparent profile*/
        !           107: {
        !           108:        int num_reps;
        !           109:        char *rep_ptr[MAXREPS];
        !           110:        char *cur_rep;          /*Currently active repertoire*/
        !           111: } TRANS_ARGS;
        !           112: 
        !           113: typedef struct telnet_args     /*Arguments for telnet profile*/
        !           114: {
        !           115:        int x_window;
        !           116:        char full_ascii;        /*If 1, Full ASCII.  If 0, graphics only*/
        !           117: } TELNET_ARGS;
        !           118: 
        !           119: typedef struct vt_profile      /*Structure for profile parameters*/
        !           120: {
        !           121:        char *profile_name;
        !           122:        union
        !           123:        {
        !           124:                TRANS_ARGS      tr_arg_list;
        !           125:                TELNET_ARGS     tel_arg_list;
        !           126:        } arg_val;
        !           127: } VT_PROFILE;
        !           128: 
        !           129: /* Data Structures for PDU's */
        !           130: 
        !           131: typedef struct ex_pointer      /*Explicit Pointer*/
        !           132: {
        !           133:        int x_true;
        !           134:        int x_value;
        !           135:        int y_true;
        !           136:        int y_value;
        !           137:        int z_true;
        !           138:        int z_value;
        !           139: } EX_POINTER;
        !           140: 
        !           141: typedef struct pointer /*General Pointer*/
        !           142: {
        !           143:        int ptr_type;   /*Values 0 - 6 */
        !           144:        EX_POINTER e_ptr;
        !           145: } POINTER;
        !           146: 
        !           147: typedef struct rpt_text                /*Repeat text*/
        !           148: {
        !           149:        POINTER fin_addr;
        !           150:        int text_count;
        !           151:        char *text;
        !           152: } RPT_TEXT;
        !           153: 
        !           154: typedef struct erase_text      /*Erase*/
        !           155: {
        !           156:        POINTER start_erase;
        !           157:        POINTER end_erase;
        !           158:        int erase_attr;         /*Boolean*/
        !           159: } ERASE_TEXT;
        !           160: 
        !           161: typedef struct text
        !           162: {
        !           163:        int text_count;
        !           164:        char *text_ptr;
        !           165: } TEXT_CONTENT;
        !           166: 
        !           167: typedef struct attrib
        !           168: {
        !           169:        int attr_id;            /* 0 - 4*/
        !           170:        int attr_val;
        !           171:        int attr_ext;
        !           172:        POINTER beg_p;
        !           173:        POINTER end_p;
        !           174: } ATTRIB;
        !           175: 
        !           176: typedef struct bool_u
        !           177: {
        !           178:        int val_count;
        !           179:        char *value;
        !           180:        int mask_count;
        !           181:        char *mask;
        !           182: } BOOL_U;
        !           183: 
        !           184: typedef struct bit_str
        !           185: {
        !           186:        int bitcount;
        !           187:        int bitstring;
        !           188: } BIT_STR;
        !           189: 
        !           190: typedef struct do_update       /*Display Object Update*/
        !           191: {
        !           192:        char *do_name;
        !           193:        int do_type;            /* 0 - 9 */
        !           194:        union
        !           195:        {
        !           196:                EX_POINTER ptr_rel;
        !           197:                POINTER ptr_abs;
        !           198:                TEXT_CONTENT text_ud;
        !           199:                RPT_TEXT rpt_seq;
        !           200:                ATTRIB wrt_attrib;
        !           201:                ERASE_TEXT erase;
        !           202:        } do_cmd;
        !           203: } DO_UPDATE;
        !           204: 
        !           205: typedef struct co_update       /*Control Object Update*/
        !           206: {
        !           207:        char *co_name;
        !           208:        int co_type;            /* 0 - 4 */
        !           209:        union
        !           210:        {
        !           211:                char *char_update;
        !           212:                BOOL_U bool_update;
        !           213:                int sym_update;
        !           214:                int int_update;
        !           215:                BIT_STR bit_update;
        !           216:        } co_cmd;
        !           217: } CO_UPDATE;
        !           218: 
        !           219: typedef struct text_update
        !           220: {
        !           221:        struct text_update *ndq_elem;   /*Pointer to next one in queue*/
        !           222:        int echo_sw;            /*0 = Echo Now; 1 = Not Echo Now*/
        !           223:        int type_sw;            /*0 = display; 1 = control*/
        !           224:        union
        !           225:        {
        !           226:                DO_UPDATE do_list;
        !           227:                CO_UPDATE co_list;
        !           228:        } updates;
        !           229: } TEXT_UPDATE;
        !           230: 
        !           231: typedef struct implem_id
        !           232: {
        !           233:        int oid_true;
        !           234:        OID imp_oid;            /*Optional*/
        !           235:        int name_true;
        !           236:        char *name;             /*Optional*/
        !           237:        int version_true;
        !           238:        char *version;          /*Optional*/
        !           239: } IMPLEM_ID;
        !           240: 
        !           241: typedef struct int_offer
        !           242: {
        !           243:        int type;               /*0 for single value, 1 for range*/
        !           244:        int value;
        !           245:        int min_val;
        !           246:        int max_val;
        !           247: } INT_OFFER;
        !           248: 
        !           249: typedef struct rep_font                /*Repertoire Font Offer*/
        !           250: {
        !           251:        int rep_type;           /*1 = NULL; 2 = SEQUENCE....*/
        !           252:        char *rep_assign;       /*0 value for pointer means not used*/
        !           253:        int valid_font_cap;
        !           254:        INT_OFFER capability;
        !           255:        int num_fonts;
        !           256:        char *font_names[MAXFONTS];
        !           257: } REP_FONT;
        !           258: 
        !           259: typedef struct dimen_param
        !           260: {
        !           261:        int bound_type;         /*0 for no bound, 1 for unbounded, 2 for
        !           262:                                  INT_OFFER */
        !           263:        INT_OFFER bound;
        !           264:        BIT_STR addressing;     /*NOT optional according to 9041*/
        !           265:        BIT_STR absolute;       /*Optional*/
        !           266:        int window_type;        /*0 for not used, 1 for unbounded, 2 for
        !           267:                                  INT_OFFER */
        !           268:        INT_OFFER window;
        !           269: } DIMEN_PARAM;
        !           270: 
        !           271: typedef struct rep_list                /*Repertoire list*/
        !           272: {
        !           273:        int valid_cap;
        !           274:        INT_OFFER capability;   /*Listed as optional but seems you should
        !           275:                                  have it. */
        !           276:        int num_reps;           /*Number of repertoires -- seems it should
        !           277:                                  usually equal capability. */
        !           278:        REP_FONT repertoire[MAXREPS];
        !           279: } REP_LIST;
        !           280: 
        !           281: typedef struct emp_list
        !           282: {
        !           283:        int valid_cap;
        !           284:        INT_OFFER capability;   /*Technically Optional*/
        !           285:        int num_emps;
        !           286:        char *emp_string[MAXEMPS];
        !           287: } EMP_LIST;
        !           288: 
        !           289: typedef struct color_list
        !           290: {
        !           291:        int valid_cap;
        !           292:        INT_OFFER capability;
        !           293:        int num_colors;
        !           294:        char *color_string[MAXCOLORS];
        !           295: } COLOR_LIST;
        !           296: 
        !           297: typedef struct cds_offer
        !           298: {
        !           299:        char *obj_name;
        !           300:        BIT_STR dimensions;
        !           301:        int valid_x_dim;
        !           302:        DIMEN_PARAM x_dim;
        !           303:        int valid_y_dim;
        !           304:        DIMEN_PARAM y_dim;
        !           305:        int valid_z_dim;
        !           306:        DIMEN_PARAM z_dim;
        !           307:        BIT_STR erasure;
        !           308:        int valid_rep_list;
        !           309:        REP_LIST rep_offer;
        !           310:        int valid_emp_list;
        !           311:        EMP_LIST emp_offer;
        !           312:        int valid_fore_color;
        !           313:        COLOR_LIST fore_color_list;
        !           314:        int valid_back_color;
        !           315:        COLOR_LIST back_color_list;
        !           316:        BIT_STR access_right;
        !           317: } CDS_OFFER;
        !           318: 
        !           319: typedef struct css_offer       /*Unused in TELNET (and hopefully Forms)*/
        !           320: {
        !           321:        int i;                  /*For compiler*/
        !           322: } CSS_OFFER;
        !           323: 
        !           324: typedef struct dev_offer       /*Also unused*/
        !           325: {
        !           326:        int i;                  /*For compiler*/
        !           327: } DEV_OFFER;
        !           328: 
        !           329: typedef struct special_offer
        !           330: {
        !           331:        int param_num;
        !           332:        int param_type;         /*0,1,or2*/
        !           333:        union
        !           334:        {
        !           335:                char *bool_arg; /*Turns into bitstring = 0 or 1*/
        !           336:                INT_OFFER int_arg;
        !           337:                char *string_arg;
        !           338:        } args;
        !           339: } SPECIAL_OFFER;
        !           340: 
        !           341: typedef struct arg_offer_list
        !           342: {
        !           343:        int oid_true;   /*Optional--Use Default Profile if not specified*/
        !           344:        OID prof_oid;
        !           345:        int num_sp_param;       /*Number of special profile arguments*/
        !           346:        int num_cds_objects;    /*Number of Conceptual Data Store objects*/
        !           347:        int num_css_objects;    /*Number of Control Signal Status objects*/
        !           348:        int num_dev_objects;    /*Number of Device Object identifiers*/
        !           349:        SPECIAL_OFFER sp_offer_list[MAXSPARGS];
        !           350:        CDS_OFFER cds_offer_list[MAXCDSOBJ];
        !           351:        CSS_OFFER css_offer_list[MAXCSSOBJ];
        !           352:        DEV_OFFER dev_offer_list[MAXDEVOBJ];
        !           353:        BIT_STR del_ctrl;       /*Delivery Control*/
        !           354: } ARG_OFFER_LIST;
        !           355: 
        !           356: typedef struct asq_msg
        !           357: {
        !           358:        int class;              /*Basic only (=1)*/
        !           359:        int valid_imp;
        !           360:        IMPLEM_ID imp_id;       /*Optional*/
        !           361:        BIT_STR func_units;
        !           362:        int valid_prof;
        !           363:        ARG_OFFER_LIST asq_profile;     /*Profile is optional*/
        !           364:        BIT_STR version;        /*Default = '1'B*/
        !           365:        int valid_coll;
        !           366:        int coll_winner;        /*Optional*/
        !           367: } ASQ_MSG;
        !           368: 
        !           369: typedef struct fail_reason
        !           370: {
        !           371:        int type;               /*0 or 1*/
        !           372:        char *usr_reason;
        !           373:        int provider_reason;    /* 1,2,3,or 4*/
        !           374: } FAIL_REASON;
        !           375: 
        !           376: 
        !           377: typedef struct font_value              /*Repertoire Font Value*/
        !           378: {
        !           379:        int rep_type;           /*1 = NULL; 2 = SEQUENCE....*/
        !           380:        char *rep_assign;       /*0 value for pointer means not used*/
        !           381:        int valid_font_cap;
        !           382:        int capability;
        !           383:        int num_fonts;
        !           384:        char *font_names[MAXFONTS];
        !           385: } FONT_VALUE;
        !           386: 
        !           387: typedef struct dimen_value
        !           388: {
        !           389:        int bound_type;         /*0 for no bound, 1 for unbounded, 2 for
        !           390:                                  integer */
        !           391:        int bound;
        !           392:        int valid_addr;
        !           393:        int addressing; /*NOT optional according to 9041*/
        !           394:        int valid_abs;
        !           395:        int absolute;   /*Optional*/
        !           396:        int window_type;        /*0 for not used, 1 for unbounded, 2 for
        !           397:                                  integer */
        !           398:        int window;
        !           399: } DIMEN_VALUE;
        !           400: 
        !           401: typedef struct rep_val_list            /*Repertoire value list*/
        !           402: {
        !           403:        int valid_cap;
        !           404:        int capability;
        !           405:        int num_reps;           /*Number of repertoires */
        !           406:        FONT_VALUE repertoire[MAXREPS];
        !           407: } REP_VALUE;
        !           408: 
        !           409: typedef struct emp_value
        !           410: {
        !           411:        int valid_cap;
        !           412:        int capability;
        !           413:        int num_emps;
        !           414:        char *emp_string[MAXEMPS];
        !           415: } EMP_VALUE;
        !           416: 
        !           417: typedef struct color_value
        !           418: {
        !           419:        int valid_cap;
        !           420:        int capability;
        !           421:        int num_colors;
        !           422:        char *color_string[MAXCOLORS];
        !           423: } COLOR_VALUE;
        !           424: 
        !           425: typedef struct cds_value
        !           426: {
        !           427:        char *obj_name;
        !           428:        int dimensions;         /*0 if not valid*/
        !           429:        int valid_x_dim;
        !           430:        DIMEN_VALUE x_dim;
        !           431:        int valid_y_dim;
        !           432:        DIMEN_VALUE y_dim;
        !           433:        int valid_z_dim;
        !           434:        DIMEN_VALUE z_dim;
        !           435:        int valid_erasure;
        !           436:        int erasure;
        !           437:        int valid_rep_list;
        !           438:        REP_VALUE rep_value;
        !           439:        int valid_emp_list;
        !           440:        EMP_VALUE emp_value;
        !           441:        int valid_fore_color;
        !           442:        COLOR_VALUE fore_color_list;
        !           443:        int valid_back_color;
        !           444:        COLOR_VALUE back_color_list;
        !           445:        int valid_access_right;
        !           446:        int access_right;
        !           447: } CDS_VALUE;
        !           448: 
        !           449: typedef struct css_value       /*Unused in TELNET */
        !           450: {
        !           451:        int i;                  /*For compiler*/
        !           452: } CSS_VALUE;
        !           453: 
        !           454: typedef struct dev_value       /*Also unused*/
        !           455: {
        !           456:        int i;                  /*For compiler*/
        !           457: } DEV_VALUE;
        !           458: 
        !           459: typedef struct special_value
        !           460: {
        !           461:        int param_num;
        !           462:        int param_type;         /*0,1,or2*/
        !           463:        union
        !           464:        {
        !           465:                int bool_arg;   /*Turns into bitstring = 0 or 1*/
        !           466:                int int_arg;
        !           467:                char *string_arg;
        !           468:        } args;
        !           469: } SPECIAL_VALUE;
        !           470: 
        !           471: typedef struct arg_val_list
        !           472: {
        !           473:        int num_sp_param;       /*Number of special profile arguments*/
        !           474:        int num_cds_objects;    /*Number of Conceptual Data Store objects*/
        !           475:        int num_css_objects;    /*Number of Control Signal Status objects*/
        !           476:        int num_dev_objects;    /*Number of Device Object identifiers*/
        !           477:        SPECIAL_VALUE sp_val[MAXSPARGS];
        !           478:        CDS_VALUE cds_val[MAXCDSOBJ];
        !           479:        CSS_VALUE css_val[MAXCSSOBJ];
        !           480:        DEV_VALUE dev_val[MAXDEVOBJ];
        !           481:        int del_ctrl;   /*Delivery Control*/
        !           482: } ARG_VAL_LIST;
        !           483: 
        !           484: typedef struct asr_msg
        !           485: {
        !           486:        int valid_reason;       /*1 if reason is supplied*/
        !           487:        FAIL_REASON reason;     /*Optional*/
        !           488:        int result;             /*0,1, or 2*/
        !           489:        int valid_imp;          /*1 if implementation i.d is supplied*/
        !           490:        IMPLEM_ID imp_id;       /*Optional*/
        !           491:        BIT_STR version;        /*Only '1'B now valid*/
        !           492:        int valid_arg_list;
        !           493:        ARG_VAL_LIST arg_list;
        !           494:        BIT_STR func_units;
        !           495:        int valid_coll;         /*Is collision_winner valid?*/
        !           496:        int coll_winner;        /*Optional (0,1,2)*/
        !           497: } ASR_MSG;     
        !           498:        
        !           499: 

unix.superglobalmegacorp.com

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