⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pim3270.h

📁 界面程序
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -