This include file, DSQCOMMC, is shipped with the QMF product.
/******************************************************************/
/* C Include for Query Callable Interface (MVS/VM) */
/******************************************************************/
/* Structure declare for Communications Area */
struct dsqcomm {
long int dsq_return_code; /* Function return code */
long int dsq_instance_id; /* id established in start cmd*/
char dsq_comm_level[12]; /* communications level id */
char dsq_product[2]; /* query product id */
char dsq_product_release[2]; /* query product release */
char dsq_reserve1[28]; /* reserved */
char dsq_message_id[8]; /* completion message ID */
char dsq_q_message_id[8]; /* query message ID */
char dsq_start_parm_error[8]; /* start parameter in error */
char dsq_cancel_ind[1]; /* cmd cancelled indicator */
/* 1 = cancelled, 0 = not cancelled*/
char dsq_reserve2[23]; /* RESERVED AREAS */
char dsq_reserve3[156];
char dsq_message_text[128]; /* Message text */
char dsq_q_message_text[128]; /* Query message text */
} ;
/* RETURN CODES */
#define DSQ_SUCCESS 0
#define DSQ_WARNING 4
#define DSQ_FAILURE 8
#define DSQ_SEVERE 16
/* Communications Level */
#define DSQ_CURRENT_COMM_LEVEL "DSQL>001002<"
/* Query Product Codes */
#define DSQ_QRW "01"
#define DSQ_QMF "02"
#define DSQ_QM3 "03"
/* Query Product Release Levels */
#define DSQ_QRW_V1R2 "01"
#define DSQ_QRW_V1R3 "02"
#define DSQ_QMF_V2R4 "01"
#define DSQ_QMF_V3R1 "02"
#define DSQ_QMF_V3R1M1 "03"
#define DSQ_QMF_V3R2 "04"
#define DSQ_QMF_V3R3 "05"
#define DSQ_QMF_V6R1 "06"
#define DSQ_QM4_V1R1 "01"
/* INSTANCE CODES */
#define DSQ_CONTINUE 0
/* CANCELLED INDICATOR */
#define DSQ_CANCEL_YES "1"
#define DSQ_CANCEL_NO "0"
/* VARIABLE TYPES */
#define DSQ_VARIABLE_CHAR "CHAR"
#define DSQ_VARIABLE_FINT "FINT"
#define DSQ_INTERACTIVE "1"
#define DSQ_BATCH "2"
#define DSQ_YES "1"
#define DSQ_NO "2"
/* Call Interface structure */
/* Calling format for normal call with 3 parameters */
#define dsqcic(parm1, parm2, parm3 )\
dsqcicx( parm1, parm2, parm3)
/* Calling format for call with CMD_EXT area 9 parameters */
#define dsqcice(parm1, parm2, parm3,\
parm4, parm5, parm6, parm7, parm8, parm9 )\
dsqcicx( parm1, parm2, parm3, \
parm4, parm5, parm6, \
parm7, parm8, parm9 )
/* DECLARE OS LINKAGE FORMAT */
#pragma linkage(dsqcicx, OS)