📄 ip.c
字号:
oid *name,
size_t name_len)
{
static long setval;
switch ( action ) {
case RESERVE1:
if (var_val_type != ASN_INTEGER){
fprintf(stderr, "write to ipForwarding not ASN_INTEGER\n");
return SNMP_ERR_WRONGTYPE;
}
if (var_val_len > sizeof(setval)){
fprintf(stderr,"write to ipForwarding: bad length\n");
return SNMP_ERR_WRONGLENGTH;
}
setval = *(long *)var_val;
if ( 1 != setval && 2 != setval )
return SNMP_ERR_WRONGVALUE;
break;
case RESERVE2:
case FREE:
case ACTION:
case UNDO:
break;
case COMMIT:
ipforwarding = (setval == 1);
break;
}
return SNMP_ERR_NOERROR;
}
int
write_ipDefaultTTL(int action,
u_char *var_val,
u_char var_val_type,
size_t var_val_len,
u_char *statP,
oid *name,
size_t name_len)
{
static long setval;
switch ( action ) {
case RESERVE1:
if (var_val_type != ASN_INTEGER){
fprintf(stderr, "write to ipDefaultTTL not ASN_INTEGER\n");
return SNMP_ERR_WRONGTYPE;
}
if (var_val_len > sizeof(setval)){
fprintf(stderr,"write to ipDefaultTTL: bad length\n");
return SNMP_ERR_WRONGLENGTH;
}
setval = *(long *)var_val;
break;
case RESERVE2:
case FREE:
case ACTION:
case UNDO:
break;
case COMMIT:
ip_defttl = setval;
break;
}
return SNMP_ERR_NOERROR;
}
// ---------------------------------------------------------------------------
// writing these is not supported. The templates from mib2c are retained.
//
//NOTSUPPORTED:
#if 0
int
write_ipNetToMediaIfIndex(int action,
u_char *var_val,
u_char var_val_type,
size_t var_val_len,
u_char *statP,
oid *name,
size_t name_len)
{
static long *long_ret;
int size;
switch ( action ) {
case RESERVE1:
if (var_val_type != ASN_INTEGER){
fprintf(stderr, "write to ipNetToMediaIfIndex not ASN_INTEGER\n");
return SNMP_ERR_WRONGTYPE;
}
if (var_val_len > sizeof(long_ret)){
fprintf(stderr,"write to ipNetToMediaIfIndex: bad length\n");
return SNMP_ERR_WRONGLENGTH;
}
break;
case RESERVE2:
size = var_val_len;
long_ret = (long *) var_val;
break;
case FREE:
/* Release any resources that have been allocated */
break;
case ACTION:
/* The variable has been stored in long_ret for
you to use, and you have just been asked to do something with
it. Note that anything done here must be reversable in the UNDO case */
break;
case UNDO:
/* Back out any changes made in the ACTION case */
break;
case COMMIT:
/* Things are working well, so it's now safe to make the change
permanently. Make sure that anything done here can't fail! */
break;
}
return SNMP_ERR_NOERROR;
}
int
write_ipNetToMediaPhysAddress(int action,
u_char *var_val,
u_char var_val_type,
size_t var_val_len,
u_char *statP,
oid *name,
size_t name_len)
{
static unsigned char string[SPRINT_MAX_LEN];
int size;
switch ( action ) {
case RESERVE1:
if (var_val_type != ASN_OCTET_STR){
fprintf(stderr, "write to ipNetToMediaPhysAddress not ASN_OCTET_STR\n");
return SNMP_ERR_WRONGTYPE;
}
if (var_val_len > sizeof(string)){
fprintf(stderr,"write to ipNetToMediaPhysAddress: bad length\n");
return SNMP_ERR_WRONGLENGTH;
}
break;
case RESERVE2:
size = var_val_len;
//string = (char *) var_val;
break;
case FREE:
/* Release any resources that have been allocated */
break;
case ACTION:
/* The variable has been stored in string for
you to use, and you have just been asked to do something with
it. Note that anything done here must be reversable in the UNDO case */
break;
case UNDO:
/* Back out any changes made in the ACTION case */
break;
case COMMIT:
/* Things are working well, so it's now safe to make the change
permanently. Make sure that anything done here can't fail! */
break;
}
return SNMP_ERR_NOERROR;
}
int
write_ipNetToMediaNetAddress(int action,
u_char *var_val,
u_char var_val_type,
size_t var_val_len,
u_char *statP,
oid *name,
size_t name_len)
{
static unsigned char string[SPRINT_MAX_LEN];
int size;
switch ( action ) {
case RESERVE1:
if (var_val_type != ASN_IPADDRESS){
fprintf(stderr, "write to ipNetToMediaNetAddress not ASN_IPADDRESS\n");
return SNMP_ERR_WRONGTYPE;
}
if (var_val_len > sizeof(string)){
fprintf(stderr,"write to ipNetToMediaNetAddress: bad length\n");
return SNMP_ERR_WRONGLENGTH;
}
break;
case RESERVE2:
size = var_val_len;
//string = (char *) var_val;
break;
case FREE:
/* Release any resources that have been allocated */
break;
case ACTION:
/* The variable has been stored in string for
you to use, and you have just been asked to do something with
it. Note that anything done here must be reversable in the UNDO case */
break;
case UNDO:
/* Back out any changes made in the ACTION case */
break;
case COMMIT:
/* Things are working well, so it's now safe to make the change
permanently. Make sure that anything done here can't fail! */
break;
}
return SNMP_ERR_NOERROR;
}
int
write_ipNetToMediaType(int action,
u_char *var_val,
u_char var_val_type,
size_t var_val_len,
u_char *statP,
oid *name,
size_t name_len)
{
static long *long_ret;
int size;
switch ( action ) {
case RESERVE1:
if (var_val_type != ASN_INTEGER){
fprintf(stderr, "write to ipNetToMediaType not ASN_INTEGER\n");
return SNMP_ERR_WRONGTYPE;
}
if (var_val_len > sizeof(long_ret)){
fprintf(stderr,"write to ipNetToMediaType: bad length\n");
return SNMP_ERR_WRONGLENGTH;
}
break;
case RESERVE2:
size = var_val_len;
long_ret = (long *) var_val;
break;
case FREE:
/* Release any resources that have been allocated */
break;
case ACTION:
/* The variable has been stored in long_ret for
you to use, and you have just been asked to do something with
it. Note that anything done here must be reversable in the UNDO case */
break;
case UNDO:
/* Back out any changes made in the ACTION case */
break;
case COMMIT:
/* Things are working well, so it's now safe to make the change
permanently. Make sure that anything done here can't fail! */
break;
}
return SNMP_ERR_NOERROR;
}
#endif
// ---------------------------------------------------------------------------
// EOF ip.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -