You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
5.5 KiB
C
146 lines
5.5 KiB
C
#ifndef LEAN_A_H
|
|
#define LEAN_A_H
|
|
/************************************************************************/
|
|
/* SISCO SOFTWARE MODULE HEADER *****************************************/
|
|
/************************************************************************/
|
|
/* (c) Copyright Systems Integration Specialists Company, Inc., */
|
|
/* 1996 - 2005 All Rights Reserved */
|
|
/* */
|
|
/* MODULE NAME : lean_a.h */
|
|
/* PRODUCT(S) : Lean-T Stack SUIC */
|
|
/* */
|
|
/* MODULE DESCRIPTION : */
|
|
/* */
|
|
/* GLOBAL FUNCTIONS DEFINED IN THIS MODULE : */
|
|
/* NONE */
|
|
/* */
|
|
/* MODIFICATION LOG : */
|
|
/* Date Who Rev Comments */
|
|
/* -------- --- ------ ------------------------------------------- */
|
|
/* 05/13/05 EJV 11 MMSEASE_MOSI: added extern domsock_listener */
|
|
/* 03/15/05 EJV 10 MMSEASE_MOSI: set MAX_SUIC_CHAN to 1000 */
|
|
/* Added mms_event_fd. */
|
|
/* 02/08/02 JRB 09 Move osicfgx prototype to mvl_acse.h. */
|
|
/* 11/27/00 JRB 08 Add osicfgx proto. */
|
|
/* 12/10/97 JRB 07 Add MMSEventName and hMMSEvent for OS2. */
|
|
/* 08/14/97 JRB 06 #include "acse2usr.h" and use PRES_ADDR in */
|
|
/* DIB_ENTRY. */
|
|
/* 05/27/97 JRB 7.00 MMSEASE 7.0 release. */
|
|
/* 05/02/97 JRB 05 Del MAX_?_SEL defines. Use suicacse.h defs. */
|
|
/* 05/01/97 JRB 04 Move MAX_SUIC_CHAN define to here. */
|
|
/* 01/02/96 JRB 03 Add MMSEventName and hMMSEvent. */
|
|
/* 10/04/96 JRB 02 #ifdef MCGW, add adlcAddr to DIB_ENTRY. */
|
|
/* Add *_clt7 function prototypes. */
|
|
/* 05/29/96 MDE 01 Changed DIB_ENTRY - name is now a pointer */
|
|
/* 03/27/96 MDE Created */
|
|
/************************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if defined (_WIN32)
|
|
#include <windows.h>
|
|
#endif /* _WIN32 */
|
|
|
|
#if defined (__OS2__)
|
|
#define INCL_BASE
|
|
#include <os2.h>
|
|
#endif /* __OS2__ */
|
|
|
|
#include "asn1defs.h" /* for MMS_OBJ_ID definition */
|
|
#include "acse2usr.h" /* for PRES_ADDR definition */
|
|
|
|
#if defined(MMSEASE_MOSI)
|
|
#define MAX_SUIC_CHAN 1024 /* number of channels <=TP_MAX_NUM_CONNS*/
|
|
#include "gensock2.h" /* defines SOCKET */
|
|
extern SOCKET mms_event_fd; /* wakeup socket, indicating TCP Events */
|
|
extern SOCKET domsock_listener; /* domain socket connected to the */
|
|
/* RFC1006_LISTENER task. */
|
|
#else
|
|
#define MAX_SUIC_CHAN 256 /* number of channels */
|
|
#endif
|
|
|
|
/************************************************************************/
|
|
/* The structure below is used to save Directory and other information */
|
|
/* about local and remote AE's read in from SUIC.DIB */
|
|
/************************************************************************/
|
|
|
|
#define DIB_ENTRY_DEFINED
|
|
|
|
struct dib_entry
|
|
{
|
|
ST_LONG reserved; /* reserved field */
|
|
ST_CHAR *name; /* user-defined ASCII character string */
|
|
ST_CHAR local; /* local or remote name */
|
|
ST_UCHAR AP_title_pres; /* present flag */
|
|
MMS_OBJ_ID AP_title; /* AP title */
|
|
ST_UCHAR AP_inv_id_pres; /* present flag */
|
|
ST_INT32 AP_invoke_id; /* AP invocation ID */
|
|
ST_UCHAR AE_qual_pres; /* present flag */
|
|
ST_INT32 AE_qual; /* AE qualifier */
|
|
ST_UCHAR AE_inv_id_pres; /* present flag */
|
|
ST_INT32 AE_invoke_id; /* AE invocation ID */
|
|
PRES_ADDR pres_addr; /* Presentation address. */
|
|
} ;
|
|
typedef struct dib_entry DIB_ENTRY;
|
|
|
|
/************************************************************************/
|
|
/* Channel-oriented control structure used to hold connection-specific */
|
|
/* information */
|
|
/************************************************************************/
|
|
|
|
#define MAX_TX_OUT 10 /* max. outstanding TX requests allowed */
|
|
|
|
struct chanctrl
|
|
{
|
|
DIB_ENTRY *loc_de; /* Pointer to Local DIB Entry */
|
|
DIB_ENTRY *rem_de; /* Pointer to Remote DIB Entry */
|
|
} ;
|
|
extern struct chanctrl *s_chan_ctrl;
|
|
|
|
/************************************************************************/
|
|
/* Structure to store incoming associate indication in case no listen */
|
|
/* channel is available */
|
|
/************************************************************************/
|
|
|
|
extern ST_INT num_loc_dib_entries;
|
|
extern ST_INT num_rem_dib_entries;
|
|
extern DIB_ENTRY *loc_dib_table;
|
|
extern DIB_ENTRY *rem_dib_table;
|
|
|
|
/************************************************************************/
|
|
/* Event handling variables for WIN32 & OS2. */
|
|
/************************************************************************/
|
|
#ifdef _WIN32
|
|
extern ST_CHAR *MMSEventName; /* Pointer to the globally unique name of Event Object */
|
|
extern HANDLE hMMSEvent; /* Handle to Event Object to be signalled when */
|
|
/* s_serve () needs to be called */
|
|
#endif /* _WIN32 */
|
|
#ifdef __OS2__
|
|
extern ST_CHAR *MMSEventName; /* Pointer to the globally unique name of Event Object */
|
|
extern HEV hMMSEvent; /* Handle to Event Object to be signalled when */
|
|
/* s_serve () needs to be called */
|
|
#endif /* __OS2__ */
|
|
|
|
/************************************************************************/
|
|
/* Prototypes */
|
|
/************************************************************************/
|
|
ST_VOID s_reset_ctrl (ST_INT);
|
|
ST_RET init_dirser (ST_VOID);
|
|
DIB_ENTRY *find_dib_entry (ST_CHAR *);
|
|
DIB_ENTRY *find_loc_dib_entry (ST_CHAR *ar_name);
|
|
DIB_ENTRY *find_rem_dib_entry (ST_CHAR *ar_name);
|
|
|
|
ST_RET init_dirser_clt7 (ST_VOID);
|
|
DIB_ENTRY *find_dib_entry_clt7 (ST_CHAR *);
|
|
DIB_ENTRY *find_loc_dib_entry_clt7 (ST_CHAR *ar_name);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* !LEAN_A_H */
|
|
|
|
|