|
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: 3430 (0xd66) Types: TextFile Names: »miv5.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦697af93db⟧ »EurOpenD3/network/snmp/mit-snmp.tar.Z« └─⟦57bbcbe75⟧ └─⟦this⟧ »./snmp/miv5.c« └─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦925ee6880⟧ »EurOpenD3/network/snmp/mit-snmp.900225.tar.Z« └─⟦a4bfa469c⟧ └─⟦this⟧ »./snmp/miv5.c«
/* * $Header: miv5.c,v 1.1 89/01/11 22:08:54 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 <error.h> #include <miv.h> #include <mix.h> #include <mis.h> #include <asn.h> #define mivNonZero(asn) \ asnNonZero (asnValue ((asn)), asnLength ((asn))) #define mivNumber(asn) \ asnNumber (asnValue ((asn)), asnLength ((asn))) static MixStatusType mivRelease (mix) MixCookieType mix; { mix = mix; return (smpErrorGeneric); } static MixStatusType mivNoSet (mix, name, namelen, value) MixCookieType mix; MixNamePtrType name; MixLengthType namelen; AsnIdType value; { mix = mix; name = name; namelen = namelen; value = value; return (smpErrorReadOnly); } static MixStatusType mivCreate (mix, name, namelen, value) MixCookieType mix; MixNamePtrType name; MixLengthType namelen; AsnIdType value; { mix = mix; name = name; namelen = namelen; value = value; return (smpErrorGeneric); } static MixStatusType mivDestroy (mix, name, namelen) MixCookieType mix; MixNamePtrType name; MixLengthType namelen; { mix = mix; name = name; namelen = namelen; return (smpErrorGeneric); } static MixStatusType mivSet (mix, name, namelen, asn) MixCookieType mix; MixNamePtrType name; MixLengthType namelen; AsnIdType asn; { MivStrPtrType mp; AsnLengthType k; mp = (MivStrPtrType) mix; if ((namelen != (MixLengthType) 1) || (*name != (MixNameType) 0)) { return (smpErrorNoSuch); } else if (asnTag (asn) != (AsnTagType) 4) { return (smpErrorBadValue); } else if (asnClass (asn) != asnClassUniversal) { return (smpErrorBadValue); } else if ((k = asnLength (asn)) >= (AsnLengthType) mp->mivStrMaxLen) { return (smpErrorBadValue); } else { (void) asnContents (asn, mp->mivStrData, k); mp->mivStrLen = (CUnsfType) k; return (smpErrorNone); } } static AsnIdType mivGet (mix, name, namelen) MixCookieType mix; MixNamePtrType name; MixLengthType namelen; { MivStrPtrType mp; if ((namelen != (MixLengthType) 1) || (*name != (MixNameType) 0)) { return ((AsnIdType) 0); } else { mp = (MivStrPtrType) mix; return (asnOctetString (asnClassUniversal, (AsnTagType) 4, mp->mivStrData, (AsnLengthType) mp->mivStrLen)); } } static AsnIdType mivNext (mix, name, namelenp) MixCookieType mix; MixNamePtrType name; MixLengthPtrType namelenp; { MivStrPtrType mp; if (*namelenp != (MixLengthType) 0) { return ((AsnIdType) 0); } else { *namelenp = (MixLengthType) 1; *name = (MixNameType) 0; mp = (MivStrPtrType) mix; return (asnOctetString (asnClassUniversal, (AsnTagType) 4, mp->mivStrData, (AsnLengthType) mp->mivStrLen)); } } static MixOpsType mivOpsRW = { mivRelease, mivCreate, mivDestroy, mivNext, mivGet, mivSet }; MisStatusType mivStringRW (name, namelen, address) MixNamePtrType name; MixLengthType namelen; MivStrPtrType address; { return (misExport (name, namelen, & mivOpsRW, (MixCookieType) address)); } static MixOpsType mivOpsRO = { mivRelease, mivCreate, mivDestroy, mivNext, mivGet, mivNoSet }; MisStatusType mivStringRO (name, namelen, address) MixNamePtrType name; MixLengthType namelen; MivStrPtrType address; { return (misExport (name, namelen, & mivOpsRO, (MixCookieType) address)); }