|
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 o
Length: 4314 (0x10da) Types: TextFile Names: »or.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/h/or.h«
/* or.h: o/r name package */ /* * @(#) $Header: /cs/research/pp/hubris/pp-beta/h/RCS/or.h,v 5.0 90/09/20 16:50:44 pp Exp Locker: pp $ * * $Log: or.h,v $ * Revision 5.0 90/09/20 16:50:44 pp * rcsforce : 5.0 public release * * */ #ifndef _H_OR #define _H_OR #include <isode/psap.h> #include <isode/cmd_srch.h> /* Definitions for OR Name structure NOTE - that the trees are strucutred with the MOST significant part at the top */ /* SEK temp notes: OR/STD will have a matrix of or_part/valid encodings. If a Char* is present, this identifies the valid key 84/88 distinction will be done as address subtyping. std2or needs to have a flag to reflect this. Needs to be a routine to downgrade addresses 88 -> 84. First cut can work by discard. */ struct or_part { int or_type; #define OR_C 1 #define OR_ADMD 2 #define OR_PRMD 3 #define OR_O 4 #define OR_OU 5 #define OR_X121 6 #define OR_TID 7 #define OR_UAID 8 #define OR_S 9 #define OR_G 10 #define OR_I 11 #define OR_GQ 12 #define OR_CN 13 #define OR_PDSNAME 14 #define OR_PD_C 15 #define OR_POSTCODE 16 #define OR_PDO_NAME 17 #define OR_OR_COMPS 18 #define OR_PD_PN 19 #define OR_PD_O 20 #define OR_PD_COMPS 21 #define OR_UPA_PA 22 #define OR_UPA_TS 23 #define OR_STREET 24 #define OR_PO_BOX 25 #define OR_PRA 26 #define OR_UPN 27 #define OR_LPA 28 #define OR_ENA_N 29 #define OR_ENA_S 30 #define OR_ENA_P 31 #define OR_TT 23 #define OR_DD 99 int or_encoding; #define OR_ENC_PS 1 #define OR_ENC_TTX 2 #define OR_ENC_NUM 3 #define OR_ENC_TTX_AND_OR_PS 4 /* use 987 string encoding */ #define OR_ENC_INT 5 #define OR_ENC_PSAP 6 /* ISODE/SEK string form */ char *or_ddname; char *or_value; struct or_part *or_prev; struct or_part *or_next; }; #define or_or2rfc(a,b) or_or2rfc_aux ((a), (b), 0) /* backwards compat */ #define or_rfc2or(a,b) or_rfc2or_aux ((a), (b), 0) #define OR_ISLOCAL 01 #define OR_ISMTA 02 #define CHR_PS 01 /* Printable String */ #define CHR_NS 02 /* Numeric String */ typedef struct or_part *OR_ptr; #define NULLOR ((OR_ptr)0) extern char _pstable[]; #define or_isps(c) (_pstable[c]&CHR_PS) #define or_isns(c) (_pstable[c]&CHR_NS) typedef struct tpstruct { char *ty_string; int ty_int; int ty_charset; } typestruct; extern typestruct typetab[]; /* valid DD's */ #define OR_DDVALID_RFC822 1 #define OR_DDVALID_JNT 2 #define OR_DDVALID_UUCP 3 #define OR_DDVALID_LIST 4 #define OR_DDVALID_ROLE 5 #define OR_DDVALID_FAX 6 #define OR_DDVALID_ATTN 7 extern CMD_TABLE ortbl_ddvalid[]; extern OR_ptr loc_ortree; extern OR_ptr pe2or(); /* convert PE to OR struct */ extern PE or2pe(); /* convert OR struct to PE */ extern OR_ptr or_add(); /* add or_part to place in tree */ extern OR_ptr or_default(); /* add def vals to partial OR Name */ extern OR_ptr or_dmn2or(); /* OR dmn string -> structure */ extern OR_ptr or_dup(); /* duplicate or_part */ extern OR_ptr or_find(); /* find or_part of type in tree */ extern OR_ptr or_lastpart(); /* point to last component */ extern OR_ptr or_locate(); /* find 1st part of any component */ extern OR_ptr or_new(); /* create and fill new or_part */ extern OR_ptr or_std2or(); /* OR std string -> structure */ extern char *or_value(); /* find a type and return it's val */ extern char* or_type2name(); /* get string of part type */ extern int or_cmp(); /* test if two or_parts are equal */ extern void or_free(); /* free structure recursively */ extern int or_init(); /* various global inits */ extern int or_name2type(); /* get type of string */ extern void or_or2dmn(); /* structure to OR dmn string */ extern int or_or2rfc_aux (); extern int or_rfc2or_aux (); /* map 822 form to tree */ extern void or_or2std(); /* structure to OR std string */ extern int or_utilinit(); /* various global inits */ extern int or_blank (); extern OR_ptr or_buildpn (); /* construct a personal name */ extern int or_getpn (); extern void qstrcat (); extern void dstrcat (); extern void or_myinit (); extern int or_ddname_chk (); extern int or_ddvalid_chk (); extern int or_gettoken (); extern int or_isdomsyntax (); extern void or_ps2asc (); extern int or_or2rbits (); extern int rfc_space (); extern int or_rbits2or (); extern int or_asc2ps (); #endif