📄 pim3270.h
字号:
#define ftcT_NOCRLF 0x00000008 /* NOCRLF option */
#define ftcT_ASCII 0x00000010 /* ASCII option */
#define ftcT_BINARY 0x00000020 /* BINARY option */
#define ftcT_APPEND 0x00000040 /* APPEND option */
#define ftcT_NOAPPEND 0x00000080 /* NO APPEND option */
#define ftcT_TIMEOUT 0x00000100 /* TIME (timeout) option */
#define ftcT_PKTSIZE 0x00000200 /* PACKET SIZE option */
#define ftcT_RETRIES 0x00000400 /* RETRIES option */
#define ftcT_LRECL 0x00000800 /* LRECL option */
#define ftcT_RECFM 0x00001000 /* RECFM option */
#define ftcT_BLKSIZE 0x00002000 /* (TSO) BLKSIZE option */
#define ftcT_SPACE 0x00004000 /* (TSO) SPACE option */
#define ftcT_AVBLOCK 0x00008000 /* (TSO) AVBLOCK option */
#define ftcT_TRACKS 0x00010000 /* (TSO) TRACKS option */
#define ftcT_CYLINDERS 0x00020000 /* (TSO) CYLINDERS option */
#define ftcT_CLEAR 0x00040000 /* clear option */
#define ftcT_NOCLEAR 0x00080000 /* no clear option */
#define ftcT_UNDEFOPT 0x00100000 /* undefined option(s) */
#define ftcT_TEXT 0x00200000 /* text (translate) option */
#define ftcT_NOTEXT 0x00400000 /* no text (translate) option */
/* host options allowed/used for each host O/S environment: */
#define ftcHO_TSO \
(ftcT_CRLF | ftcT_ASCII | ftcT_APPEND | ftcT_LRECL | ftcT_RECFM | \
ftcT_BLKSIZE | ftcT_AVBLOCK | ftcT_TRACKS | ftcT_CYLINDERS)
#define ftcHO_VMCMS \
(ftcT_CRLF | ftcT_ASCII | ftcT_APPEND | ftcT_PKTSIZE | ftcT_LRECL | ftcT_RECFM)
#define ftcHO_CICS \
(ftcT_CRLF | ftcT_NOCRLF | ftcT_ASCII | ftcT_BINARY | ftcT_APPEND)
/* The following data structure defines a File Transfer command. When passed
to ftBldCmdStr3270(), a parseable File Transfer command string is built.
*/
/* Constant definitions for mode fields such as ftcmdAscii and ftcmdText
below. Three states are implemented: on, off, and no value. If not on,
the opposite setting of the name is implied (e.g. "binary" if ftcmdAscii
is set to ftcMODEOFF).
*/
#define ftcMODEOFF 0x00 /* given (named) mode not set */
#define ftcMODEON 0x01 /* named mode is set */
#define ftcNOMODE 0xff /* no value specified for mode */
#define MAXTSODATASET 56 /* maximum TSO data set name */
#define MAXTSOMEMBER 8 /* maximum TSO member name */
#define MAXTSOPASSWORD 8 /* maximum TSO password name */
typedef struct /* TSO file name parameters */
{
char tsoDataSet[MAXTSODATASET+1]; /* TSO data set name */
char tsoMember[MAXTSOMEMBER+1]; /* TSO member name */
char tsoPassword[MAXTSOPASSWORD+1]; /* TSO password */
} TSO_FILE;
#define MAXCMSFILE 8 /* maximum CMS file name length */
#define MAXCMSTYPE 8 /* maximum CMS file type */
#define MAXCMSMODE 2 /* maximum CMS file mode */
typedef struct /* VM/CMS file name parameters */
{
char cmsFileName[MAXCMSFILE+1]; /* VM/CMS file name */
char cmsType[MAXCMSTYPE+1]; /* VM/CMS file type */
char cmsMode[MAXCMSMODE+1]; /* VM/CMS file mode */
} VM_CMS_FILE;
#define MAXCICSFILE 8 /* maximum CICS file name size */
typedef char CICS_FILE[MAXCICSFILE+1]; /* CICS file type */
typedef union
{
TSO_FILE fthfTSO; /* TSO host file parameters */
VM_CMS_FILE fthfVM_CMS; /* VM/CMS host file parameters */
CICS_FILE fthfCICS; /* CICS host file parameters */
} FT_HOST_FILE;
#define ftcMAXUSEROPTS 256 /* maximum size of user options */
#define ftcMAXCOMMENTS 256 /* maximum size of comments */
typedef struct
{
short ftcmdDirection; /* ftcSEND or ftcRECEIVE */
PathName ftcmdLocalFile; /* local file name */
short ftcmdHostOS; /* ftcTSO, ftcCICS, or ftcVMCMS */
FT_HOST_FILE ftcmdHostFile; /* host file parameters */
char ftcmdEtoAName[rLANGLENGTH+1]; /* EtoA table name */
long ftcmdTimeOut; /* time out or ftcNOTIMEOUT */
int ftcmdPacketSize; /* packet size value */
int ftcmdRetries; /* retry count */
byte ftcmdAscii; /* ASCII mode */
byte ftcmdText; /* text mode */
byte ftcmdCRLF; /* CRLF mode */
byte ftcmdNL; /* NL (newline) mode */
byte ftcmdAppend; /* append mode */
byte ftcmdClear; /* clear screen mode */
char ftcmdRecFormat; /* record format (see below) */
char ftcmdSpUnits; /* space units (see below) */
int ftcmdSpace; /* space (initial size) */
int ftcmdSpIncrement; /* space increment */
int ftcmdAvBlocks; /* average block size */
int ftcmdRecLength; /* record length */
int ftcmdBlkSize; /* block size */
char ftcmdUserOpts[ftcMAXUSEROPTS+1]; /* user options */
char ftcmdComments[ftcMAXCOMMENTS+1]; /* comments */
} FTCMD_3270;
/* Numeric field initializers. */
#define ftcNO_VALUE -1 /* no specified value */
/* constant definitions for File Transfer record formats. */
#define RECFM_DEFAULT 'd' /* (host) default record format */
#define RECFM_FIXED 'f' /* fixed record format */
#define RECFM_VARIABLE 'v' /* variable record format */
#define RECFM_UNDEFINED 'u' /* undefined record format */
/* constant definitions for File Transfer space units. */
#define SP_DEFAULT 'd' /* (host) default space units */
#define SP_AVBLOCKS 'b' /* average blocks */
#define SP_TRACKS 't' /* tracks */
#define SP_CYLINDERS 'c' /* cylinders */
/*
Values for the "ftcContents" field of the File Transfer Control Block
*/
#define ftcCNONE 0xff /* no contents */
#define ftcCDATA 1 /* contains file data */
#define ftcCMESSAGE 2 /* contains host message */
#define FT_MAXPKTSIZE 32000 /* maximum FT packet size */
/*
Values for the "ftcUserMode" field of the File Transfer Control Block
*/
#define ftcCMDCASE 0x0001 /* cmd. options case sensitive */
/*
Values for the "ftcParseMode" field of the File Transfer Control Block
*/
#define ftcDUPCHECK 0x0001 /* check duplicate options */
#define ftcCROSSCHK 0x0002 /* cross-check options */
#define ftcUNDEFCHK 0x0004 /* check for undefined options */
#define ftcOSOPTCHK 0x0008 /* check O/S specific options */
#define ftcHVALSCHK 0x0010 /* check host values */
#define ftcDIRCHECK 0x0020 /* check directional options */
#define ftcOSSPECHK 0x0040 /* perform O/S specific checks */
#define ftcCHECKALL 0xffff /* perform all available checks */
/* default File Transfer values: */
#define ftcRTRY_DEF 5 /* maximum retries default */
#define ftcHOST_DEF ftcTSO /* host O/S default */
#define ftcTOUT_DEF ftcNOTIMEOUT /* time out value default */
#define ftcUMOD_DEF 0x00 /* default user mode bit mask */
#define ftcPMOD_DEF ftcCHECKALL /* default parse mode checks */
/*
PIM<==>API Interface Data Structures
*/
#define API_DEVID 0x0fff /* reserved API device ID */
typedef struct api_keystroke /* API send key structure */
{
byte skKeyType; /* send key type */
byte skKeyValue; /* send key key value */
byte skFlags; /* send key flags */
} API_KEYSTROKE;
/* defines for API keystroke (send key) flags. */
#define SK_RESPONSE 0x01 /* send succeed/fail response */
typedef struct key_intercept /* PIM<==>API kbd. intercept */
{
word kiParmMask; /* kbd. intercept parms. mask */
byte kiKeyType; /* keyboard intercept key type */
byte kiKeyValue; /* keyboard intercept key value */
} KEY_INTERCEPT;
/* keyboard intercept parameters mask bit setting values: */
#define KI_NONE 0x0000 /* no key intercept values on */
#define KI_ALLTYPES 0x0001 /* intercept all key types */
#define KI_ALLVALUES 0x0002 /* intercept all key values */
#define KI_APPLORIG 0x0004 /* intercept application keys */
#define KI_APIORIG 0x0008 /* intercept API keys */
#define KI_RECEIVED 0x0010 /* intercept on receipt */
#define KI_NDISABLED 0x0020 /* intercept non-disabled keys */
#define KI_VALIDATED 0x0040 /* intercept after validated */
#define KI_PROCESSED 0x0080 /* intercept after processed */
#define KI_APIPEEK 0x0100 /* continue after API intercept */
#define KI_LASTAPI 0x0200 /* last API in intercept chain */
#define KI_APIWAIT 0x0800 /* wait for API intercept stat. */
#define KI_DEVICE 0x1000 /* intercept from entire device */
#define KI_ACTIVE 0x8000 /* key intercept active flag */
#define KI_FROMMASK 0x000C /* "from" (key origin) mask */
#define KI_WHENMASK 0x00F0 /* "when processed" mask */
typedef struct key_disable /* key disable structure */
{
unsigned long kdTypes; /* key types mask */
word kdFlags; /* key disable flags */
} KEY_DISABLE;
/* key disable flag bit masks and settings: */
#define KDF_TYPEMASK 0x0003 /* disabled key types mask */
#define KDF_KEYTYPES 0x0000 /* disable specified key types */
#define KDF_NONTYPES 0x0001 /* disable non-specified types */
#define KDF_ALLTYPES 0x0002 /* disable all types */
#define KDF_NOTYPES 0x0003 /* no types disabled (inactive) */
#define KDF_APPLKEYS 0x0004 /* disable keys from PIM appl. */
#define KDF_APIKEYS 0x0008 /* disable keys from API progs. */
typedef struct key_int_stat /* API==>PIM intercept status */
{
byte isKeyType; /* intercepted key type */
byte isKeyValue; /* intercepted key value */
word isKIntParms; /* intercept parameters mask */
byte isStatus; /* intercepted key status */
byte isRejReason; /* reason for rejection */
} API_KEYINTSTAT;
/* post intercept status isStatus values: */
#define IS_ACCEPT 'A' /* intercept accepted */
#define IS_REJECT 'R' /* intercept rejected */
/* Definitions for keystroke virtual device function arguments describing
where the keystroke sent to the functions came from. Note that these
are the same as the key intercept "from" definitions - they are renamed
to make them non-specific to key intercept for other key processing
functions.
*/
#define PIM_KEY KI_APPLORIG /* key is from PIM application */
#define API_KEY KI_APIORIG /* key is from API process */
typedef unsigned long SES_EVENTS; /* session event flags type */
/* Definitions for API session event flags bit settings: */
#define E_NONE 0x00000000 /* not waiting on any events */
#define E_FTSTARTED 0x00000001 /* File Transfer started */
#define E_FTCHANGE 0x00000002 /* change in File Transfer */
#define E_FTCOMPLETE 0x00000004 /* File Transfer complete */
#define E_INHIBIT 0x00000008 /* inhibit state changed */
#define E_CLRINHIBIT 0x00000010 /* inhibit state cleared */
#define N_EVENTS 5 /* number of events supported */
typedef struct disp_screen /* display screen message */
{
DISP_MODE dsDispMode; /* display mode flags */
} DISP_SCREEN;
typedef struct disp_field /* display field message */
{
DISP_MODE dfDispMode; /* display mode flags */
short dfFldIndex; /* field index to display */
} DISP_FIELD;
typedef struct disp_area /* display area message */
{
DISP_MODE daDispMode; /* display mode flags */
short daFrOffset; /* offset to start from */
short daToOffset; /* offset to end at */
} DISP_AREA;
typedef struct set_inhibit /* API==>PIM set inhibit msg. */
{
byte siInhType; /* inhibit type to be set */
byte siSubType; /* inhibit sub-type to be set */
byte siFlags; /* set inhibit flags */
} SET_INHIBIT;
/* defines for set inhibit flag settings in siFlags field above: */
#define SI_RESPREQ 0x01 /* inhibit response required */
typedef struct api_events /* API==>PIM event message */
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -