|
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: 3731 (0xe93) Types: TextFile Names: »pep.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦041b9c0f8⟧ »EurOpenD22/isode/pepsy.system-6.0.Z« └─⟦d49939f05⟧ └─⟦6a28ec38e⟧ »pepsy.tar« └─⟦this⟧ »pepsy/pep.h«
/* Copyright 1989 CSIRO Division of Information Technology * May be given away but not sold for profit - See Copyright file for details */ #ifndef PEP_DEFINITIONS #define PEP_DEFINITIONS /* * Definitions for pep tables */ typedef struct { int pe_type; /* Type of entry */ int pe_ucode; /* index to user's code if any */ int pe_tag; /* Tag of this entry if any */ int pe_flags; /* Flags */ } tpe; typedef struct { int pe_type; /* Type of entry */ int pe_ucode; /* index to user's code if any */ int pe_tag; /* Tag of this entry if any */ int pe_flags; /* Flags */ char *pe_typename /* User defined name of variable */ } ptpe; /* macros for getting values of default flexibly */ #define IVAL(x) ((x)->pe_ucode) /* Integer value */ #define PVAL(x) ((char *)(x)->pe_tag) /* Pointer (char *) */ #define TVAL(x) ((x)->pe_flags) /* Type - Integer value */ /* Types */ #define PE_START (-1) #define PE_END 0 #define XOBJECT 3 #define UCODE 6 #define MALLOC 7 #define SCTRL 8 #define CH_ACT 9 #define OPTL 10 /* Optionals field offset */ /* types that generate data */ #define TYPE_DATA 20 #define ANY (TYPE_DATA + 0) #define INTEGER (TYPE_DATA + 1) #define BOOLEAN (TYPE_DATA + 2) #define OBJECT (TYPE_DATA + 3) /* This generates data */ #define BITSTRING (TYPE_DATA + 4) #define OCTETSTRING (TYPE_DATA + 5) #define SET_START (TYPE_DATA + 6) #define SEQ_START (TYPE_DATA + 7) #define SEQOF_START (TYPE_DATA + 8) #define SETOF_START (TYPE_DATA + 9) #define CHOICE_START (TYPE_DATA + 10) #define CONS_ANY (TYPE_DATA + 11) #define T_NULL (TYPE_DATA + 12) #define T_OID (TYPE_DATA + 13) #define ETAG (TYPE_DATA + 14) /*so set_find in pr_set is executed*/ #define IMP_OBJ (TYPE_DATA + 15) /*so set_find in pr_set is executed*/ #define EXTOBJ (TYPE_DATA + 16) /* External reference object */ #define EXTMOD (TYPE_DATA + 17) /* External module for above object */ #define OBJID (TYPE_DATA + 18) /* Object Identifier */ #define DFLT_F (TYPE_DATA + 19)/* Default value for following entry */ #define DFLT_B (TYPE_DATA + 20)/* default value for previous entry */ #define STYPE_DATA (TYPE_DATA + 30) /* Above here are the S* items */ /* No Offset entries to cope with the ISODE optimisation */ #define SBITSTRING (STYPE_DATA + 0) /* No offset */ #define SOBJID (STYPE_DATA + 1) /* Object Identifier - No offset */ #define SCONS_ANY (STYPE_DATA + 2) /* No offset */ #define SANY (STYPE_DATA + 3) #define SEXTOBJ (STYPE_DATA + 4) /* External reference object */ #define SOBJECT (STYPE_DATA + 5) /* This generates data */ #define SOCTETSTRING (STYPE_DATA + 6) /* No offset */ #define SEXTERNAL (STYPE_DATA + 7) /* External to be encoded */ #define ISDTYPE(p) (p->pe_type >= TYPE_DATA) /* User code indexes */ #define NONE 0 /* No User code */ /* Standard Tags */ #define T_BOOL 1 #define T_INTEGER 2 #define T_OCTETSTRING 4 #define T_OBJIDENT 6 #define T_EXTERNAL 8 #define T_SEQ 16 #define T_SET 17 #define T_IA5 22 #define T_GRAPHIC 25 /* Flags */ #define FL_IMPLICIT 0100 #define FL_DEFAULT 0200 #define FL_OPTIONAL 0400 #define OPTIONAL(p) ((p)->pe_flags & FL_OPTIONAL) #define DEFAULT(p) ((p)->pe_flags & FL_DEFAULT) /* Class specification */ #define FL_UNIVERSAL PE_CLASS_UNIV #define FL_APPLICATION PE_CLASS_APPL #define FL_CONTEXT PE_CLASS_CONT #define FL_PRIVATE PE_CLASS_PRIV /* This has to be changed if the values for the above 4 are changed in ISODE */ #define FL_CLASS 0xf /* ETAG flags */ #define T_PRIM 0 #define T_CONS 1 #define T_OBJ 2 #define CLASS(p) ((p)->pe_flags & FL_CLASS) #define TAG(p) ((p)->pe_tag) #define TESTBIT(p, bit) ((p) & (1 << (bit))) #define SETBIT(p, bit) ((p) |= (1 << (bit))) #endif