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

📄 mms_mp.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_mp.h						*//* PRODUCT(S)  : MMSEASE, MMSEASE-LITE					*//*									*//* MODULE DESCRIPTION : 						*//*	This file has the common data structures and general function	*//*	declarations required to interface with MMS at the primitive	*//*	level.								*//*									*//* MODIFICATION LOG :							*//*  Date     Who   Rev			Comments			*//* --------  ---  ------   -------------------------------------------	*//* 12/20/01  JRB     05	   Convert to use ASN1R.			*//* 08/15/97  MDE     04    BTOD handling changes			*//* 08/14/97  RKR     03    Format changes				*//* 06/11/97  RKR     02    Added constants for EXTERNAL encoding tag	*//* 06/09/97  MDE     01    MMS-LITE define changes			*//* 04/02/97  DTL   7.00    MMSEASE 7.0 release. See MODL70.DOC for	*//*			   history.					*//************************************************************************/#ifndef MMS_MP_INCLUDED#define MMS_MP_INCLUDED#ifdef __cplusplusextern "C" {#endif#include "asn1defs.h"#ifndef MMS_LITE#include "mms_defs.h"#endif/************************************************************************//* MMS-LITE specific defines						*/#if defined(MMS_LITE)/* For MMS-LITE, we will use 'lite' versions of some data structures	*/#define USE_COMPACT_MMS_STRUCTS/* For MMS-LITE, we will supply a single static decode info buffer	*/#define M_USR_DEC_BUF#endif/************************************************************************//* Common default values for priority and severity			*//************************************************************************/#define MMS_NORM_PRIORITY		 64#define MMS_NORM_SEVERITY		 64/************************************************************************//* Object Name - This structure is used to reference MMS objects	*//************************************************************************//* These defines may be used for the object_tag element selector	*/#define VMD_SPEC	0#define DOM_SPEC	1#define AA_SPEC		2#if !defined (USE_COMPACT_MMS_STRUCTS)/* Standard form of object name */struct object_name  {  ST_INT  object_tag;			/* See above for legal values	*/  union    {    ST_CHAR vmd_spec [MAX_IDENT_LEN+1];	/* vmd specific identifier	*/    ST_CHAR item_id [MAX_IDENT_LEN+1];	/* item identifier		*/    ST_CHAR aa_spec [MAX_IDENT_LEN+1];	/* aa specific identifier	*/    } obj_name;  ST_CHAR domain_id [MAX_IDENT_LEN+1];	/* domain identifier		*/  SD_END_STRUCT  };#else		/* Use compact form *//* Compact form of object name */struct object_name  {  ST_INT  object_tag;			/* See above for legal values	*/  union    {    ST_CHAR *vmd_spec;			/* vmd specific identifier	*/    ST_CHAR *item_id;			/* item identifier		*/    ST_CHAR *aa_spec;			/* aa specific identifier	*/    } obj_name;  ST_CHAR *domain_id;			/* domain identifier		*/  SD_END_STRUCT  };				   #endiftypedef struct object_name OBJECT_NAME;/************************************************************************//* timeofday, event_time, attach_to_evcon, attach_to_semaphore and 	*//* modifier structure definitions.					*//************************************************************************/struct event_time  {  ST_INT16      evtime_tag;		/* event time tag		*/					/*  0: time of day		*/					/*  1: time sequence identifier */					/*  2: undefined		*/  union    {    MMS_BTOD    time_of_day;		/* time of day			*/    ST_UINT32   time_seq_id; 		/* time sequence identifier	*/    } evtime;  };typedef struct event_time EVENT_TIME;struct attach_to_evcon  {  OBJECT_NAME evenroll_name;		/* event enrollment name       	*/  OBJECT_NAME evcon_name;		/* event condition name       	*/  ST_UCHAR    causing_transitions;	/* causing transitions:		*/  					/* bitstring			*/					/*  0 : idle to disabled	*/					/*  1 : active to disabled	*/					/*  2 : disabled to idle	*/					/*  3 : active to idle		*/					/*  4 : disabled to active	*/					/*  5 : idle to active		*/					/*  6 : any to deleted		*/  ST_BOOLEAN  acc_delay_pres;		/* acceptable delay present	*/  ST_UINT32   acc_delay;		/* acceptable delay		*/  SD_END_STRUCT  };typedef struct attach_to_evcon ATTACH_TO_EVCON;struct attach_to_semaphore  {	    OBJECT_NAME sem_name;			/* semaphore name       	*/  ST_BOOLEAN  named_token_pres;		/* named token present ind	*/  ST_CHAR     named_token[MAX_IDENT_LEN+1];/* named token		*/  ST_UCHAR    priority;			/* priority			*/					/*   0 - highest		*/					/*  64 - normal (default)	*/					/* 127 - lowest 		*/  ST_BOOLEAN  acc_delay_pres;		/* acceptable delay present	*/  ST_UINT32   acc_delay;		/* acceptable delay		*/  ST_BOOLEAN  ctrl_timeout_pres;	/* control timeout present	*/  ST_UINT32   ctrl_timeout;	  	/* control timeout		*/  ST_BOOLEAN  abrt_on_timeout_pres;	/* Abort On Timeout present	*/  ST_BOOLEAN  abrt_on_timeout;		/* Abort On Timeout		*/  ST_BOOLEAN  rel_conn_lost;		/* relinquish if connection	*/  SD_END_STRUCT  };					/* lost (default = true)	*/typedef struct attach_to_semaphore ATTACH_TO_SEMAPHORE;struct modifier  {  ST_INT modifier_tag;			/* modifier tag			*/					/*  0:attach to event condition	*/					/*  1:attach to semaphore	*/  union    {    ATTACH_TO_EVCON     atec;		/* attach to event condition	*/    ATTACH_TO_SEMAPHORE atsem;		/* attach to semaphore		*/    } mod;  SD_END_STRUCT  };typedef struct modifier	MODIFIER;/************************************************************************//* File Name								*//************************************************************************/struct file_name  {  ST_INT  fn_len; 		/* The length of the string		*/  ST_CHAR *fname;  		/* pointer to actual filename  string	*/  SD_END_STRUCT  };typedef struct file_name FILE_NAME;/************************************************************************//* Values for the encoding_tag of an EXTERN_INFO			*//************************************************************************/#define M_EXT_TAG_ANY			0#define M_EXT_TAG_OCT_ALIGNED		1#define M_EXT_TAG_ARB			2/************************************************************************//* EXTERNAL								*//*   The structure below is used to store ASN.1 type EXTERNAL in "C"	*//*   format.								*//************************************************************************/struct extern_info  {  ST_BOOLEAN dir_ref_pres;		/* direct reference present	*/  MMS_OBJ_ID dir_ref;  ST_BOOLEAN indir_ref_pres;		/* indirect reference present	*/  ST_INT32   indir_ref;			/* indirect reference value	*/  ST_BOOLEAN dv_descr_pres;		/* data value descript pres	*/  ST_INT     dv_descr_len;   		/* data value descr. len	*/  ST_UCHAR   *dv_descr;			/* data value descr. ptr	*/  ST_CHAR    encoding_tag;		/* type of encoding		*/  ST_INT     num_bits;			/* for arbitrary only		*/  ST_INT     data_len;			/* # bytes of data		*/  ST_UCHAR   *data_ptr;			/* data pointer			*/  SD_END_STRUCT  };typedef struct extern_info EXTERN_INFO;ST_RET ms_encode_extern (EXTERN_INFO *src, 			 ST_UCHAR *asn1dest, ST_INT destlen,			 ST_INT *len_out, ST_UCHAR **asn1_start_out);ST_RET ms_decode_extern (ST_UCHAR *asn1, ST_INT asn1len, EXTERN_INFO *dest);ST_VOID wr_external (ASN1_ENC_CTXT *aCtx, EXTERN_INFO *ext);#ifdef __cplusplus}#endif#endif  /* MMS_MP_INCLUDED  */

⌨️ 快捷键说明

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