📄 pim3270.h
字号:
int ftcLength; /* size of data in FT buffer */
short ftcDirection; /* direction (send or receive) */
int ftcGetLength; /* size to read into FT buffer */
int ftcGetOffset; /* offset in FT buffer for read */
byte ftcType; /* transfer type (CUT or DFT) */
byte ftcStatus; /* file transfer status bits */
word ftcTransMode; /* transfer/translate mode bits */
word ftcUserMode; /* user mode bits */
byte ftcAIDCheck; /* AID key to check for command */
word ftcParseMode; /* command parsing modes */
int ftcSParOffset; /* starting parsing offset */
int ftcEParOffset; /* ending parsing offset */
int ftcCParOffset; /* current parsing offset */
int ftcECmdOffset; /* ending offset of FT command */
byte *ftcHostCmdPtr; /* host command string pointer */
FT_TOKFLAGS ftcUserTokens; /* tokens found in user command */
FT_TOKFLAGS ftcHostTokens; /* tokens put in host command */
FT_TOKFLAGS ftcCurToken; /* current token being parsed */
FT_TOKFLAGS ftcUserOpts; /* options in user command */
FT_TOKFLAGS ftcHostOpts; /* options put in host command */
FT_TOKFLAGS ftcCurOption; /* current options being parsed */
int ftcNUserSubOpts; /* # user option sub-options */
int ftcNHostSubOpts; /* # host option sub-options */
byte ftcContents; /* contents: data or message */
short ftcPacketsize; /* (DFT) packet size */
FT_DEFAULTS ftcDefaults; /* default transfer values */
FT_STRINGS ftcStrings; /* file transfer cmd. strings */
FT_VALIDATE ftcValidate; /* file transfer cmd. validate */
DISP_MODE ftcCDispMode; /* parsed command display mode */
DISP_MODE ftcSDispMode; /* (CUT) screen display mode */
DISP_MODE ftcDDispMode; /* (CUT) data display mode */
SCREEN_EXP ftcTSOscreen; /* TSO screen expression */
SCREEN_EXP ftcCMSscreen; /* VM/CMS screen expression */
SCREEN_EXP ftcCICSscreen; /* CICS screen expression */
char ftcEtoAName[rLANGLENGTH + 1]; /* EtoA table name */
} FTCB;
/*
Values for the "ftcCommand" field of the File Transfer Control Block
*/
#define ftcNOCOMMAND 0x00 /* no command value */
#define ftcOPENREAD 0x01 /* OPEN file to READ */
#define ftcOPENWRITE 0x02 /* OPEN file to WRITE */
#define ftcINSERT 0x03 /* INSERT data */
#define ftcCLOSE 0x04 /* CLOSE file */
#define ftcSETGET 0x05 /* SET cursor and GET data */
#define ftcSTATUS 0x06 /* file transfer STATUS message */
#define ftcDONE 0x07 /* DONE with file transfer */
/*
Values for the "ftcDirection" field of the File Transfer Control Block
*/
#define ftcNODIRECTION -1 /* no direction (initializer) */
#define ftcSEND 0 /* sending data to the host */
#define ftcRECEIVE 1 /* receiving data from the host */
/*
Values for the "ftcType" field of the File Transfer Control Block
*/
#define ftcNOTYPE 0 /* no current transfer type */
#define ftcCUT 1 /* CUT type transfer */
#define ftcDFT 2 /* DFT type transfer */
/*
Bit values for the "ftcStatus" field of the File Transfer Control Block
*/
#define ftcFILOPEN 0x01 /* virtual device file opened */
#define ftcINPROGRESS 0x02 /* File Transfer in progress */
#define ftcFTSCREEN 0x04 /* is screen File Trans. data? */
#define ftcCMDPENDING 0x08 /* is FT command pending? */
#define ftcLOCALCMD 0x10 /* local command pending */
#define ftcHOSTCMD 0x20 /* host command pending */
/*
Values for the "ftcHostOS" field of the File Transfer Control Block
*/
#define ftcNOHOSTOS -1 /* no host O/S (initializer) */
#define ftcTSO 1 /* host O/S is TSO */
#define ftcVMCMS 2 /* host O/S is VM/CMS */
#define ftcCICS 3 /* host O/S is CICS */
/*
Values for the "ftcTimeOut" field of the File Transfer Control Block
*/
#define ftcNOTIMEOUT -1L /* no time out initializer */
/*
OK value used in the "ftcReturnCode" and "ftcError" fields of
the File Transfer Control Block
*/
#define ftcOK 0x0000 /* no problems */
/*
Values for the "ftcReturnCode" field of the File Transfer Control Block
*/
#define ftcOPENFAILEX 0x0001 /* Open failed exception */
#define ftcARRSEQ 0x0002 /* Arrival sequence not allowed */
#define ftcFILENOTOPEN 0x0003 /* Close of an unopened file */
#define ftcBADNAME 0x001A /* File name invalid */
#define ftcFILENOTFOUND 0x001B /* File not found */
#define ftcBADSIZE 0x001C /* File size invalid */
#define ftcOPENERROR 0x0020 /* Function/open error */
#define ftcGETPASTEOF 0x0022 /* Get past end of file */
#define ftcPATHNOTFOUND 0x002A /* Path not found */
#define ftcOPNOTAUTH 0x003E /* Operation not authorized */
#define ftcRECNOTADDSL 0x0047 /* Record not added, storage limit */
#define ftcUNSUPTYPE 0x005D /* Unsupported type */
#define ftcSYNTAXERROR 0x0060 /* Command syntax error */
#define ftcMISSPARAM 0x0062 /* Parameter is missing */
#define ftcUNSUPPARAM 0x0063 /* Parameter not supported */
#define ftcUNSUPPARVAL 0x0065 /* Parameter value not supported */
#define ftcRECLEN0 0x0070 /* Record length = 0 */
#define ftcINVALIDFORM 0x0071 /* Invalid format/flag value */
#define ftcCANCEL 0x0087 /* User Aborted */
#define ftcWRITEPROTECT 0x0090 /* Disk is write protected */
#define ftcNOREADY 0x0092 /* Disk drive is not ready */
#define ftcDATAERROR 0x0094 /* Bad checksum */
#define ftcSEEKERROR 0x0096 /* Seek failed */
#define ftcBADWRITE 0x009A /* Write failed */
#define ftcBADREAD 0x009B /* Read failed */
#define ftcGENERAL 0x009C /* General Failure */
/*
Values for the "ftcError" field of the File Transfer Control Block
*/
#define ftcABORT 0x0001 /* File Transfer aborted */
#define ftcRETRY 0x0002 /* Retrying */
#define ftcEOF 0x0003 /* End of File reached */
#define ftcERRMSG 0x0004 /* Error message on screen */
#define ftcOSEQCMD 0x0005 /* Command out of sequence */
#define ftcTRANSERR 0x0006 /* Transmission error */
#define ftcPROTERR 0x0007 /* Protocol error */
#define ftcCOMPLETE 0x0008 /* File Transfer complete */
#define ftcTIMEOUT 0x0009 /* Timed out */
#define ftcABORTING 0x0010 /* File Transfer aborting */
#define ftcBADETOA 0x0020 /* invalid EBCDIC-to-ASCII name */
/* command parsing errors: */
#define ftcCMULTIPLE 0x0100 /* multiple commands in screen */
#define ftcCNOTFOUND 0x0101 /* no valid command found */
#define ftcCBADHOSTOS 0x0102 /* bad host O/S value */
#define ftcCBUFOFLOW 0x0103 /* command buffer overflow */
#define ftcCBADDIRECT 0x0104 /* bad direction encountered */
#define ftcCNOLOCFILE 0x0105 /* no local file name found */
#define ftcCLFILECPY 0x0106 /* error copying local file */
#define ftcCINVLOCFILE 0x0107 /* invalid local file name */
#define ftcCNOHOSTFILE 0x0108 /* no host file name found */
#define ftcCLENLFILE 0x0109 /* local file name is too long */
#define ftcCTOKENCOPY 0x010a /* copy of screen token fails */
#define ftcCBADFTCMD 0x010b /* bad file transfer command */
#define ftcCINVTSOFILE 0x010c /* invalid TSO file spec. */
#define ftcCINVCMSFILE 0x010d /* invalid VM/CMS file spec. */
#define ftcCINVCICSFILE 0x010e /* invalid CICS file spec. */
#define ftcCCMDNOFIT 0x010f /* command won't fit on screen */
#define ftcCCOPYERROR 0x0110 /* error copying cmd. to screen */
#define ftcCNULLHCMD 0x0111 /* NULL (zero length) host cmd. */
#define ftcCDISPERROR 0x0112 /* error displaying command */
#define ftcCSYNTAXERR 0x0113 /* general syntax error */
#define ftcCDUPOPTION 0x0114 /* duplicate option encountered */
#define ftcCOPTCONFLICT 0x0115 /* option conflicts with prev. */
#define ftcCNOPARAMS 0x0116 /* command has no parameters */
#define ftcCNOTIMEVAL 0x0117 /* no time out value specified */
#define ftcCNOTNUMERIC 0x0118 /* value must be numeric */
#define ftcCNEGNUMERIC 0x0119 /* numeric value not positive */
#define ftcCMAXDIGITS 0x011a /* too many digits in token */
#define ftcCBIGTIME 0x011b /* timeout value too large */
#define ftcCUPTIMEOUT 0x011c /* undefined time out parameter */
#define ftcCNOPKTSIZE 0x011d /* no packet size value found */
#define ftcCBIGPKTSIZE 0x011e /* packet size too big */
#define ftcCUPPKTSIZE 0x011f /* undefined packet size param. */
#define ftcCNORETRIES 0x0120 /* no retries value found */
#define ftcCBIGRETRIES 0x0121 /* retries value too big */
#define ftcCUPRETRIES 0x0122 /* undefined retries parameter */
#define ftcCNULLHCSTR 0x0123 /* NULL host command string */
#define ftcCINVOSOPT 0x0124 /* option invalid for host O/S */
#define ftcCINVSENDOPT 0x0125 /* invalid option when sending */
#define ftcCINVRECVOPT 0x0126 /* invalid option when receiving*/
#define ftcCNOLRECL 0x0127 /* no LRECL record length found */
#define ftcCLOLRECL 0x0128 /* LRECL value is too small */
#define ftcCHILRECL 0x0129 /* LRECL value is too large */
#define ftcCUPLRECL 0x012a /* undefined LRECL parameter */
#define ftcCNORECFM 0x012b /* no RECFM format param. found */
#define ftcCINVRECFM 0x012c /* invalid RECFM format value */
#define ftcCUPRECFM 0x012d /* undefined RECFM parameter */
#define ftcCNOBLKSIZE 0x012e /* no block size found */
#define ftcCLOBLKSIZE 0x012f /* block size is too small */
#define ftcCHIBLKSIZE 0x0130 /* block size too large */
#define ftcCUPBLKSIZE 0x0131 /* undefined BLKSIZE parameter */
#define ftcCNOAVBLOCK 0x0132 /* no average block size found */
#define ftcCLOAVBLOCK 0x0133 /* av. block size is too small */
#define ftcCHIAVBLOCK 0x0134 /* average block size too large */
#define ftcCUPAVBLOCK 0x0135 /* undefined AVBLOCK parameter */
#define ftcCNOSPACE 0x0136 /* no SPACE options specified */
#define ftcCLOQUANTSP 0x0137 /* SPACE quantity too small */
#define ftcCHIQUANTSP 0x0138 /* SPACE quantity too large */
#define ftcCLOINCRSP 0x0139 /* SPACE increment too small */
#define ftcCHIINCRSP 0x013a /* SPACE increment too large */
#define ftcCINVUNITSP 0x013b /* invalid SPACE units value */
#define ftcCUPSPACE 0x013c /* undefined SPACE parameter */
#define ftcCUNDEFOPT 0x013d /* undefined option */
#define ftcCTOOLONG 0x013e /* command too long for screen */
#define ftcCTOKCOPY 0x013f /* error copying token */
#define ftcCNOCOMMENTS 0x0140 /* comments not allowed */
#define ftcCNOTWAPPEND 0x0141 /* option not valid w/ append */
#define ftcCNWTSOMEMBER 0x0142 /* opt. not valid w/ TSO member */
#define ftcCNOSCMSFTYPE 0x0143 /* no VM/CMS file type in send */
#define ftcCLRECLWAPP 0x0144 /* lrecl with append not valid */
#define ftcCBLKSZWAPP 0x0145 /* blksize w/ append not valid */
#define ftcCRECFMWAPP 0x0146 /* recfm with append not valid */
#define ftcCSPACEWAPP 0x0147 /* space with append not valid */
#define ftcCAPPLOCFILE 0x0148 /* applic. detected file error */
#define ftcCLANGTOOLONG 0x0149 /* language name is too long */
#define ftcCUPTEXT 0x014a /* undefined text parameter */
/* Values for the "ftcTransMode", field of the File Transfer Control Block
and the "ftdTransMode" and "ftdHostTrans" fields of the File Transfer
defaults structure.
*/
#define ftcNOMODES 0x0000 /* initializer */
#define ftcNEWLINE 0x0001 /* newline translation flag */
#define ftcAPPEND 0x0002 /* append flag (or overwrite) */
#define ftcCR_LF 0x0004 /* CR/LF translation flag */
#define ftcASCII 0x0008 /* ASCII flag (or binary) */
#define ftcCLEAR 0x0010 /* clear screen for command */
#define ftcTEXT 0x0020 /* use local translate tables */
/* by default, all values are determined by the host O/S environment: */
#define ftcTRMD_DEF 0x0000
#define ftcHTRM_DEF (ftcAPPEND | ftcCR_LF | ftcASCII)
/* default transfer modes used by various IBM host O/S environments: */
#define ftcDM_TSO 0x0000 /* TSO = no CR/LF, binary */
#define ftcDM_VMCMS 0x0000 /* VM/CMS = no CR/LF, binary */
/* CICS default = ASCII and CR/LF, and CR/LF implies newline for UNIX: */
#define ftcDM_CICS (ftcASCII | ftcCR_LF | ftcNEWLINE)
/*
Values for the "ftcTransMode" field of the File Transfer Control Block
*/
/*
Values for the "ftcUserTokens", "ftcHostTokens", and "ftcCurToken"
fields of the File Transfer Control Block. User tokens are set when
the token is found in the user's command string, host tokens when
placed in the host command buffer. The current token value is set
as each token is parsed.
*/
#define ftcT_NONE 0x00000000 /* no tokens */
#define ftcT_COMMAND 0x00000001 /* command (send/receive) */
#define ftcT_LOCFILE 0x00000002 /* local file name */
#define ftcT_HOSNAME 0x00000004 /* host O/S file prefix */
#define ftcT_HOSTFILE 0x00000008 /* host file name */
#define ftcT_MEMBERTSO 0x00000010 /* TSO member name */
#define ftcT_PASWRDTSO 0x00000020 /* TSO password */
#define ftcT_FTYPECMS 0x00000040 /* VM/CMS file type */
#define ftcT_FMODECMS 0x00000080 /* VM/CMS file mode */
#define ftcT_OPTION 0x00000100 /* option(s) */
#define ftcT_OPTINTRO 0x00000200 /* options introducer */
#define ftcT_OPTDELIM 0x00000400 /* options delimiter */
#define ftcT_SOPTINTRO 0x00000800 /* (current) sub-opt introducer */
#define ftcT_SOPTDELIM 0x00001000 /* (current) sub-opt delimiter */
#define ftcT_SOPTSEP 0x00002000 /* (current) sub-opt separator */
#define ftcT_COMMENTS 0x00004000 /* (CICS) comments */
/*
Values for the "ftcUserOpts", "ftcHostOpts", and "ftcCurOption"
fields of the File Transfer Control Block. User options are set when
an option is found in the user's command string, host options when
placed in the host command buffer. The current option value is set
as each option is parsed.
*/
#define ftcT_NL 0x00000001 /* NL option */
#define ftcT_NONL 0x00000002 /* NONL option */
#define ftcT_CRLF 0x00000004 /* CRLF option */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -