This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/Borland/BCC55/Include/wincsv.h

414 lines
23 KiB
C

/* Copyright Data Connection Ltd. 1989 */
/* acssvcc.h */
/* Copyright (c) 1989 Microsoft Corporation. All rights reserved. */
/*****************************************************************************/
/* Function prototypes for the Common Service Verbs */
/*****************************************************************************/
/* 3054 13/11/91 SW Add pascal entry point function prototype */
/* W32 15/04/92 CD Add WIN32 support */
/* WCSV 06/11/92 SW Add prototype for WinCSV entry points */
/* 0998 11/06/93 SP Add Async Transfer_MS_Data + wait for Host's Rsp */
/* WCSV2 15/09/93 PP Add WinCSV return codes */
/* RCFX2 26/07/94 SF Ensure Secondary return code is a ULONG */
/*****************************************************************************/
#ifndef ACSSVCCH_INCLUDED
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define ACSSVCCH_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
#if (defined(WIN32) || defined(WINDOWS))
#define CSVENTRY WINAPI
#else
#define CSVENTRY far pascal
#endif
#if (defined(WIN32) || defined(WINDOWS))
#define WCSVDESCRIPTION_LEN 127 /*0998*/
typedef struct tagWCSVDATA /*0998*/
{ /*0998*/
WORD wVersion; /*0998*/
char szDescription[WCSVDESCRIPTION_LEN+1]; /*0998*/
} WCSVDATA, * PWCSVDATA, FAR * LPWCSVDATA; /*0998*/
extern void CSVENTRY WinCSV(long); /*0998*/
extern HANDLE CSVENTRY WinAsyncCSV(HWND, long); /*0998*/
extern int CSVENTRY WinCSVCleanup(void); /*0998*/
extern int CSVENTRY WinCSVStartup(WORD wVersion, LPWCSVDATA lpData);/*0998*/
extern int CSVENTRY GetCsvReturnCode (struct svc_hdr FAR *, UINT, unsigned char FAR *);
/*WCSV2***********************************************************************/
/* WinCSV return codes */
/*****************************************************************************/
#define WCSVINVALID CSV_FLIPI(0x01F0) /* invalid parameter */
#define WCSVSYSNOTREADY CSV_FLIPI(0x03F0) /* subsystem not started */
#define WCSVVERNOTSUPPORTED CSV_FLIPI(0x04F0) /* requested ver not supported */
#endif
extern void CSVENTRY ACSSVC(long);
extern void CSVENTRY ACSSVC_C(long);
extern void CSVENTRY ACSSVC_P(long); /*3054*/
/*****************************************************************************/
/* Ensure the correct packing of structures */
/*****************************************************************************/
#ifdef WIN32
#pragma pack(4)
#endif
/*****************************************************************************/
/* VCB structures */
/*****************************************************************************/
struct svc_hdr
{
unsigned short opcode; /* Verb identifying operation code. */
unsigned char opext; /* Reserved */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary return code from verb. */
unsigned long secondary_rc; /* Secondary (qualifying) return code. */
};
struct convert
{
unsigned short opcode; /* Verb identifying operation code. */
unsigned char opext; /* Reserved. */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary return code from verb. */
unsigned long secondary_rc; /* Secondary (qualifying) return code. */
unsigned char direction; /* Direction of conversion - ASCII to */
/* EBCDIC or vice-versa. */
unsigned char char_set; /* Character to use for the conversion */
/* A, AE, or user-defined G. */
unsigned short len; /* Length of string to be converted. */
#ifdef WIN32
unsigned char *source; /* Pointer to string to be converted. */
unsigned char *target; /* Address to put converted string at. */
#else
unsigned char far *source; /* Pointer to string to be converted. */
unsigned char far *target; /* Address to put converted string at. */
#endif
};
struct define_trace
{
unsigned short opcode; /* Verb identifying operation code. */
unsigned char opext; /* Reserved. */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary return code from verb. */
unsigned long secondary_rc; /* Secondary (qualifying) return code. */
unsigned char reserv3[8]; /* Reserved. */
unsigned char dt_set; /* Trace state to be set (on/off). */
/***************************************************************************/
/* In the following fields, used for specifying which sorts of tracing is */
/* required, only the most significant bit is currently used. Bits 1 to 7 */
/* are reserved. Bit 0 can be set to 'ignore' or to 'change'. */
/***************************************************************************/
unsigned char appc; /* Tracing for APPC. */
unsigned char reserv4; /* Reserved. */
unsigned char srpi; /* Tracing for SRPI. */
unsigned char sdlc; /* Reserved. */
unsigned char tkn_rng_dlc; /* Reserved. */
unsigned char pcnet_dlc; /* Reserved. */
unsigned char dft; /* Reserved. */
unsigned char acdi; /* Reserved. */
unsigned char reserv5; /* Reserved. */
unsigned char comm_serv; /* Tracing for Comm_Serv_API. */
unsigned char ehllapi; /* Reserved. */
unsigned char x25_api; /* Reserved. */
unsigned char x25_dlc; /* Reserved. */
unsigned char twinax; /* Reserved. */
unsigned char reserv6; /* Reserved. */
unsigned char lua_api; /* Reserved. */
unsigned char etherand; /* Reserved. */
unsigned char subsym; /* Reserved. */
unsigned char reserv7[8]; /* Reserved. */
unsigned char reset_trc; /* Reserved. */
unsigned short trunc; /* Truncation size for trace records. */
unsigned short strg_size; /* Reserved. */
unsigned char reserv8[1]; /* Reserved. */
unsigned char phys_link[8]; /* Reserved. */
unsigned char reserv9[56]; /* Reserved. */
};
struct get_cp_convert_table
{
unsigned short opcode; /* Verb identifying operation code. */
unsigned char opext; /* Reserved. */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary return code from verb. */
unsigned long secondary_rc; /* Secondary (qualifying) return code. */
unsigned short source_cp; /* Source code page for conversion table. */
unsigned short target_cp; /* Target code page for conversion table. */
#ifdef WIN32
unsigned char *conv_tbl_addr;/* Address to put conversion table at. */
#else
unsigned char far *conv_tbl_addr;/* Address to put conversion table at. */
#endif
unsigned char char_not_fnd; /* Character not found option: either */
/* substitute character or round trip. */
unsigned char substitute_char; /* Substitute character to use. */
};
struct log_message
{
unsigned short opcode; /* Verb identifying operation code. */
unsigned char opext; /* Reserved. */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary return code from verb. */
unsigned long secondary_rc; /* Secondary (qualifying) return code. */
unsigned short msg_num; /* Number of message to log. */
unsigned char origntr_id[8]; /* ID of the originator of the message. */
unsigned char msg_file_name[3]; /* Message file to search for the required*/
/* message number. */
unsigned char msg_act; /* Message action - whether to inform */
/* operator. */
unsigned short msg_ins_len; /* Length of data for insertion in msg. */
#ifdef WIN32
unsigned char *msg_ins_ptr; /* Address of data for insertion in msg. */
#else
unsigned char far *msg_ins_ptr; /* Address of data for insertion in msg. */
#endif
};
struct transfer_ms_data
{
unsigned short opcode; /* Verb identifying operation code. */
unsigned char data_type; /* Data type supplied to the verb - can */
/* be: user-defined; alert subvectors; */
/* pdstats subvectors; NMVT. */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary return code from verb. */
unsigned long secondary_rc; /* Secondary (qualifying) return code. */
unsigned char options; /* Verb options. Bits 3 - 7 are reserved. */
/* Bit 0: Time stamp subvector option. */
/* Bit 1: Product set id subvector option.*/
/* Bit 2: Option to send NMVT to SSCP. */
/* Bit 3: Option for local logging. */
unsigned char reserv3; /* Reserved. */
unsigned char origntr_id[8]; /* ID of originator of NMVT. */
unsigned short dlen; /* Length of data supplied to verb. */
#ifdef WIN32
unsigned char *dptr; /* Address at which supplied data resides.*/
#else
unsigned char far *dptr; /* Address at which supplied data resides.*/
#endif
};
struct set_user_log_queue
{
unsigned short opcode; /* Verb operation code */
unsigned char opext; /* Reserved. */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary RETURN_CODE */
unsigned long secondary_rc; /* Secondary RETURN_CODE */
unsigned char reserv3[8]; /* Reserved. */
unsigned char queue_name[64]; /* Reserved. */
unsigned char forward; /* Reserved. */
unsigned char suppress; /* Reserved. */
unsigned char selection; /* Reserved. */
unsigned short numbers[10]; /* Reserved. */
};
struct copy_trace_to_file
{
unsigned short opcode; /* Verb identifying operation code. */
unsigned char opext; /* Reserved. */
unsigned char reserv2; /* Reserved. */
unsigned short primary_rc; /* Primary return code from verb. */
unsigned long secondary_rc; /* Secondary (qualifying) return code. */
unsigned char reserv3[8]; /* Reserved. */
unsigned char file_name[64]; /* Trace file name. */
unsigned char file_option; /* File options. New or overwrite. */
unsigned char reserv4[12]; /* Address at which supplied data resides.*/
};
/*****************************************************************************/
/* Return the packing to what the user set */
/*****************************************************************************/
#ifdef WIN32
#pragma pack()
#endif
/*****************************************************************************/
/* ------------------------- macro definitions ----------------------------- */
/*****************************************************************************/
/*************************************************************************W32*/
/* define type conversion macros *W32*/
/*************************************************************************W32*/
#ifndef CSVFLIPSET
#define CSVFLIPSET
#define CSV_LO_UC(w) ((unsigned char)(((unsigned short)(w)) & 0xFF)) /*W32*/
#define CSV_HI_UC(w) ((unsigned char)(((unsigned short)(w) >> 8) \
& 0xff)) /*W32*/
#define CSV_MAKUS(l, h) (((unsigned short)(l)) | \
((unsigned short)(h)) << 8) /*W32*/
#define CSV_MAKUL(l, h) ((unsigned long)(((unsigned short)(l))| \
((unsigned long)((unsigned short)(h))) << 16))/*W32*/
#define CSV_LO_US(l) ((unsigned short)(((unsigned long)(l)) & 0xFFFF)) /*W32*/
#define CSV_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 CSV_FLIPI(X) (X) /*W32*/
#define CSV_FLIPL(X) (X) /*W32*/
/*W32*/
/*************************************************************************W32*/
/* ELSE (Intel environment) *W32*/
/* define flipping macros *W32*/
/*************************************************************************W32*/
#else /*W32*/
#define CSV_FLIPI(X) CSV_MAKUS(CSV_HI_UC(X),CSV_LO_UC(X)) /*W32*/
#define CSV_FLIPL(X) CSV_MAKUL(CSV_FLIPI(CSV_HI_US(X)), \
CSV_FLIPI(CSV_LO_US(X))) /*W32*/
#endif /*W32*/
#endif
/*****************************************************************************/
/* Verb op codes. */
/*****************************************************************************/
#define SV_CONVERT CSV_FLIPI(0x1A00)
#define SV_DEFINE_TRACE CSV_FLIPI(0x1D00)
#define SV_GET_CP_CONVERT_TABLE CSV_FLIPI(0x1900)
#define SV_LOG_MESSAGE CSV_FLIPI(0x1F00)
#define SV_TRANSFER_MS_DATA CSV_FLIPI(0x1C00)
#define SV_SET_USER_LOG_QUEUE CSV_FLIPI(0x4B00)
#define SV_COPY_TRACE_TO_FILE CSV_FLIPI(0x4C00)
#define SV_DEFINE_DUMP CSV_FLIPI(0x4D00)
/*****************************************************************************/
/* Parameters for the Common Service Verbs. */
/*****************************************************************************/
#define SV_ADD 0
#define SV_CHANGE 1
#define SV_IGNORE 0
#define SV_NO_ADD 1
#define SV_NO_SEND 1
#define SV_SEND 0
#define SV_A 0x01
#define SV_AE 0x00
#define SV_ALL 0x01
#define SV_ALERT_SUBVECTORS 0x02
#define SV_ASCII_TO_EBCDIC 0x00
#define SV_EBCDIC_TO_ASCII 0x01
#define SV_FORWARD 0x02
#define SV_INTRV 0x00
#define SV_G 0x02
#define SV_LOG 0x00
#define SV_LOGS 0x00
#define SV_NMVT 0x01
#define SV_NO 0x00
#define SV_NO_INTRV 0x01
#define SV_NO_LOG 0x01
#define SV_NONE 0x00
#define SV_OFF 0x00
#define SV_ON 0x01
#define SV_PDSTATS_SUBVECTORS 0x03
#define SV_ROUND_TRIP 0x01
#define SV_SOME 0x00
#define SV_SUBSTITUTE 0x00
#define SV_SYSTEM_MESSAGES 0x01
#define SV_USER_DEFINED 0x00
#define SV_USER_MESSAGES 0x02
#define SV_YES 0x01
/****************************************************************************/
/* Bit masks for enabling and disabling functions */
/****************************************************************************/
#define SV_BIT0 0x80 /* x....... */
#define SV_BIT1 0x40 /* .x...... */
#define SV_BIT2 0x20 /* ..x..... */
#define SV_BIT3 0x10 /* ...x.... */
#define SV_BIT4 0x08 /* ....x... */
#define SV_BIT5 0x04 /* .....x.. */
#define SV_BIT6 0x02 /* ......x. */
#define SV_BIT7 0x01 /* .......x */
/*****************************************************************************/
/* Return Codes from the Common Service Verbs. */
/*****************************************************************************/
#define SV_COMM_SUBSYSTEM_NOT_LOADED CSV_FLIPI(0xF012)
#define SV_CONFIG_FILE_ERROR CSV_FLIPI(0x0032)
#define SV_INVALID_VERB CSV_FLIPI(0xFFFF)
#define SV_INVALID_VERB_SEGMENT CSV_FLIPI(0xF008)
#define SV_OK CSV_FLIPI(0x0000)
#define SV_PARAMETER_CHECK CSV_FLIPI(0x0001)
#define SV_STATE_CHECK CSV_FLIPI(0x0002)
#define SV_UNEXPECTED_DOS_ERROR CSV_FLIPI(0xF011)
#define SV_CANCELLED CSV_FLIPI(0x0021) /*0998*/
#define SV_SERVER_RESOURCE_NOT_FOUND CSV_FLIPI(0xF024) /*0998*/
#define SV_SERVER_RESOURCES_LOST CSV_FLIPI(0xF026) /*0998*/
#define SV_THREAD_BLOCKING CSV_FLIPI(0xF006) /*0998*/
#define SV_CONVERSION_ERROR CSV_FLIPL(0x00000406)
#define SV_DATA_EXCEEDS_RU_SIZE CSV_FLIPL(0x00000302)
#define SV_INVALID_CHARACTER_SET CSV_FLIPL(0x00000402)
#define SV_INVALID_CHAR_NOT_FOUND CSV_FLIPL(0x00000630)
#define SV_INVALID_DATA_SEGMENT CSV_FLIPL(0x00000006)
#define SV_INVALID_DATA_TYPE CSV_FLIPL(0x00000303)
#define SV_INVALID_DIRECTION CSV_FLIPL(0x00000401)
#define SV_INVALID_FIRST_CHARACTER CSV_FLIPL(0x00000404)
#define SV_INVALID_FORWARD CSV_FLIPL(0x00000700)
#define SV_INVALID_MESSAGE_ACTION CSV_FLIPL(0x00000621)
#define SV_INVALID_NMVT_ERROR CSV_FLIPL(0x00000304)
#define SV_INVALID_QUEUE CSV_FLIPL(0x00000704)
#define SV_INVALID_RESET_TRACE CSV_FLIPL(0x0000062F)
#define SV_INVALID_SELECTION CSV_FLIPL(0x00000702)
#define SV_INVALID_SET CSV_FLIPL(0x00000624)
#define SV_INVALID_SOURCE_CODE_PAGE CSV_FLIPL(0x00000631)
#define SV_INVALID_STORAGE_SIZE CSV_FLIPL(0x00000627)
#define SV_INVALID_SUPPRESS CSV_FLIPL(0x00000701)
#define SV_INVALID_TARGET_CODE_PAGE CSV_FLIPL(0x00000632)
#define SV_PD_MENUS_IN_PROGRESS CSV_FLIPL(0x0000062E)
#define SV_QUEUE_ALREADY_IN_EFFECT CSV_FLIPL(0x00000705)
#define SV_SSCP_PU_SESSION_NOT_ACTIVE CSV_FLIPL(0x00000301)
#define SV_TABLE_ERROR CSV_FLIPL(0x00000405)
#define SV_TOO_HIGH_A_NUMBER CSV_FLIPL(0x00000703)
#define SV_SERVER_CONN_FAILURE CSV_FLIPL(0x030000AB) /*0998**RCFX*/
/*****************************************************************************/
/* The following constants are needed for EE12 enhancements but could not */
/* be found in the EE header file. */
/*****************************************************************************/
#define SV_NEW 0x00
#define SV_OVERWRITE 0x01
#define SV_OUTPUT_DEVICE_FULL CSV_FLIPI(0x0031)
#define SV_FILE_ALREADY_EXISTS CSV_FLIPI(0x0030)
#define SV_TRACE_NOT_STOPPED CSV_FLIPL(0x0000062A)
#define SV_INVALID_FILE_OPTION CSV_FLIPL(0x0000062B)
#define SV_TRACE_BUFFER_EMPTY CSV_FLIPL(0x0000062C)
#ifdef __cplusplus
}
#endif
#pragma option pop /*P_O_Pop*/
#endif