📄 sna_dlc.h
字号:
CHAR B0R;}B0M;
/*FALSE*/struct {INTEGER B0T;}B0S;
}B0L;}
#define dsuptype B0L.B0M.B0N /* Status Qualifier */
#define dsmdset B0L.B0M.B0N /* RECFMS Counter Type */
#define dsupcntr B0L.B0M.B0O /* Req-Opn-Station Set-Mode flag */
#define dspad B0L.B0M.B0P /* RECFMS Counter Value */
#define dserror B0L.B0M.B0Q /* Pad */
#define dsoutsq B0L.B0M.B0R /* Internal value for Counter */
#define dlccred B0L.B0S.B0T /* Outage Sub-qualifier */
TPDSHDR; /* DLC-Status Credit Increment */
/*****************************************************************************/
/* SNAP-LINK HMOD MESSAGE TYPE DECLARATIONS */
/*****************************************************************************/
typedef struct tpdlhdr{ /* HMOD MESSAGE HEADER */
CHAR dlcnr; /* N(R) Value */
CHAR dlcns; /* N(S) Value */
INTEGER dlclkidx; /* Link Index */
CHAR dlcerst1; /* Error Status 1 */
CHAR dlcerst2; /* Error Status 2 */
}TPDLHDR;
/*****************************************************************************/
/* MAIN DEFINITION OF MESSAGE HEADER */
/*****************************************************************************/
typedef struct bufhdr{
PTRBFHDR nxtqptr;
PTRBFELT hdreptr;
CHAR numelts;
CHAR msgtype;
#define OPENMSG 1
#define CLOSEMSG 2
#define DLCSTAT 17
#define DLCDATA 16
CHAR srcl;
CHAR srcp;
#define SLPROD 22
INTEGER srci;
CHAR destl;
CHAR destp;
INTEGER desti;
union {
struct {TPOPHDR B1C;}B1B;
struct {TPCLHDR B1E;}B1D;
struct {TPDDHDR B1G;}B1F;
struct {TPDSHDR B1I;}B1H;
struct {TPDLHDR B1K;}B1J;
}B0Y;}
#define ophdr B0Y.B1B.B1C
#define clhdr B0Y.B1D.B1E
#define ddhdr B0Y.B1F.B1G
#define dshdr B0Y.B1H.B1I
#define dlhdr B0Y.B1J.B1K
BUFHDR;
/*****************************************************************************/
/* MAIN DEFINITION OF MESSAGE ELEMENT */
/*****************************************************************************/
/**STRUCT+********************************************************************/
/* Structure: BUFELT */
/* */
/* Description: Main definition of SNAPS Buffer Element */
/*****************************************************************************/
typedef struct bufelt{
PTRBFELT elteptr; /* Pointer to next element in buffer*/
INTEGER startd; /* Offset (from 1) of start of data */
INTEGER endd; /* Offset (from 1) of last data byte*/
CHAR trpad;
CHAR dataru[268]; /* The data bytes themselves */
} BUFELT;
/**STRUCT-********************************************************************/
/*****************************************************************************/
/* IF Win32 environment THEN */
/* IF intel format THEN */
/* define flipping macros */
/* define anti-flipping macros to NOP */
/*****************************************************************************/
#ifdef WIN32
#ifndef NON_INTEL_BYTE_ORDER
#define PFLIPI(X) (unsigned short)_rotl(((unsigned short)(X))*(unsigned long)0x00010001,8)
#define PFLIPL(X) MAKEULONG(PFLIPI(HIUSHORT(X)),PFLIPI(LOUSHORT(X)))
#define PANTIFLIPI(X) (X)
/*****************************************************************************/
/* ELSE (non-intel) */
/* set flipping to nop for now */
/* set anti-flipping on */
/*****************************************************************************/
#else
#define PFLIPI(X) (X)
#define PFLIPL(X) (X)
#define PANTIFLIPI(X) (unsigned short)_rotl((unsigned short)(X),8)
#endif
/*****************************************************************************/
/* ELSE (not Win32, must be Intel environment) */
/* define flipping macros */
/*****************************************************************************/
#else
#define PFLIPI(X) (unsigned short)_rotl((unsigned short)(X),8)
#define PFLIPL(X) MAKEULONG(PFLIPI(HIUSHORT(X)),PFLIPI(LOUSHORT(X)))
#define PANTIFLIPI(X) (X)
#endif
/*****************************************************************************/
/* Buffer pool access routines */
/*****************************************************************************/
#ifdef WIN32_SUPPORT
#ifdef OLD_IHV_PROTOS
extern PTRBFHDR WINAPI sepdbubl (USHORT);
extern VOID WINAPI sepdburl (PTRBFHDR);
extern VOID WINAPI sbpibegt (PTRBFELT *);
extern VOID WINAPI sbpiberl (PTRBFELT *);
#else
extern PTRBFHDR WINAPI SNAGetBuffer (USHORT);
extern VOID WINAPI SNAReleaseBuffer (PTRBFHDR);
extern VOID WINAPI SNAGetElement (PTRBFELT *);
extern VOID WINAPI SNAReleaseElement(PTRBFELT *);
#endif
#else
extern PTRBFHDR far sepdbubl (USHORT);
extern VOID far sepdburl (PTRBFHDR);
extern VOID far sbpibegt (PTRBFELT far *);
extern VOID far sbpiberl (PTRBFELT far *);
#endif
#ifdef WIN32_SUPPORT
extern CHAR WINAPI snpugetc(PTRBFELT, INTEGER);
extern VOID WINAPI snpuputc(PTRBFELT, INTEGER, CHAR);
extern INTEGER WINAPI snpugeti(PTRBFELT, INTEGER);
extern VOID WINAPI snpuputi(PTRBFELT, INTEGER, INTEGER);
extern VOID WINAPI snpugetl(PTRBFELT, INTEGER, LONGINT *);
extern VOID WINAPI snpuputl(PTRBFELT, INTEGER, LONGINT);
#else
extern CHAR far snpugetc(PTRBFELT, INTEGER);
extern VOID far snpuputc(PTRBFELT, INTEGER, CHAR);
extern INTEGER far snpugeti(PTRBFELT, INTEGER);
extern VOID far snpuputi(PTRBFELT, INTEGER, INTEGER);
extern VOID far snpugetl(PTRBFELT, INTEGER, LONGINT FAR *);
extern VOID far snpuputl(PTRBFELT, INTEGER, LONGINT);
#endif
/*****************************************************************************/
/* Include the remainder of SNA Services definitions */
/*****************************************************************************/
#include <sna_cnst.h>
#ifdef __cplusplus
}
#endif
#pragma option pop /*P_O_Pop*/
#endif
/* End of file cs_dlc.h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -