|
|
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: 3421 (0xd5d)
Types: TextFile
Names: »miv3.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦697af93db⟧ »EurOpenD3/network/snmp/mit-snmp.tar.Z«
└─⟦57bbcbe75⟧
└─⟦this⟧ »./snmp/miv3.c«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦925ee6880⟧ »EurOpenD3/network/snmp/mit-snmp.900225.tar.Z«
└─⟦a4bfa469c⟧
└─⟦this⟧ »./snmp/miv3.c«
/*
* $Header: miv3.c,v 1.1 89/01/11 22:08:48 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 AsnIdType mivGet (mix, name, namelen)
MixCookieType mix;
MixNamePtrType name;
MixLengthType namelen;
{
if ((namelen != (MixLengthType) 1) ||
(*name != (MixNameType) 0)) {
return ((AsnIdType) 0);
}
else {
return (asnUnsl (asnClassApplication, (AsnTagType) 2,
*((CUnslPtrType) mix)));
}
}
static AsnIdType mivNext (mix, name, namelenp)
MixCookieType mix;
MixNamePtrType name;
MixLengthPtrType namelenp;
{
if (*namelenp != (MixLengthType) 0) {
return ((AsnIdType) 0);
}
else {
*namelenp = (MixLengthType) 1;
*name = (MixNameType) 0;
return (asnUnsl (asnClassApplication, (AsnTagType) 2,
*((CUnslPtrType) mix)));
}
}
static MixStatusType mivSet (mix, name, namelen, asn)
MixCookieType mix;
MixNamePtrType name;
MixLengthType namelen;
AsnIdType asn;
{
AsnLengthType len;
if ((namelen != (MixLengthType) 1) ||
(*name != (MixNameType) 0)) {
return (smpErrorNoSuch);
}
else if (asnTag (asn) != (AsnTagType) 2) {
return (smpErrorBadValue);
}
else if (asnClass (asn) != asnClassApplication) {
return (smpErrorBadValue);
}
else if ((len = asnLength (asn)) <=
(AsnLengthType) sizeof (CUnslType)) {
*((CUnslPtrType) mix) = (CUnslType) mivNumber (asn);
return (smpErrorNone);
}
else if (len == ((AsnLengthType) sizeof (CUnslType) + 1)) {
if (mivNonZero (asn)) {
return (smpErrorBadValue);
}
else {
*((CUnslPtrType) mix) = (CUnslType) mivNumber (asn);
return (smpErrorNone);
}
}
else {
return (smpErrorBadValue);
}
}
static MixOpsType mivOpsRW = {
mivRelease,
mivCreate,
mivDestroy,
mivNext,
mivGet,
mivSet
};
MisStatusType mivGuageRW (name, namelen, address)
MixNamePtrType name;
MixLengthType namelen;
CUnslPtrType address;
{
return (misExport (name, namelen, & mivOpsRW,
(MixCookieType) address));
}
static MixOpsType mivOpsRO = {
mivRelease,
mivCreate,
mivDestroy,
mivNext,
mivGet,
mivNoSet
};
MisStatusType mivGuageRO (name, namelen, address)
MixNamePtrType name;
MixLengthType namelen;
CUnslPtrType address;
{
return (misExport (name, namelen, & mivOpsRO,
(MixCookieType) address));
}