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

📄 fmi.h

📁 vc6.0完整版
💻 H
📖 第 1 页 / 共 3 页
字号:
#endif

#ifdef OS2_SUPPORT
extern USHORT   APIENTRY  sbpuinit (HSEM FAR *, USHORT, USHORT, UCHAR FAR *);
extern USHORT   APIENTRY  sbpurcv (PTRBFHDR FAR *, INTEGER FAR*);
#endif

#ifdef WIN32_SUPPORT
extern USHORT WINAPI sbpuinit (HANDLE *, USHORT, USHORT, UCHAR *);
extern USHORT WINAPI sbpurcv (PTRBFHDR *, INTEGER *);
#endif

#ifdef MSWIN_SUPPORT
extern USHORT   WINAPI  sbpuinit (USHORT, USHORT, UCHAR FAR *);
#endif

#ifdef DOS_SUPPORT
extern USHORT   APIENTRY  sbpuinit (HSEM FAR *, USHORT, USHORT);
#endif

#ifndef WIN32_SUPPORT
extern USHORT   APIENTRY  sbpurcvx (BUFHDR FAR * FAR *, INTEGER, INTEGER);
extern VOID     APIENTRY  sbpusend (PTRBFHDR);
extern VOID     APIENTRY  sbputerm (VOID);
#else
extern USHORT WINAPI sbpurcvx (BUFHDR * *, INTEGER, INTEGER);
extern VOID   WINAPI sbpusend (PTRBFHDR);
extern VOID   WINAPI sbputerm (VOID);
#endif

#ifdef OS2_SUPPORT
extern USHORT APIENTRY sepdrout(USHORT (APIENTRY *) (BUFHDR far *, USHORT, USHORT));
#endif

#ifdef WIN32_SUPPORT
extern ULONG WINAPI sepdrout(ULONG (WINAPI *) (BUFHDR *, USHORT, USHORT));
#endif

#ifdef MSWIN_SUPPORT
extern USHORT WINAPI sepwrout(USHORT (WINAPI *) (BUFHDR far *, USHORT, USHORT));
#endif

#ifdef DOS_SUPPORT
extern USHORT APIENTRY sepdrout(USHORT (APIENTRY *) (BUFHDR far *, USHORT, USHORT));
#endif

/*****************************************************************************/
/* Buffer pool access routines                                               */
/*****************************************************************************/

#ifndef WIN32_SUPPORT
extern PTRBFHDR APIENTRY  sepdbubl (USHORT);
extern VOID     APIENTRY  sepdburl (PTRBFHDR);

extern VOID     APIENTRY  sbpibegt (PTRBFELT FAR *);
extern VOID     APIENTRY  sbpiberl (PTRBFELT FAR *);

extern VOID     APIENTRY  sepdchnk (USHORT FAR *, USHORT FAR *);
#else
extern PTRBFHDR WINAPI sepdbubl (USHORT);
extern VOID     WINAPI sepdburl (PTRBFHDR);

extern VOID     WINAPI sbpibegt (PTRBFELT *);
extern VOID     WINAPI sbpiberl (PTRBFELT *);

extern VOID     WINAPI sepdchnk (USHORT *, USHORT *);
#endif

/*****************************************************************************/
/* Structures for the 3270 user record.                                      */
/*****************************************************************************/

#define CERT3270  0x0002           /* 3270 user record type                  */
#define CECWKHAC  8                /* Length of Host Access Name             */
#define CECWKUNM  20               /* Length of 3270 user name               */
#define CECWKREM  25               /* Length of record remark                */
#define CE3MASMX  10               /* Max number of 3270 sessions            */

typedef struct tecwrksd
{
  UCHAR   cwshost[CECWKHAC + 1];   /* LU/Pool name accessed                  */
  USHORT  cwsestyp;                /* Session type (M2, M3, M4, M5, printer) */
#define CERTMOD2 0                 /* 24x80                                  */
#define CERTMOD3 1                 /* 32x80                                  */
#define CERTMOD4 2                 /* 43x80                                  */
#define CERTMOD5 3                 /* 27x132                                 */
#define CERTPRNT 4                 /* Host printer                           */
  USHORT  cwsmodov;                /* Has the user got override permission?  */
  USHORT  cwspad;                  /* 2 bytes of padding                     */
} TECWRKSD;

typedef struct tecwrkus
{
  USHORT   cwlen;                  /* Length of record                       */
  USHORT   cwtype;                 /* Type of record                         */
  UCHAR    cwname[CECWKUNM + 1];   /* User name                              */
  UCHAR    cwremark[CECWKREM + 1]; /* Comment field                          */
  UCHAR    cwstylef[9];            /* Initial style file name - no extnsn    */
  USHORT   cwvewrtm;               /* Can user view RTM info ?               */
  USHORT   cwalert;                /* Has user got ALERT permission ?        */
  USHORT   cwchghan;               /* Can change LU/Pool name accessed ?     */
  USHORT   cwmaxses;               /* Maximum number of active sessions 1-10 */
  USHORT   cwnumrec;               /* Number of sessions for user            */
  TECWRKSD cwsesdat[CE3MASMX];     /* Session information records            */
  USHORT   cwmodisf;               /* Permission to modify initial style     */
  USHORT   cwpad;                  /* 2 bytes of padding                     */
  USHORT   cwnumrmp;               /* Number of LUs/Pools in remap list      */
  TECWRKSD cwremap[1];             /* LU/Pool Remap list                     */
} TECWRKUS;

/*****************************************************************************/
/* Structures for the diagnostics record.                                    */
/*****************************************************************************/

#define CERTDIAG  0x0001           /* Diagnostics record type                */
#define CECNUMAL  20               /* Max number of ALERTs configurable      */
#define CECALRNM  52               /* Length of ALERT description 52 (arr sz)*/
#define CECALRNA  34               /* Actual length of ALERT desc is 34      */
#define CECALRPR  32               /* Length of parameter description        */
#define CECONAME  8                /* Length of connection name              */
#define CESTRLEN  128              /* Length of a string + 1                 */
#define CECCNLEN  15               /* Length of a computer name              */

typedef struct tedalert
{
  UCHAR    dalrtnam[CECALRNM + 1]; /* Description of the ALERT number        */
  UCHAR    daparam1[CECALRPR + 1]; /* Description of parameter 1             */
  UCHAR    daparam2[CECALRPR + 1]; /* Description of parameter 2             */
  UCHAR    daparam3[CECALRPR + 1]; /* Description of parameter 3             */
} TEDALERT;

typedef struct tediagns
{
  USHORT   dilen;                  /* Length of record                       */
  USHORT   ditype;                 /* Type of record                         */
  UCHAR    dinetmgt[CECONAME + 1]; /* Network Management Connection name     */
  USHORT   disrtmco;               /* Send RTM data at counter overflow      */
  USHORT   disrtmub;               /* Send RTM data at UNBIND                */
  USHORT   diwruldr;               /* RTM timers run until:                  */
#define CERTWRIT 0                 /*  0 - first data reaches screen         */
#define CERTUNLK 1                 /*  1 - host unlocks keyboard             */
#define CERTDIRE 2                 /*  2 - host lets user send               */
  USHORT   dirtmth1;               /* RTM threshold #1                       */
  USHORT   dirtmth2;               /* RTM threshold #2                       */
  USHORT   dirtmth3;               /* RTM threshold #3                       */
  USHORT   dirtmth4;               /* RTM threshold #4                       */
  TEDALERT dialerts[CECNUMAL];     /* ALERT description records              */
  UCHAR    diaudit[CESTRLEN];      /* Audit log filename                     */
  UCHAR    dierror[CESTRLEN];      /* Error log filename                     */
  USHORT   diaudlev;               /* Default audit level                    */
                                   /*   0   -   level 6                      */
                                   /*   1   -   level 8                      */
                                   /*   2   -   level 10                     */
  UCHAR    dipad[CECCNLEN + 1];    /* 16 bytes of padding                    */
} TEDIAGNS;

/*****************************************************************************/
/* Routine to access config information                                      */
/*****************************************************************************/
#ifndef WIN32_SUPPORT
USHORT APIENTRY sepdcrec(UCHAR FAR *, USHORT, USHORT FAR * );
#else
USHORT WINAPI sepdcrec(UCHAR *, USHORT, USHORT * );
#endif

/*****************************************************************************/
/* Return codes from sepdcrec                                                */
/*****************************************************************************/

#define NOCSSRVR 1                   /* No config server available           */
#define NODGNREC 2                   /* Diagnostics record not found         */
#define NOUSRREC 3                   /* No user record found for this user   */
#define BUF2SMAL 4                   /* Buffer too small                     */
#define NONOS    5                   /* Network not started                  */
#define NOTLOGON 6                   /* User not logged on to network        */
#define READERR  7                   /* File read error                      */
#define NONAP    8                   /* NAP not started                      */
#define MAXAPP   9                   /* Max # of client apps reached         */
#define ERROR_SERVER 14              /* Error on the server end of the RPC   */
#define ERROR_LOCAL_FAILURE 15       /* Error on the local end of the RPC    */

/*****************************************************************************/
/* Structure of version information block                                    */
/*****************************************************************************/

typedef struct cs_info {
  unsigned short    length;            /* length of this struct (bytes)      */
                                       /* (supplied parameter)               */
  unsigned char     major_ver;         /* CS major ver CS1.1->1, CS2.0->2    */
  unsigned char     minor_ver;         /* CS minor ver CS1.1->10 (dec)       */
  unsigned char     config_share[80];  /* name of share point of current     */
                                       /* config file = default location for */
                                       /* style file \\box\share\ (null      */
                                       /* terminated)                        */
  unsigned short    nos;               /* NOS that the LAN is running        */
#define Workstation 0
#define LANMan      1      /* Also LAN Server, unless we can differentiate   */
#define NetWare     2
} CS_INFO;

/*****************************************************************************/
/* Routine to get version information                                        */
/*****************************************************************************/
#ifndef WIN32_SUPPORT
USHORT APIENTRY sepdgetinfo(struct cs_info far * );
#else
USHORT WINAPI sepdgetinfo(struct cs_info * );
#endif

/*****************************************************************************/
/* Additional return code from sepdgetinfo.                                  */
/*****************************************************************************/
#define BADLNGTH 2


/*****************************************************************************/
/* Function definition for fmistrings dll entry point                        */
/*****************************************************************************/
int WINAPI GetFmiReturnCode (UINT,UINT,UINT,unsigned char FAR * );

/*****************************************************************************/
/* typedef for casting proc address return from GetProcAddress               */
/*****************************************************************************/
typedef int (FAR WINAPI * PGETFMISTR)(UINT, UINT, UINT, char FAR *);

/*****************************************************************************/
/* Macro for creating the first parameter for the GetFmiReturnCode call when */
/* using the error code and qualifier off a FMI status message.              */
/*****************************************************************************/
#define FMISTAT_TO_INT(code, qual)  ((INTEGER) (((code >> 8) << 8) | (qual >> 8)))

#ifdef WIN32_SUPPORT
  #pragma pack()
#endif

#ifdef __cplusplus
}
#endif

#endif
/* End of file fmi.h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -