home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
HLLAPI32.ZIP
/
HAPI_C.H
next >
Wrap
Text File
|
1991-12-04
|
42KB
|
852 lines
/*********************************************************************/
/* */
/* FILE NAME: HAPI_C.H */
/* */
/* MODULE NAME = HAPI_C.H */
/* */
/* DESCRIPTIVE NAME = EHLLAPI INCLUDE FILE FOR "C" */
/* */
/* STATUS= EXTD 1.0 */
/* */
/* FUNCTION= */
/* DEFINE FUNCTION CODES, RETURN CODES, AND STRUCTURES FOR */
/* EHLLAPI. */
/* */
/* REMARKS= */
/* If writing a 32 bit application using the IBM C Set/2 32 bit */
/* compiler, the programmer should be aware of several things... */
/* */
/* * far pointers (far *) do not exist, only 32 bit pointers and */
/* 16 bit (* _Seg16) pointers. There are no near pointers. */
/* For pointers passed as parameters to a 16 bit function */
/* (ie. call to hllapi), conversion occurs automatically as */
/* long as the funcion is prototyped correctly (see below). */
/* */
/* * Structure types include proper types for the 16 bit */
/* functions, however, during declaration, the structure must */
/* be cast as a _Packed structure and as a 16 bit (_Seg16) */
/* type structure. This is done as follows: */
/* */
/* #pragma seg16(dsp_struct) */
/* _Packed struct qses_struct dsp_struct; */
/* */
/* A pointer to this structure is defined as follows: */
/* */
/* _Packed struct qses_struct * data_ptr; */
/* */
/* * A Stack for the 16 bit API must be allocated in addition to */
/* the usual stack: */
/* */
/* #pragma stack16 (4096) */
/* */
/* */
/* CHANGE ACTIVITY = */
/* CS2 => Indicates changes(C) and additions(A) to support */
/* IBM C Set/2 32 bit applications. */
/* */
/*************************-END OF PROLOG-*****************************/
/*********************************************************************/
#ifndef OS2_INCLUDED
#define CHAR char
#define SHORT short
#define LONG long
typedef unsigned char UCHAR;
typedef unsigned short USHORT;
typedef unsigned long ULONG;
typedef unsigned int UINT;
typedef unsigned char BYTE;
#endif
#ifdef E32TO16 /* if this is to be used with */
/* 32 bit application */
/* prototype for EHLLAPI call */
extern void hllapi(USHORT *_Seg16, char *_Seg16,
USHORT *_Seg16, USHORT *_Seg16);
# pragma linkage (hllapi, far16 pascal)
# define PTR16 * _Seg16 /* for pointers to be used by */
/* 16 bit applications... these*/
/* are passed inside structures*/
#else /* this is for 16 bit app */
# define PTR16 far *
#endif
/*********************************************************************/
/**************** EHLLAPI FUNCTION NUMBERS ***************************/
/*********************************************************************/
#define HA_CONNECT_PS 1 /* 000 Connect PS */
/* function number. */
#define HA_DISCONNECT_PS 2 /* 000 Disconnect PS */
/* function number. */
#define HA_SENDKEY 3 /* 000 Sendkey function */
/* number. */
#define HA_WAIT 4 /* 000 Wait function */
/* number. */
#define HA_COPY_PS 5 /* 000 Copy PS function */
/* number. */
#define HA_SEARCH_PS 6 /* 000 Search PS function */
/* number. */
#define HA_QUERY_CURSOR_LOC 7 /* 000 Query Cursor */
/* Location function */
/* number. */
#define HA_COPY_PS_TO_STR 8 /* 000 Copy PS to String */
/* function number. */
#define HA_SET_SESSION_PARMS 9 /* 000 Set Session */
/* Parameters function */
/* number. */
#define HA_QUERY_SESSIONS 10 /* 000 Query Sessions */
/* function number. */
#define HA_RESERVE 11 /* 000 Reserve function */
/* number. */
#define HA_RELEASE 12 /* 000 Release function */
/* number. */
#define HA_COPY_OIA 13 /* 000 Copy OIA function */
/* number. */
#define HA_QUERY_FIELD_ATTR 14 /* 000 Query Field */
/* Attribute function */
/* number. */
#define HA_COPY_STR_TO_PS 15 /* 000 Copy string to PS */
/* function number. */
#define HA_STORAGE_MGR 17 /* 000 Storage Manager */
/* function number. */
#define HA_PAUSE 18 /* 000 Pause function */
/* number. */
#define HA_QUERY_SYSTEM 20 /* 000 Query System */
/* function number. */
#define HA_RESET_SYSTEM 21 /* 000 Reset System */
/* function number. */
#define HA_QUERY_SESSION_STATUS 22 /* 000 Query Session */
/* Status function */
/* number. */
#define HA_START_HOST_NOTIFY 23 /* 000 Start Host */
/* Notification function */
/* number. */
#define HA_QUERY_HOST_UPDATE 24 /* 000 Query Host Update */
/* function number. */
#define HA_STOP_HOST_NOTIFY 25 /* 000 Stop Host */
/* Notification function */
/* number. */
#define HA_SEARCH_FIELD 30 /* 000 Search Field */
/* function number. */
#define HA_FIND_FIELD_POS 31 /* 000 Find Field Length */
/* function number. */
#define HA_FIND_FIELD_LEN 32 /* 000 Find Field */
/* Position function */
/* number. */
#define HA_COPY_STR_TO_FIELD 33 /* 000 Copy String to */
/* Field function number. */
#define HA_COPY_FIELD_TO_STR 34 /* 000 Copy Field to */
/* String function */
/* number. */
#define HA_SET_CURSOR 40 /* 000 Set Cursor */
/* function number. */
#define HA_START_CLOSE_INTERCEPT 41 /* 000 Start Close Intercept */
/* function number. */
#define HA_QUERY_CLOSE_INTERCEPT 42 /* 000 Query Close Intercept */
/* function number. */
#define HA_STOP_CLOSE_INTERCEPT 43 /* 000 Stop Close Intercept */
/* function number. */
#define HA_START_KEY_INTERCEPT 50 /* 000 Start Keystroke */
/* Intercept function */
/* number. */
#define HA_GET_KEY 51 /* 000 Get Key function */
/* number. */
#define HA_POST_INTERCEPT_STATUS 52 /* 000 Post Intercept */
/* Status function */
/* number. */
#define HA_STOP_KEY_INTERCEPT 53 /* 000 Stop Keystroke */
/* Intercept function */
/* number. */
#define HA_LOCK_PS 60 /* 000 Lock Presentation */
/* Space function */
/* number. */
#define HA_LOCK_PMSVC 61 /* 000 Lock PM Window */
/* Services function */
/* number. */
#define HA_SEND_FILE 90 /* 000 Send File function */
/* number. */
#define HA_RECEIVE_FILE 91 /* 000 Receive file */
/* function number. */
#define HA_CONVERT_POS_ROW_COL 99 /* 000 Convert Position */
/* or Row Column function */
/* number. */
#define HA_CONNECT_PM_SRVCS 101 /* 000 Connect For */
/* Presentation Manager */
/* Window Services function */
/* number */
#define HA_DISCONNECT_PM_SRVCS 102 /* 000 Disconnect From */
/* Presentation Manager */
/* Window Services function */
/* number */
#define HA_QUERY_WINDOW_COORDS 103 /* 000 Query Presentation */
/* Manager Window */
/* Coordinates function */
/* number */
#define HA_PM_WINDOW_STATUS 104 /* 000 PM Window Status */
/* function number */
#define HA_CHANGE_SWITCH_NAME 105 /* 000 Change Switch List */
/* Logical Terminal name */
/* function number */
#define HA_CHANGE_WINDOW_NAME 106 /* 000 Change PS Window */
/* Name function number */
#define HA_CONTROL_SWITCH_ENTRY 107 /* 000 Control Switch List */
/* Logical Terminal Entry */
/* function number */
#define HA_START_STRUCTURED_FLD 120 /* 000 Start Structured */
/* Field function number */
#define HA_STOP_STRUCTURED_FLD 121 /* 000 Stop Structured */
/* Field function number */
#define HA_QUERY_BUFFER_SIZE 122 /* 000 Query Communications */
/* Buffer Size function */
/* number */
#define HA_ALLOCATE_COMMO_BUFF 123 /* 000 Allocate */
/* Communications Buffer */
/* function number */
#define HA_FREE_COMMO_BUFF 124 /* 000 Free Communications */
/* Buffer function number */
#define HA_GET_ASYNC_COMPLETION 125 /* 000 Get Asynchronous */
/* Completion Request */
/* function */
#define HA_READ_STRUCTURED_FLD 126 /* 000 Read Structured Field */
/* function number */
#define HA_WRITE_STRUCTURED_FLD 127 /* 000 Write Structured */
/* Field function number */
/*********************************************************************/
/******************** EHLLAPI RETURN CODES ***************************/
/*********************************************************************/
#define HARC_SUCCESS 0 /* 000 Good return code. */
#define HARC99_INVALID_INP 0 /* 000 Incorrect input */
/* for Convert Position */
/* or RowCol(99). */
#define HARC_INVALID_PS 1 /* 000 Invalid PS, Not */
/* connected return code. */
#define HARC_BAD_PARM 2 /* 000 Bad parameter, or */
/* verb not supported */
/* return code. */
#define HARC_BUSY 4 /* 000 PS is busy return */
/* code. */
#define HARC_LOCKED 5 /* 000 PS is LOCKed, or */
/* invalid keystroke */
/* return code. */
#define HARC_TRUNCATION 6 /* 000 Truncation */
/* occured, or invalid */
/* length return code. */
#define HARC_INVALID_PS_POS 7 /* 000 Invalid PS */
/* position return code. */
#define HARC_NO_PRIOR_START 8 /* 000 No prior start */
/* keystroke int. or host */
/* notify return code. */
#define HARC_SYSTEM_ERROR 9 /* 000 A system error */
/* occured return code. */
#define HARC_UNSUPPORTED 10 /* 000 Invalid or */
/* unsupported function */
/* number return code. */
#define HARC_UNAVAILABLE 11 /* 000 Resource is */
/* unavalible at this */
/* time return code. */
#define HARC_SESSION_STOPPED 12 /* 000 Session has */
/* been stopped */
#define HARC_BAD_MNEMONIC 20 /* 000 Illegal mnemonic */
/* return code. */
#define HARC_OIA_UPDATE 21 /* 000 A OIA update */
/* occurred return code. */
#define HARC_PS_UPDATE 22 /* 000 A PS update */
/* occurred return code. */
#define HARC_PS_AND_OIA_UPDATE 23 /* A PS and OIA update */
/* occurred return code. */
#define HARC_STR_NOT_FOUND_UNFM_PS 24 /* 000 String not found, */
/* or Unformated PS */
/* return code. */
#define HARC_NO_KEYS_AVAIL 25 /* 000 No keys available */
/* return code. */
#define HARC_HOST_UPDATE 26 /* 000 A HOST update */
/* occurred return code. */
#define HARC_FIELD_LEN_ZERO 28 /* 000 Field length = 0 */
/* return code. */
#define HARC_QUEUE_OVERFLOW 31 /* 000 Keystroke queue */
/* overflow return code. */
#define HARC_ANOTHER_CONNECTION 32 /* 000 Successful. Another */
/* Structured Field */
/* connection to this */
/* session concurrently */
/* exists. */
#define HARC_INBOUND_CANCELLED 34 /* 000 Inbound structured */
/* field cancelled. */
#define HARC_OUTBOUND_CANCELLED 35 /* 000 Outbound structured */
/* field cancelled. */
#define HARC_CONTACT_LOST 36 /* 000 Contact with the */
/* Host was lost. */
#define HARC_INBOUND_DISABLED 37 /* 000 Host structured field */
/* state is inbound disabled.*/
#define HARC_FUNCTION_INCOMPLETE 38 /* 000 Requested Asynchronous*/
/* function has not completed*/
#define HARC_DDM_ALREADY_EXISTS 39 /* 000 Request for DDM */
/* structured field connect */
/* failed because another */
/* DDM connection to this */
/* session already exists. */
#define HARC_ASYNC_REQUESTS_OUT 40 /* 000 Disconnect successful.*/
/* Pending asynchronous */
/* requests pending. */
#define HARC_MEMORY_IN_USE 41 /* 000 Memory cannot be freed*/
/* because it is in use. */
#define HARC_NO_MATCH 42 /* 000 No pending */
/* asynchronous request meet */
/* supplied criterion. */
#define HARC_OPTION_INVALID 43 /* 000 Option requested is */
/* invalid at this time. */
#define HARC99_INVALID_PS 9998 /* 000 An invalid PS id */
/* was specified, or PS */
/* was never connected, or */
/* System Error occured */
/* for Convert Position */
/* or RowCol(99). */
#define HARC99_INVALID_CONV_OPT 9999 /* 000 Invalid convert */
/* option was specified. */
/* for Convert Position */
/* or RowCol(99). */
/*********************************************************************/
/******************* EHLLAPI FUNCTION STRUCTURES *********************/
/*********************************************************************/
/*********************************************************************/
/* Query Sessions (10) */
/*********************************************************************/
struct qses_struct
/* structure */
{
unsigned char qses_shortname; /* 000 Session Shortname */
unsigned char qses_longname╒8■; /* 000 Session Longname */
unsigned char qses_sestype; /* 000 Session Type */
unsigned short int qses_pssize; /* 000 Presentation Space */
/* Size. */
}
; /* 000 */
/*********************************************************************/
/* Copy OIA (13) */
/*********************************************************************/
struct coia_struct
{
unsigned char coia_format; /* 000 The OIA Format */
/* Byte for the 3270 PC. */
unsigned char coia_image╒80■; /* 000 The OIA image */
unsigned char coia_group╒22■; /* 000 The OIA group */
}
; /* 000 */
/*********************************************************************/
/* Storage Manager (17) */
/*********************************************************************/
struct stor_struct
/* structure. */
{
unsigned char PTR16 stor_ptr; /* 000 4 byte pointer to CS2C*/
/* memory. */
}
; /* 000 */
/*********************************************************************/
/* Query System (20) */
/*********************************************************************/
struct qsys_struct
/* structure */
{
unsigned char qsys_hllapi_ver; /* 000 Ehllapi version */
unsigned char qsys_hllapi_lvl╒2■; /* 000 Ehllapi level */
unsigned char qsys_hllapi_date╒6■; /* 000 Ehllapi release */
/* date */
unsigned char qsys_lim_ver; /* 000 LIM version */
unsigned char qsys_lim_lvl╒2■; /* 000 LIM level */
unsigned char qsys_hardware_base; /* 000 Hardware base */
unsigned char qsys_ctrl_prog_type; /* 000 Control program */
/* type */
unsigned char qsys_seq_num╒2■; /* 000 Sequence number */
unsigned char qsys_ctrl_prog_ver╒2■; /* 000 Control program */
/* version */
unsigned char qsys_pc_sname; /* 000 Base pc session */
/* name */
unsigned char qsys_err1╒4■; /* 000 System error words */
/* and 2 */
unsigned char qsys_err2╒4■; /* 000 System error words */
/* and 4 */
unsigned char qsys_sys_model; /* 000 System model */
unsigned char qsys_sys_submodel; /* 000 System submodel */
unsigned short qsys_pc_nls; /* 000 Pc code page */
unsigned char qsys_monitor_type; /* 000 Monitor type */
unsigned char qsys_reserved╒3■; /* 000 RESERVED */
}
; /* 000 */
/*********************************************************************/
/* Query Session Status (22) */
/*********************************************************************/
struct qsst_struct /* 000 Query Session */
/* Status structure */
{
unsigned char qsst_shortname; /* 000 Session shortname */
unsigned char qsst_longname╒8■; /* 000 Session longname */
unsigned char qsst_sestype; /* 000 Session type */
unsigned char qsst_char; /* 000 Session */
/* characteristics */
unsigned short int qsst_ps_rows; /* 000 Number of rows in */
/* presentation space */
unsigned short int qsst_ps_cols; /* 000 Number of columns */
/* in presentation space */
unsigned short int qsst_host_nls; /* 000 Host code page */
unsigned char qsst_reserv18; /* 000 Reserved byte */
}
; /* 000 */
/*********************************************************************/
/* Start Host Notification (23) */
/*********************************************************************/
struct sthn_struct /* 000 Start Host */
/* Notification */
/* structure. */
{
unsigned char sthn_shortname; /* 000 Session Shortname */
unsigned char sthn_event_opt; /* 000 Update event */
/* option */
unsigned char PTR16 sthn_asem; /* 000 4 byte pointer to CS2C*/
unsigned char sthn_aevent_opt; /* 000 Async update event */
/* option */
}
; /* 000 */
/*********************************************************************/
/* Start Close Click Intercept (41) */
/*********************************************************************/
struct stci_struct
{
unsigned char stci_shortname; /* 000 Session Shortname */
unsigned char PTR16 stci_asem; /* 000 4 byte pointer to CS2C*/
/* 000 Async semaphore */
}
;
/*********************************************************************/
/* Query Close Click Intercept (42) */
/*********************************************************************/
struct qyci_struct
{
unsigned char qyci_shortname; /* 000 Session Shortname */
}
;
/*********************************************************************/
/* Stop Close Click Intercept (43) */
/*********************************************************************/
struct spci_struct
{
unsigned char spci_shortname; /* 000 Session Shortname */
}
;
/*********************************************************************/
/* Start Keystroke Intercept (50) */
/*********************************************************************/
struct stki_struct /* 000 Start Keystroke */
/* Intercept structure */
{
unsigned char stki_shortname; /* 000 Session Shortname */
unsigned char stki_keytyp_opt; /* 000 Type of keys to */
/* intercept */
}
; /* 000 */
/*********************************************************************/
/* Get Key (51) */
/*********************************************************************/
struct gkey_struct /* 000 Get Key structure. */
{
unsigned char gkey_shortname; /* 000 Session Shortname */
unsigned char gkey_keytype; /* 000 Type of key */
/* intercepted */
unsigned char gkey_key╒6■; /* 000 Ascii or ascii */
/* mnemonic */
}
; /* 000 */
/*********************************************************************/
/* Post Intercept Status (52) */
/*********************************************************************/
struct pist_struct /* 000 Post Intercept */
/* Status structure */
{
unsigned char pist_shortname; /* 000 Session Shortname */
unsigned char pist_post_opt; /* 000 Key accepted or */
/* rejected */
}
; /* 000 */
/*********************************************************************/
/* Convert Position or Row Column (99) */
/*********************************************************************/
struct cvrc_struct /* 000 Convert Position */
/* or Row Column */
/* structure */
{
unsigned char cvrc_shortname; /* 000 Session Shortname */
unsigned char cvrc_opt; /* 000 Convert option */
}
; /* 000 */
/*********************************************************************/
/* Connect for PM Services (101) */
/*********************************************************************/
struct stpm_struct /* 000 Connect For */
/* Presentation Manager */
/* Services structure */
{
unsigned char stpm_shortname; /* 000 Session Shortname */
}
;
/*********************************************************************/
/* Disconnect from PM Services (102) */
/*********************************************************************/
struct sppm_struct /* 000 Disconnect From */
/* Presentation Manager */
/* Services structure */
{
unsigned char sppm_shortname; /* 000 Session Shortname */
}
;
/*********************************************************************/
/* Query PM Window Coordinates (103) */
/*********************************************************************/
struct gcor_struct /* 000 Query PM Window */
/* Coordinates structure */
{
unsigned char gcor_shortname; /* 000 Session Shortname */
unsigned long int gcor_xLeft; /* 000 Left X coordinate */
unsigned long int gcor_yBottom; /* 000 Bottom Y coordinate */
unsigned long int gcor_xRight; /* 000 Right X coordinate */
unsigned long int gcor_yTop; /* 000 Top Y coordinate */
}
;
/*********************************************************************/
/* PM Window Status (104) */
/*********************************************************************/
struct cwin_struct /* 000 PM Window Status */
/* structure */
{
unsigned char cwin_shortname; /* 000 Session Shortname */
unsigned char cwin_option; /* 000 Set/Query option */
unsigned short int cwin_flags; /* 000 Window flags */
short int cwin_xpos; /* 000 X coordinate position */
short int cwin_ypos; /* 000 Y coordinate position */
short int cwin_xsize; /* 000 X axis window size */
short int cwin_ysize; /* 000 Y axis window size */
unsigned long int cwin_behind; /* 000 Relative Window */
/* placement */
}
;
/*********************************************************************/
/* Change Switch List Name (105) */
/*********************************************************************/
struct chsw_struct /* 000 Change Switch List */
/* Name structure */
{
unsigned char chsw_shortname; /* 000 Session Shortname */
unsigned char chsw_option; /* 000 Set/Reset option */
unsigned char chsw_swname╒61■; /* 000 Switch List name */
}
;
/*********************************************************************/
/* Change LT Window Name (106) */
/*********************************************************************/
struct chlt_struct /* 000 Change LT Window */
{ /* Name structure */
unsigned char chlt_shortname; /* 000 Session Shortname */
unsigned char chlt_option; /* 000 Set/Reset option */
unsigned char chlt_ltname╒61■; /* 000 LT Window Name */
}
;
/*********************************************************************/
/* Control Switch List Entry (107) */
/*********************************************************************/
typedef struct ctsw_struct
{
unsigned char ctsw_shortname; /* 000 Session Shortname */
unsigned char ctsw_option; /* 000 Create/Delete options */
unsigned char ctsw_swname╒61■; /* 000 Switch list text */
}
;
/*********************************************************************/
/* Start Structured Field (120) */
/*********************************************************************/
typedef struct stsf_struct
{
unsigned char stsf_shortname; /* 000 Session Shortname */
unsigned char PTR16 stsf_query; /* 000 4 byte pointer to CS2C*/
/* 000 Query reply */
unsigned short int stsf_doid; /* 000 Destination/Orgin id */
unsigned char PTR16 stsf_asem; /* 000 4 byte pointer to CS2C*/
/* 000 notification semaphore*/
}
;
/*********************************************************************/
/* Stop Structured Field (121) */
/*********************************************************************/
typedef struct spsf_struct
{
unsigned char spsf_shortname; /* 000 Session Shortname */
unsigned short int spsf_doid; /* 000 Destination/Orgin id */
}
;
/*********************************************************************/
/* Query Communications buffer sizes(122) */
/*********************************************************************/
typedef struct qbuf_struct
{
unsigned char qbuf_shortname; /* 000 Session Shortname */
unsigned short int qbuf_opt_inbound; /* 000 Optimal inbound buffer*/
/* 000 length */
unsigned short int qbuf_max_inbound; /* 000 Maximum inbound buffer*/
/* 000 length */
unsigned short int qbuf_opt_outbound; /* 000 Optiomal outbound */
/* 000 buffer length */
unsigned short int qbuf_max_outbound; /* 000 Maximum outbound */
/* 000 buffer length */
}
;
/*********************************************************************/
/* Allocate communications buffer (123) */
/*********************************************************************/
typedef struct abuf_struct
{
unsigned short int abuf_length; /* 000 request buffer length */
unsigned char PTR16 abuf_address; /* 000 4 byte pointer to CS2C*/
/* 000 return buffer address */
}
;
/*********************************************************************/
/* Free communications buffer (124) */
/*********************************************************************/
typedef struct fbuf_struct
{
unsigned short int fbuf_length; /* 000 buffer length to free */
unsigned char PTR16 fbuf_address; /* 000 4 byte buffer addrCS2C*/
}
;
/*********************************************************************/
/* Get Async Request completion (125) */
/*********************************************************************/
typedef struct gcmp_struct
{
unsigned char gcmp_shortname; /* 000 Session Shortname */
unsigned char gcmp_option; /* 000 Wait option */
unsigned short int gcmp_requestid; /* 000 request id */
unsigned short int gcmp_ret_functid; /* 000 returned function id */
unsigned char PTR16 gcmp_ret_datastr; /* 000 4 byte pointer to CS2C*/
/* 000 returned datastring */
unsigned short int gcmp_ret_length; /* 000 returned length */
unsigned short int gcmp_ret_retcode; /* 000 returned return code */
}
;
/*********************************************************************/
/* Read Structured Field (126) */
/*********************************************************************/
typedef struct rdsf_struct
{
unsigned char rdsf_shortname; /* 000 Session Shortname */
unsigned char rdsf_option; /* 000 Wait option */
unsigned short int rdsf_doid; /* 000 destination/orgin id */
unsigned char PTR16 rdsf_buffer; /* 000 4 byte pointer to CS2C*/
/* 000 read buffer */
unsigned short int rdsf_requestid; /* 000 request id */
unsigned char PTR16 rdsf_asem; /* 000 4 byte pointer to CS2C*/
/* 000 notification semaphore*/
}
;
/*********************************************************************/
/* Write Structured Field (127) */
/*********************************************************************/
typedef struct wrsf_struct
{
unsigned char wrsf_shortname; /* 000 Session Shortname */
unsigned char wrsf_option; /* 000 Wait option */
unsigned short int wrsf_doid; /* 000 destination/orgin id */
unsigned char PTR16 wrsf_buffer; /* 000 4 byte pointer to CS2C*/
/* 000 write buffer */
unsigned short int wrsf_requestid; /* 000 request id */
unsigned char PTR16 wrsf_asem; /* 000 4 byte pointer to CS2C*/
/* 000 notification semaphore*/
}
;
/*ENDCODE */