1927 lines
104 KiB
C
1927 lines
104 KiB
C
/* Copyright Data Connection Ltd. 1989 */
|
|
/*****************************************************************************/
|
|
/* */
|
|
/*****************************************************************************/
|
|
/* winappc.h */
|
|
/* Copyright (c) 1989, Microsoft Corporation. All rights reserved. */
|
|
|
|
/*****************************************************************************/
|
|
/* APPC constant, vcb and function definitions */
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* Change History */
|
|
/* CPIC 07/05/91 GH Add get_conv_state verb, and support for fully */
|
|
/* qualified network names in the (mc)allocate VCBs */
|
|
/* CPIC 03/06/91 GH Changed FQname support. Name now '.' separated. */
|
|
/* CPIC 14/06/91 GH Added constants for the conv_state parameter */
|
|
/* SCSN 08/08/91 GH Fixed the AP_SEND_DATA_CONFIRM_SYNC_NONE defn. */
|
|
/* CPIC 22/08/91 GH Removed the FQ-flag in (mc)allocate VCBs */
|
|
/* 9997 23/10/91 AD Change TP_ENDED end_type field to EE friendly 'type' */
|
|
/* 3054 13/11/91 SW Add pascal entry point function prototype */
|
|
/* xxxx 02/01/92 SW Update what_rcvd values */
|
|
/* CNOS 17/01/92 PP Add opcode for CNOS. NS/2 allows management verbs */
|
|
/* to go through APPC entry point */
|
|
/* W32 24/02/92 AD Win32 port */
|
|
/* CPIC 24/02/92 AD Move CPIC specific constants and types */
|
|
/* W32 14/04/92 AD remove far keyword for Win32, add pack pragma */
|
|
/* DISP 14/04/92 TB Add definition for DISPLAY opcode. */
|
|
/* DSP2 04/06/92 TB Check to see if appc_c.h already included mgmt hdrs */
|
|
/* ES10 03/11/92 SP Add support for ES 1.0 APPC extensions */
|
|
/* WSNA2 27/10/92 CD Changes for WinSNA */
|
|
/* DFLU 18/02/93 SP Add rc for Bad Partner LU Alias */
|
|
/* IBM1 29/06/93 NGR Add #defines and typedefs from ES include files */
|
|
/* EVNT 14/12/93 DK Allow completion to be notified by setting an event */
|
|
/* GRC 20/01/94 DK Add definition of GetAppcReturnCode */
|
|
/* RPRP 24/10/95 JD Implement TEST_RTS_AND_POST */
|
|
/* SYNC 25/03/96 SGF Syncpoint Support */
|
|
/* APOR 02/12/96 DA Implement POST_ON_RECEIPT */
|
|
/* SELD 02/01/97 DA Send error log data on mapped conversations */
|
|
/* RELD 02/01/97 DA Recv error log data */
|
|
/* 5178 02/25/97 SGF Single signon for priviledged proxy */
|
|
/* 7239 03/05/97 SGF Make single signon strings UNICODE */
|
|
/* ACTS 05/01/96 RW ACTIVATE_SESSION & DEACTIVATE_SESSION support */
|
|
/* 2PC 09/27/98 DP Add ENLIST verb, return codes for 2-phase commit */
|
|
/* 3669 02/18/99 RW Support Attach Manager for IBM DB2 */
|
|
/* IOCP 14/05/99 PH Add IOCP support. */
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* If winappc.h not already included then define APPC_C_INCLUDED to avoid it */
|
|
/* being included again. This is needed as winappc.h is included in the */
|
|
/* management header acsmgtc.h. *DSP2* */
|
|
/*****************************************************************************/
|
|
#ifndef APPC_C_INCLUDED
|
|
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
|
|
#define APPC_C_INCLUDED
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*****************************************************************************/
|
|
/* Set WINSNA if this is Win16 or Win32 *WSNA2*/
|
|
/*****************************************************************************/
|
|
#if ( defined(WINDOWS) || defined(WIN32) )
|
|
#define WINSNA
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* ========================================================================= */
|
|
/*****************************************************************************/
|
|
/* ------------------------- macro definitions ----------------------------- */
|
|
/*****************************************************************************/
|
|
|
|
/*************************************************************************W32*/
|
|
/* for Win32 environment: *W32*/
|
|
/* - ensure correct packing *W32*/
|
|
/* - remove references to far *W32*/
|
|
/*************************************************************************W32*/
|
|
#ifdef WIN32 /*W32*/
|
|
/*W32*/
|
|
#pragma pack(4) /*W32*/
|
|
#define far /*W32*/
|
|
/*W32*/
|
|
#endif /*W32*/
|
|
|
|
/*************************************************************************W32*/
|
|
/* define type conversion macros *W32*/
|
|
/*************************************************************************W32*/
|
|
#define APPC_LO_UC(w) ((unsigned char)(((unsigned short)(w)) & 0xFF))/*W32*/
|
|
#define APPC_HI_UC(w) ((unsigned char)(((unsigned short)(w) >> 8) \
|
|
& 0xff)) /*W32*/
|
|
#define APPC_MAKUS(l, h) (((unsigned short)(l)) | \
|
|
((unsigned short)(h)) << 8) /*W32*/
|
|
#define APPC_MAKUL(l, h) ((unsigned long)(((unsigned short)(l))| \
|
|
((unsigned long)((unsigned short)(h))) << 16))/*W32*/
|
|
#define APPC_LO_US(l) ((unsigned short)(((unsigned long)(l)) & 0xFFFF))/*W32*/
|
|
#define APPC_HI_US(l) ((unsigned short)(((unsigned long)(l) >> 16) \
|
|
& 0xffff)) /*W32*/
|
|
/*W32*/
|
|
/*************************************************************************W32*/
|
|
/* IF non-Intel THEN *W32*/
|
|
/* set flipping to nop for now *W32*/
|
|
/*************************************************************************W32*/
|
|
#ifdef NON_INTEL_BYTE_ORDER /*W32*/
|
|
#define APPC_FLIPI(X) (X) /*W32*/
|
|
#define APPC_FLIPL(X) (X) /*W32*/
|
|
/*W32*/
|
|
/*************************************************************************W32*/
|
|
/* ELSE (Intel environment) *W32*/
|
|
/* define flipping macros *W32*/
|
|
/*************************************************************************W32*/
|
|
#else /*W32*/
|
|
#define APPC_FLIPI(X) APPC_MAKUS(APPC_HI_UC(X),APPC_LO_UC(X)) /*W32*/
|
|
#define APPC_FLIPL(X) APPC_MAKUL(APPC_FLIPI(APPC_HI_US(X)), \
|
|
APPC_FLIPI(APPC_LO_US(X))) /*W32*/
|
|
#endif /*W32*/
|
|
|
|
#ifdef WIN32
|
|
#define far
|
|
#endif
|
|
|
|
/* ========================================================================= */
|
|
/*****************************************************************************/
|
|
/* ------------------------- verb opcodes ---------------------------------- */
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* control verbs */
|
|
/*****************************************************************************/
|
|
#define AP_TP_STARTED APPC_FLIPI(0x1400) /* X'1400' */
|
|
#define AP_RECEIVE_ALLOCATE APPC_FLIPI(0x1600) /* X'1600' */
|
|
#define AP_TP_ENDED APPC_FLIPI(0x1300) /* X'1300' */
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* ACTS: activate/deactivate session verbs */
|
|
/*****************************************************************************/
|
|
#define AP_DEACTIVATE_SESSION APPC_FLIPI(0x2E00)
|
|
#define AP_ACTIVATE_SESSION APPC_FLIPI(0x1410)
|
|
|
|
/*****************************************************************************/
|
|
/* New opcode for RCV_ALLOC with a list of TP names *WSNA5*/
|
|
/* */
|
|
/* Though defined for all OS, this verb will only be allowed for WINSNA */
|
|
/* environments */
|
|
/*****************************************************************************/
|
|
#define AP_RECEIVE_ALLOCATE_X APPC_FLIPI(0x9600) /*X'1600'+ X'8000'*/
|
|
#define AP_RECEIVE_ALLOCATE_EX APPC_FLIPI(0xF103) /* X'F103' */
|
|
#define AP_RECEIVE_ALLOCATE_EX_END APPC_FLIPI(0xF104) /* X'F104' */
|
|
|
|
/*****************************************************************************/
|
|
/* management verbs *DISP*CNOS*/
|
|
/*****************************************************************************/
|
|
#define AP_CNOS APPC_FLIPI(0x1500) /* X'1500' */
|
|
#define AP_DISPLAY APPC_FLIPI(0X1B00) /* X'1B00' */
|
|
|
|
/*****************************************************************************/
|
|
/* mapped conversation verbs */
|
|
/*****************************************************************************/
|
|
#define AP_M_ALLOCATE APPC_FLIPI(0x0100) /* X'0100' */
|
|
#define AP_M_CONFIRM APPC_FLIPI(0x0300) /* X'0300' */
|
|
#define AP_M_CONFIRMED APPC_FLIPI(0x0400) /* X'0400' */
|
|
#define AP_M_DEALLOCATE APPC_FLIPI(0x0500) /* X'0500' */
|
|
#define AP_M_FLUSH APPC_FLIPI(0x0600) /* X'0600' */
|
|
#define AP_M_GET_ATTRIBUTES APPC_FLIPI(0x0700) /* X'0700' */
|
|
#define AP_M_PREPARE_TO_RECEIVE APPC_FLIPI(0x0a00) /* X'0a00' */
|
|
#define AP_M_RECEIVE_AND_POST APPC_FLIPI(0x0d00) /* X'0d00' */
|
|
#define AP_M_RECEIVE_AND_WAIT APPC_FLIPI(0x0b00) /* X'0b00' */
|
|
#define AP_M_RECEIVE_IMMEDIATE APPC_FLIPI(0x0c00) /* X'0c00' */
|
|
#define AP_M_REQUEST_TO_SEND APPC_FLIPI(0x0e00) /* X'0e00' */
|
|
#define AP_M_SEND_CONVERSATION APPC_FLIPI(0x1800) //ES10 /* X'1800' */
|
|
#define AP_M_SEND_DATA APPC_FLIPI(0x0f00) /* X'0f00' */
|
|
#define AP_M_SEND_ERROR APPC_FLIPI(0x1000) /* X'1000' */
|
|
#define AP_M_TEST_RTS APPC_FLIPI(0x1200) /* X'1200' */
|
|
#define AP_M_TEST_RTS_AND_POST APPC_FLIPI(0x8100) /* X'8100' */ /*RPRP*/
|
|
#ifdef WIN32 /*APOR*/
|
|
#define AP_M_POST_ON_RECEIPT APPC_FLIPI(0x8200) /* X'8200' */ /*APOR*/
|
|
#endif /*APOR*/
|
|
#define AP_M_RECEIVE_LOG_DATA APPC_FLIPI(0x8300) /* X'8300' */ /*RELD*/
|
|
|
|
/*****************************************************************************/
|
|
/* basic conversation verbs */
|
|
/*****************************************************************************/
|
|
#define AP_B_ALLOCATE APPC_FLIPI(0x0100) /* X'0100' */
|
|
#define AP_B_CONFIRM APPC_FLIPI(0x0300) /* X'0300' */
|
|
#define AP_B_CONFIRMED APPC_FLIPI(0x0400) /* X'0400' */
|
|
#define AP_B_DEALLOCATE APPC_FLIPI(0x0500) /* X'0500' */
|
|
#define AP_B_FLUSH APPC_FLIPI(0x0600) /* X'0600' */
|
|
#define AP_B_GET_ATTRIBUTES APPC_FLIPI(0x0700) /* X'0700' */
|
|
#define AP_B_PREPARE_TO_RECEIVE APPC_FLIPI(0x0a00) /* X'0a00' */
|
|
#define AP_B_RECEIVE_AND_POST APPC_FLIPI(0x0d00) /* X'0d00' */
|
|
#define AP_B_RECEIVE_AND_WAIT APPC_FLIPI(0x0b00) /* X'0b00' */
|
|
#define AP_B_RECEIVE_IMMEDIATE APPC_FLIPI(0x0c00) /* X'0c00' */
|
|
#define AP_B_REQUEST_TO_SEND APPC_FLIPI(0x0e00) /* X'0e00' */
|
|
#define AP_B_SEND_CONVERSATION APPC_FLIPI(0x1800) //ES10 /* X'1800' */
|
|
#define AP_B_SEND_DATA APPC_FLIPI(0x0f00) /* X'0f00' */
|
|
#define AP_B_SEND_ERROR APPC_FLIPI(0x1000) /* X'1000' */
|
|
#define AP_B_TEST_RTS APPC_FLIPI(0x1200) /* X'1200' */
|
|
#define AP_B_TEST_RTS_AND_POST APPC_FLIPI(0x8100) /* X'8100' */ /*RPRP*/
|
|
#ifdef WIN32 /*APOR*/
|
|
#define AP_B_POST_ON_RECEIPT APPC_FLIPI(0x8200) /* X'8200' */ /*APOR*/
|
|
#endif /*APOR*/
|
|
#define AP_B_RECEIVE_LOG_DATA APPC_FLIPI(0x8300) /* X'8300' */ /*RELD*/
|
|
|
|
/*****************************************************************************/
|
|
/* type independent verbs */
|
|
/*****************************************************************************/
|
|
#define AP_GET_TP_PROPERTIES APPC_FLIPI(0x1700) //ES10 /* X'1700' */
|
|
#define AP_GET_TYPE APPC_FLIPI(0x0800) /* X'0800' */
|
|
#define AP_GET_STATE APPC_FLIPI(0x0900) /* X'0900' */
|
|
#ifdef SYNCPT_SUPPORT /*SYNC*/
|
|
#define AP_ENLIST APPC_FLIPI(0x7d00) /* X'7d00' *2PC*/
|
|
#define AP_SET_TP_PROPERTIES APPC_FLIPI(0x7e00) /* X'7e00' *SYNC*/
|
|
#define AP_GET_LU_STATUS APPC_FLIPI(0x7f00) /* X'7f00' *SYNC*/
|
|
#endif /*SYNC*/
|
|
|
|
/* ========================================================================= */
|
|
/*****************************************************************************/
|
|
/* ------------------- primary and secondary return codes ------------------ */
|
|
/*****************************************************************************/
|
|
#define AP_OK APPC_FLIPI(0x0000) /* X'0000' */
|
|
|
|
#define AP_PARAMETER_CHECK APPC_FLIPI(0x0001) /* X'0001' */
|
|
#define AP_BAD_TP_ID APPC_FLIPL(0x00000001) /*X'00000001'*/
|
|
#define AP_BAD_CONV_ID APPC_FLIPL(0x00000002) /*X'00000002'*/
|
|
#define AP_BAD_LU_ALIAS APPC_FLIPL(0x00000003) /*X'00000003'*/
|
|
#define AP_INVALID_DATA_SEGMENT APPC_FLIPL(0x00000006) /*X'00000006'*/
|
|
#define AP_BAD_CONV_TYPE APPC_FLIPL(0x00000011) /*X'00000011'*/
|
|
#define AP_BAD_SYNC_LEVEL APPC_FLIPL(0x00000012) /*X'00000012'*/
|
|
#define AP_BAD_SECURITY APPC_FLIPL(0x00000013) /*X'00000013'*/
|
|
#define AP_BAD_RETURN_CONTROL APPC_FLIPL(0x00000014) /*X'00000014'*/
|
|
#define AP_PIP_LEN_INCORRECT APPC_FLIPL(0x00000016) /*X'00000016'*/
|
|
#define AP_NO_USE_OF_SNASVCMG APPC_FLIPL(0x00000017) /*X'00000017'*/
|
|
#define AP_UNKNOWN_PARTNER_MODE APPC_FLIPL(0x00000018) /*X'00000018'*/
|
|
#define AP_CONFIRM_ON_SYNC_LEVEL_NONE APPC_FLIPL(0x00000031) /*X'00000031'*/
|
|
#define AP_DEALLOC_BAD_TYPE APPC_FLIPL(0x00000051) /*X'00000051'*/
|
|
#define AP_DEALLOC_LOG_LL_WRONG APPC_FLIPL(0x00000057) /*X'00000057'*/
|
|
#define AP_P_TO_R_INVALID_TYPE APPC_FLIPL(0x000000a1) /*X'000000a1'*/
|
|
#define AP_RCV_AND_WAIT_BAD_FILL APPC_FLIPL(0x000000b5) /*X'000000b5'*/
|
|
#define AP_RCV_IMMD_BAD_FILL APPC_FLIPL(0x000000c4) /*X'000000c4'*/
|
|
#define AP_RCV_AND_POST_BAD_FILL APPC_FLIPL(0x000000d5) /*X'000000d5'*/
|
|
#define AP_INVALID_SEMAPHORE_HANDLE APPC_FLIPL(0x000000d6) /*X'000000d6'*/
|
|
#define AP_BAD_RETURN_STATUS_WITH_DATA APPC_FLIPL(0x000000d7) /*X'000000d7'*/
|
|
#define AP_BAD_LL APPC_FLIPL(0x000000f1) /*X'000000f1'*/
|
|
#define AP_SEND_DATA_INVALID_TYPE APPC_FLIPL(0x000000f4) /*X'000000f4'*/
|
|
#define AP_INVALID_SESSION_ID APPC_FLIPL(0x00000512) /*X'00000512'*/
|
|
/*ES10*/
|
|
#define AP_INVALID_POLARITY APPC_FLIPL(0x00000513) /*X'00000513'*/
|
|
#define AP_INVALID_TYPE APPC_FLIPL(0x00000514) /*X'00000514'*/
|
|
#define AP_INVALID_LU_ALIAS APPC_FLIPL(0x00000515) /*X'00000515'*/
|
|
#define AP_INVALID_PLU_ALIAS APPC_FLIPL(0x00000516) /*X'00000516'*/
|
|
#define AP_INVALID_MODE_NAME APPC_FLIPL(0x00000517) /*X'00000517'*/
|
|
/*2PC*/
|
|
#define AP_INVALID_TRANSACT_ID APPC_FLIPL(0x00000518) /*X'00000518'*/
|
|
|
|
|
|
|
|
/*#define AP_SEND_DATA_CONFIRM_ON_SYNC_LEVEL_NONE 0xf5000000*/ /*X'000000f5' */
|
|
#define AP_SEND_DATA_CONFIRM_SYNC_NONE APPC_FLIPL(0x000000f5) /*X'000000f5'*/
|
|
/*SCSN*/
|
|
#define AP_BAD_PARTNER_LU_ALIAS APPC_FLIPL(0x0000015b) /*X'0000015b'*/
|
|
/*DFLU*/
|
|
|
|
#define AP_SEND_ERROR_LOG_LL_WRONG APPC_FLIPL(0x00000102) /*X'00000102'*/
|
|
#define AP_SEND_ERROR_BAD_TYPE APPC_FLIPL(0x00000103) /*X'00000103'*/
|
|
#define AP_BAD_ERROR_DIRECTION APPC_FLIPL(0x00000105) /*X'00000105'*/
|
|
#define AP_TOO_MANY_TPS APPC_FLIPL(0x00000243) /*X'00000243'*/
|
|
#define AP_BAD_TYPE APPC_FLIPL(0x00000250) /*X'00000250'*/
|
|
#define AP_UNDEFINED_TP_NAME APPC_FLIPL(0x00000506) /*X'00000506'*/
|
|
#define AP_INVALID_SET_PROT APPC_FLIPL(0x00000700) /*X'00000700'SYNC*/
|
|
#define AP_INVALID_NEW_PROT APPC_FLIPL(0x00000701) /*X'00000701'SYNC*/
|
|
#define AP_INVALID_SET_UNPROT APPC_FLIPL(0x00000702) /*X'00000702'SYNC*/
|
|
#define AP_INVALID_NEW_UNPROT APPC_FLIPL(0x00000703) /*X'00000703'SYNC*/
|
|
#define AP_INVALID_SET_USER APPC_FLIPL(0x00000704) /*X'00000704'SYNC*/
|
|
#define AP_INVALID_DATA_TYPE APPC_FLIPL(0x00000705) /*X'00000705'SYNC*/
|
|
#define AP_BAD_LOCAL_LU_ALIAS APPC_FLIPL(0x01000003) /*X'01000003'SYNC*/
|
|
#define AP_BAD_REMOTE_LU_ALIAS APPC_FLIPL(0x02000003) /*X'02000003'SYNC*/
|
|
#ifdef WIN32 /*APOR*/
|
|
#define AP_POST_ON_RECEIPT_BAD_FILL APPC_FLIPL(0x03000003) /*X'03000003'APOR*/
|
|
#endif /*APOR*/
|
|
#define AP_STATE_CHECK APPC_FLIPI(0x0002) /* X'0002' */
|
|
#define AP_CONFIRM_BAD_STATE APPC_FLIPL(0x00000032) /*X'00000032'*/
|
|
#define AP_CONFIRM_NOT_LL_BDY APPC_FLIPL(0x00000033) /*X'00000033'*/
|
|
#define AP_CONFIRMED_BAD_STATE APPC_FLIPL(0x00000041) /*X'00000041'*/
|
|
#define AP_DEALLOC_FLUSH_BAD_STATE APPC_FLIPL(0x00000052) /*X'00000052'*/
|
|
#define AP_DEALLOC_CONFIRM_BAD_STATE APPC_FLIPL(0x00000053) /*X'00000053'*/
|
|
#define AP_DEALLOC_NOT_LL_BDY APPC_FLIPL(0x00000055) /*X'00000055'*/
|
|
#define AP_FLUSH_NOT_SEND_STATE APPC_FLIPL(0x00000061) /*X'00000061'*/
|
|
#define AP_P_TO_R_NOT_LL_BDY APPC_FLIPL(0x000000a2) /*X'000000a2'*/
|
|
#define AP_P_TO_R_NOT_SEND_STATE APPC_FLIPL(0x000000a3) /*X'000000a3'*/
|
|
#define AP_RCV_AND_WAIT_BAD_STATE APPC_FLIPL(0x000000b1) /*X'000000b1'*/
|
|
#define AP_RCV_AND_WAIT_NOT_LL_BDY APPC_FLIPL(0x000000b2) /*X'000000b2'*/
|
|
#define AP_RCV_IMMD_BAD_STATE APPC_FLIPL(0x000000c1) /*X'000000c1'*/
|
|
#define AP_RCV_AND_POST_BAD_STATE APPC_FLIPL(0x000000d1) /*X'000000d1'*/
|
|
#define AP_RCV_AND_POST_NOT_LL_BDY APPC_FLIPL(0x000000d2) /*X'000000d2'*/
|
|
#define AP_R_T_S_BAD_STATE APPC_FLIPL(0x000000e1) /*X'000000e1'*/
|
|
#define AP_SEND_DATA_NOT_SEND_STATE APPC_FLIPL(0x000000f2) /*X'000000f2'*/
|
|
#define AP_SEND_DATA_NOT_LL_BDY APPC_FLIPL(0x000000f6) /*X'000000f6'*/
|
|
#define AP_ATTACH_MANAGER_INACTIVE APPC_FLIPL(0x00000508) /*X'00000508'*/
|
|
#define AP_ALLOCATE_NOT_PENDING APPC_FLIPL(0x00000509) /*X'00000509'*/
|
|
#define AP_LU_ALREADY_REGISTERED APPC_FLIPL(0x0000050A) /*X'0000050A'*/
|
|
#define AP_INVALID_PROCESS APPC_FLIPL(0x00000525) /*X'00000525'*/
|
|
|
|
#define AP_ALLOCATION_ERROR APPC_FLIPI(0x0003) /* X'0003' */
|
|
#define AP_ALLOCATION_FAILURE_NO_RETRY APPC_FLIPL(0x00000004) /*X'00000004'*/
|
|
#define AP_ALLOCATION_FAILURE_RETRY APPC_FLIPL(0x00000005) /*X'00000005'*/
|
|
#define AP_SECURITY_NOT_VALID APPC_FLIPL(0x080f6051) /*X'080f6051'*/
|
|
#define AP_TRANS_PGM_NOT_AVAIL_RETRY APPC_FLIPL(0x084b6031) /*X'084b6031 */
|
|
#define AP_TRANS_PGM_NOT_AVAIL_NO_RETRY APPC_FLIPL(0x084c0000) /*X'084c0000*/
|
|
#define AP_TP_NAME_NOT_RECOGNIZED APPC_FLIPL(0x10086021) /*X'10086021'*/
|
|
#define AP_PIP_NOT_ALLOWED APPC_FLIPL(0x10086031) /*X'10086031'*/
|
|
#define AP_PIP_NOT_SPECIFIED_CORRECTLY APPC_FLIPL(0x10086032) /*X'10086032'*/
|
|
#define AP_CONVERSATION_TYPE_MISMATCH APPC_FLIPL(0x10086034) /*X'10086034'*/
|
|
#define AP_SYNC_LEVEL_NOT_SUPPORTED APPC_FLIPL(0x10086041) /*X'10086041'*/
|
|
|
|
#define AP_SECURITY_NOT_VALID_PASSWORD_EXPIRED APPC_FLIPL(0x080fff00)
|
|
#define AP_SECURITY_NOT_VALID_PASSWORD_INVALID APPC_FLIPL(0x080fff01)
|
|
#define AP_SECURITY_NOT_VALID_USERID_REVOKED APPC_FLIPL(0x080fff02)
|
|
#define AP_SECURITY_NOT_VALID_USERID_INVALID APPC_FLIPL(0x080fff03)
|
|
#define AP_SECURITY_NOT_VALID_USERID_MISSING APPC_FLIPL(0x080fff04)
|
|
#define AP_SECURITY_NOT_VALID_PASSWORD_MISSING APPC_FLIPL(0x080fff05)
|
|
#define AP_SECURITY_NOT_VALID_GROUP_INVALID APPC_FLIPL(0x080fff06)
|
|
#define AP_SECURITY_NOT_VALID_USERID_REVOKED_IN_GROUP APPC_FLIPL(0x080fff07)
|
|
#define AP_SECURITY_NOT_VALID_USERID_NOT_DEFD_TO_GROUP APPC_FLIPL(0x080fff08)
|
|
#define AP_SECURITY_NOT_VALID_NOT_AUTHORIZED_AT_REMOTE_LU APPC_FLIPL(0x080fff09)
|
|
#define AP_SECURITY_NOT_VALID_NOT_AUTHORIZED_FROM_LOCAL_LU APPC_FLIPL(0x080fff0a)
|
|
#define AP_SECURITY_NOT_VALID_NOT_AUTHORIZED_TO_TRANSACTION_PROGRAM APPC_FLIPL(0x080fff0b)
|
|
#define AP_SECURITY_NOT_VALID_INSTALLATION_EXIT_FAILED APPC_FLIPL(0x080fff0c)
|
|
#define AP_SECURITY_NOT_VALID_PROCESSING_FAILURE APPC_FLIPL(0x080fff0d)
|
|
#define AP_SECURITY_NOT_VALID_PROTOCOL_VIOLATION APPC_FLIPL(0x080fff0e)
|
|
|
|
#define AP_DEALLOC_ABEND APPC_FLIPI(0x0005) /* X'0005' */
|
|
#define AP_DEALLOC_ABEND_PROG APPC_FLIPI(0x0006) /* X'0006' */
|
|
#define AP_DEALLOC_ABEND_SVC APPC_FLIPI(0x0007) /* X'0007' */
|
|
#define AP_DEALLOC_ABEND_TIMER APPC_FLIPI(0x0008) /* X'0008' */
|
|
#define AP_DEALLOC_NORMAL APPC_FLIPI(0x0009) /* X'0009' */
|
|
#define AP_PROG_ERROR_NO_TRUNC APPC_FLIPI(0x000c) /* X'000c' */
|
|
#define AP_PROG_ERROR_TRUNC APPC_FLIPI(0x000d) /* X'000d' */
|
|
#define AP_PROG_ERROR_PURGING APPC_FLIPI(0x000e) /* X'000e' */
|
|
#define AP_CONV_FAILURE_RETRY APPC_FLIPI(0x000f) /* X'000f' */
|
|
#define AP_CONV_FAILURE_NO_RETRY APPC_FLIPI(0x0010) /* X'0010' */
|
|
#define AP_SVC_ERROR_NO_TRUNC APPC_FLIPI(0x0011) /* X'0011' */
|
|
#define AP_SVC_ERROR_TRUNC APPC_FLIPI(0x0012) /* X'0012' */
|
|
#define AP_SVC_ERROR_PURGING APPC_FLIPI(0x0013) /* X'0013' */
|
|
#define AP_UNSUCCESSFUL APPC_FLIPI(0x0014) /* X'0014' */
|
|
#define AP_CONVERSATION_TYPE_MIXED APPC_FLIPI(0x0019) /* X'0019' */
|
|
#define AP_CANCELLED APPC_FLIPI(0x0021) /* X'0021' */
|
|
#define AP_SECURITY_REQUESTED_NOT_SUPPORTED APPC_FLIPI(0x0022) /* X'0022' */
|
|
#define AP_TP_BUSY APPC_FLIPI(0xf002) /* X'f002' */
|
|
|
|
#ifdef SYNCPT_SUPPORT /*SYNC*/
|
|
#define AP_BACKED_OUT APPC_FLIPI(0x0023) /* X'0022' *SYNC*/
|
|
#define AP_BO_NO_RESYNC APPC_FLIPL(0x08240000) /*X'08240000'SYNC*/
|
|
#define AP_BO_RESYNC APPC_FLIPL(0x08240001) /*X'08240001'SYNC*/
|
|
#endif /*SYNC*/
|
|
|
|
#define AP_ACTIVATION_FAIL_RETRY APPC_FLIPI(0x0310)
|
|
#define AP_ACTIVATION_FAIL_NO_RETRY APPC_FLIPI(0x0311)
|
|
#define AP_SESSION_LIMITS_CLOSED APPC_FLIPI(0x0312)
|
|
#define AP_SESSION_LIMITS_EXCEEDED APPC_FLIPI(0x0313)
|
|
#define AP_VERB_IN_PROGRESS APPC_FLIPI(0x0314)
|
|
#define AP_SESSION_DEACTIVATED APPC_FLIPI(0x0315)
|
|
|
|
#define AP_COMM_SUBSYSTEM_ABENDED APPC_FLIPI(0xf003) /* X'f003' */
|
|
#define AP_COMM_SUBSYSTEM_NOT_LOADED APPC_FLIPI(0xf004) /* X'f004' */
|
|
#define AP_CONV_BUSY APPC_FLIPI(0xf005) /* X'f005' */
|
|
#define AP_THREAD_BLOCKING APPC_FLIPI(0xf006) /* X'f006' */
|
|
#define AP_INVALID_VERB_SEGMENT APPC_FLIPI(0xf008) /* X'f008' */
|
|
#define AP_CANT_ENLIST_TX APPC_FLIPI(0xf009) /* X'f009'2PC*/
|
|
#define AP_CANT_CONTACT_DTC APPC_FLIPI(0xf00A) /* X'f00A'2PC*/
|
|
#define AP_UNEXPECTED_DOS_ERROR APPC_FLIPI(0xf011) /* X'f011' */
|
|
#define AP_STACK_TOO_SMALL APPC_FLIPI(0xf015) /* X'f015' */
|
|
#define AP_INVALID_VERB APPC_FLIPI(0xffff) /* X'ffff' */
|
|
|
|
/* ========================================================================= */
|
|
/*****************************************************************************/
|
|
/* ---------------------------- parameters --------------------------------- */
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* opext and conv_type */
|
|
/*****************************************************************************/
|
|
#define AP_BASIC_CONVERSATION 0x00
|
|
#define AP_BASIC 0x00 /*IBM1*/
|
|
#define AP_MAPPED_CONVERSATION 0x01
|
|
#define AP_MAPPED 0x01 /*IBM1*/
|
|
|
|
/*****************************************************************************/
|
|
/* rts_rcvd and return_status_with_data */
|
|
/*****************************************************************************/
|
|
#define AP_NO 0x00
|
|
#define AP_YES 0x01
|
|
|
|
/****************************************************************************/
|
|
/* sync_level, security and send_type */
|
|
/*****************************************************************************/
|
|
#define AP_NONE 0x00
|
|
|
|
/*****************************************************************************/
|
|
/* sync_level */
|
|
/*****************************************************************************/
|
|
#define AP_CONFIRM_SYNC_LEVEL 0x01
|
|
#define AP_CONFIRM 0x01 /*IBM1*/
|
|
#ifdef SYNCPT_SUPPORT /*SYNC*/
|
|
#define AP_SYNCPT 0x02 /*SYNC*/
|
|
#endif /*SYNC*/
|
|
|
|
/*****************************************************************************/
|
|
/* security */
|
|
/*****************************************************************************/
|
|
#define AP_SAME 0x01
|
|
#define AP_PGM 0x02
|
|
#define AP_STRONG 0x03
|
|
#define AP_PROXY 0x80 /*5178*/
|
|
#define AP_PROXY_SAME 0x81 /*5178*/
|
|
#define AP_PROXY_PGM 0x82 /*5178*/
|
|
#define AP_PROXY_STRONG 0x83 /*5178*/
|
|
|
|
/*****************************************************************************/
|
|
/* dealloc_type and ptr_type */
|
|
/*****************************************************************************/
|
|
#define AP_SYNC_LEVEL 0x00
|
|
|
|
/*****************************************************************************/
|
|
/* dealloc_type and ptr_type */
|
|
/*****************************************************************************/
|
|
#define AP_FLUSH 0x01
|
|
#ifdef SYNCPT_SUPPORT /*SYNC*/
|
|
#define AP_CONFIRM_TYPE 0x0B /*SYNC*/
|
|
#endif /*SYNC*/
|
|
|
|
/*****************************************************************************/
|
|
/* dealloc_type */
|
|
/*****************************************************************************/
|
|
#define AP_ABEND_PROG 0x02
|
|
#define AP_ABEND_SVC 0x03
|
|
#define AP_ABEND_TIMER 0x04
|
|
#define AP_ABEND 0x05
|
|
#ifdef SYNCPT_SUPPORT
|
|
#define AP_TP_NOT_AVAIL_RETRY 0x06
|
|
#define AP_TP_NOT_AVAIL_NO_RETRY 0x07
|
|
#define AP_TPN_NOT_RECOGNIZED 0x08
|
|
#define AP_PIP_DATA_NOT_ALLOWED 0x09
|
|
#define AP_PIP_DATA_INCORRECT 0x0A
|
|
#define AP_RESOURCE_FAILURE_NO_RETRY 0x0C
|
|
#define AP_CONV_TYPE_MISMATCH 0x0D
|
|
#define AP_SYNC_LVL_NOT_SUPPORTED 0x0E
|
|
#define AP_SECURITY_PARAMS_INVALID 0x0F
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_PASSWORD_EXPIRED 0x10
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_PASSWORD_INVALID 0x11
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_USERID_REVOKED 0x12
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_USERID_INVALID 0x13
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_USERID_MISSING 0x14
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_PASSWORD_MISSING 0x15
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_GROUP_INVALID 0x16
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_USERID_REVOKED_IN_GROUP 0x17
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_USERID_NOT_DEFD_TO_GROUP 0x18
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_NOT_AUTHORIZED_AT_REMOTE_LU 0x19
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_NOT_AUTHORIZED_FROM_LOCAL_LU 0x1A
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_NOT_AUTHORIZED_TO_TRANSACTION_PROGRAM 0x1B
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_INSTALLATION_EXIT_FAILED 0x1C
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_PROCESSING_FAILURE 0x1D
|
|
#define AP_DEALLOC_SECURITY_NOT_VALID_PROTOCOL_VIOLATION 0x1E
|
|
#endif
|
|
|
|
/*****************************************************************************/
|
|
/* locks */
|
|
/*****************************************************************************/
|
|
#define AP_SHORT 0x00
|
|
#define AP_LONG 0x01
|
|
|
|
#ifdef SYNCPT_SUPPORT /*SYNC*/
|
|
/************************************************************************SYNC*/
|
|
/* data_type *SYNC*/
|
|
/************************************************************************SYNC*/
|
|
#define AP_APPLICATION 0x00 /*SYNC*/
|
|
#define AP_USER_CONTROL_DATA 0x01 /*SYNC*/
|
|
#define AP_PS_HEADER 0x02 /*SYNC*/
|
|
#endif /*SYNC*/
|
|
|
|
/*****************************************************************************/
|
|
/* what_rcvd */
|
|
/*****************************************************************************/
|
|
#define AP_DATA APPC_FLIPI(0x0001) /* X'0001' */
|
|
#define AP_DATA_COMPLETE APPC_FLIPI(0x0002) /* X'0002' */
|
|
#define AP_NOT_DATA APPC_FLIPI(0x0003) /* X'0003' */ /*APOR*/
|
|
#define AP_DATA_INCOMPLETE APPC_FLIPI(0x0004) /* X'0004' */
|
|
#define AP_SEND APPC_FLIPI(0x0100) /* X'0100' */
|
|
#define AP_CONFIRM_WHAT_RECEIVED APPC_FLIPI(0x0200) /* X'0200' */
|
|
#define AP_CONFIRM_SEND APPC_FLIPI(0x0300) /* X'0300' */
|
|
#define AP_CONFIRM_DEALLOCATE APPC_FLIPI(0x0400) /* X'0400' */
|
|
|
|
#define AP_DATA_COMPLETE_SEND APPC_FLIPI(0x0102) /* X'0102' */
|
|
#define AP_DATA_COMPLETE_CONFIRM APPC_FLIPI(0x0202) /* X'0202' */
|
|
#define AP_DATA_COMPLETE_CONFIRM_SEND APPC_FLIPI(0x0302) /* X'0302' */
|
|
#define AP_DATA_COMPLETE_CONFIRM_DEALL APPC_FLIPI(0x0402) /* X'0402' */
|
|
|
|
#define AP_DATA_SEND APPC_FLIPI(0x0101) /* X'0101' */
|
|
#define AP_DATA_CONFIRM APPC_FLIPI(0x0201) /* X'0201' */
|
|
#define AP_DATA_CONFIRM_SEND APPC_FLIPI(0x0301) /* X'0301' */
|
|
#define AP_DATA_CONFIRM_DEALLOCATE APPC_FLIPI(0x0401) /* X'0401' */
|
|
|
|
#ifdef SYNCPT_SUPPORT /*SYNC*/
|
|
#define AP_USER_CONTROL_DATA_COMPLETE APPC_FLIPI(0x0008) /* X'0008' *SYNC*/
|
|
#define AP_USER_CONTROL_DATA_INCOMPLETE APPC_FLIPI(0x0010) /* X'0010' *SYNC*/
|
|
#define AP_PS_HEADER_COMPLETE APPC_FLIPI(0x0020) /* X'0020' *SYNC*/
|
|
#define AP_PS_HEADER_INCOMPLETE APPC_FLIPI(0x0040) /* X'0040' *SYNC*/
|
|
#endif /*SYNC*/
|
|
|
|
/*****************************************************************************/
|
|
/* fill */
|
|
/*****************************************************************************/
|
|
#define AP_BUFFER 0x00
|
|
#define AP_LL 0x01
|
|
|
|
/*****************************************************************************/
|
|
/* rtn_ctl */
|
|
/*****************************************************************************/
|
|
#define AP_WHEN_SESSION_ALLOCATED 0x00
|
|
#define AP_IMMEDIATE 0x01
|
|
#define AP_WHEN_SESSION_FREE 0x02
|
|
#define AP_WHEN_CONWINNER_ALLOCATED 0x03
|
|
#define AP_WHEN_CONV_GROUP_ALLOCATED 0x04
|
|
|
|
/*****************************************************************************/
|
|
/* err_type */
|
|
/*****************************************************************************/
|
|
#define AP_PROG 0x00
|
|
#define AP_SVC 0x01
|
|
#ifdef SYNCPT_SUPPORT
|
|
#define AP_BACKOUT_NO_RESYNC 0x02
|
|
#define AP_BACKOUT_RESYNC 0x03
|
|
#endif
|
|
|
|
/*****************************************************************************/
|
|
/* send_type */
|
|
/*****************************************************************************/
|
|
#define AP_SEND_DATA_FLUSH 0x01
|
|
#define AP_SEND_DATA_CONFIRM 0x02
|
|
#define AP_SEND_DATA_P_TO_R_FLUSH 0x03
|
|
#define AP_SEND_DATA_P_TO_R_SYNC_LEVEL 0x04
|
|
#define AP_SEND_DATA_DEALLOC_FLUSH 0x05
|
|
#define AP_SEND_DATA_DEALLOC_SYNC_LEVEL 0x06
|
|
#define AP_SEND_DATA_DEALLOC_ABEND 0x07
|
|
#ifdef SYNCPT_SUPPORT
|
|
#define AP_SEND_DATA_P_TO_R_CONFIRM 0x08
|
|
#define AP_SEND_DATA_DEALLOC_CONFIRM 0x09
|
|
#endif
|
|
|
|
/*****************************************************************************/
|
|
/* err_dir */
|
|
/*****************************************************************************/
|
|
#define AP_RCV_DIR_ERROR 0x00
|
|
#define AP_SEND_DIR_ERROR 0x01
|
|
|
|
/*****************************************************************************/
|
|
/* end_type */
|
|
/*****************************************************************************/
|
|
#define AP_SOFT 0x00
|
|
#define AP_HARD 0x01
|
|
|
|
/*****************************************************************************/
|
|
/* conv_state */
|
|
/*****************************************************************************/
|
|
#define AP_RESET_STATE 1
|
|
#define AP_SEND_STATE 2
|
|
#define AP_RECEIVE_STATE 3
|
|
#define AP_CONFIRM_STATE 4
|
|
#define AP_CONFIRM_SEND_STATE 5
|
|
#define AP_CONFIRM_DEALL_STATE 6
|
|
#define AP_PEND_POST_STATE 7
|
|
#define AP_PEND_DEALL_STATE 8
|
|
#define AP_END_CONV_STATE 9
|
|
#define AP_SEND_PENDING_STATE 10
|
|
|
|
#ifdef SYNCPT_SUPPORT
|
|
/*****************************************************************************/
|
|
/* values for type parameter on implied forget callback */
|
|
/*****************************************************************************/
|
|
#define AP_DATA_FLOW 0x00
|
|
#define AP_UNBIND 0x01
|
|
#define AP_FAILURE 0x02
|
|
|
|
#endif
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* ACTS Values for Polarity on ACTIVATE_SESSION verb */
|
|
/*****************************************************************************/
|
|
#define AP_POL_EITHER 0x00
|
|
#define AP_POL_FIRST_SPEAKER 0x01
|
|
#define AP_POL_BIDDER 0x02
|
|
|
|
/*****************************************************************************/
|
|
/* ACTS Values for activation type on ACTIVATE_SESSION verb */
|
|
/*****************************************************************************/
|
|
#define AP_ACT_ACTIVE 0x00
|
|
#define AP_ACT_PASSIVE 0x01
|
|
#define AP_DACT_ACTIVE 0x02
|
|
#define AP_DACT_PASSIVE 0x03
|
|
|
|
/*****************************************************************************/
|
|
/* ACTS Values for deactivation type on DEACTIVATE_SESSION verb */
|
|
/*****************************************************************************/
|
|
#define AP_DEACT_CLEANUP 0x02
|
|
#define AP_DEACT_NORMAL 0x01
|
|
|
|
/*****************************************************************************/
|
|
/* extension bit for the opext field */
|
|
/*****************************************************************************/
|
|
#define AP_EXTD_VCB 0x80
|
|
|
|
/* ========================================================================= */
|
|
/*****************************************************************************/
|
|
/* ------------------------- vcb structures -------------------------------- */
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* common vcb header */
|
|
/*****************************************************************************/
|
|
struct appc_hdr
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
};
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* ACTS: activate/deactivate session vcbs */
|
|
/*****************************************************************************/
|
|
|
|
typedef struct activate_session
|
|
{
|
|
unsigned short opcode; /* verb operation code */
|
|
unsigned char reserv2[2]; /* reserved */
|
|
unsigned short primary_rc; /* primary return code */
|
|
unsigned long secondary_rc; /* secondary return code */
|
|
unsigned char reserv3[8]; /* reserved */
|
|
unsigned char lu_alias[8]; /* local LU alias */
|
|
unsigned char plu_alias[8]; /* partner LU alias */
|
|
unsigned char mode_name[8]; /* mode name */
|
|
unsigned char fqplu_name[17]; /* fully qualified partner LU name */
|
|
unsigned char polarity; /* polarity */
|
|
unsigned char session_id[8]; /* session id */
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned char reserv4[1]; /* reserved */
|
|
unsigned char type; /* activation type */
|
|
HANDLE deactivation_event; /* deactivation event */
|
|
unsigned short * p_deactivation_status; /* deactivation completion status */
|
|
unsigned char reserv5[10]; /* reserved */
|
|
}ACTIVATE_SESSION;
|
|
|
|
typedef struct deactivate_session
|
|
{
|
|
unsigned short opcode; /* verb operation code */
|
|
unsigned char reserv2[2]; /* reserved */
|
|
unsigned short primary_rc; /* primary return code */
|
|
unsigned long secondary_rc; /* secondary return code */
|
|
unsigned char reserv3[8]; /* reserved */
|
|
unsigned char lu_alias[8]; /* local LU alias */
|
|
unsigned char session_id[8]; /* session identifier */
|
|
unsigned char plu_alias[8]; /* partner LU alias */
|
|
unsigned char mode_name[8]; /* mode name */
|
|
unsigned char type; /* deactivation type */
|
|
unsigned char reserv4[3]; /* reserved */
|
|
unsigned short sense_data; /* deactivation sense data */
|
|
unsigned char fqplu_name[17]; /* fully qualified partner LU name */
|
|
unsigned char reserv5[17]; /* reserved */
|
|
}DEACTIVATE_SESSION;
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* control vcbs */
|
|
/*****************************************************************************/
|
|
struct tp_started
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char lu_alias[8];
|
|
unsigned char tp_id[8];
|
|
unsigned char tp_name[64];
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char syncpoint_rqd; /* present if opext & AP_EXTD_VCB */
|
|
#endif
|
|
};
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* WARNING: If you change this structure you must also change the */
|
|
/* receive_allocate_ex strucure */
|
|
/*****************************************************************************/
|
|
struct receive_allocate
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_name[64];
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char sync_level; /* AP_NONE */
|
|
/* AP_CONFIRM_SYNC_LEVEL */
|
|
/* AP_SYNCPT */
|
|
unsigned char conv_type; /* AP_BASIC_CONVERSATION */
|
|
/* AP_MAPPED_CONVERSATION */
|
|
unsigned char user_id[10];
|
|
unsigned char lu_alias[8];
|
|
unsigned char plu_alias[8];
|
|
unsigned char mode_name[8];
|
|
unsigned char reserv3[2];
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned char fqplu_name[17]; /* fully qualified lu name */
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char pip_incoming; /* Supplied: */
|
|
/* AP_NO: TP does not accept PIP */
|
|
/* data */
|
|
/* AP_YES: TP does accept PIP data */
|
|
/* Returned: */
|
|
/* AP_NO: PIP data not available */
|
|
/* AP_YES: PIP data available */
|
|
unsigned char syncpoint_rqd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv4[3];
|
|
#else
|
|
unsigned char reserv4[5];
|
|
#endif
|
|
};
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* WARNING: If you change this structure you must also change the */
|
|
/* receive_allocate strucure (3669) */
|
|
/*****************************************************************************/
|
|
struct receive_allocate_ex
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char format;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_name[64];
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char sync_level;
|
|
unsigned char conv_type;
|
|
unsigned char user_id[10];
|
|
unsigned char lu_alias[8];
|
|
unsigned char plu_alias[8];
|
|
unsigned char mode_name[8];
|
|
unsigned char reserv3[2];
|
|
unsigned long conv_group_id;
|
|
unsigned char fqplu_name[17];
|
|
unsigned char pip_incoming;
|
|
unsigned long timeout;
|
|
unsigned char password[10];
|
|
unsigned char reserv5[2];
|
|
unsigned char attach_id[8];
|
|
};
|
|
|
|
struct receive_allocate_ex_end
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char reserv2[2];
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_name[64];
|
|
unsigned char lu_alias[8];
|
|
unsigned char reserved3[20];
|
|
};
|
|
|
|
|
|
struct tp_ended
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned char type; /* AP_SOFT */
|
|
/* AP_HARD */
|
|
};
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* mapped conversation vcbs */
|
|
/*****************************************************************************/
|
|
struct mc_allocate
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
unsigned char sync_level; /* AP_NONE */
|
|
/* AP_CONFIRM_SYNC_LEVEL */
|
|
/* AP_SYNCPT */
|
|
unsigned char reserv4[2];
|
|
unsigned char rtn_ctl; /* AP_WHEN_SESSION_ALLOCATED */
|
|
/* AP_IMMEDIATE */
|
|
/* AP_WHEN_SESSION_FREE */
|
|
/* AP_WHEN_CONWINNER_ALLOCATED */
|
|
/* AP_WHEN_CONV_GROUP_ALLOCATED */
|
|
unsigned char reserv5;
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned long sense_data; /* alloc failure sense data */
|
|
unsigned char plu_alias[8];
|
|
unsigned char mode_name[8];
|
|
unsigned char tp_name[64];
|
|
unsigned char security; /* AP_NONE */
|
|
/* AP_SAME */
|
|
/* AP_PGM */
|
|
/* AP_PROXY_NONE */
|
|
/* AP_PROXY_SAME */
|
|
/* AP_PROXY_PGM */
|
|
unsigned char reserv6[11];
|
|
unsigned char pwd[10];
|
|
unsigned char user_id[10];
|
|
unsigned short pip_dlen;
|
|
unsigned char far *pip_dptr;
|
|
unsigned char reserv7; /*CPIC* reserved for NS/2 compat. */
|
|
unsigned char fqplu_name[17]; /*CPIC* fully qualified PLU name */
|
|
unsigned char reserv8[8]; /*CPIC* reduced this from 26 to 8 */
|
|
#ifdef WIN32
|
|
LPWSTR proxy_user; /* present if opext&AP_EXTD_VCB */
|
|
LPWSTR proxy_domain; /* present if opext&AP_EXTD_VCB */
|
|
unsigned char reserv9[16]; /* present if opext&AP_EXTD_VCB */
|
|
#endif
|
|
};
|
|
|
|
|
|
struct mc_confirm
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
};
|
|
|
|
|
|
struct mc_confirmed
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
};
|
|
|
|
|
|
struct mc_deallocate
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
unsigned char dealloc_type; /* AP_SYNC_LEVEL */
|
|
/* AP_FLUSH */
|
|
/* AP_CONFIRM_TYPE */
|
|
/* AP_ABEND */
|
|
/* AP_TP_NOT_AVAIL_RETRY */
|
|
/* AP_TP_NOT_AVAIL_NO_RETRY */
|
|
/* AP_TPN_NOT_RECOGNIZED */
|
|
/* AP_PIP_DATA_NOT_ALLOWED */
|
|
/* AP_PIP_DATA_INCORRECT */
|
|
/* AP_RESOURCE_FAILURE_NO_RETRY */
|
|
/* AP_CONV_TYPE_MISMATCH */
|
|
/* AP_SYNC_LVL_NOT_SUPPORTED */
|
|
/* AP_SECURITY_PARAMS_INVALID */
|
|
unsigned char reserv4[2];
|
|
unsigned char reserv5[4];
|
|
#ifdef SYNCPT_SUPPORT
|
|
void (WINAPI *callback)(); /* present if opext&AP_EXTD_VCB */
|
|
void *correlator; /* present if opext&AP_EXTD_VCB */
|
|
unsigned char reserv6[4]; /* present if opext&AP_EXTD_VCB */
|
|
#endif
|
|
};
|
|
|
|
|
|
struct mc_flush
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
};
|
|
|
|
|
|
struct mc_get_attributes
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
unsigned char sync_level; /* AP_NONE */
|
|
/* AP_CONFIRM_SYNC_LEVEL */
|
|
/* AP_SYNCPT */
|
|
unsigned char mode_name[8];
|
|
unsigned char net_name[8];
|
|
unsigned char lu_name[8];
|
|
unsigned char lu_alias[8];
|
|
unsigned char plu_alias[8];
|
|
unsigned char plu_un_name[8];
|
|
unsigned char reserv4[2];
|
|
unsigned char fqplu_name[17];
|
|
unsigned char reserv5;
|
|
unsigned char user_id[10];
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned char conv_corr_len; /* conversation correlator lgth */
|
|
unsigned char conv_corr[8]; /* conversation correlator */
|
|
unsigned char reserv6[13];
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char luw_id[26]; /* present if opext&AP_EXTD_VCB */
|
|
unsigned char sess_id[8]; /* present if opext&AP_EXTD_VCB */
|
|
#endif
|
|
};
|
|
|
|
|
|
struct mc_prepare_to_receive
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char ptr_type; /* AP_SYNC_LEVEL */
|
|
/* AP_FLUSH */
|
|
/* AP_CONFIRM_TYPE */
|
|
unsigned char locks; /* AP_SHORT */
|
|
/* AP_LONG */
|
|
};
|
|
|
|
|
|
struct mc_receive_and_post
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short what_rcvd; /* AP_NONE */
|
|
/* AP_DATA */
|
|
/* AP_CONFIRM_WHAT_RECEIVED */
|
|
/* AP_CONFIRM_SEND */
|
|
/* AP_CONFIRM_DEALLOCATE */
|
|
unsigned char rtn_status; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv4;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv5;
|
|
unsigned short max_len;
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char far *sema;
|
|
unsigned char reserv6;
|
|
};
|
|
|
|
|
|
struct mc_receive_and_wait
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short what_rcvd; /* AP_NONE */
|
|
/* AP_DATA */
|
|
/* AP_SEND */
|
|
/* AP_CONFIRM_WHAT_RECEIVED */
|
|
/* AP_CONFIRM_SEND */
|
|
/* AP_CONFIRM_DEALLOCATE */
|
|
unsigned char rtn_status; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv4;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv5;
|
|
unsigned short max_len;
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char reserv6[5];
|
|
};
|
|
|
|
|
|
struct mc_receive_immediate
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short what_rcvd; /* AP_NONE */
|
|
/* AP_DATA */
|
|
/* AP_SEND */
|
|
/* AP_CONFIRM_WHAT_RECEIVED */
|
|
/* AP_CONFIRM_SEND */
|
|
/* AP_CONFIRM_DEALLOCATE */
|
|
unsigned char rtn_status; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv4;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv5;
|
|
unsigned short max_len;
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char reserv6[5];
|
|
};
|
|
|
|
|
|
struct mc_request_to_send
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
};
|
|
|
|
|
|
struct mc_send_conversation
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned char reserv3[8];
|
|
unsigned char rtn_ctl; /* AP_WHEN_SESSION_ALLOCATED */
|
|
/* AP_IMMEDIATE */
|
|
/* AP_WHEN_SESSION_FREE */
|
|
/* AP_WHEN_CONWINNER_ALLOCATED */
|
|
/* AP_WHEN_CONV_GROUP_ALLOCATED */
|
|
unsigned char reserv4;
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned long sense_data; /* alloc failure sense data */
|
|
unsigned char plu_alias[8];
|
|
unsigned char mode_name[8];
|
|
unsigned char tp_name[64];
|
|
unsigned char security; /* AP_NONE */
|
|
/* AP_SAME */
|
|
/* AP_PGM */
|
|
unsigned char reserv5[11];
|
|
unsigned char pwd[10];
|
|
unsigned char user_id[10];
|
|
unsigned short pip_dlen;
|
|
unsigned char far *pip_dptr;
|
|
unsigned char reserv6;
|
|
unsigned char fqplu_name[17];
|
|
unsigned char reserv7[8];
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
};
|
|
|
|
|
|
struct mc_send_data
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char data_type; /* type of data to be sent */
|
|
/* AP_APPLICATION */
|
|
/* AP_USER_CONTROL_DATA */
|
|
/* AP_PS_HEADER */
|
|
#else
|
|
unsigned char reserv3;
|
|
#endif
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char type; /* AP_SEND_DATA_FLUSH */
|
|
/* AP_SEND_DATA_CONFIRM */
|
|
/* AP_SEND_DATA_P_TO_R_FLUSH */
|
|
/* AP_SEND_DATA_P_TO_R_SYNC_LEVEL */
|
|
/* AP_SEND_DATA_P_TO_R_CONFIRM *SYNC*/
|
|
/* AP_SEND_DATA_DEALLOC_FLUSH */
|
|
/* AP_SEND_DATA_DEALLOC_SYNC_LEVEL */
|
|
/* AP_SEND_DATA_DEALLOC_CONFIRM *SYNC*/
|
|
/* AP_SEND_DATA_DEALLOC_ABEND */
|
|
unsigned char reserv4;
|
|
};
|
|
|
|
|
|
struct mc_send_error
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char err_type; /* type of error */
|
|
/* AP_PROG */
|
|
/* AP_BACKOUT_NO_RESYNC */
|
|
/* AP_BACKOUT_RESYNC */
|
|
#else
|
|
unsigned char reserv3;
|
|
#endif
|
|
unsigned char err_dir; /* AP_RCV_DIR_ERROR */
|
|
/* AP_SEND_DIR_ERROR */
|
|
unsigned char reserv4;
|
|
unsigned short log_dlen;
|
|
unsigned char far *log_dptr;
|
|
};
|
|
|
|
struct mc_test_rts
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
};
|
|
|
|
struct mc_test_rts_and_post
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
unsigned long handle;
|
|
};
|
|
|
|
#ifdef WIN32
|
|
struct mc_post_on_receipt
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv1;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short reserv2;
|
|
unsigned char reserv3;
|
|
unsigned char reserv4;
|
|
unsigned short max_len;
|
|
unsigned short reserv5;
|
|
unsigned char far * reserv6;
|
|
unsigned char reserv7[5];
|
|
unsigned long sema;
|
|
};
|
|
#endif
|
|
|
|
struct mc_receive_log_data
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv1;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short log_dlen;
|
|
unsigned char far * log_dptr;
|
|
};
|
|
|
|
/*****************************************************************************/
|
|
/* basic conversation vcbs */
|
|
/*****************************************************************************/
|
|
struct allocate
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char conv_type; /* AP_BASIC_CONVERSATION */
|
|
/* AP_MAPPED_CONVERSATION */
|
|
unsigned char sync_level; /* AP_NONE */
|
|
/* AP_CONFIRM_SYNC_LEVEL */
|
|
/* AP_SYNCPT */
|
|
unsigned char reserv3[2];
|
|
unsigned char rtn_ctl; /* AP_WHEN_SESSION_ALLOCATED */
|
|
/* AP_IMMEDIATE */
|
|
/* AP_WHEN_SESSION_FREE */
|
|
/* AP_WHEN_CONWINNER_ALLOCATED */
|
|
/* AP_WHEN_CONV_GROUP_ALLOCATED */
|
|
unsigned char reserv4;
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned long sense_data; /* alloc failure sense data */
|
|
unsigned char plu_alias[8];
|
|
unsigned char mode_name[8];
|
|
unsigned char tp_name[64];
|
|
unsigned char security; /* AP_NONE */
|
|
/* AP_SAME */
|
|
/* AP_PGM */
|
|
/* AP_PROXY_NONE */
|
|
/* AP_PROXY_SAME */
|
|
/* AP_PROXY_PGM */
|
|
unsigned char reserv5[11];
|
|
unsigned char pwd[10];
|
|
unsigned char user_id[10];
|
|
unsigned short pip_dlen;
|
|
unsigned char far *pip_dptr;
|
|
unsigned char reserv7; /*CPIC* for NS/2 compatability */
|
|
unsigned char fqplu_name[17]; /*CPIC* fully qualified PLU name */
|
|
unsigned char reserv8[8]; /*CPIC* reduced this from 26 to 8 */
|
|
#ifdef WIN32
|
|
LPWSTR proxy_user; /* present if opext&AP_EXTD_VCB */
|
|
LPWSTR proxy_domain; /* present if opext&AP_EXTD_VCB */
|
|
unsigned char reserv9[16]; /* present if opext&AP_EXTD_VCB */
|
|
#endif
|
|
};
|
|
|
|
|
|
struct confirm
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
};
|
|
|
|
|
|
struct confirmed
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
};
|
|
|
|
|
|
struct deallocate
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
unsigned char dealloc_type; /* AP_SYNC_LEVEL */
|
|
/* AP_FLUSH */
|
|
/* AP_CONFIRM_TYPE */
|
|
/* AP_ABEND_PROG */
|
|
/* AP_ABEND_SVC */
|
|
/* AP_ABEND_TIMER */
|
|
/* AP_TP_NOT_AVAIL_RETRY */
|
|
/* AP_TP_NOT_AVAIL_NO_RETRY */
|
|
/* AP_TPN_NOT_RECOGNIZED */
|
|
/* AP_PIP_DATA_NOT_ALLOWED */
|
|
/* AP_PIP_DATA_INCORRECT */
|
|
/* AP_RESOURCE_FAILURE_NO_RETRY */
|
|
/* AP_CONV_TYPE_MISMATCH */
|
|
/* AP_SYNC_LVL_NOT_SUPPORTED */
|
|
/* AP_SECURITY_PARAMS_INVALID */
|
|
unsigned short log_dlen;
|
|
unsigned char far *log_dptr;
|
|
#ifdef SYNCPT_SUPPORT
|
|
void (WINAPI *callback)(); /* present if opext&AP_EXTD_VCB */
|
|
void *correlator; /* present if opext&AP_EXTD_VCB */
|
|
unsigned char reserv6[4]; /* present if opext&AP_EXTD_VCB */
|
|
#endif
|
|
};
|
|
|
|
|
|
struct flush
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
};
|
|
|
|
|
|
struct get_attributes
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
unsigned char sync_level; /* AP_NONE */
|
|
/* AP_CONFIRM_SYNC_LEVEL */
|
|
/* AP_SYNCPT */
|
|
unsigned char mode_name[8];
|
|
unsigned char net_name[8];
|
|
unsigned char lu_name[8];
|
|
unsigned char lu_alias[8];
|
|
unsigned char plu_alias[8];
|
|
unsigned char plu_un_name[8];
|
|
unsigned char reserv4[2];
|
|
unsigned char fqplu_name[17];
|
|
unsigned char reserv5;
|
|
unsigned char user_id[10];
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned char conv_corr_len; /* conversation correlator length */
|
|
unsigned char conv_corr[8]; /* conversation correlator */
|
|
unsigned char reserv6[13];
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char luw_id[26]; /* present if opext&AP_EXTD_VCB */
|
|
unsigned char sess_id[8]; /* present if opext&AP_EXTD_VCB */
|
|
#endif
|
|
};
|
|
|
|
|
|
struct prepare_to_receive
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char ptr_type; /* AP_SYNC_LEVEL */
|
|
/* AP_FLUSH */
|
|
/* AP_CONFIRM_TYPE */
|
|
unsigned char locks; /* AP_SHORT */
|
|
/* AP_LONG */
|
|
};
|
|
|
|
|
|
struct receive_and_post
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short what_rcvd; /* AP_NONE */
|
|
/* AP_DATA */
|
|
/* AP_DATA_COMPLETE */
|
|
/* AP_DATA_INCOMPLETE */
|
|
/* AP_SEND */
|
|
/* AP_CONFIRM_WHAT_RECEIVED */
|
|
/* AP_CONFIRM_SEND */
|
|
/* AP_CONFIRM_DEALLOCATE */
|
|
unsigned char rtn_status; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char fill; /* AP_BUFFER */
|
|
/* AP_LL */
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv4;
|
|
unsigned short max_len;
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char far *sema;
|
|
unsigned char reserv5;
|
|
};
|
|
|
|
|
|
struct receive_and_wait
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short what_rcvd; /* AP_NONE */
|
|
/* AP_DATA */
|
|
/* AP_DATA_COMPLETE */
|
|
/* AP_DATA_INCOMPLETE */
|
|
/* AP_SEND */
|
|
/* AP_CONFIRM_WHAT_RECEIVED */
|
|
/* AP_CONFIRM_SEND */
|
|
/* AP_CONFIRM_DEALLOCATE */
|
|
unsigned char rtn_status; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char fill; /* AP_BUFFER */
|
|
/* AP_LL */
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv4;
|
|
unsigned short max_len;
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char reserv5[5];
|
|
};
|
|
|
|
|
|
struct receive_immediate
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short what_rcvd; /* AP_NONE */
|
|
/* AP_DATA */
|
|
/* AP_DATA_COMPLETE */
|
|
/* AP_DATA_INCOMPLETE */
|
|
/* AP_SEND */
|
|
/* AP_CONFIRM_WHAT_RECEIVED */
|
|
/* AP_CONFIRM_SEND */
|
|
/* AP_CONFIRM_DEALLOCATE */
|
|
unsigned char rtn_status; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char fill; /* AP_BUFFER */
|
|
/* AP_LL */
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char reserv4;
|
|
unsigned short max_len;
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char reserv5[5];
|
|
};
|
|
|
|
|
|
struct request_to_send
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
};
|
|
|
|
|
|
struct send_conversation
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned char reserv3[8];
|
|
unsigned char rtn_ctl; /* AP_WHEN_SESSION_ALLOCATED */
|
|
/* AP_IMMEDIATE */
|
|
/* AP_WHEN_SESSION_FREE */
|
|
/* AP_WHEN_CONWINNER_ALLOCATED */
|
|
/* AP_WHEN_CONV_GROUP_ALLOCATED */
|
|
unsigned char reserv4;
|
|
unsigned long conv_group_id; /* conversation group id */
|
|
unsigned long sense_data; /* allocation failure sense data */
|
|
unsigned char plu_alias[8];
|
|
unsigned char mode_name[8];
|
|
unsigned char tp_name[64];
|
|
unsigned char security; /* AP_NONE */
|
|
/* AP_SAME */
|
|
/* AP_PGM */
|
|
unsigned char reserv5[11];
|
|
unsigned char pwd[10];
|
|
unsigned char user_id[10];
|
|
unsigned short pip_dlen;
|
|
unsigned char far *pip_dptr;
|
|
unsigned char reserv6;
|
|
unsigned char fqplu_name[17];
|
|
unsigned char reserv7[8];
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
};
|
|
|
|
|
|
struct send_data
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char data_type; /* type of data to be sent */
|
|
/* AP_APPLICATION */
|
|
/* AP_USER_CONTROL_DATA */
|
|
/* AP_PS_HEADER */
|
|
#else
|
|
unsigned char reserv3;
|
|
#endif
|
|
unsigned short dlen;
|
|
unsigned char far *dptr;
|
|
unsigned char type; /* AP_SEND_DATA_FLUSH */
|
|
/* AP_SEND_DATA_CONFIRM */
|
|
/* AP_SEND_DATA_P_TO_R_FLUSH */
|
|
/* AP_SEND_DATA_P_TO_R_SYNC_LEVEL */
|
|
/* AP_SEND_DATA_P_TO_R_CONFIRM */
|
|
/* AP_SEND_DATA_DEALLOC_FLUSH */
|
|
/* AP_SEND_DATA_DEALLOC_SYNC_LEVEL */
|
|
/* AP_SEND_DATA_DEALLOC_CONFIRM */
|
|
/* AP_SEND_DATA_DEALLOC_ABEND */
|
|
unsigned char reserv4;
|
|
};
|
|
|
|
|
|
struct send_error
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char rts_rcvd; /* AP_NO */
|
|
/* AP_YES */
|
|
unsigned char err_type; /* AP_PROG */
|
|
/* AP_SVC */
|
|
/* AP_BACKOUT_NO_RESYNC */
|
|
/* AP_BACKOUT_RESYNC */
|
|
unsigned char err_dir; /* AP_RCV_DIR_ERROR */
|
|
/* AP_SEND_DIR_ERROR */
|
|
unsigned char reserv3;
|
|
unsigned short log_dlen;
|
|
unsigned char far *log_dptr;
|
|
};
|
|
|
|
|
|
struct test_rts
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
};
|
|
|
|
struct test_rts_and_post
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char reserv3;
|
|
unsigned long handle;
|
|
};
|
|
|
|
#ifdef WIN32
|
|
struct post_on_receipt
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv1;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short reserv2;
|
|
unsigned char fill;
|
|
unsigned char reserv4;
|
|
unsigned short max_len;
|
|
unsigned short reserv5;
|
|
unsigned char far * reserv6;
|
|
unsigned char reserv7[5];
|
|
unsigned long sema;
|
|
};
|
|
#endif
|
|
|
|
struct receive_log_data
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv1;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned short log_dlen;
|
|
unsigned char far * log_dptr;
|
|
};
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* type independent vcbs */
|
|
/*****************************************************************************/
|
|
typedef struct luw_id_overlay
|
|
{
|
|
unsigned char fqlu_name_len;
|
|
unsigned char fqlu_name[17];
|
|
unsigned char instance[6];
|
|
unsigned char sequence[2];
|
|
} LUW_ID_OVERLAY;
|
|
|
|
struct get_tp_properties
|
|
{
|
|
unsigned short opcode;
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
#else
|
|
unsigned char reserv2[2];
|
|
#endif
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned char tp_name[64];
|
|
unsigned char lu_alias[8];
|
|
unsigned char luw_id[26]; /* Logical Unit of Work id */
|
|
unsigned char fqlu_name[17]; /* fully qualified LU name */
|
|
unsigned char reserv3[10];
|
|
unsigned char user_id[10];
|
|
#ifdef SYNCPT_SUPPORT
|
|
unsigned char prot_luw_id[26]; /* present if opext & AP_EXTD */
|
|
#endif
|
|
};
|
|
|
|
#ifdef SYNCPT_SUPPORT
|
|
struct set_tp_properties
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned char set_prot_id; /* AP_NO, AP_YES */
|
|
unsigned char new_prot_id; /* AP_NO, AP_YES */
|
|
unsigned char prot_id[26];
|
|
unsigned char set_unprot_id; /* AP_NO, AP_YES */
|
|
unsigned char new_unprot_id; /* AP_NO, AP_YES */
|
|
unsigned char unprot_id[26];
|
|
unsigned char set_user_id; /* AP_NO, AP_YES */
|
|
unsigned char reserv3;
|
|
unsigned char user_id[10];
|
|
unsigned char reserv4[10];
|
|
};
|
|
|
|
struct get_lu_status
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned char plu_alias[8];
|
|
unsigned short active_sess;
|
|
unsigned char zero_sess; /* AP_NO, AP_YES */
|
|
unsigned char local_only; /* AP_NO, AP_YES */
|
|
unsigned char syncpoint; /* AP_NO, AP_YES */
|
|
unsigned char pool_member; /* AP_NO, AP_YES */
|
|
unsigned char reserv3[4];
|
|
};
|
|
#endif
|
|
|
|
struct get_type
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char conv_type; /* AP_BASIC_CONVERSATION */
|
|
/* AP_MAPPED_CONVERSATION */
|
|
};
|
|
|
|
|
|
struct get_state
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned char conv_state; /* AP_RESET etc. */
|
|
};
|
|
|
|
|
|
/* 2PC - New verb: when DLL is handling transaction interfaces with DTC, */
|
|
/* support explicit enlistment at TP's request. */
|
|
|
|
struct enlist
|
|
{
|
|
unsigned short opcode;
|
|
unsigned char opext;
|
|
unsigned char reserv2;
|
|
unsigned short primary_rc;
|
|
unsigned long secondary_rc;
|
|
unsigned char tp_id[8];
|
|
unsigned long conv_id;
|
|
unsigned long tran_id; /* DTC TranId */
|
|
}; /*2PC*/
|
|
|
|
|
|
|
|
/************************************************************************IBM1*/
|
|
/* Add typedefs for OS/2 ES compatability. *IBM1*/
|
|
/************************************************************************IBM1*/
|
|
typedef struct tp_started TP_STARTED;
|
|
typedef struct receive_allocate RECEIVE_ALLOCATE;
|
|
typedef struct receive_allocate_ex RECEIVE_ALLOCATE_EX;
|
|
typedef struct receive_allocate_ex_end RECEIVE_ALLOCATE_EX_END;
|
|
typedef struct tp_ended TP_ENDED;
|
|
typedef struct mc_allocate MC_ALLOCATE;
|
|
typedef struct mc_confirm MC_CONFIRM;
|
|
typedef struct mc_confirmed MC_CONFIRMED;
|
|
typedef struct mc_deallocate MC_DEALLOCATE;
|
|
typedef struct mc_flush MC_FLUSH;
|
|
typedef struct mc_get_attributes MC_GET_ATTRIBUTES;
|
|
typedef struct mc_prepare_to_receive MC_PREPARE_TO_RECEIVE;
|
|
typedef struct mc_receive_and_post MC_RECEIVE_AND_POST;
|
|
typedef struct mc_receive_and_wait MC_RECEIVE_AND_WAIT;
|
|
typedef struct mc_receive_immediate MC_RECEIVE_IMMEDIATE;
|
|
typedef struct mc_request_to_send MC_REQUEST_TO_SEND;
|
|
typedef struct mc_send_conversation MC_SEND_CONVERSATION;
|
|
typedef struct mc_send_data MC_SEND_DATA;
|
|
typedef struct mc_send_error MC_SEND_ERROR;
|
|
typedef struct mc_test_rts MC_TEST_RTS;
|
|
typedef struct mc_test_rts_and_post MC_TEST_RTS_AND_POST; /*RPRP*/
|
|
#ifdef WIN32 /*APOR*/
|
|
typedef struct mc_post_on_receipt MC_POST_ON_RECEIPT; /*APOR*/
|
|
#endif /*APOR*/
|
|
typedef struct mc_receive_log_data MC_RECEIVE_LOG_DATA; /*RELD*/
|
|
typedef struct allocate ALLOCATE;
|
|
typedef struct confirm CONFIRM;
|
|
typedef struct confirmed CONFIRMED;
|
|
typedef struct deallocate DEALLOCATE;
|
|
typedef struct flush FLUSH;
|
|
typedef struct get_attributes GET_ATTRIBUTES;
|
|
typedef struct prepare_to_receive PREPARE_TO_RECEIVE;
|
|
typedef struct receive_and_post RECEIVE_AND_POST;
|
|
typedef struct receive_and_wait RECEIVE_AND_WAIT;
|
|
typedef struct receive_immediate RECEIVE_IMMEDIATE;
|
|
typedef struct request_to_send REQUEST_TO_SEND;
|
|
typedef struct send_conversation SEND_CONVERSATION;
|
|
typedef struct send_data SEND_DATA;
|
|
typedef struct send_error SEND_ERROR;
|
|
typedef struct test_rts TEST_RTS;
|
|
typedef struct test_rts_and_post TEST_RTS_AND_POST; /*RPRP*/
|
|
#ifdef WIN32 /*APOR*/
|
|
typedef struct post_on_receipt POST_ON_RECEIPT; /*APOR*/
|
|
#endif /*APOR*/
|
|
typedef struct receive_log_data RECEIVE_LOG_DATA; /*RELD*/
|
|
typedef struct get_tp_properties GET_TP_PROPERTIES;
|
|
typedef struct get_type GET_TYPE;
|
|
#ifdef SYNCPT_SUPPORT
|
|
typedef struct get_lu_status GET_LU_STATUS;
|
|
typedef struct set_tp_properties SET_TP_PROPERTIES;
|
|
#endif
|
|
|
|
/* ========================================================================= */
|
|
/*****************************************************************************/
|
|
/* ---------------------- APPC function prototypes ------------------------- */
|
|
/*****************************************************************************/
|
|
|
|
#ifdef WIN32 /*W32*/
|
|
#ifndef WINSNA /*WSNA2*/
|
|
extern void pascal APPC(long); /*W32*/
|
|
#endif /*WSNA2*/
|
|
extern void pascal APPC_P(long); /*W32*/
|
|
extern void pascal APPC_C(long); /*W32*/
|
|
#else /*W32*/
|
|
#ifndef WINSNA /*WSNA2*/
|
|
extern void pascal far _loadds APPC(long); /*1.1X*/
|
|
#endif /*WSNA2*/
|
|
extern void pascal far _loadds APPC_P(long); /*1.1P*/
|
|
extern void pascal far _loadds APPC_C(long);
|
|
#endif /*W32*/
|
|
|
|
|
|
/*****************************************************************************/
|
|
/* WinSNA function prototypes *WSNA2*/
|
|
/*****************************************************************************/
|
|
#ifdef WINSNA
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* IOCP - Structure and function prototype */
|
|
/*---------------------------------------------------------------------------*/
|
|
typedef struct
|
|
{
|
|
HANDLE APPC_CompletionPort;
|
|
DWORD APPC_NumberOfBytesTransferred;
|
|
DWORD APPC_CompletionKey;
|
|
LPOVERLAPPED APPC_pOverlapped;
|
|
|
|
} APPC_IOCP_INFO;
|
|
|
|
extern HANDLE WINAPI WinAsyncAPPCIOCP(APPC_IOCP_INFO*, long);
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Windows APPC Extension Return Codes. */
|
|
/*---------------------------------------------------------------------------*/
|
|
|
|
#define WAPPCALREADY 0xF000 /* An async call is already outstanding */
|
|
#define WAPPCINVALID 0xF001 /* Async Task Id is invalid */
|
|
#define WAPPCCANCEL 0xF002 /* Blocking call was cancelled */
|
|
#define WAPPCSYSNOTREADY 0xF003 /* Underlying subsystem not started */
|
|
#define WAPPCVERNOTSUPPORTED 0xF004 /* Application version not supported */
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
/* Api structre definitions */
|
|
/*----------------------------------------------------------------------------*/
|
|
#define WAPPCDESCRIPTION_LEN 127
|
|
|
|
typedef struct tagWAPPCDATA
|
|
{
|
|
WORD wVersion;
|
|
char szDescription[WAPPCDESCRIPTION_LEN+1];
|
|
} WAPPCDATA, * PWAPPCDATA, FAR * LPWAPPCDATA;
|
|
|
|
|
|
extern void WINAPI APPC(long);
|
|
extern HANDLE WINAPI WinAsyncAPPC( HWND, long);
|
|
extern HANDLE WINAPI WinAsyncAPPCEx( HANDLE, long); /*EVNT*/
|
|
extern BOOL WINAPI WinAPPCCleanup(void);
|
|
extern BOOL WINAPI WinAPPCIsBlocking(void);
|
|
extern int WINAPI WinAPPCCancelAsyncRequest( HANDLE );
|
|
extern BOOL WINAPI WinAPPCCancelBlockingCall(void);
|
|
extern int WINAPI WinAPPCStartup(WORD, LPWAPPCDATA);
|
|
extern FARPROC WINAPI WinAPPCSetBlockingHook(FARPROC);
|
|
extern BOOL WINAPI WinAPPCUnhookBlockingHook(void);
|
|
extern int WINAPI GetAppcReturnCode (struct appc_hdr FAR * vpb, /*GRC */
|
|
UINT buffer_length,
|
|
unsigned char FAR * buffer_addr);
|
|
|
|
#define WIN_APPC_ASYNC_COMPLETE_MESSAGE "WinAsyncAPPC"
|
|
|
|
|
|
#endif
|
|
|
|
|
|
/*************************************************************************W32*/
|
|
/* for Win32 environment, restore original packing mode *W32*/
|
|
/*************************************************************************W32*/
|
|
#ifdef WIN32 /*W32*/
|
|
/*W32*/
|
|
#pragma pack() /*W32*/
|
|
/*W32*/
|
|
#endif /*W32*/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/*****************************************************************************/
|
|
/* End ifndef APPC_C_INCLUDED *DSP2* */
|
|
/*****************************************************************************/
|
|
#pragma option pop /*P_O_Pop*/
|
|
#endif
|
|
|
|
/* winappc.h */
|