📄 v3_trgt.h
字号:
/* $Header: /usr/cvsroot/target/h/wrn/wm/snmp/engine/v3_trgt.h,v 1.2 2001/11/06 21:35:07 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_trgt.h,v $ * Revision 1.2 2001/11/06 21:35:07 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.8.4.2 2001/09/21 19:16:08 josh * updating and expanding structures for use with coexistence * * Revision 9.8.4.1 2001/07/16 18:02:13 josh * a first-round commit adding infrastructure support * for the SNMPv3 Coexistence RFC (2576) * * Revision 9.8 2001/04/11 20:42:56 josh * merge from the kingfisher branch * * Revision 9.7 2001/01/19 22:22:12 paul * Update copyright. * * Revision 9.6 2000/06/09 14:54:13 josh * modifications due to new installation options, new proxy code * moved some definitions from sendntfy.h into v3_trgt.h so they'd * be built with the target code * * Revision 9.5.2.2 2001/03/12 22:08:02 tneale * Updated copyright * * Revision 9.5.2.1 2000/09/21 21:14:55 josh * bringing branch include files in line with root * * Revision 9.5 2000/03/17 19:48:47 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:07:15 tneale * Added #ifdef for C++ to declare extern C if needed * * Revision 9.2 2000/02/04 21:54:25 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:35 josh * updating version stamps * * Revision 1.5 1999/10/21 19:13:09 josh * adding flags for flags fields in various objects to help with row * creation * * Revision 1.4 1999/10/15 17:47:26 josh * included MIB leaf definitions and cleaned up useless macros * * Revision 1.3 1999/09/21 21:31:45 josh * fixed a few structure access macros * * Revision 1.2 1999/09/14 19:35:26 josh * updating default initialization per RFC 2573 * * Revision 1.1 1999/06/16 17:04:23 josh * First step of adding RFC2573 Notify support. * * *//* [clearcase]modification history-------------------01a,19apr05,job update copyright notices*/#if (!defined(v3_trgt_inc))#define v3_trgt_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_TARGET_ADDR_MAX 32#define ETC_TARGET_PARAMS_MAX 32#ifdef WINDNET_STRUCT_ALIGN#pragma align 1#endiftypedef struct SNMP_TARGET_ADDR_S { struct SNMP_TARGET_ADDR_S *next; EBUFFER_T target_name; /* the name of the target */ OBJ_ID_T tdomain; /* the transport domain */ EBUFFER_T taddress; /* target address */ EBUFFER_T tmask; /* target mask */ sbits32_t timeout; /* interval between retr. */ bits16_t retry_count; /* number of retrans. */ bits32_t target_mms; /* max message size */ EBUFFER_T tag_list; /* list of magic labels */ EBUFFER_T params; /* name of SNMP_TARGET_PARAM_T */ bits16_t storage; bits16_t status; bits16_t flags; } SNMP_TARGET_ADDR_T;#define ETC_TADDR_TDOMAIN 0x01#define ETC_TADDR_TADDRESS 0x02#define ETC_TADDR_PARAMS 0x04#define ETC_TADDR_ALL_FLAGS 0x07#define ETC_TADDR_TIMEOUT 1500#define ETC_TADDR_RETRY_COUNT 3#define ETC_TADDR_MMS 484/* global root pointer for target params list */extern SNMP_TARGET_ADDR_T *root_target_addr;#define SNMP_Target_Addr_Set_Defaults(T) \ (MEMSET((T), 0, sizeof(SNMP_TARGET_ADDR_T)), \ EBufferInitialize(&((T)->target_name)), \ EBufferInitialize(&((T)->taddress)), \ EBufferInitialize(&((T)->tmask)), \ EBufferInitialize(&((T)->tag_list)), \ EBufferInitialize(&((T)->params)), \ (T)->timeout = ETC_TADDR_TIMEOUT, \ (T)->retry_count = ETC_TADDR_RETRY_COUNT, \ (T)->target_mms = ETC_TADDR_MMS, \ (T)->storage = ETC_STO_NONVOL, \ (T)->status = ETC_RS_NREADY, \ (T)->flags = 0) extern SNMP_TARGET_ADDR_T * SNMP_Target_Addr_Create __((void));extern void SNMP_Target_Addr_Destroy __((SNMP_TARGET_ADDR_T *));extern int SNMP_Target_Addr_Install __((SNMP_TARGET_ADDR_T *, bits8_t *, ALENGTH_T));extern void SNMP_Target_Addr_Deinstall __((SNMP_TARGET_ADDR_T *));extern SNMP_TARGET_ADDR_T * SNMP_Target_Addr_Lookup __((bits8_t *, ALENGTH_T));extern SNMP_TARGET_ADDR_T * SNMP_Target_Addr_Next __((int, OIDC_T *));extern SNMP_TARGET_ADDR_T * SNMP_Target_Addr_Next_Addr __((SNMP_TARGET_ADDR_T *));extern void SNMP_Target_Addr_Name __((SNMP_TARGET_ADDR_T *, bits8_t *, ALENGTH_T *));#define SNMP_Target_Addr_Get_Name(T) (EBufferStart(&((T)->target_name)))#define SNMP_Target_Addr_Get_Name_Len(T) (EBufferUsed(&((T)->target_name)))#define SNMP_Target_Addr_Get_TDomain(T) (&((T)->tdomain))#define SNMP_Target_Addr_Set_TDomain(T, D, L) \ (build_object_id((L), (D), (&((T)->tdomain))))#define SNMP_Target_Addr_Get_TAddress(T) (EBufferStart(&((T)->taddress)))#define SNMP_Target_Addr_Get_TAddress_Len(T) (EBufferUsed(&((T)->taddress)))#define SNMP_Target_Addr_Set_TAddress(T, S, L, F) \ (EBufferAllocateLoad((F), &((T)->taddress), (S), (L)))#define SNMP_Target_Addr_Get_TMask(T) (EBufferStart(&((T)->tmask)))#define SNMP_Target_Addr_Get_TMask_Len(T) (EBufferUsed(&((T)->tmask)))#define SNMP_Target_Addr_Set_TMask(T, S, L, F) \ (EBufferAllocateLoad((F), &((T)->tmask), (S), (L)))#define SNMP_Target_Addr_Get_Timeout(T) ((T)->timeout)#define SNMP_Target_Addr_Set_Timeout(T, V) ((T)->timeout = (sbits32_t)(V))#define SNMP_Target_Addr_Get_Retry_Count(T) ((T)->retry_count)#define SNMP_Target_Addr_Set_Retry_Count(T, V) ((T)->retry_count = (bits16_t)(V))#define SNMP_Target_Addr_Get_MMS(T) ((T)->target_mms)#define SNMP_Target_Addr_Set_MMS(T, V) ((T)->target_mms = (bits16_t)(V))#define SNMP_Target_Addr_Get_Tag_List(T) (EBufferStart(&((T)->tag_list)))#define SNMP_Target_Addr_Get_Tag_List_Len(T) (EBufferUsed(&((T)->tag_list)))#define SNMP_Target_Addr_Set_Tag_List(T, S, L, F) \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -