original files of m241
This commit is contained in:
@@ -0,0 +1,244 @@
|
||||
/* $Header: /usr/cvsroot/target/h/wrn/wm/snmp/engine/sendntfy.h,v 1.2 2001/11/06 21:35:03 josh Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 1999-2005, 2008 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: sendntfy.h,v $
|
||||
* Revision 1.2 2001/11/06 21:35:03 josh
|
||||
* new revised path structure, first pass. Also removing useless
|
||||
* shell include files.
|
||||
*
|
||||
* Revision 1.1.1.1 2001/11/05 17:47:23 tneale
|
||||
* Tornado shuffle
|
||||
*
|
||||
* Revision 9.9 2001/04/11 20:42:56 josh
|
||||
* merge from the kingfisher branch
|
||||
*
|
||||
* Revision 9.8 2001/01/19 22:22:06 paul
|
||||
* Update copyright.
|
||||
*
|
||||
* Revision 9.7 2000/07/12 18:39:31 josh
|
||||
* moving SNMP_Find_Matching_Engine_ID() to v3_eng.c -- appropriately
|
||||
* updating headers to correspond
|
||||
*
|
||||
* Revision 9.6 2000/06/09 14:54:12 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.3 2001/03/12 22:07:56 tneale
|
||||
* Updated copyright
|
||||
*
|
||||
* Revision 9.5.2.2 2001/01/19 21:32:24 josh
|
||||
* prototype for SNMP_Send_Notify_Name(). retrans_timer_exp() redefined
|
||||
* to static
|
||||
*
|
||||
* Revision 9.5.2.1 2000/09/21 21:14:53 josh
|
||||
* bringing branch include files in line with root
|
||||
*
|
||||
* Revision 9.5 2000/03/17 19:48:38 meister
|
||||
* Update copyright notice
|
||||
*
|
||||
* Revision 9.4 2000/03/09 20:58:34 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 16:58:01 tneale
|
||||
* Added #ifdef for C++ to declare extern C if needed
|
||||
*
|
||||
* Revision 9.2 2000/02/04 21:54:16 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/05 21:15:28 josh
|
||||
* moving code around to make sure probe checks occur as long as an
|
||||
* engine ID is found
|
||||
*
|
||||
* Revision 9.0 1999/10/21 20:43:35 josh
|
||||
* updating version stamps
|
||||
*
|
||||
* Revision 1.8 1999/10/07 23:38:24 josh
|
||||
* added definition for snmpaddr to taddress conversion routine
|
||||
*
|
||||
* Revision 1.7 1999/10/03 00:18:08 josh
|
||||
* fixing retramit timer code -- setting handler correctly,
|
||||
* cleaning up some double-free situations, and putting locking in
|
||||
* where needed
|
||||
*
|
||||
* Revision 1.6 1999/09/30 22:07:58 josh
|
||||
* cleaning up and changing prototypes to match new cookie scheme
|
||||
*
|
||||
* Revision 1.5 1999/09/27 21:11:44 josh
|
||||
* fixing nits, rewriting engine id <--> address code, adding installation
|
||||
* option
|
||||
*
|
||||
* Revision 1.4 1999/09/15 16:17:39 josh
|
||||
* Linking the Retransmit Lock to the Retransmit list turns out to
|
||||
* be a lot more trouble than it's worth. We'll just refer to
|
||||
* it directly, a la SNMP_CoarseLock.
|
||||
*
|
||||
* Revision 1.3 1999/09/14 19:41:02 josh
|
||||
* completed code for sending v3 notifies
|
||||
*
|
||||
* Revision 1.2 1999/09/11 02:14:06 josh
|
||||
* updating header file -- created retrans block structures
|
||||
*
|
||||
* Revision 1.1 1999/09/01 21:56:04 josh
|
||||
* Code to do actual sending of Notifies
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/* [clearcase]
|
||||
modification history
|
||||
-------------------
|
||||
01b,15jul08,y_z add ack,timeout callback in the RETRANS_COOKIE_T
|
||||
01a,19apr05,job update copyright notices
|
||||
*/
|
||||
|
||||
|
||||
#if (!defined(sendntfy_inc))
|
||||
#define sendntfy_inc
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern"C" {
|
||||
#endif
|
||||
|
||||
#if (!defined(asn1_inc))
|
||||
#include <wrn/wm/snmp/engine/asn1.h>
|
||||
#endif
|
||||
|
||||
#if (!defined(snmpdefs_inc))
|
||||
#include <wrn/wm/snmp/engine/snmpdefs.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
|
||||
|
||||
#if (!defined(etimer_inc))
|
||||
#include <wrn/wm/snmp/engine/etimer.h>
|
||||
#endif
|
||||
|
||||
#if (!defined(v3_trgt_inc))
|
||||
#include <wrn/wm/snmp/engine/v3_trgt.h>
|
||||
#endif
|
||||
|
||||
#if (!defined(v3_ntfy_inc))
|
||||
#include <wrn/wm/snmp/engine/v3_ntfy.h>
|
||||
#endif
|
||||
|
||||
#if (!defined(ntfy_chk_inc))
|
||||
#include <wrn/wm/snmp/engine/ntfy_chk.h>
|
||||
#endif
|
||||
|
||||
#ifndef ENVOY_RETRANS_CLEANUP_INTERVAL
|
||||
#define ENVOY_RETRANS_CLEANUP_INTERVAL 500
|
||||
#endif
|
||||
|
||||
#ifndef ENVOY_SET_RETRANS_ID
|
||||
#define ENVOY_SET_RETRANS_ID(RET) \
|
||||
(RET)->retrans_id = root_retrans_block.next_retrans_id++
|
||||
#endif
|
||||
|
||||
#ifdef WINDNET_STRUCT_ALIGN
|
||||
#pragma align 1
|
||||
#endif
|
||||
|
||||
typedef struct RETRANS_COOKIE_S
|
||||
{
|
||||
struct RETRANS_COOKIE_S *next;
|
||||
int ref_cnt;
|
||||
RETRANS_CLEANUP_T *cleanup_rtn;
|
||||
ACK_CALLBACK_T *ack_rtn;
|
||||
TIMEOUT_CALLBACK_T *timeout_rtn;
|
||||
PTR_T cookie;
|
||||
} RETRANS_COOKIE_T;
|
||||
|
||||
typedef struct SNMP_RETRANS_S
|
||||
{
|
||||
struct SNMP_RETRANS_S *next;
|
||||
SNMP_PKT_T *pktp;
|
||||
SNMPADDR_T for_addr;
|
||||
SNMPADDR_T loc_addr;
|
||||
bits16_t retry_count;
|
||||
bits32_t timeout;
|
||||
IO_COMPLETE_T *io_complete;
|
||||
ERR_COMPLETE_T *error_complete;
|
||||
RETRANS_COOKIE_T *cookie;
|
||||
bits32_t retrans_id;
|
||||
bits32_t time_sent;
|
||||
bits16_t flags;
|
||||
#define SNMP_RETRANS_FLAGS_EXPIRED 0x01
|
||||
#define SNMP_RETRANS_FLAGS_ACKNOWLEDGED 0x02
|
||||
#define SNMP_RETRANS_FLAGS_SENDING_PROBE 0x04
|
||||
bits16_t ref_cnt;
|
||||
TARGET_LIST_T *tlp;
|
||||
} SNMP_RETRANS_T;
|
||||
|
||||
typedef struct SNMP_RETRANS_ROOT_S
|
||||
{
|
||||
SNMP_RETRANS_T *retrans;
|
||||
bits32_t next_retrans_id;
|
||||
ENVOY_TIMER_T timer;
|
||||
} SNMP_RETRANS_ROOT_T;
|
||||
|
||||
#ifdef WINDNET_STRUCT_ALIGN
|
||||
#pragma align 0
|
||||
#endif
|
||||
|
||||
|
||||
extern RETRANS_COOKIE_T *root_retrans_cookie;
|
||||
extern SNMP_RETRANS_ROOT_T root_retrans_block;
|
||||
|
||||
extern int SNMP_Probe_Check __((SNMP_RETRANS_T *));
|
||||
extern void SNMP_Check_Retrans_List __((SNMP_PKT_T *));
|
||||
extern void SNMP_Send_Packet_Retransmit __((SNMP_PKT_T *, SNMPADDR_T *,
|
||||
SNMPADDR_T *, bits16_t,
|
||||
bits32_t, IO_COMPLETE_T *,
|
||||
ERR_COMPLETE_T *,
|
||||
RETRANS_COOKIE_T *));
|
||||
extern void SNMP_Send_Packet_Probe __((TARGET_LIST_T *,
|
||||
SNMPADDR_T *,
|
||||
IO_COMPLETE_T *,
|
||||
ERR_COMPLETE_T *,
|
||||
RETRANS_COOKIE_T *));
|
||||
extern void SNMP_Send_Notify __((SNMP_NOTIFY_T *, VBL_T *, SNMPADDR_T *,
|
||||
bits8_t *, ALENGTH_T, IO_COMPLETE_T *,
|
||||
ERR_COMPLETE_T *, RETRANS_CLEANUP_T *,
|
||||
PTR_T));
|
||||
extern void SNMP_Send_Notify_Name_Ack __((bits8_t *, ALENGTH_T, VBL_T *,
|
||||
SNMPADDR_T *, bits8_t *, ALENGTH_T,
|
||||
IO_COMPLETE_T *, ERR_COMPLETE_T *,
|
||||
RETRANS_CLEANUP_T *, PTR_T,ACK_CALLBACK_T *,TIMEOUT_CALLBACK_T *));
|
||||
extern void SNMP_Send_Notify_Name __((bits8_t *, ALENGTH_T, VBL_T *,
|
||||
SNMPADDR_T *, bits8_t *, ALENGTH_T,
|
||||
IO_COMPLETE_T *, ERR_COMPLETE_T *,
|
||||
RETRANS_CLEANUP_T *, PTR_T));
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* #if (!defined(sendntfy_inc))*/
|
||||
Reference in New Issue
Block a user