|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 7801 (0x1e79) Types: TextFile Names: »pepy.h.gnrc«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« └─⟦d3ac74d73⟧ └─⟦this⟧ »isode-5.0/pepy/pepy.h.gnrc«
%BEGIN(PEPY)% /* pepy.h - definitions for pepy */ %END(PEPY)% %BEGIN(ROSY)% /* rosy-defs.h - definitions for rosy */ %END(ROSY)% %BEGIN(MOSY)% /* mosy-defs.h - definitions for mosy */ %END(MOSY)% /* %WARNING% */ /* * $Header: /f/osi/pepy/RCS/pepy.h.gnrc,v 6.0 89/03/18 23:37:39 mrose Rel $ * * * $Log: pepy.h.gnrc,v $ * Revision 6.0 89/03/18 23:37:39 mrose * Release 5.0 * */ /* * NOTICE * * Acquisition, use, and distribution of this module and related * materials are subject to the restrictions of a license agreement. * Consult the Preface in the User's Manual for the full terms of * this agreement. * */ #include "psap.h" struct tuple { int t_type; char *t_class; char *t_form; char *t_id; PElementClass t_classnum; int t_idnum; }; typedef struct ypv { int yv_code; #define YV_UNDF 0x00 /* ??? */ #define YV_NUMBER 0x01 /* LITNUMBER */ #define YV_BOOL 0x02 /* TRUE | FALSE */ #define YV_STRING 0x03 /* LITSTRING */ #define YV_IDEFINED 0x04 /* ID */ #define YV_IDLIST 0x05 /* IdentifierList */ #define YV_VALIST 0x06 /* { Values } */ #define YV_NULL 0x07 /* NULL */ #define YV_ABSENT 0x08 /* WITH COMPONENTS .. ABSENT */ #define YV_PRESENT 0x09 /* " " .. PRESENT */ #define YV_INCLUDES 0x0a /* INCLUDES ... */ #define YV_WITHCOMPS 0x0b /* WITH COMPONENTS */ #define YV_OIDLIST 0x0c /* { object identifier } */ union { int yv_un_number; /* code = YV_NUMBER code = YV_BOOL */ char *yv_un_string; /* code = YV_STRING */ struct { /* code = YV_IDEFINED */ char *yv_st_module; char *yv_st_modid; char *yv_st_identifier; } yv_st; struct ypv *yv_un_idlist; /* code = YV_IDLIST code = YV_VALIST code = YV_OIDLIST */ } yv_un; #define yv_number yv_un.yv_un_number #define yv_string yv_un.yv_un_string #define yv_identifier yv_un.yv_st.yv_st_identifier #define yv_module yv_un.yv_st.yv_st_module #define yv_modid yv_un.yv_st.yv_st_modid #define yv_idlist yv_un.yv_un_idlist char *yv_action; int yv_act_lineno; int yv_flags; #define YV_NOFLAGS 0x00 /* no flags */ #define YV_ID 0x01 /* ID Value */ #define YV_NAMED 0x02 /* NamedNumber */ #define YV_TYPE 0x04 /* TYPE Value */ #define YV_BOUND 0x08 /* named value */ #define YVBITS "\020\01ID\02NAMED\03TYPE\04BOUND" char *yv_id; /* flags & YV_ID */ char *yv_named; /* flags & YV_NAMED */ struct ype *yv_type; /* flags & YV_TYPE */ struct ypv *yv_next; } ypv, *YV; #define NULLYV ((YV) 0) YV new_value (), add_value (), copy_value (); /* \f */ typedef struct ypt { PElementClass yt_class; YV yt_value; } ypt, *YT; #define NULLYT ((YT) 0) YT new_tag (), copy_tag (); /* \f */ typedef struct ype { int yp_code; #define YP_UNDF 0x00 /* type not yet known */ #define YP_BOOL 0x01 /* BOOLEAN */ #define YP_INT 0x02 /* INTEGER */ #define YP_INTLIST 0x03 /* INTEGER [ NamedNumberList ] */ #define YP_BIT 0x04 /* BITSTRING */ #define YP_BITLIST 0x05 /* BITSTRING [ NamedNumberList ] */ #define YP_OCT 0x06 /* OCTETSTRING */ #define YP_NULL 0x07 /* NULL */ #define YP_SEQ 0x08 /* SEQUENCE */ #define YP_SEQTYPE 0x09 /* SEQUENCE OF Type */ #define YP_SEQLIST 0x0a /* SEQUENCE [ ElementTypes ] */ #define YP_SET 0x0b /* SET */ #define YP_SETTYPE 0x0c /* SET OF Type */ #define YP_SETLIST 0x0d /* SET [ MemberTypes ] */ #define YP_CHOICE 0x0e /* CHOICE [ AlternativeTypeList ] */ #define YP_ANY 0x0f /* ANY */ #define YP_OID 0x10 /* OBJECT IDENTIFIER */ #define YP_IDEFINED 0x20 /* identifier */ #define YP_ENUMLIST 0x30 /* ENUMERATED */ #define YP_REAL 0x40 /* Real (floating-point) */ int yp_direction; #define YP_DECODER 0x01 #define YP_ENCODER 0x02 #define YP_PRINTER 0x04 union { struct { /* code = YP_IDEFINED */ char *yp_st_module; /* module name */ OID yp_st_modid; /* module id */ char *yp_st_identifier; /* definition name */ } yp_st; struct ype *yp_un_type; /* code = YP_SEQTYPE code = YP_SEQLIST code = YP_SETTYPE code = YP_SETLIST code = YP_CHOICE */ YV yp_un_value; /* code = YP_INTLIST code = YP_BITLIST */ } yp_un; #define yp_identifier yp_un.yp_st.yp_st_identifier #define yp_module yp_un.yp_st.yp_st_module #define yp_modid yp_un.yp_st.yp_st_modid #define yp_type yp_un.yp_un_type #define yp_value yp_un.yp_un_value char *yp_intexp; /* expressions to pass (use) as extra */ char *yp_strexp; /* parameters (primitive values) */ char yp_prfexp; char *yp_declexp; char *yp_varexp; char *yp_structname; char *yp_ptrname; char *yp_param_type; char *yp_action0; int yp_act0_lineno; char *yp_action05; int yp_act05_lineno; char *yp_action1; int yp_act1_lineno; char *yp_action2; int yp_act2_lineno; char *yp_action3; int yp_act3_lineno; int yp_flags; #define YP_NOFLAGS 0x0000 /* no flags */ #define YP_OPTIONAL 0x0001 /* OPTIONAL */ #define YP_COMPONENTS 0x0002 /* COMPONENTS OF */ #define YP_IMPLICIT 0x0004 /* IMPLICIT */ #define YP_DEFAULT 0x0008 /* DEFAULT */ #define YP_ID 0x0010 /* ID */ #define YP_TAG 0x0020 /* Tag */ #define YP_BOUND 0x0040 /* ID LANGLE */ #define YP_PULLEDUP 0x0080 /* member is a choice */ #define YP_PARMVAL 0x0100 /* value to be passed to parm is present */ #define YP_CONTROLLED 0x0200 /* encoding item has a controller */ #define YP_OPTCONTROL 0x0400 /* .. */ #define YP_ACTION1 0x0800 /* action1 acted upon */ #define YP_PARMISOID 0x1000 /* value to be passed to parm is OID */ #define YP_ENCRYPTED 0x2000 /* encypted - which is a bit hazy */ #define YP_IMPORTED 0x4000 /* value imported from another module */ #define YP_EXPORTED 0x8000 /* value exported to another module */ #define YPBITS "\020\01OPTIONAL\02COMPONENTS\03IMPLICIT\04DEFAULT\05ID\06TAG\ \07BOUND\010PULLEDUP\011PARMVAL\012CONTROLLED\013OPTCONTROL\ \014ACTION1\015PARMISOID\016ENCRYPTED\017IMPORTED\020EXPORTED" YV yp_default; /* flags & YP_DEFAULT */ char *yp_id; /* flags & YP_ID */ YT yp_tag; /* flags & YP_TAG */ char *yp_bound; /* flags & YP_BOUND */ char *yp_parm; /* flags & YP_PARMVAL */ char *yp_control; /* flags & YP_CONTROLLED */ char *yp_optcontrol; /* flags & YP_OPTCONTROL */ char *yp_offset; struct ype *yp_next; } ype, *YP; #define NULLYP ((YP) 0) YP new_type (), add_type (), copy_type (); char *new_string (); #define TBL_EXPORT 0 #define TBL_IMPORT 1 #define MAX_TBLS 2 extern int tagcontrol; #define TAG_UNKNOWN 0 #define TAG_IMPLICIT 1 #define TAG_EXPLICIT 2 #define CH_FULLY 0 #define CH_PARTIAL 1 typedef struct yop { char *yo_name; YP yo_arg; YP yo_result; YV yo_errors; YV yo_linked; int yo_opcode; } yop, *YO; #define NULLYO ((YO) 0) typedef struct yerr { char *ye_name; YP ye_param; int ye_errcode; int ye_offset; } yerr, *YE; #define NULLYE ((YE) 0) /* \f */ extern char *pepyversion; extern int yysection; extern char *yyencpref; extern char *yydecpref; extern char *yyprfpref; extern char *yyencdflt; extern char *yydecdflt; extern char *yyprfdflt; extern int yydebug; extern int yylineno; #ifndef HPUX extern char yytext[]; #else extern unsigned char yytext[]; #endif extern char *mymodule; extern OID mymoduleid; extern char *bflag; extern int Cflag; extern int dflag; extern int Pflag; extern char *sysin; extern char *module_actions; OID addoid (); OID int2oid (); OID oidlookup (); char *oidname (); char *oidprint (); extern int errno;