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

📄 v3_ntfy.h

📁 wm PNE 3.3 source code, running at more than vxworks6.x version.
💻 H
字号:
/* $Header: /usr/cvsroot/target/h/wrn/wm/snmp/engine/v3_ntfy.h,v 1.2 2001/11/06 21:35:06 josh Exp $ *//* * Copyright (C) 1999-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. *//**************************************************************************** *  Copyright 1998 Integrated Systems, Inc. *  All rights reserved. ****************************************************************************//* * $Log: v3_ntfy.h,v $ * Revision 1.2  2001/11/06 21:35:06  josh * new revised path structure, first pass.  Also removing useless * shell include files. * * Revision 1.1.1.1  2001/11/05 17:47:24  tneale * Tornado shuffle * * Revision 9.6  2001/01/19 22:22:12  paul * Update copyright. * * Revision 9.5  2000/03/17 19:48:46  meister * Update copyright notice * * Revision 9.4  2000/03/09 20:58:36  tneale * All structure definitions are now bracketted with a test that * potentially sets an alignment pragma.  This is to maintain compatibility * with the code base that had been distributed by Wind River. * * Revision 9.3  2000/03/09 17:06:27  tneale *  Added #ifdef for C++ to declare extern C if needed * * Revision 9.2  2000/02/04 21:54:24  josh * prototyping functions that may need to be called by other modules * this is done primarily to make the vxWorks compiler happy. * Warning:  the prototypes added may be duplicated by a mib_hand.h * file generated by Emissary. * * Revision 9.1  2000/01/02 22:55:56  josh * patching up a memory leak here, a broken compare there...per * sar's comments * * Revision 9.0  1999/10/21 20:43:36  josh * updating version stamps * * Revision 1.7  1999/10/21 19:13:08  josh * adding flags for flags fields in various objects to help with row * creation * * Revision 1.6  1999/10/15 17:47:27  josh * included MIB leaf definitions and cleaned up useless macros * * Revision 1.5  1999/09/21 21:31:26  josh * Adding a limit constant for the NotifyFilterMask * * Revision 1.4  1999/09/14 19:35:26  josh * updating default initialization per RFC 2573 * * Revision 1.3  1999/09/11 02:15:19  josh * added definitions for filter excluded and included * * Revision 1.2  1999/09/01 20:50:02  josh * updates to reach consistency with v3_ntfy.c * * Revision 1.1  1999/06/16 17:04:22  josh * First step of adding RFC2573 Notify support. * * *//* [clearcase]modification history-------------------01a,19apr05,job  update copyright notices*/#if (!defined(v3_ntfy_inc))#define v3_ntfy_inc#ifdef __cplusplusextern"C" {#endif#if (!defined(asn1_inc))#include <wrn/wm/snmp/engine/asn1.h>#endif#if (!defined(buffer_inc))#include <wrn/wm/snmp/engine/buffer.h>#endif#if (!defined(smi_inc))#include <wrn/wm/snmp/engine/smi.h>#endif#define ETC_NOTIFY_MAX                 32#define ETC_NOTIFY_FILTER_PROFILE_MAX  32#define ETC_NOTIFY_FILTER_MAX          32#define ETC_NOTIFY_FILTER_MASK_MAX     16#ifdef WINDNET_STRUCT_ALIGN#pragma align 1#endiftypedef struct SNMP_NOTIFY_S        {        struct SNMP_NOTIFY_S *next;        EBUFFER_T  notify_name;   /* Name of the notify */        EBUFFER_T  notify_tag;    /* Tag notify is associated with */        bits16_t   notify_type;   /* Trap or Inform? */#define SNMP_NOTIFY_TRAP   1#define SNMP_NOTIFY_INFORM 2        bits16_t   storage;            bits16_t   status;        bits16_t   flags;        } SNMP_NOTIFY_T;/* global root pointer for notify list */extern SNMP_NOTIFY_T *root_notify;#define SNMP_Notify_Set_Defaults(T)                \      (MEMSET((T), 0, sizeof(SNMP_NOTIFY_T)),      \       EBufferInitialize(&((T)->notify_name)),     \       EBufferInitialize(&((T)->notify_tag)),      \       (T)->notify_type = SNMP_NOTIFY_TRAP,        \       (T)->storage = ETC_STO_NONVOL,              \       (T)->status = ETC_RS_NREADY,                \       (T)->flags = 0)          extern SNMP_NOTIFY_T * SNMP_Notify_Create  __((void));extern void SNMP_Notify_Destroy __((SNMP_NOTIFY_T *));extern int  SNMP_Notify_Install __((SNMP_NOTIFY_T *, bits8_t *,                                    ALENGTH_T));extern void SNMP_Notify_Deinstall __((SNMP_NOTIFY_T *));extern SNMP_NOTIFY_T * SNMP_Notify_Lookup __((bits8_t *, ALENGTH_T));extern SNMP_NOTIFY_T * SNMP_Notify_Next __((int, OIDC_T *));extern SNMP_NOTIFY_T * SNMP_Notify_Next_Notify __((SNMP_NOTIFY_T *));extern void SNMP_Notify_Name __((SNMP_NOTIFY_T *, bits8_t *, 				 ALENGTH_T *));#define SNMP_Notify_Get_Name(N)       (EBufferStart(&((N)->notify_name)))#define SNMP_Notify_Get_Name_Len(N)   (EBufferUsed(&((N)->notify_name)))#define SNMP_Notify_Get_Tag(N)       (EBufferStart(&((N)->notify_tag)))#define SNMP_Notify_Get_Tag_Len(N)   (EBufferUsed(&((N)->notify_tag)))#define SNMP_Notify_Set_Tag(N, S, L, F) \        (EBufferAllocateLoad((F), &((N)->notify_tag), (S), (L)))#define SNMP_Notify_Get_Type(N)      ((N)->notify_type)#define SNMP_Notify_Set_Type(N, V)   ((N)->notify_type = (bits16_t)(V))#define SNMP_Notify_Get_Storage(N)      ((N)->storage)#define SNMP_Notify_Set_Storage(N, V)   ((N)->storage = (bits16_t)(V))#define SNMP_Notify_Get_Status(N)      ((N)->status)#define SNMP_Notify_Set_Status(N, V)   ((N)->status = (bits16_t)(V))#define SNMP_Notify_Get_Flags(N)      ((N)->flags)#define SNMP_Notify_Set_Flags(N, V)   ((N)->flags = (bits16_t)(V))typedef struct SNMP_NOTIFY_FILTER_PROFILE_S        {        struct SNMP_NOTIFY_FILTER_PROFILE_S *next;        EBUFFER_T  params_name;   /* From snmpTargetParamsTable */        EBUFFER_T  profile_name;  /* Name of filter profile */        bits16_t   storage;        bits16_t   status;        bits16_t   flags;        } SNMP_NOTIFY_FILTER_PROFILE_T;#define ETC_NPROF_PROFILE   0x01#define ETC_NPROF_ALL_FLAGS 0x01/* global root pointer for notify filter profile list */extern SNMP_NOTIFY_FILTER_PROFILE_T *root_notify_filter_profile;#define SNMP_Notify_Profile_Set_Defaults(T)           \      (MEMSET((T), 0, sizeof(SNMP_NOTIFY_FILTER_PROFILE_T)), \       EBufferInitialize(&((T)->params_name)),               \       EBufferInitialize(&((T)->profile_name)),              \       (T)->storage = ETC_STO_NONVOL,                        \       (T)->status = ETC_RS_NREADY,                          \       (T)->flags = 0)          extern SNMP_NOTIFY_FILTER_PROFILE_T * SNMP_Notify_Profile_Create        __((void));extern void SNMP_Notify_Profile_Destroy       __((SNMP_NOTIFY_FILTER_PROFILE_T *));extern int  SNMP_Notify_Profile_Install       __((SNMP_NOTIFY_FILTER_PROFILE_T *, bits8_t *, ALENGTH_T));extern void SNMP_Notify_Profile_Deinstall       __((SNMP_NOTIFY_FILTER_PROFILE_T *));extern SNMP_NOTIFY_FILTER_PROFILE_T * SNMP_Notify_Profile_Lookup       __((bits8_t *, ALENGTH_T));extern SNMP_NOTIFY_FILTER_PROFILE_T * SNMP_Notify_Profile_Next       __((int, OIDC_T *));extern SNMP_NOTIFY_FILTER_PROFILE_T * SNMP_Notify_Profile_Next_Profile      __((SNMP_NOTIFY_FILTER_PROFILE_T *));extern void SNMP_Notify_Profile_Name       __((SNMP_NOTIFY_FILTER_PROFILE_T *, bits8_t *, ALENGTH_T *));#define SNMP_Notify_Profile_Get_Params(N)  \        (EBufferStart(&((N)->params_name)))#define SNMP_Notify_Profile_Get_Params_Len(N) \        (EBufferUsed(&((N)->params_name)))#define SNMP_Notify_Profile_Get_Profile(N)  \        (EBufferStart(&((N)->profile_name)))#define SNMP_Notify_Profile_Get_Profile_Len(N) \        (EBufferUsed(&((N)->profile_name)))#define SNMP_Notify_Profile_Set_Profile(N, S, L, F) \        (EBufferAllocateLoad((F), &((N)->profile_name), (S), (L)))#define SNMP_Notify_Profile_Get_Storage(N)      ((N)->storage)#define SNMP_Notify_Profile_Set_Storage(N, V)   ((N)->storage = (bits16_t)(V))#define SNMP_Notify_Profile_Get_Status(N)      ((N)->status)#define SNMP_Notify_Profile_Set_Status(N, V)   ((N)->status = (bits16_t)(V))#define SNMP_Notify_Profile_Get_Flags(N)      ((N)->flags)#define SNMP_Notify_Profile_Set_Flags(N, V)   ((N)->flags = (bits16_t)(V))typedef struct SNMP_NOTIFY_FILTER_S        {        struct SNMP_NOTIFY_FILTER_S *next;        EBUFFER_T  profile_name;  /* From snmpNotifyFilterProfileTable */        OBJ_ID_T   subtree;       /* MIB subtree for this filter */        EBUFFER_T  filter_mask;   /* Mask for subtree */        bits16_t   filter_type;   /* include or exclude filter */#define SNMP_NOTIFY_FILTER_INCLUDED 1#define SNMP_NOTIFY_FILTER_EXCLUDED 2        bits16_t   storage;        bits16_t   status;        bits16_t   flags;        } SNMP_NOTIFY_FILTER_T;#ifdef WINDNET_STRUCT_ALIGN#pragma align 0#endif/* global root pointer for notify filter list */extern SNMP_NOTIFY_FILTER_T *root_notify_filter;#define SNMP_Notify_Filter_Set_Defaults(T)             \      (MEMSET((T), 0, sizeof(SNMP_NOTIFY_FILTER_T)),   \       EBufferInitialize(&((T)->profile_name)) ,       \       EBufferInitialize(&((T)->filter_mask)),         \       (T)->filter_type = SNMP_NOTIFY_FILTER_INCLUDED, \       (T)->storage = ETC_STO_NONVOL,                  \       (T)->status = ETC_RS_NREADY,                    \       (T)->flags = 0)          extern SNMP_NOTIFY_FILTER_T * SNMP_Notify_Filter_Create __((void));extern void SNMP_Notify_Filter_Destroy __((SNMP_NOTIFY_FILTER_T *));extern int  SNMP_Notify_Filter_Install __((SNMP_NOTIFY_FILTER_T *, bits8_t *, 					   ALENGTH_T, OBJ_ID_T *));extern void SNMP_Notify_Filter_Deinstall __((SNMP_NOTIFY_FILTER_T *));extern SNMP_NOTIFY_FILTER_T * SNMP_Notify_Filter_Lookup       __((bits8_t *, ALENGTH_T, OBJ_ID_T *));extern SNMP_NOTIFY_FILTER_T * SNMP_Notify_Filter_Next __((int, OIDC_T *));extern SNMP_NOTIFY_FILTER_T * SNMP_Notify_Filter_Next_Filter      __((SNMP_NOTIFY_FILTER_T *));extern void SNMP_Notify_Filter_Name __((SNMP_NOTIFY_FILTER_T *, 					bits8_t *, ALENGTH_T *,					OIDC_T **, int *));#define SNMP_Notify_Filter_Get_Profile(N) \        (EBufferStart(&((N)->profile_name)))#define SNMP_Notify_Filter_Get_Profile_Len(N) \        (EBufferUsed(&((N)->profile_name)))#define SNMP_Notify_Filter_Get_Subtree(N) (&((N)->subtree))#define SNMP_Notify_Filter_Get_Mask(N) \        (EBufferStart(&((N)->filter_mask)))#define SNMP_Notify_Filter_Get_Mask_Len(N) \        (EBufferUsed(&((N)->filter_mask)))#define SNMP_Notify_Filter_Set_Mask(N, S, L, F) \        (EBufferAllocateLoad((F), &((N)->filter_mask), (S), (L)))#define SNMP_Notify_Filter_Get_Type(N)     ((N)->filter_type)#define SNMP_Notify_Filter_Set_Type(N, V)  ((N)->filter_type = (bits16_t)(V))#define SNMP_Notify_Filter_Get_Storage(N)      ((N)->storage)#define SNMP_Notify_Filter_Set_Storage(N, V)   ((N)->storage = (bits16_t)(V))#define SNMP_Notify_Filter_Get_Status(N)      ((N)->status)#define SNMP_Notify_Filter_Set_Status(N, V)   ((N)->status = (bits16_t)(V))#define SNMP_Notify_Filter_Get_Flags(N)      ((N)->flags)#define SNMP_Notify_Filter_Set_Flags(N, V)   ((N)->flags = (bits16_t)(V))extern void snmpNotifyEntry_get    __((OIDC_T, int, OIDC_T *,				       SNMP_PKT_T *, VB_T *));extern void snmpNotifyEntry_next    __((OIDC_T, int, OIDC_T *,					SNMP_PKT_T *, VB_T *));extern void snmpNotifyEntry_test    __((OIDC_T, int, OIDC_T *,					SNMP_PKT_T *, VB_T *));extern void snmpNotifyEntry_set    __((OIDC_T, int, OIDC_T *,				       SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterProfileEntry_get    __((OIDC_T, int, OIDC_T *,						    SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterProfileEntry_next    __((OIDC_T, int, OIDC_T *,						    SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterProfileEntry_test    __((OIDC_T, int, OIDC_T *,						     SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterProfileEntry_set    __((OIDC_T, int, OIDC_T *,						    SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterEntry_get    __((OIDC_T, int, OIDC_T *,					     SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterEntry_next    __((OIDC_T, int, OIDC_T *,					      SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterEntry_test    __((OIDC_T, int, OIDC_T *,					      SNMP_PKT_T *, VB_T *));extern void snmpNotifyFilterEntry_set    __((OIDC_T, int, OIDC_T *,					     SNMP_PKT_T *, VB_T *));/* The leaf definitions for the method routines */#define LEAF_snmpNotifyName	1#define MINSIZE_snmpNotifyName	1L#define MAXSIZE_snmpNotifyName	32L#define LEAF_snmpNotifyTag	2#define MINSIZE_snmpNotifyTag	0L#define MAXSIZE_snmpNotifyTag	255L#define LEAF_snmpNotifyType	3#define VAL_snmpNotifyType_trap	1L#define VAL_snmpNotifyType_inform	2L#define LEAF_snmpNotifyStorageType	4#define VAL_snmpNotifyStorageType_other	1L#define VAL_snmpNotifyStorageType_volatile	2L#define VAL_snmpNotifyStorageType_nonVolatile	3L#define VAL_snmpNotifyStorageType_permanent	4L#define VAL_snmpNotifyStorageType_readOnly	5L#define LEAF_snmpNotifyRowStatus	5#define VAL_snmpNotifyRowStatus_active	1L#define VAL_snmpNotifyRowStatus_notInService	2L#define VAL_snmpNotifyRowStatus_notReady	3L#define VAL_snmpNotifyRowStatus_createAndGo	4L#define VAL_snmpNotifyRowStatus_createAndWait	5L#define VAL_snmpNotifyRowStatus_destroy	6L#define LEAF_snmpNotifyFilterProfileName	1#define MINSIZE_snmpNotifyFilterProfileName	1L#define MAXSIZE_snmpNotifyFilterProfileName	32L#define LEAF_snmpNotifyFilterProfileStorType	2#define VAL_snmpNotifyFilterProfileStorType_other	1L#define VAL_snmpNotifyFilterProfileStorType_volatile	2L#define VAL_snmpNotifyFilterProfileStorType_nonVolatile	3L#define VAL_snmpNotifyFilterProfileStorType_permanent	4L#define VAL_snmpNotifyFilterProfileStorType_readOnly	5L#define LEAF_snmpNotifyFilterProfileRowStatus	3#define VAL_snmpNotifyFilterProfileRowStatus_active	1L#define VAL_snmpNotifyFilterProfileRowStatus_notInService	2L#define VAL_snmpNotifyFilterProfileRowStatus_notReady	3L#define VAL_snmpNotifyFilterProfileRowStatus_createAndGo	4L#define VAL_snmpNotifyFilterProfileRowStatus_createAndWait	5L#define VAL_snmpNotifyFilterProfileRowStatus_destroy	6L#define LEAF_snmpNotifyFilterSubtree	1#define LEAF_snmpNotifyFilterMask	2#define MINSIZE_snmpNotifyFilterMask	0L#define MAXSIZE_snmpNotifyFilterMask	16L#define LEAF_snmpNotifyFilterType	3#define VAL_snmpNotifyFilterType_included	1L#define VAL_snmpNotifyFilterType_excluded	2L#define LEAF_snmpNotifyFilterStorageType	4#define VAL_snmpNotifyFilterStorageType_other	1L#define VAL_snmpNotifyFilterStorageType_volatile	2L#define VAL_snmpNotifyFilterStorageType_nonVolatile	3L#define VAL_snmpNotifyFilterStorageType_permanent	4L#define VAL_snmpNotifyFilterStorageType_readOnly	5L#define LEAF_snmpNotifyFilterRowStatus	5#define VAL_snmpNotifyFilterRowStatus_active	1L#define VAL_snmpNotifyFilterRowStatus_notInService	2L#define VAL_snmpNotifyFilterRowStatus_notReady	3L#define VAL_snmpNotifyFilterRowStatus_createAndGo	4L#define VAL_snmpNotifyFilterRowStatus_createAndWait	5L#define VAL_snmpNotifyFilterRowStatus_destroy	6L#ifdef __cplusplus}#endif#endif /* #if (!defined(v3_ntfy_inc))*/

⌨️ 快捷键说明

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