📄 fmi.h
字号:
/*****************************************************************************/
/* STATUS-ERROR MESSAGE TYPE DECLARATION */
/*****************************************************************************/
typedef struct tpstehdr{ /* STATUS ERROR MESSAGE HEADER */
CHAR errstat;
#define STERROR 3
CHAR errpad1;
INTEGER errpad2;
INTEGER errpad3;
INTEGER errcode1;
INTEGER errcode2;
}TPSTEHDR;
/*****************************************************************************/
/* STATUS-CONTROL MESSAGE TYPE DECLARATION */
/*****************************************************************************/
typedef struct tpstchdr{ /* STATUS CONTROL MESSAGE HEADER */
CHAR ctlstat;
#define STCNTRL 2
CHAR ctlqual;
#define CTLREQU 1
/* #define ACKPOS 2 */
/* #define ACKNEG1 3 */
/* #define ACKNEG2 4 */
CHAR ctltype;
#define CCLEAR 1
#define CSDT 2
#define CRQR 3
#define CSTSN 4
#define CCANCEL 16
#define CLUSTAT 17
#define CSIGNAL 18
#define CRSHUTD 19
#define CBID 20
#define CCHASE 21
#define CSHUTC 22
#define CSHUTD 23
#define CRTR 24
#define CQC 32
#define CQEC 33
#define CRELQ 34
CHAR ctlack; /* Same values as fhackrqd below */
CHAR ctlflag1; /* Same values as fhflags1 below */
CHAR ctlflag2; /* Same values as fhflags2 below */
INTEGER ctlnumb1;
INTEGER ctlnumb2;
INTEGER ctlmsgk;
}TPSTCHDR;
/*****************************************************************************/
/* STATUS-RESOURCE MESSAGE TYPE DECLARATION */
/*****************************************************************************/
typedef struct tpstrhdr{ /* STATUS RESOURCE MESSAGE HEADER */
CHAR resstat;
#define STRESRCE 4
CHAR respad;
INTEGER rescred;
}TPSTRHDR;
/*****************************************************************************/
/* STATUS-SESSION MESSAGE TYPE DECLARATION */
/*****************************************************************************/
typedef struct tpstshdr{ /* STATUS SESSION MESSAGE HEADER */
CHAR sessstat;
#define STSESSN 5
CHAR sesspad;
INTEGER sesscode;
#define STNOSESS 1 /* X'01' (NO SESSION) */
#define STLINERR 2 /* X'02' (LINK ERROR) */
#define STPUACT 3 /* X'03' (PU ACTIVE) */
#define STPUREAC 4 /* X'04' (PU RE-ACTIVATED) */
#define STLUACT 5 /* X'05' (LU ACTIVE) */
#define STLUREAC 6 /* X'06' (LU RE-ACTIVATED) */
#define STBETB 7 /* BETB STATUS-SESSION CODE */
INTEGER sessqual;
/* #define STPUACT 3 X'03' (PU ACTIVE) */
/* #define STPUREAC 4 X'04' (PU RE-ACTIVATED) */
#define STPUINAC 16 /* X'10' (PU INACTIVE) */
#define STLUINAC 17 /* X'11' (LU INACTIVE) */
}TPSTSHDR;
/*****************************************************************************/
/* STATUS-RTM MESSAGE TYPE DECLARATION */
/*****************************************************************************/
typedef struct tpstmhdr{ /* STATUS RTM MESSAGE HEADER */
CHAR rtmstat;
#define STRTM 6
CHAR strbndry; /* set boundaries flag */
CHAR strcount; /* set counters flag */
CHAR strtmdef; /* rtm definition */
CHAR strtmact; /* rtm active flag */
CHAR strtmdsp; /* local display active flag */
}TPSTMHDR;
/*****************************************************************************/
/* STATUS VARIANT TYPES */
/*****************************************************************************/
typedef struct tpashdr{ /* APPLSTATUS MESSAGE HEADER */
union {
struct {TPSTAHDR B0G;}B0F; /* Status-Ack variant */
struct {TPSTCHDR B0I;}B0H; /* Status-Control variant */
struct {TPSTEHDR B0K;}B0J; /* Status-Error variant */
struct {TPSTRHDR B0M;}B0L; /* Status-Resource variant*/
struct {TPSTSHDR B0O;}B0N; /* Status-Session variant */
struct {TPSTMHDR X1E;}X1D; /* Status-RTM variant */
}B0E;}
#define stackhdr B0E.B0F.B0G
#define stctlhdr B0E.B0H.B0I
#define sterrhdr B0E.B0J.B0K
#define streshdr B0E.B0L.B0M
#define stseshdr B0E.B0N.B0O
#define strtmhdr B0E.X1D.X1E
TPASHDR;
/*****************************************************************************/
/* FMI APPLDATA HERE */
/*****************************************************************************/
typedef struct tpfmihdr{ /* FMI DATA MESSAGE HEADER */
CHAR fhackrqd;
#define NOACKREQ 0
#define ACKREQ 1
CHAR fhpad1;
INTEGER fhmsgkey;
CHAR fhflags1; /* BIT SIGNIFICANT */
#define AF_FMH 0x80
#define AF_BC 0x40
#define AF_EC 0x20
#define AF_COMM 0x10
#define AF_BB 0x08
#define AF_EB 0x04
#define AF_CD 0x02
#define AF_SD 0x01
CHAR fhflags2; /* BIT SIGNIFICANT */
#define AF_CODE 0x80
#define AF_ENCR 0x40
#define AF_ENPD 0x20
#define AF_QRI 0x10
#define AF_CEI 0x08
#define AF_BBIU 0x04
#define AF_EBIU 0x02
#define AF_RBI 0x01
INTEGER fhpad2;
INTEGER fhpad3;
INTEGER fhseqno;
}TPFMIHDR;
/*****************************************************************************/
/* MAIN DEFINITION OF MESSAGE HEADER */
/*****************************************************************************/
#ifdef WIN32_SUPPORT
#define PTRBFHDR struct bufhdr *
#else
#define PTRBFHDR struct bufhdr far *
#endif
typedef struct bufhdr{
PTRBFHDR nxtqptr;
PTRBFELT hdreptr;
CHAR numelts;
CHAR msgtype;
#define OPENMSG 1
#define CLOSEMSG 2
#define DATAFMI 32
#define STATFMI 33
CHAR srcl;
CHAR srcp;
#define S3PROD 18 /* 3270 Partner number */
INTEGER srci;
CHAR destl;
CHAR destp;
INTEGER desti;
union {
struct {TPOPHDR B1C;}B1B;
struct {TPCLHDR B1E;}B1D;
struct {TPFMIHDR B1K;}B1J;
struct {TPASHDR B1M;}B1L;
}B0Y;}
#define ophdr B0Y.B1B.B1C
#define clhdr B0Y.B1D.B1E
#define dfhdr B0Y.B1J.B1K
#define sfhdr B0Y.B1L.B1M
BUFHDR;
/*****************************************************************************/
/* RETURN CONSTANTS FOR SBPURCV */
/*****************************************************************************/
#define CSUNORES 0 /* NO RESULT */
#define CSUMSGRT 1 /* MESSAGE RETURNED */
#define CSUPTHER 2 /* PATH ERROR */
#define CSUTERM 3 /* TERMINATE */
#define CSUBUFSH 4 /* BUFFER SHORTAGE */
/*****************************************************************************/
/* PROCTYPE AND SERVTYPE PARAMETERS FOR SBPUINIT */
/*****************************************************************************/
#define CLIENT 2 /* client entry */
#define CES3270 2 /* SNAP-3270 */
/*****************************************************************************/
/* DL-Base return Values */
/*****************************************************************************/
#ifndef NO_ERROR
#define NO_ERROR 0
#endif
#define CEDINNOMSG 0 /* status = no message or status */
#define CEDINMSG 1 /* status = got message */
#define CEDINLLN 2 /* status = lost locality */
/* values for SBPUINIT only */
#define DMBASE 550 /* Base level for Com Manager errors */
#define DMLTABF (DMBASE + 5) /* L-table full */
#define DMMNWGI (DMBASE + 12) /* NetWkstaGetInfo call failed */
#define DMDSTFL (DMBASE + 13) /* Service table full */
#define DMMPIPF (DMBASE + 17) /* Make pipe call failed */
#define DMCOMNM (DMBASE + 32) /* No name found for this service */
#define DMCOMDUP (DMBASE + 46) /* Duplicate COMNAME for service */
#define DMNOTLOG (DMBASE + 48) /* User not logged on */
#define DMCFGOPN (DMBASE + 66) /* Failed to open the config file */
#define DMCFREAD (DMBASE + 68) /* Error reading config file */
#define DMNONAP (DMBASE + 75) /* NAP not up when starting service */
#define WINBASE 950 /* Base level for Windows-only errors */
#define DMMAXAPP (WINBASE+3) /* Exceeded max # of concurrent apps */
/*****************************************************************************/
/* Dmod/DL-Base entry points */
/*****************************************************************************/
#ifdef MSWIN_SUPPORT
#ifndef APIENTRY
#define APIENTRY WINAPI
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -