diff options
author | harti <harti@FreeBSD.org> | 2006-02-27 16:16:18 +0000 |
---|---|---|
committer | harti <harti@FreeBSD.org> | 2006-02-27 16:16:18 +0000 |
commit | 9b4fc3d8f13de6a6c075d5b243b2e8370bd35367 (patch) | |
tree | 8b4bdaf89989b90cdbdc0b6e86d7cbd38ff6174f /contrib/bsnmp/snmp_mibII/mibII_begemot.c | |
parent | a923e07ab3efd8202b4be3f02e729f61e7aef5af (diff) | |
download | FreeBSD-src-9b4fc3d8f13de6a6c075d5b243b2e8370bd35367.zip FreeBSD-src-9b4fc3d8f13de6a6c075d5b243b2e8370bd35367.tar.gz |
Virgin import of bsnmpd 1.12
Diffstat (limited to 'contrib/bsnmp/snmp_mibII/mibII_begemot.c')
-rw-r--r-- | contrib/bsnmp/snmp_mibII/mibII_begemot.c | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/contrib/bsnmp/snmp_mibII/mibII_begemot.c b/contrib/bsnmp/snmp_mibII/mibII_begemot.c new file mode 100644 index 0000000..5841b81 --- /dev/null +++ b/contrib/bsnmp/snmp_mibII/mibII_begemot.c @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2006 + * Hartmut Brandt. + * All rights reserved. + * + * Author: Harti Brandt <harti@freebsd.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Begemot: bsnmp/snmp_mibII/mibII_begemot.c,v 1.1 2006/02/14 09:04:19 brandt_h Exp $ + * + * Private MIB. + */ +#include "mibII.h" +#include "mibII_oid.h" + +/* + * Scalars + */ +int +op_begemot_mibII(struct snmp_context *ctx __unused, struct snmp_value *value, + u_int sub, u_int idx __unused, enum snmp_op op) +{ + switch (op) { + + case SNMP_OP_GETNEXT: + abort(); + + case SNMP_OP_GET: + goto get; + + case SNMP_OP_SET: + switch (value->var.subs[sub - 1]) { + + case LEAF_begemotIfMaxspeed: + case LEAF_begemotIfPoll: + return (SNMP_ERR_NOT_WRITEABLE); + + case LEAF_begemotIfForcePoll: + ctx->scratch->int1 = mibif_force_hc_update_interval; + mibif_force_hc_update_interval = value->v.uint32; + return (SNMP_ERR_NOERROR); + } + abort(); + + case SNMP_OP_ROLLBACK: + switch (value->var.subs[sub - 1]) { + + case LEAF_begemotIfForcePoll: + mibif_force_hc_update_interval = ctx->scratch->int1; + return (SNMP_ERR_NOERROR); + } + abort(); + + case SNMP_OP_COMMIT: + switch (value->var.subs[sub - 1]) { + + case LEAF_begemotIfForcePoll: + mibif_force_hc_update_interval = ctx->scratch->int1; + mibif_reset_hc_timer(); + return (SNMP_ERR_NOERROR); + } + abort(); + } + abort(); + + get: + + switch (value->var.subs[sub - 1]) { + + case LEAF_begemotIfMaxspeed: + value->v.counter64 = mibif_maxspeed; + return (SNMP_ERR_NOERROR); + + case LEAF_begemotIfPoll: + value->v.uint32 = mibif_hc_update_interval; + return (SNMP_ERR_NOERROR); + + case LEAF_begemotIfForcePoll: + value->v.uint32 = mibif_force_hc_update_interval; + return (SNMP_ERR_NOERROR); + } + abort(); +} |