|
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 m
Length: 6250 (0x186a) Types: TextFile Names: »mib.py«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦e83f91978⟧ »EurOpenD22/isode/osimis-2.0.tar.Z« └─⟦d846658bd⟧ └─⟦this⟧ »osimis/sma/mib.py«
-- -- Copyright (c) 1988 University College London -- All rights reserved. -- -- Redistribution and use in source and binary forms are permitted -- provided that the above copyright notice and this paragraph are -- duplicated in all such forms and that any documentation, -- advertising materials, and other materials related to such -- distribution and use acknowledge that the software was developed -- by the Department of Computer Science, University College London. -- The name of the University may not be used to -- endorse or promote products derived from this software without -- specific prior written permission. -- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. -- -- pepy directives for encoding and decoding of the MIB attribute types -- By Simon Walton, October 1988 -- Modified by George Pavlou, April 1990 MIB DEFINITIONS ::= %{ #include <stdio.h> #include "isode/rosap.h" #include "msap.h" #include "smi.h" typedef caddr_t PEPYPARM; extern int M_This_Con; %} PREFIXES encode decode print BEGIN IMPORTS DistinguishedName FROM IF { joint-iso-ccitt ds(5) modules(1) informationFramework(1) }; SECTIONS build parse none Counter [[P Counter *]] ::= INTEGER [[i parm -> Value]] Gauge [[P Gauge *]] ::= INTEGER [[i parm -> Value]] ENCODER build EventId ::= INTEGER (0 .. 4294967295) TideMark ::= SEQUENCE { currentValue INTEGER (0 .. 4294967295), previousValue INTEGER (0 .. 4294967295), lastResetTime GeneralizedTime } -- Threshold attributes ComparisonLevels [[P struct ComparisonLevels *]] %{int i; %} ::= SET OF << i = 0; i < 10; i++ >> ComparisonLevel [[i parm -> levels[i] ]] %{ if (parm ->levels[i] == COMP_LEVEL_FREE) break; %} ComparisonLevel ::= INTEGER (0 .. 4294967295) -- Defined event DefinedEvent [[P DefinedEvent *]] %{ MO_ID ** p; DN dn; %} ::= SET OF <<p = parm -> rcis; *p != NULL && p < &parm -> rcis[3]; p++>> DistinguishedName [[p dn = moid2dn(*p)]] %{ dn_free(dn); %} -- Report destinations ReportDestinationList [[P struct destinations **]] ::= SET OF <<; *parm; parm = & (*parm) -> Next>> ReportDestination [[p *parm]] ReportDestination [[P struct destinations *]] ::= CHOICE << parm -> type + 1>> { pAddress [2] IMPLICIT PAddress [[p &parm -> Psap_dest ]], aEInfo [3] IMPLICIT NULL, -- for future use thisConnection [1] IMPLICIT NULL } PAddress [[P struct PSAPaddr *]] ::= SEQUENCE %{ if (parm == NULL) return (NOTOK); %} { pSelector Selector [[o parm -> pa_selector $ parm -> pa_selectlen]], sAddress SAddress [[p &parm -> pa_addr ]] } SAddress [[P struct SSAPaddr *]] ::= SEQUENCE %{ if (parm == NULL) return (NOTOK); %} { sSelector Selector [[o parm -> sa_selector $ parm -> sa_selectlen]], tAddress TAddress [[p &parm -> sa_addr]] } TAddress [[P struct TSAPaddr *]] ::= SEQUENCE %{ if (parm == NULL) return (NOTOK); %} { tSelector Selector [[o parm -> ta_selector $ parm -> ta_selectlen]], nAddress NAddress [[p &parm -> ta_addrs[0] ]] } NAddress [[P struct NSAPaddr *]] %{char s[100]; %} ::= %{ if (parm == NULL) return (NOTOK); switch (parm -> na_type) { case NA_TCP: sprintf(s, "TCP %.*s %d", NSAP_DOMAINLEN, parm->na_domain, parm->na_port); break; case NA_BRG: case NA_X25: sprintf(s, "X.25 %.*s", NSAP_DTELEN, parm -> na_dte); break; case NA_NSAP: bcopy("NSAP ", s, 5); bcopy(&parm -> na_address[NASIZE-16], s+5, 16 + sizeof(struct NSAPaddr) - NASIZE - 2*sizeof(long)); s[21 + sizeof(struct NSAPaddr) - NASIZE - 2*sizeof(long)] = '\0'; break; } /* close switch */ %} Selector [[o s $ strlen(s)]] -- hack for pepy Selector ::= OCTETSTRING TAddressList [[P struct TSAPaddr **]] %{int i;%} ::= SET OF << i = 0 ;*parm && i < len; i++ >> TAddress [[p *parm++]] T-ProtocolState [[P int *]] ::= ENUMERATED [[i *parm]] { undefined (0), tp0 (1), tp1 (2), tp2 (3), tp3 (4), tp4 (5) } DECODER parse -- Threshold attributes ComparisonLevels [[P ComparisonLevels *]] %{int i; %}::= %{ for (i = 0; i < 10; i++) parm ->levels[i] = COMP_LEVEL_FREE; i = 0; %} SET OF ComparisonLevel [[i parm -> levels[i++] ]] %{ if ( i > 10) return (NOTOK); %} ComparisonLevel ::= INTEGER -- Defined event DefinedEvent [[P DefinedEvent *]] %{ int i = 0; DN dn; %} ::= SET OF DistinguishedName [[p &dn]] %{ parm -> rcis[i++] = dn2moid(dn); dn_free(dn); %} %{ while (i < 3) parm -> rcis[i++] = (MO_ID *) NULL; %} -- ReportControlId [[P DN *]] ::= ManagedObjectId [[p parm]] -- Report destinations ReportDestination [[P struct destinations *]] ::= CHOICE { pAddress [2] IMPLICIT PAddress [[p &parm -> Psap_dest ]] %{parm -> type = RCI_DEST_PSAP; %}, -- aEInfo DistinguishedName, thisConnection [1] IMPLICIT NULL %{parm -> Fd_dest = M_This_Con; parm -> type = RCI_DEST_FD; %} } PAddress [[P struct PSAPaddr* ]] %{char * cp; %} ::= SEQUENCE { pSelector Selector [[o cp $ parm -> pa_selectlen ]] %{ bcopy(cp, parm -> pa_selector, parm -> pa_selectlen); free(cp); %}, sAddress SAddress [[p &parm -> pa_addr ]] } SAddress [[P struct SSAPaddr*]] %{char * cp; %} ::= SEQUENCE { sSelector Selector [[o cp $ parm -> sa_selectlen ]] %{ bcopy(cp, parm -> sa_selector, parm -> sa_selectlen); free(cp); %}, tAddress TAddress [[p &parm -> sa_addr ]] } TAddress [[P struct TSAPaddr*]] %{char * cp; %} ::= SEQUENCE { tSelector Selector [[o cp $ parm -> ta_selectlen ]] %{ bcopy(cp, parm -> ta_selector, parm -> ta_selectlen); free(cp); %}, nAddress NAddress [[p &parm -> ta_addrs[0] ]] } NAddress [[P struct NSAPaddr* ]] %{char * cp; %} ::= OCTETSTRING [[s cp]] %{ strncpy(parm -> na_domain, cp, NASIZE); parm -> na_tset = NA_TSET_TCP; parm -> na_type = NA_TCP; free(cp); %} Selector ::= OCTETSTRING END