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

📄 mms_llp.h

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 H
字号:
/************************************************************************//* SISCO SOFTWARE MODULE HEADER *****************************************//************************************************************************//*   (c) Copyright Systems Integration Specialists Company, Inc.,	*//*      	  1986 - 2001, All Rights Reserved.		        *//*									*//* MODULE NAME : mms_llp.h						*//* PRODUCT(S)  : MMSEASE						*//*									*//* MODULE DESCRIPTION : 						*//*	This module contains definitions related to MMSEASE interface	*//*	to Lower Layer Provider.					*//*									*//* MODIFICATION LOG :							*//*  Date     Who   Rev			Comments			*//* --------  ---  ------   -------------------------------------------	*//* 12/14/01  EJV     01    Del code for unsupported platforms & hardware*//* 04/02/97  DTL   7.00    MMSEASE 7.0 release. See MODL70.DOC for	*//*			   history.					*//************************************************************************/#ifndef MMS_LLP_INCLUDED#define MMS_LLP_INCLUDED#ifdef __cplusplusextern "C" {#endif#include "mms_mp.h"#include "mms_pcon.h"#include "mms_err.h"#ifdef MAP30_LLC#include "suil.h"#endif/************************************************************************//* MMSEASE channel configuration parameters				*//************************************************************************/extern ST_INT max_mms_chan;	/* set this variable to desired 	*/			  	/* size (default is 			*/			  	/* DEFAULT_NUM_MMS_CHAN)		*/				/* normally leave these at default	*/extern ST_INT max_acse_chan;	/* Number of ACSE channels		*/extern ST_INT acse_base_chan; 	/* ACSE Channel set select		*/extern ST_INT max_llc_chan;	/* Number of LLC channels		*/extern ST_INT llc_base_chan;  	/* LLC Channel set select		*//************************************************************************//* MESSAGE SIZE LIMIT GLOBAL VARIABLES					*//************************************************************************/extern ST_INT mms_max_msgsize;		/* set this variable to desired */					/* size (default is 		*/					/* DEFAULT_MAX_MSGSIZE)		*/extern ST_INT max_acse_msgsize;		/* normally leave as default	*/extern ST_INT max_llc_msgsize;		/* normally leave as default	*//************************************************************************//************************************************************************//* LOWER LAYER PROVIDERS 						*//* These values are used to select the LLP type to be used on a channel	*//* by channel basis (in mms_chan_info[chan].ctxt.llp_type)		*/#define ACSE30_LLP		0x0002#define LLC30_AO_LLP    	0x0004	/* Association Oriented		*/#define LLC30_AL_LLP    	0x0008  /* Association Less		*/#define LLC30_UNKNOWN_LLP    	0x0010  /* Initial for all LLC chan  	*/#define ACSE30_PRIVATE_LLP	0x0020#define LLC30_PRIVATE_LLP	0x0040/* any LLC channel type							*/#define LLC30_LLP	(LLC30_AO_LLP | LLC30_AL_LLP | LLC30_UNKNOWN_LLP)/************************************************************************//* MMS P-CONTEXTS							*/#define MAX_P_CONTEXTS	16	/* maximum supported p-contexts		*/#define MMS_PCI		0x0001/* MMS AP CONTEXTS							*/#define MMS_AP_CONTEXT		0x0001#define MMS_IS_AP_CONTEXT	0x0002#define MMS_PRIVATE_AP_CONTEXT	0x0004/* allow selection of AP context just in case, default to DIS 		*//* NOTE : MUST USE SUIC DEFINES FOR NOW 				*/extern ST_UINT mllp_ap_context_sel;#define MAX_INIT_CONTEXTS   5	extern ST_BOOLEAN mllp_mult_ctxt_allowed;/************************************************************************//* PDU Logging Functions						*//************************************************************************//* This function pointer is used to allow user examination of MMS PDU's	*//* before they are passed into _ms_mms_decode.				*//* parameters are : (chan, llp event code, P-Context mask, len, ptr)	*/extern ST_VOID (*u_mms_pdu_rcvd)(ST_INT chan, ST_INT type, ST_UINT ctxt, 				ST_INT pdu_len, ST_UCHAR *pdu);/************************************************************************//************************************************************************//* The structure below is used for all LLP types to pass a received PDU	*//* to MMS-EASE. It is embedded in the LLP event structure for all LLP's	*//* NOTE : only complete MMS PDU's are accepted by MMS-EASE.		*//* NOTE : This structure typically is not of interest to the user.	*/typedef struct pdu_rx_info  {  ST_INT  source;		/* Where buf came from (LLP or MALLOC) 	*/  ST_UINT context;		/* Bit masked p-context select		*/  ST_BOOLEAN context_accepted; 	/* For assoc. confirm only  		*/  ST_BOOLEAN eom; 		/* EOM flag				*/  ST_INT len;		  ST_UCHAR *buffer;  } PDU_RX_INFO;/************************************************************************//************************************************************************//* ASSOCIATE INDICATION INFORMATION					*//* When a association indication is received by MMSEASE, the user fun	*//* 'u_mac_ass_ind_rcvd' is called with the channel and a pointer to the *//* structure below. This information may be used to determine whether	*//* to accept the association.						*/struct acse_assinfo  {  struct acse_ar_info *ar_info;		/* local/remote AR info		*/  ST_UINT ap_context;			/* AP context			*/  ST_UINT p_contexts;			/* selected p-contexts		*/  ST_INT num_ui;  struct pdu_rx_info rxinfo[MAX_INIT_CONTEXTS];	/* received PDU info 	*/  ST_BOOLEAN ar_matched;  ST_RET success;			/* assoc accepted, confirm only	*/  };typedef struct acse_assinfo ACSE_ASSINFO;/************************************************************************//************************************************************************//************************************************************************/struct llc_rxinfo  {#ifdef MAP30_LLC  LLC_ADDR_HDR *locl_addr;        /* local MAC/LSAP address 		*/  LLC_ADDR_HDR *rem_addr;         /* remote MAC/LSAP address		*/#endif  struct pdu_rx_info rx_buf;  };typedef struct llc_rxinfo LLC_RXINFO;/************************************************************************//* LLC 'INITIATE' EVENT INFORMATION					*//************************************************************************//* Data received information						*//************************************************************************//* This structure is passed into _mms_send_data and provides additional	*//* information required to send the PDU correctly			*//* At this time, only LLC requires additional information		*/#define CONFIRMED_REQ_PDU	 0x0001#define UNCONFIRMED_REQ_PDU	 0x0002#define CONFIRMED_RESP_PDU	 0x0003#define CONCLUDE_REQ_PDU	 0x0004#define CONCLUDE_RESP_PDU	 0x0005#define CONCLUDE_ERROR_PDU 	 0x0006#define INITIATE_REQ_PDU	 0x0007#define INITIATE_RESP_PDU	 0x0008#define INITIATE_ERROR_PDU 	 0x0009#define REJECT_PDU	 	 0x000Atypedef struct llp_addr_info  {  struct llp_addr_info *next;  union    {    struct				/* LLC specific information	*/      {	      ST_INT send_type;			/* See above for values		*/      ST_VOID *req_ptr;			/* ptr to be saved in TID	*/      ST_BOOLEAN use_rem_addr;		/* set if addr below to be used	*/#ifdef MAP30_LLC      LLC_ADDR_HDR *rem_addr;	/* remote node address		*/#endif      } LLC;    }i;  } LLP_ADDR_INFO;						 /************************************************************************//* LLP Interface functions			 			*//************************************************************************//* General LLP Interface Functions */						 ST_RET  mllp_act_ar_name 	(ST_CHAR *ar_name);ST_RET  mllp_act_arname 	(ST_CHAR *ar_name, ST_INT llp_type);ST_RET  mllp_ass_listen 	(ST_INT chan);ST_RET  mllp_stop_ass_listen 	(ST_INT chan);ST_RET  mllp_deact_ar_name 	(ST_CHAR *ar_name);ST_RET  mllp_deact_arname	(ST_CHAR *ar_name, ST_INT llp_type);ST_RET  mllp_reg_ar_name 	(ST_INT chan, ST_CHAR *ar_name);ST_VOID u_mllp_req_timeout 	(ST_INT chan, MMSREQ_PEND *req_ptr);ST_RET  mllp_set_chan_limits 	(ST_INT llp_type, ST_INT base_chan_num, ST_INT num_chans);ST_VOID mllp_chk_req_timeout 	(ST_INT chan, ST_UINT32 timeout);ST_RET  mllp_cancel_req 	(MMSREQ_PEND *reqptr, ST_INT reason);ST_VOID ms_event_enable 	(ST_VOID);ST_VOID ms_event_disable 	(ST_VOID);extern 	ST_VOID (*(u_mms_event_notify))(ST_INT count);ST_RET  mms_event_wait 	(ST_INT timeout);ST_UINT mllp_add_p_context 	(MMS_OBJ_ID *obj_id);/* ACSE Specific LLP Functions */ST_RET mllp_set_ae_invoke 	(ST_CHAR *ar_name, ST_BOOLEAN enable, ST_INT32 val);ST_RET mllp_set_ae_qual 	(ST_CHAR  *ar_name, ST_BOOLEAN enable, ST_INT32 val);ST_RET mllp_set_ap_invoke 	(ST_CHAR *ar_name, ST_BOOLEAN enable, ST_INT32 val);ST_RET mllp_set_ap_title 	(ST_CHAR *ar_name, ST_BOOLEAN enable, MMS_OBJ_ID *obj);#ifdef MAP30_LLC/* LLC specific LLP functions *//* return values from 'ms_chk_llc_chan_mode'				*/#define ASSOCIATION_ORIENTED	2#define ASSOCIATIONLESS		3ST_RET ms_chk_llc_chan_mode (ST_INT chan);ST_RET mllp_set_llc_name_alias (ST_CHAR *name, ST_UINT alias);ST_RET mllp_set_llc_dest (ST_INT chan, ST_UINT alias);ST_CHAR *mllp_l_get_rem_name (ST_INT chan);ST_RET mllp_get_rdr_buf (ST_INT chan);ST_RET mllp_post_rdr_buf (ST_INT chan, ST_BOOLEAN state);ST_RET 	mllp_set_rem_addr (ST_INT chan, LLP_ADDR_INFO *add_info);#endif/************************************************************************//* Declarations for the LLP user function pointers			*/extern ST_VOID (*u_abort_ind_fun)(ST_INT chan, ST_INT reason, ST_BOOLEAN au_flag);extern ST_VOID (*u_llp_error_ind_fun)(ST_INT chan, ST_LONG code);extern ST_VOID (*u_release_ind_fun)(ST_INT chan);extern ST_VOID (*u_mmsexcept_ind_fun)(ST_INT code, ST_INT chan);extern ST_VOID (*u_reject_ind_fun)(ST_INT chan, REJECT_RESP_INFO *rej_ptr);extern ST_VOID (*u_mp_conclude_done_fun)(ST_INT chan, ST_RET ret_code);extern ST_VOID (*u_mp_cancel_conf_fun)(MMSREQ_PEND *req_ptr, ST_BOOLEAN errdata_pres, 			     ERR_INFO *err_ptr);extern ST_VOID (*u_mp_abort_done_fun)(ST_INT chan);extern ST_VOID (*u_init_resp_done_fun)(ST_INT chan);#ifdef MAP30_ACSEextern ST_RET (*u_mllp_a_assoc_ind_fun)(ST_INT chan, ACSE_ASSINFO *assinfo);extern ST_RET (*u_mllp_a_assoc_conf_fun)(ST_INT chan, ACSE_ASSINFO *assinfo);#endif#ifdef MAP30_LLCextern ST_VOID (*u_mllp_l_error_ind_fun)(ST_INT chan, TRANS_ID *tid, ST_INT32 status);extern ST_RET (*u_mllp_l_assoc_ind_fun)(ST_INT chan, LLC_RXINFO *rx_info);#endif#ifdef __cplusplus}#endif#endif	/* MMS_LLP_INCLUDED */

⌨️ 快捷键说明

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