⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 localgrp.c

📁 非常不错的网管开发包
💻 C
📖 第 1 页 / 共 2 页
字号:
        case RESERVE2:          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! */	        memset(command, 0, SPRINT_MAX_LEN);#ifdef __linux__		    sprintf(command,"/etc/rc.d/init.d/vocalstart restart %s",startProcessName);#else		    sprintf(command,"/etc/init.d/vocalstart restart %s",startProcessName);#endif	        if (system(command) == -1 ) {		        fprintf(stderr,"localGrpStartProcess:: set failed");	        }	        break;  }  return SNMP_ERR_NOERROR;}intwrite_localGrpStopProcessName(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 localGrpStopProcessName not ASN_OCTET_STR\n");              return SNMP_ERR_WRONGTYPE;          }          if (var_val_len > sizeof(string)){              fprintf(stderr,"write to localGrpStopProcessName: bad length\n");              return SNMP_ERR_WRONGLENGTH;          }	  // this will avoid constantly checking for void var_val below.	  if (!var_val || var_val_len == 0 ) {	      fprintf(stderr, "write to localGrpStopProcessName: null value");	      return SNMP_ERR_WRONGVALUE;	  }          break;        case RESERVE2:	    size = var_val_len;	    memset(string, 0, SPRINT_MAX_LEN);	    strncpy(string, var_val, size);	    	    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 */	    memset(old_stopProcessName, 0, SPRINT_MAX_LEN);	    strcpy(old_stopProcessName, stopProcessName);	    memset(stopProcessName, 0, SPRINT_MAX_LEN);	    strcpy(stopProcessName, string);	  break;        case UNDO:             /* Back out any changes made in the ACTION case */	    memset(stopProcessName, 0, SPRINT_MAX_LEN);	    strcpy(stopProcessName, old_stopProcessName);	    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;}intwrite_localGrpStopProcess(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:			/*			 *  The only acceptable value is the integer 1			 */          if (var_val_type != ASN_INTEGER){              fprintf(stderr, "write to localGrpStopProcess not ASN_INTEGER\n");              return SNMP_ERR_WRONGTYPE;          }/*  maneri: the value of var_val doesn't work on solaris.  This will be fixed     after Asaigo */#ifdef __linux__	  if  ( *var_val != 1 ) {	      fprintf(stderr, "localGrpStopProcess:: set value must be \"1\"");	      return SNMP_ERR_WRONGVALUE;	  }#endif          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! */	        memset(command, 0, SPRINT_MAX_LEN);#ifdef __linux__		sprintf(command,"/etc/rc.d/init.d/vocalstart stop %s",stopProcessName);#else		sprintf(command,"/etc/init.d/vocalstart stop %s",stopProcessName);#endif	    if (system(command) == -1 ) {		fprintf(stderr,"localGrpStopProcess:: set failed");	    }          break;  }  return SNMP_ERR_NOERROR;}intwrite_localGrpDebugLevel(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;    ipcMessage message;    int port, found, index;    switch ( action ) {    case RESERVE1:	if (var_val_type != ASN_INTEGER){	    fprintf(stderr, "write to localGrpDebugLevel not ASN_INTEGER\n");	    return SNMP_ERR_WRONGTYPE;	}	if (var_val_len > sizeof(int)){	    fprintf(stderr,"write to localGrpDebugLevel: bad length\n");	    return SNMP_ERR_WRONGLENGTH;	}//	  if (var_val > LOG_DEBUG_STACK) {	if (*((int *)var_val) >= 8) {	    fprintf(stderr, "write to localGrpDebugLevel: bad debug level value\n");	    return SNMP_ERR_WRONGVALUE;	}	break;    case RESERVE2:	new_debugLevel = *((int *) var_val);	index =  TrapAgent_GetNextIndex((void *)trapAgent, 0, SERVER_Unknown);;	found = false;	port = TrapAgent_GetStackPortFromIndex((void *)trapAgent, index);	while (found == false && port != 0) {	    if(ipcRequest((actionT)Get,			  DebugLevel,			  port,			  &message) == voSuccess ) {		found = true;		memcpy(&old_debugLevel, message.parm2, sizeof (int));	    } else {		index = TrapAgent_GetNextIndex((void *)trapAgent, index, SERVER_Unknown);		port = TrapAgent_GetStackPortFromIndex((void *)trapAgent, index);	    }	}	if (!found) 	    return SNMP_ERR_RESOURCEUNAVAILABLE;	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 */	    	index = TrapAgent_GetNextIndex((void *)trapAgent, 0, SERVER_Unknown);	port = TrapAgent_GetStackPortFromIndex((void *)trapAgent, index);	while (port) {	    ipcRequestFull((actionT)Set,			   DebugLevel,			   port,			   &message,			   &new_debugLevel,			   sizeof(int));	    index = TrapAgent_GetNextIndex((void *)trapAgent, index, SERVER_Unknown);	    port = TrapAgent_GetStackPortFromIndex((void *)trapAgent, index);	}	break;    case UNDO:	/* Back out any changes made in the ACTION case */	index = TrapAgent_GetNextIndex((void *)trapAgent, 0, SERVER_Unknown);	port = TrapAgent_GetStackPortFromIndex((void *)trapAgent, index);	while (port) {	    ipcRequestFull((actionT)Set,			   DebugLevel,			   port,			   &message,			   &old_debugLevel,			   sizeof(int));	    index = TrapAgent_GetNextIndex((void *)trapAgent, index, SERVER_Unknown);	    port = TrapAgent_GetStackPortFromIndex((void *)trapAgent, index);	}	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;}intwrite_localGrpAddTrapSink(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 localGrpAddTrapSink not ASN_IPADDRESS\n");              return SNMP_ERR_WRONGTYPE;          }          if (var_val_len > sizeof(ulong)){              fprintf(stderr,"write to localGrpAddTrapSink: bad length\n");              return SNMP_ERR_WRONGLENGTH;          }          break;        case RESERVE2:          size = var_val_len;	  memcpy(&ip_ulong, var_val, sizeof(ulong));          break;        case FREE:             /* Release any resources that have been allocated */          break;        case ACTION:             /* The variable has been stored in ulong now do something with it.             Note that anything done here must be reversable in the UNDO case */	    if (add_v2_trap_sink(ip_ulong) == 0) {		printf("localGrp:write_localGrpAddTrapSink:UNDO:  cannot add trap sink: %ul", ip_ulong);	    }          break;        case UNDO:	    /* Back out any changes made in the ACTION case */	    if (remove_v2_trap_sink(ip_ulong) == 0) {		printf("localGrp:write_localGrpAddTrapSink:UNDO:  cannot remove trap sink: %lu", ip_ulong);	    } 	    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;}intwrite_localGrpDeleteTrapSink(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 localGrpDeleteTrapSink not ASN_IPADDRESS\n");              return SNMP_ERR_WRONGTYPE;          }          if (var_val_len > sizeof(string)){              fprintf(stderr,"write to localGrpDeleteTrapSink: bad length\n");              return SNMP_ERR_WRONGLENGTH;          }          break;        case RESERVE2:	  memcpy(&ip_ulong, var_val, sizeof(ulong));          size = var_val_len;          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 */	    if (remove_v2_trap_sink(ip_ulong) == 0) {		printf("localGrp:write_localGrpDeleteTrapSink:UNDO:  cannot remove trap sink: %lu", ip_ulong);	    }           break;        case UNDO:             /* Back out any changes made in the ACTION case */	    if (add_v2_trap_sink(ip_ulong) == 0) {		printf("localGrp:write_localGrpDeleteTrapSink:UNDO:  cannot add trap sink: %ul", ip_ulong);	    }          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;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -