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

📄 suicacse.h

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 H
📖 第 1 页 / 共 3 页
字号:
extern MMS_OBJ_ID *context_table;#define CTXT_USER_BASE	4	/* where user-defined contexts begin	*//************************************************************************//* The following are the default masks					*//************************************************************************//* AP Context names							*/#define SM_ISO_MMS_AP_CTXT	0x01#define SM_MAP_MMS_AP_CTXT	0x02#define SM_PRIVATE_AP_CTXT	0x04#define SM_ISO_MMS_IS_AP_CTXT	0x08/* Abstract Syntax names						*/#define SM_ISO_MMS_ASN		0x01#define SM_MAP_MMS_ASN		0x02#define SM_PRIVATE_ASN		0x04#ifdef SECURITY_SUPPORT#define SM_SECURE_ISO_MMS_ASN	0x08#endif/* Transfer Syntax names						*/#define SM_ASN1_TSN		0x01/************************************************************************//* The structure below is used to identify components of the presenta-	*//* tion context list (both definition and result)			*//************************************************************************/struct pc_def{  ST_INT result;	/* result, used on response only		*/  ST_INT pci;		/* pci, used only on confirms/indications	*/			/* This field must not be modified by the user	*/  ST_UINT asn_mask;	/* abstract syntax name mask			*/  ST_UINT tsn_mask;	/* transfer syntax name mask			*/} ;typedef struct pc_def PC_DEF;/************************************************************************//* The structure below is used to represent the user data list before	*//* presentation contexts have been negotiated				*//************************************************************************/struct u_data{  ST_INT list_index;	/* for request/indication, this refers to an	*/			/* index into pc_deflist whose entry represents	*/			/* presentation context on which data is to be	*/			/* carried.  For response/confirm, this refers	*/			/* to an index into result list			*/  ST_UINT tsn_mask;	/* transfer syntax name mask			*/  ST_INT u_data_len;	/* user data length				*/  ST_CHAR *user_data;	/* pointer to user data				*/} ;typedef struct u_data U_DATA;/************************************************************************//* The structure below is used to represent the user data list after	*//* presentation contexts have been negotiated				*//************************************************************************/struct trans_data{                        /* This is really asn_mask                      */  ST_UINT pci_mask;	/* mask representing index into pci_table	*/  ST_INT len;		/* data length					*/  ST_CHAR *data;		/* pointer to data				*/} ;typedef struct trans_data TRANS_DATA;/************************************************************************//* The structure below is used to save Directory and other information	*//* about local and remote AE's read in from SUIC.DIB			*//************************************************************************/#if defined (MARBEN) || defined (DECNP5)#ifndef DIB_ENTRY_DEFINED#define DIB_ENTRY_DEFINEDstruct dib_entry{  DBL_LNK lnk;			/* link pointer				*/  ST_LONG reserved;		/* reserved field			*/  ST_LONG reserved2;		/* reserved field			*/#if defined (MARBEN) && defined (_WIN32)  ST_INT mngt_tag;		/* management operation tag		*/  ST_CHAR host_name[MAX_HOST_LEN + 1];  ST_CHAR *comment;#endif#if DIRECTORY_SUPPORT  ST_CHAR *name;			/* user-defined ASCII character string	*/#else  ST_CHAR name[MAX_NAME_LEN + 1];	/* user-defined ASCII character string	*/#endif  ST_BOOLEAN local;			/* local or remote name			*/#ifdef MARBEN  ST_BOOLEAN sharable;		/* shared flag (local names only)	*/#endif  ST_INT transport;		/* transport provider: TP4 vs. TCP	*/  ST_BOOLEAN AP_title_pres;		/* present flag				*/  MMS_OBJ_ID AP_title; 		/* AP title    				*/  ST_BOOLEAN AP_inv_id_pres;		/* present flag				*/  ST_INT32 AP_invoke_id;		/* AP invocation ID    			*/  ST_BOOLEAN AE_qual_pres;		/* present flag				*/  ST_INT32 AE_qual;			/* AE qualifier    			*/  ST_BOOLEAN AE_inv_id_pres;		/* present flag				*/  ST_INT32 AE_invoke_id;		/* AE invocation ID    			*/  ST_INT p_sel_len;		/* P-selector length			*/  ST_UCHAR p_sel[MAX_P_SEL];	/* P-selector				*/  ST_INT s_sel_len;		/* S-selector length			*/  ST_UCHAR s_sel[MAX_T_SEL];	/* S-selector				*/  ST_INT t_sel_len;		/* T-selector length			*/  ST_UCHAR t_sel[MAX_T_SEL];	/* T-selector				*/  ST_INT net_addr_len;		/* Network address length		*/  ST_UCHAR net_addr[MAX_N_SEL];	/* Network address			*/  ST_INT port;			/* TCP/IP port number			*/  ST_CHAR ip_addr[HOST_NAME_LEN + 1];	/* TCP/IP dotted decimal or host name	*//*#ifdef PRODUCT_ONLY_VMS_ALPHA  */  ST_INT ChannelTypeToUse; /*#endif                         */} ;typedef struct dib_entry DIB_ENTRY;#if defined (MARBEN)#if defined (_WIN32)typedef struct  {  ST_CHAR host_name[MAX_HOST_LEN + 1];  ST_INT net_addr_len;		/* Network address length		*/  ST_UCHAR net_addr[MAX_N_SEL];	/* Network address			*/  ST_CHAR ip_addr[HOST_NAME_LEN + 1];	/* TCP/IP dotted decimal or host name	*/  } HOSTNAME_INFO;#endif	/* defined (_WIN32) */#endif  /* defined (MARBEN) *//************************************************************************//* Variables used for reading DIB file					*/extern ST_BOOLEAN s_manual_dib_load;         /* User to set DIB Table        */extern ST_INT num_dib_entries;           /* Number of entries            */extern DIB_ENTRY *dib_table;            /* Pointer to dib table         */#endif	/* !DIB_ENTRY_DEFINED	*/#endif  /* defined MARBEN */#define TYPE_ORIGINAL		0#define TYPE_UNIVERSAL		1extern ST_INT s_activate_type;		/* local name activation type	*//************************************************************************//************************************************************************//* Application Reference data structure					*//************************************************************************/#define APP_REF_FORM1	0#define APP_REF_FORM2	1struct form1  {  ST_UCHAR   *ptr;				/* ptr to something		*/  ST_INT16  len;				/* length of contents at ptr	*/  };typedef struct form1 FORM1_T;struct app_ref  {  ST_INT16 	form;			/* tells if form 1 or form 2	*/  ST_BOOLEAN    ap_title_pres;		/* tells if AP title is there	*/  union					/* AP title differs in form	*/    {    struct form1	form_1;		/* form 1 of AP title is ASN.1	*/    struct mms_obj_id	form_2;		/* form 2 of AP title is objectid*/    } ap_title;  ST_BOOLEAN	ap_invoke_pres;		/* tells if AP invoke is there	*/  ST_INT32 	ap_invoke;  ST_BOOLEAN	ae_qual_pres;		/* tells if AE qualifier is there*/  union					/* AE qualifier differs in form	*/    {    struct 	form1	form_1;		/* form 1 of AE qual is ASN.1	*/    ST_INT32	form_2;			/* form 2 if AE qual is long word*/    } ae_qual;  ST_BOOLEAN	ae_invoke_pres;		/* tells if AE invoke is there	*/  ST_INT32 	ae_invoke;  };typedef struct app_ref APP_REF;/************************************************************************//* The structure below is used to identify PCI				*//* Used by s_lookup_pci ().						*//************************************************************************/struct pc{  ST_INT asn_index;	/* index into asn_table				*/  ST_INT tsn_index;	/* index into tsn_table				*/} ;typedef struct pc PC;/************************************************************************/ST_RET s_start (ST_VOID);ST_VOID s_end (ST_VOID);extern ST_VOID (*s_event_notify) (ST_VOID);extern ST_VOID (*s_usr_nap) (ST_VOID);extern ST_CHAR *(*s_send_priv_data) (ST_INT *);ST_BOOLEAN s_serve (ST_VOID);ST_VOID s_comm_disable (ST_VOID);ST_VOID s_comm_enable (ST_VOID);ST_BOOLEAN s_read_mail (ST_VOID);ST_VOID s_send_mail (ST_VOID);ST_INT s_lookup_pci (ST_INT chan, ST_INT pci_mask, PC *pc_arr);/* User defined 'done' functions                                        */ST_VOID s_activate_done (ST_CHAR *name, ST_RET retcode);ST_VOID s_deactivate_done (ST_CHAR *name, ST_RET retcode);ST_VOID s_listen_done (ST_INT chan, ST_RET retcode);ST_VOID s_canlisten_done (ST_INT chan, ST_RET retcode);ST_VOID s_assreq_done (ST_INT chan, ST_RET retcode);ST_VOID s_assrsp_done (ST_INT chan, ST_RET retcode);ST_VOID s_relreq_done (ST_INT chan, ST_RET retcode);ST_VOID s_relrsp_done (ST_INT chan, ST_RET retcode);ST_VOID s_u_abort_done (ST_INT chan, ST_RET retcode);ST_VOID s_transfer_done (ST_INT chan, ST_RET retcode);ST_VOID s_receive_done (ST_INT chan, ST_RET retcode);/* User defined 'indication' functions                                  */ST_VOID s_associate_ind (ST_INT chan, 			 ST_INT num_pc_defs, PC_DEF *pc_deflist, 			 ST_INT num_u_data, U_DATA *u_data_list,			 ST_BOOLEAN matched);ST_VOID s_associate_cnf (ST_INT chan,			 ST_INT num_result, PC_DEF *result_list,			 ST_INT num_u_data, U_DATA *u_data_list, 			 ST_RET retcode);ST_VOID s_release_ind (ST_INT chan, ST_INT reason, 		       ST_INT num_u_data, TRANS_DATA *u_data_list);ST_VOID s_release_cnf (ST_INT chan, ST_INT reason,		       ST_INT num_u_data, TRANS_DATA *u_data_list);ST_VOID s_u_abort_ind (ST_INT chan, ST_INT reason,		       ST_INT num_u_data, TRANS_DATA *u_data_list);ST_VOID s_p_abort_ind (ST_INT chan, ST_INT reason);ST_VOID s_transfer_ind (ST_INT chan, 			ST_INT num_trans, TRANS_DATA *data,			ST_BOOLEAN eom);/* SUIC command functions						*/ST_RET s_reg_title (ST_INT chan, ST_CHAR *name);ST_RET s_activate (ST_CHAR *name);ST_RET s_deactivate (ST_CHAR *name);ST_RET s_load_part_info (ST_INT chan, ST_CHAR *name);ST_RET s_listen (ST_INT chan, ST_UINT ap_context_mask);ST_RET s_cancel_listen (ST_INT chan);ST_RET s_associate_req (ST_INT chan, ST_UINT ap_context_mask,			ST_INT num_pc_defs, PC_DEF *pc_deflist,			ST_INT num_u_data, U_DATA *u_data_list);ST_RET s_associate_rsp (ST_INT chan, ST_UINT ap_context_mask,			ST_INT reason, ST_INT num_result, PC_DEF *result_list,			ST_INT num_u_data, U_DATA *u_data_list);ST_RET s_release_req (ST_INT chan, ST_INT reason, 		      ST_INT num_u_data, TRANS_DATA *u_data_list);ST_RET s_release_rsp (ST_INT chan, ST_INT reason, 		      ST_INT num_u_data, TRANS_DATA *u_data_list);ST_RET s_u_abort (ST_INT chan, ST_INT reason, 		  ST_INT num_u_data, TRANS_DATA *u_data_list);ST_RET s_receive (ST_INT chan);ST_RET s_transfer_req (ST_INT chan,		       ST_INT num_trans, TRANS_DATA *data, ST_BOOLEAN eom);ST_VOID s_free_databuf (ST_CHAR *buf);ST_BOOLEAN s_block (ST_INT seconds);ST_VOID s_except (ST_INT except_code);ST_RET s_set_ap_title (ST_CHAR *name, ST_BOOLEAN en, MMS_OBJ_ID *ap_title);ST_RET s_set_ae_qual (ST_CHAR *name, ST_BOOLEAN en, ST_INT32 ae_qual);ST_RET s_set_ap_invoke (ST_CHAR *name, ST_BOOLEAN en, ST_INT32 ap_invoke);ST_RET s_set_ae_invoke (ST_CHAR *name, ST_BOOLEAN en, ST_INT32 ae_invoke);ST_UINT s_install_ap_ctxt (MMS_OBJ_ID *ap_ctxt);ST_UINT s_install_asn (MMS_OBJ_ID *asn);ST_UINT s_install_tsn (MMS_OBJ_ID *tsn);ST_VOID s_perror (ST_RET errcode);ST_VOID s_perror_log (FILE *logfile, ST_RET errcode);ST_VOID s_perror_str (ST_CHAR *errbuf, ST_INT max_len, ST_RET errcode);ST_BOOLEAN s_chk_idle (ST_VOID);APP_REF *s_find_proc (ST_CHAR *arname);ST_INT s_find_arname (APP_REF *app_ref_ptr, ST_BOOLEAN match_ae_qual,	ST_CHAR *ar_ptr);ST_RET s_find_paddr (ACSE_AR_INFO *ar_info, ST_CHAR *ar_ptr);#if defined (DIB_ENTRY_DEFINED)ST_RET s_add_rem_arname (DIB_ENTRY *dib);ST_RET s_del_rem_arname (ST_CHAR *name);ST_RET s_mod_rem_arname (DIB_ENTRY *dib);ST_RET s_get_rem_arname (ST_CHAR *name, DIB_ENTRY *dib);#if defined (MARBEN) && defined (_WIN32)ST_RET s_create_hostname (HOSTNAME_INFO *info);#endif#endif#if DIRECTORY_SUPPORT#include "mds.h"#endif#ifdef __cplusplus}#endif									  #endif

⌨️ 快捷键说明

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