|
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 a
Length: 5329 (0x14d1) Types: TextFile Names: »asl.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦697af93db⟧ »EurOpenD3/network/snmp/mit-snmp.tar.Z« └─⟦57bbcbe75⟧ └─⟦this⟧ »./snmp/asl.c«
/* * $Header: asl.c,v 1.1 89/01/11 22:08:27 jrd Exp $ * Author: J. Davin * Copyright 1988, 1989, Massachusetts Institute of Technology * See permission and disclaimer notice in file "notice.h" */ #include <notice.h> #include <ctypes.h> #include <debug.h> #include <asn.h> #include <asl.h> #include <asldefs.h> extern AslNodeType aslNodes []; #define aslNodeNil ((AslIdType) 0) #define aslNode(n) (aslPtrToId (& aslNodes [ (n) ])) #define aslNodeDef(t,s,n,v) \ { \ (t), \ (CUnswType) (s), \ (AsnLengthType) (n), \ (v) \ } static AslNodeType aslNodes [] = { /* 0 */ aslNodeDef (asnTypeNone, "\60", 20, aslNode (1)), /* 1 */ aslNodeDef (asnTypeSequence, aslNode (2), 20, aslNodeNil), /* 2 */ aslNodeDef (asnTypeNone, "\2", 18, aslNode (3)), /* 3 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNode (4)), /* 4 */ aslNodeDef (asnTypeNone, "\4", 15, aslNode (5)), /* 5 */ aslNodeDef (asnTypeOctetString, aslNodeNil, 0, aslNode (6)), /* 6 */ aslNodeDef (asnTypeNone, "\240\241\242\243\244", 13, aslNode (7)), /* 7 */ aslNodeDef (asnTypeSequence, aslNode (12), 12, aslNodeNil), /* 8 */ aslNodeDef (asnTypeSequence, aslNode (12), 12, aslNodeNil), /* 9 */ aslNodeDef (asnTypeSequence, aslNode (12), 12, aslNodeNil), /* 10 */ aslNodeDef (asnTypeSequence, aslNode (12), 12, aslNodeNil), /* 11 */ aslNodeDef (asnTypeSequence, aslNode (35), 16, aslNodeNil), /* 12 */ aslNodeDef (asnTypeNone, "\2", 11, aslNode (13)), /* 13 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNode (14)), /* 14 */ aslNodeDef (asnTypeNone, "\2", 8, aslNode (15)), /* 15 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNode (16)), /* 16 */ aslNodeDef (asnTypeNone, "\2", 5, aslNode (17)), /* 17 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNode (18)), /* 18 */ aslNodeDef (asnTypeNone, "\60", 2, aslNode (19)), /* 19 */ aslNodeDef (asnTypeSequenceOf, aslNode (20), 0, aslNodeNil), /* 20 */ aslNodeDef (asnTypeNone, "\60", 0, aslNode (21)), /* 21 */ aslNodeDef (asnTypeSequence, aslNode (22), 4, aslNode (20)), /* 22 */ aslNodeDef (asnTypeNone, "\6", 4, aslNode (23)), /* 23 */ aslNodeDef (asnTypeObjectId, aslNodeNil, 0, aslNode (24)), /* 24 */ aslNodeDef (asnTypeNone, "\2\4\5\6\100\101\102\103\104\44", 2, aslNode (25)), /* 25 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNodeNil), /* 26 */ aslNodeDef (asnTypeOctetString, aslNodeNil, 0, aslNodeNil), /* 27 */ aslNodeDef (asnTypeNull, aslNodeNil, 0, aslNodeNil), /* 28 */ aslNodeDef (asnTypeObjectId, aslNodeNil, 0, aslNodeNil), /* 29 */ aslNodeDef (asnTypeOctetString, aslNodeNil, 4, aslNodeNil), /* 30 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNodeNil), /* 31 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNodeNil), /* 32 */ aslNodeDef (asnTypeInteger, aslNodeNil, 0, aslNodeNil), /* 33 */ aslNodeDef (asnTypeOctetString, aslNodeNil, 0, aslNodeNil), /* 34 */ aslNodeDef (asnTypeSequenceOf, aslNode (45), 0, aslNodeNil), /* 35 */ aslNodeDef (asnTypeNone, "\6", 14, aslNode (36)), /* 36 */ aslNodeDef (asnTypeObjectId, aslNodeNil, 0, aslNode (37)), /* 37 */ aslNodeDef (asnTypeNone, "\100", 12, aslNode (38)), /* 38 */ aslNodeDef (asnTypeOctetString, aslNodeNil, 4, aslNode (39)), /* 39 */ aslNodeDef (asnTypeNone, "\2", 10, aslNode (40)), /* 40 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNode (41)), /* 41 */ aslNodeDef (asnTypeNone, "\2", 7, aslNode (42)), /* 42 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNode (43)), /* 43 */ aslNodeDef (asnTypeNone, "\103", 4, aslNode (44)), /* 44 */ aslNodeDef (asnTypeInteger, aslNodeNil, 1, aslNode (18)), /* 45 */ aslNodeDef (asnTypeNone, "\4\44", 0, aslNode (46)), /* 46 */ aslNodeDef (asnTypeOctetString, aslNodeNil, 0, aslNodeNil), /* 47 */ aslNodeDef (asnTypeSequenceOf, aslNode (45), 0, aslNodeNil), }; CVoidType aslInit () { } AslIdType aslChoice (n, x) AslIdType n; CByteType x; { CIntfType i; CBytePtrType cp; DEBUG0 ("aslChoice "); cp = (CBytePtrType) ((aslIdToPtr(n))->aslNodeStuff); if (x == 0) { DEBUG0 ("0\n"); return ((*cp != x) ? (AslIdType) 0 : aslPtrToId ((aslIdToPtr ((aslIdToPtr (n))->aslNodeNext)))); } else { DEBUG0 ("1\n"); i = 0; while ((*cp) && (*cp != x)) { cp++; i++; } return ((*cp) ? aslPtrToId ((aslIdToPtr ((aslIdToPtr (n))->aslNodeNext)) + i) : (AslIdType) 0); } } AslIdType aslAny (n, x) AslIdType n; CByteType x; { AslNodePtrType np; np = aslIdToPtr (n); if (x < 9) { np += (int) x; } else if (x == 0x24) { np += 10; } else if (x == 0x25) { np += 11; } else if (x > 0x20) { np += 12; } else { np += 4; } return (aslPtrToId (np)); } AslIdType aslLanguage (language) AsnLanguageType language; { language = language; return (aslNode (0)); } #ifndef INLINE AslIdType aslSon (n) AslIdType n; { return (aslSonDef (n)); } AslIdType aslNext (n) AslIdType n; { return (aslNextDef (n)); } AsnLengthType aslMinLen (n) AslIdType n; { return (aslMinLenDef (n)); } AsnTypeType aslKind (n) AslIdType n; { return (aslKindDef (n)); } #endif /* INLINE */