📄 axscmpnt.c
字号:
/* * Copyright 2001-2005 Wind River Systems, Inc. * All rights reserved. Provided under license only. * Distribution or other use of this software is only * permitted pursuant to the terms of a license agreement * from Wind River Systems (and is otherwise prohibited). * Refer to that license agreement for terms of use. *//* * $Log: axscmpnt.c,v $ * Revision 1.4 2003/01/15 14:05:11 josh * directory structure shifting * * Revision 1.3 2002/06/05 19:48:09 tneale * Added dynamic configuration of AgentX subagent. Moved ax_sub.c to the ax_sub directory * * Revision 1.2 2001/11/06 21:20:39 josh * revised new path hacking * * Revision 1.1.1.1 2001/11/05 17:47:49 tneale * Tornado shuffle * * Revision 1.1.2.5 2001/10/19 21:50:48 meister * snmpdInstalledComponentsValue should be unsigned in all references. * * Revision 1.1.2.4 2001/10/19 21:09:33 meister * get rid of the message-queue method of communicating which components * are installed, in favor of a directly accessible bit-mask variable. We never * never used the message queue for anything the simple bit mask couldnt do. * * Revision 1.1.2.3 2001/10/16 19:53:02 meister * Tornado 2 doesnt have a VX_USER_MODE #define. * * Revision 1.1.2.2 2001/09/18 16:36:16 meister * snmpd config msgQ and mutex should have consistent names. * * Revision 1.1.2.1 2001/08/29 15:43:23 meister * component initialization for the vxworks snmpd components * *//*modification history-------------------------01b,19apr05,job update copyright notices01a,01dec03,job update copyright information*/#include "copyright_wrs.h"#include <vxWorks.h>#include <stdio.h>#include <msgQLib.h>#include <semLib.h>#include <taskLib.h>#include <wrn/wm/snmp/vxagent/axCfg.h>#include <wrn/wm/snmp/engine/vxcmpnts.h>#include <wrn/wm/snmp/vxagent/vxprotos.h>#include <wrn/wm/common/dyncfg.h>DYNCFG_EXTERN_FUNCPTR0(axSubagentIoInit,STATUS)DYNCFG_EXTERN_FUNCPTR0(snmpAxSubagentSpawn,void)void registerAxSubagentComponent (void);extern unsigned int snmpdInstalledComponentsValue;extern SEM_ID snmpdConfigMutex;static void _ax_sub_user_dyncfg_init(void){ DYNCFG_FUNCPTR_SET_DEFAULT(axSubagentIoInit); DYNCFG_FUNCPTR_SET_DEFAULT(snmpAxSubagentSpawn);}void initAxSubagentComponent (void){ int task_mode;#if INSTALL_ENVOY_VXWORKS_TAE task_mode = VX_USER_MODE;#else task_mode = 0x0000;#endif taskSpawn ("tRegAxSubagentComponent", 95, task_mode, 8182, (FUNCPTR) registerAxSubagentComponent, 0,0,0,0,0,0,0,0,0,0);}void registerAxSubagentComponent (void){ semTake (snmpdConfigMutex, WAIT_FOREVER); snmpdInstalledComponentsValue |= SNMPD_AGENTX_SUBAGENT_COMPONENT; /* set up any pointers needed for dynamic configuration */ ax_sub_dyncfg_init (); /* this one will handle the user part */ _ax_sub_user_dyncfg_init(); semGive (snmpdConfigMutex);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -