6.3.4 ExampleTable_access.h /*ExampleTable_access.h*/ /* * 注:此文件最初由 mib2c 使用 * 自动生成:mib2c.access_functions.conf,v 1.9 2004/10/14 12:57:33 dts12 Exp $ */ #ifndef ExamplesTABLE_ACCESS_H #define ExamplesTABLE_
/*ExampleTable_access.h*/
/*
* 注意:此文件最初由 mib2c 使用
自动生成* : mib2c.access_functions.conf,v 1.9 2004/10/14 12:57:33 dts12 Exp $
*/
#ifndef ExamplesTABLE_ACCESS_H
#define ExamplesTABLE_ACCESS_H
/**用户定义的数据访问 表ExampleTable中数据的函数*/
/**行级访问器*/
Netsnmp_First_Data_Point ExampleTable_get_first_data_point;
Netsnmp_Next_Data_Point ExampleTable_get_next_data_point;
int ExampleTable_commit_row(void **my_data_context, int new_or_del);
无效 * 示例Table_create_data_context(netsnmp_variable_list *index_data, int 栏);
/**列访问器*/
long *get_MachineNumber(void *data_context, size_t *ret_len);
char *get_MachineStatus(void *data_context, size_t *ret_len);
u_long *get_CheckTime(void *data_context, size_t *ret_len);
long *get_MonSet(void *data_context, size_t *ret_len);
int set_MonSet(void *data_context, long *val, size_t val_len);
#endif /* ExamplesTABLE_ACCESS_H */
/*ExampleTable_checkfns.c*/
/*
* 注意:此文件最初 由 mib2c 使用
自动生成* : mib2c.check_values.conf,v 1.8 2004/01/12 00:43:45 rstory Exp $
*/
/************************************************ **************************
* 注意 注意 注意
* 此文件是自动生成的,不应编辑 用手。
* 修改ExampleTable_checkfns_local.[ch] 文件 这样你
* 可以重新生成这个,因为 mib2c 的改进是 已制作。
******************************************** ******************************/
/* 标准 标头 */
#include
#include
#include “ExampleTable_checkfns.h”
#include “ExampleTable_checkfns_local.h”
#include “ExampleTable_enums.h”
/**决定是否 MonSet mib 节点的传入值是合法的。
* @param 类型 传入数据类型。
* @param val 要检查的值。
* @param val_len val 中存储的数据长度(以字节为单位)。
* 如果传入值合法则返回 0,否则返回 SNMP 错误代码。
*/
int
check_MonSet(int 类型, long *val, size_t val_len,
long *old_val, size_t old_val_len) {
int ret;
/**检查一下我们是否 被合法地称为*/
if (!val)
返回 SNMP_ERR_GENERR;
/**检查传入类型 为了正确性*/
if(类型!= ASN_INTEGER)
返回 SNMP_ERR_WRONGTYPE;
ret = SNMP_ERR_NOERROR;
/**看起来不错,请致电 相同功能的本地版本。*/
返回 check_MonSet_local(type, val, val_len, old_val, old_val_len);
}
/*ExampleTable_checkfns.h*/
/*
* 注意:此文件最初 由 mib2c 使用
自动生成* :mib2c.iterate.conf,v 5.6 2003/02/20 00:52:07 硬核Exp $
*/
/******************************************************** ******************
* 此文件是自动生成的,不应编辑 用手。
* 修改ExampleTable_checkfns_local.[ch] 文件 欧洲。
* (以便您可以将其重新生成为 mib2c 已做出改进)
******************************************** ***********************************/
#ifndef EXAMPLETABLE_CHECKFNS_H
#define EXAMPLETABLE_CHECKFNS_H
/**确保我们加载 您可以修改的功能*/
config_require(ExampleTable_checkfns_local)
/* 这些 函数旨在检查
的传入值中的列 有关
合法性的示例表数据类型和 值。
*/
int check_MonSet(int 类型,long *val,size_t val_len,long *old_val,size_t old_val_len);
#endif /* EXAMPLETABLE_CHECKFNS_H */
/*ExampleTable_checkfns_local.c*/
/*
* 注意:此文件最初 由 mib2c 使用
自动生成* : mib2c.check_values_local.conf,v 5.2 2004/05/04 23:34:56 硬核Exp $
*/
/* 标准 标头 */
#include
#include
#include “ExampleTable_checkfns.h”
#include “ExampleTable_enums.h”
/** 决定是否 MonSet mib 节点的传入值是合法的,来自本地实现 具体观点。
* @param 类型 传入数据类型。
* @param val 要检查的值。
* @param val_len val 中存储的数据长度(以字节为单位)。
* 如果传入值合法则返回 0,否则返回 SNMP 错误代码。
*/
int
check_MonSet_local(int 类型,长 *val,size_t val_len,长 *old_val,size_t old_val_len) {
/**XXX:您可能想检查一下 新价值的各个方面
不是 由父函数的自动检查覆盖。*/
/**XXX:你想要 检查请求的更改是否来自
旧值到新值是合法的(即转换
来自 一种价值对另一种价值来说是合法的*/
/**如果一切看起来都正常的话 返回 SNMP_ERR_NOERROR*/
返回 SNMP_ERR_NOERROR;
}
/*ExampleTable_checkfns_local.h*/
/*
* 注意:此文件最初 由 mib2c 使用
自动生成* : : mib2c.check_values_local.conf,v 5.2 2004/05/04 23:34:56 硬核Exp $
*
*/
#ifndef EXAMPLETABLE_CHECKFNS_H
#define EXAMPLETABLE_CHECKFNS_H
/* 这些 函数旨在检查
的传入值中的列 有关
合法性的示例表数据类型和 根据当地惯例值。 您应该修改
他们作为 适当的。 他们将被称为 来自父级 check_value
功能 使用 mib2c 和父函数自动生成
不应该 已修改。
*/
int check_MonSet_local(int 类型,long *val,size_t val_len,long *old_val,size_t old_val_len);
#endif /* EXAMPLETABLE_CHECKFNS_H */
/*ExampleTable_columns.h*/
/*
* 注意:此文件最初是自动生成的 通过 mib2c 使用
* :mib2c.column_defines.conf,v 5.1 2002/05/08 05:42:47 Hardaker Exp $
*/
#ifndef EXAMPLETABLE_COLUMNS_H
#define EXAMPLETABLE_COLUMNS_H
/* 列号 表 ExampleTable 的定义 */
#define COLUMN_MACHINENUMBER 1
#define COLUMN_MACHINESTATUS 2
#define COLUMN_CHECKTIME 3
#define COLUMN_MONSET 4
#endif /* EXAMPLETABLE_COLUMNS_H */
/*ExampleTable_enums.h*/
/*
* 注意:此文件最初 由 mib2c 使用
自动生成* :mib2c.column_enums.conf,v 5.2 2003/02/22 04:09:25 Hardaker Exp $
*/
#ifndef EXAMPLETABLE_ENUMS_H
#define EXAMPLETABLE_ENUMS_H
#endif /* EXAMPLETABLE_ENUMS_H */
MyMIB 定义::=开始
进口
企业、对象类型、Integer32、TimeTicks
来自 SNMPv2-SMI
文本约定, 来自 SNMPv2-TC 的显示字符串;
foxmail 对象标识符::={企业 310}
第二个柜台 对象类型
语法 整数32
访问 读写
状态 必填
描述“这是一个 从 1970.1.1.0:0 至今的分钟计数器"
::={foxmail 1}
周时间对象类型
语法 TimeTicks
访问只读
状态必填
描述“记录今天的时间和日期排序 周”
::={foxmail 2}
示例表 对象类型
语法 示例条目的序列
最大访问权限 无法访问
状态 当前
描述
“界面条目列表。 条目数为
由ExampleNumber的值给出。”
::= { Foxmail 3 }
示例条目 对象类型
语法 示例条目
最大访问权限 不可访问
状态 当前
描述
“包含适用于
的管理信息的条目特定界面。”
INDEX { UserIndex }
::= { 示例表 1 }
示例条目 ::=
序列 {
用户索引 界面索引,
用户状态 DisplayString,
检查时间 时间滴答,
周一 整数32
}
InterfaceIndex ::= 文本约定
显示提示“d”
状态 当前
描述
“每个接口都有一个大于零的唯一值或
托管系统中的接口子层。 它是
建议从
开始连续分配值从 1. 每个接口的值 子层必须保留
至少从实体的一次重新初始化开始为常数
网络管理系统下次重新初始化。”
语法 Integer32 (1..2147483647)
用户索引 对象类型
语法 界面索引
最大访问权限 只读
状态 当前
描述
“每个接口都有一个大于零的唯一值。 它
建议连续赋值
从 1 开始。 值 对于每个界面子层
至少在一次重新初始化
后必须保持不变实体的网管系统要重新
初始化。”
::= { 示例条目 1 }
用户状态 对象类型
语法 DisplayString
最大访问权限 只读
状态 当前
描述
“机器状态。”
::= { 示例条目 2 }
检查时间 对象类型
语法 TimeTicks
最大访问权限 只读
状态 当前
描述
“机器状态检查时间。”
::= { 示例条目 3 }
周一 对象类型
语法 整数32
最大访问权限 读写
状态 当前
描述
“使用 set 函数的示例。”
::={ 示例条目 4}
END