mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
241 lines
8.7 KiB
241 lines
8.7 KiB
/***************************************************************************
|
|
Name : NSFMACRO.H
|
|
Comment : INTERNAL-ONLY Definitions of BC and NSF related structs
|
|
|
|
Copyright (c) 1993 Microsoft Corp.
|
|
|
|
Revision Log
|
|
Date Name Description
|
|
-------- ----- ---------------------------------------------------------
|
|
***************************************************************************/
|
|
|
|
#ifdef PORTABLE
|
|
|
|
/***********************************************************************
|
|
* *
|
|
* NOTICE: This file has to be ANSI compilable, under GCC on UNIX *
|
|
* and other ANSI compiles. Be sure to use no MS C specific features *
|
|
* In particular, don't use // for comments!!!! *
|
|
* *
|
|
***********************************************************************/
|
|
|
|
#define NSFvMsgProtocol(p) (((((LPBYTE)(p))[1]) & 0x38) >> 3)
|
|
#define fBinaryData(p) (((((LPBYTE)(p))[1]) & 0x40) >> 6)
|
|
#define fInwardRouting(p) (((((LPBYTE)(p))[1]) & 0x80) >> 7)
|
|
#define vSecurity(p) (((((LPBYTE)(p))[2]) & 0x07) >> 0)
|
|
#define vMsgCompress(p) (((((LPBYTE)(p))[2]) & 0x18) >> 3)
|
|
#define fDontCache(p) (((((LPBYTE)(p))[2]) & 0x20) >> 5)
|
|
#define OperatingSys(p) (((((LPBYTE)(p))[3]) & 0x07) >> 0)
|
|
#define vShortFlags(p) (((((LPBYTE)(p))[3]) & 0x18) >> 3)
|
|
#define NSFvInteractive(p) (((((LPBYTE)(p))[3]) & 0xE0) >> 5)
|
|
#define DataSpeed(p) (((((LPBYTE)(p))[4]) & 0x1F) >> 0)
|
|
#define DataLink(p) (((((LPBYTE)(p))[4]) & 0xE0) >> 5)
|
|
|
|
#define SetBCSTD0(p, l, n, m, b, i) \
|
|
(((LPBYTE)(p))[0]) = ((((l) & 0x3F) << 0) | (((n) & 0x03) << 6)); \
|
|
(((LPBYTE)(p))[1]) = ((((n) & 0x1C) >> 2) | (((m) & 0x07) << 3) | \
|
|
(((b) & 0x01) << 6) | (((i) & 0x01) << 7));
|
|
|
|
#define SetBCSTD2(p, s, c, d) \
|
|
(((LPBYTE)(p))[2]) = ((((s) & 0x07) << 0) | (((c) & 0x03) << 3) | (((d) & 0x01) << 5));
|
|
|
|
#define SetBCSTD3(p, o, f, i) \
|
|
(((LPBYTE)(p))[3]) = ((((o) & 0x07) << 0) | (((f) & 0x03) << 3) | (((i) & 0x07) << 5));
|
|
|
|
#define SetBCSTD4(p, s, l) \
|
|
(((LPBYTE)(p))[4]) = ((((s) & 0x1F) << 0) | (((l) & 0x07) << 5));
|
|
|
|
|
|
#define TextEncoding(p) (((((LPBYTE)(p))[1]) & 0xF8) >> 3)
|
|
|
|
|
|
#define fAnyWidth(p) (((((LPBYTE)(p))[1]) & 0x08) >> 3)
|
|
#define vRamboVer(p) (((((LPBYTE)(p))[1]) & 0xF0) >> 4)
|
|
#define vCoverAttach(p) (((((LPBYTE)(p))[2]) & 0x07) >> 0)
|
|
#define vAddrAttach(p) (((((LPBYTE)(p))[2]) & 0x18) >> 3)
|
|
#define vMetaFile(p) (((((LPBYTE)(p))[2]) & 0x60) >> 5)
|
|
#define HiResolution(p) (((((LPBYTE)(p))[3]) & 0x0F) >> 0)
|
|
#define HiEncoding(p) (((((LPBYTE)(p))[3]) & 0xF0) >> 4)
|
|
#define CutSheetSizes(p) (((LPBYTE)(p))[4])
|
|
#define fOddCutSheet(p) (((((LPBYTE)(p))[5]) & 0x01) >> 0)
|
|
|
|
#define SetBCIMAGE0(p, l, n, a, r) \
|
|
(((LPBYTE)(p))[0]) = ((((l) & 0x3F) << 0) | (((n) & 0x03) << 6)); \
|
|
(((LPBYTE)(p))[1]) = ((((n) & 0x1C) >> 2) | (((a) & 0x01) << 3) | \
|
|
(((r) & 0x0F) << 4));
|
|
|
|
#define SetBCIMAGE2(p, c, a, m) \
|
|
(((LPBYTE)(p))[2]) = ((((c) & 0x07) << 0) | (((a) & 0x03) << 3) | (((m) & 0x03) << 5));
|
|
|
|
#define SetBCIMAGE3(p, r, e) \
|
|
(((LPBYTE)(p))[3]) = ((((r) & 0x0F) << 0) | (((e) & 0x0F) << 4));
|
|
|
|
#define SetBCIMAGE4(p, c) (((LPBYTE)(p))[4]) = (c);
|
|
|
|
#define SetBCIMAGE5(p, c) (((LPBYTE)(p))[5]) = (((c) & 0x01) << 0);
|
|
|
|
|
|
#define fLowSpeedPoll(p) (((((LPBYTE)(p))[1]) & 0x08) >> 3)
|
|
#define fHighSpeedPoll(p) (((((LPBYTE)(p))[1]) & 0x10) >> 4)
|
|
#define fPollByNameAvail(p) (((((LPBYTE)(p))[1]) & 0x20) >> 5)
|
|
#define fPollByRecipAvail(p) (((((LPBYTE)(p))[1]) & 0x40) >> 6)
|
|
#define fFilePolling(p) (((((LPBYTE)(p))[1]) & 0x80) >> 7)
|
|
#define fExtCapsAvail(p) (((((LPBYTE)(p))[2]) & 0x01) >> 0)
|
|
#define fNoShortTurn(p) (((((LPBYTE)(p))[2]) & 0x02) >> 1)
|
|
#define vMsgRelay(p) (((((LPBYTE)(p))[2]) & 0x1C) >> 2)
|
|
|
|
|
|
#define ExtCapsCRC(p) (((WORD)(((LPBYTE)(p))[3])) | (((WORD)(((LPBYTE)(p))[4])) << 8))
|
|
#define SetExtCapsCRC(p, w) ((((LPBYTE)(p))[3] = (((WORD)(w)) & 0xFF)), (((LPBYTE)(p))[4] = ((((WORD)(w)) >> 8) & 0xFF)))
|
|
|
|
#define SetBCPOLLCAPS0(p, l, n, lp, hp, pn, pr, pf) \
|
|
(((LPBYTE)(p))[0]) = ((((l) & 0x3F) << 0) | (((n) & 0x03) << 6)); \
|
|
(((LPBYTE)(p))[1]) = ((((n) & 0x1C) >> 2) | (((lp) & 0x01) << 3) | \
|
|
(((hp) & 0x01) << 4) | (((pn) & 0x01) << 5) | \
|
|
(((pr) & 0x01) << 6) | (((pf) & 0x01) << 7));
|
|
|
|
#define SetBCPOLLCAPS2(p, e, n, m) \
|
|
(((LPBYTE)(p))[2]) = ((((e) & 0x01) << 0) | (((n) & 0x01) << 1) | (((m) & 0x07) << 2));
|
|
|
|
|
|
#define NSSvMsgProtocol(p) (((((LPBYTE)(p))[1]) & 0x38) >> 3)
|
|
#define NSSvInteractive(p) (((((LPBYTE)(p))[2]) & 0x07) >> 0)
|
|
|
|
#define SetBCNSS0(p, l, n, m, i) \
|
|
(((LPBYTE)(p))[0]) = ((((l) & 0x3F) << 0) | (((n) & 0x03) << 6)); \
|
|
(((LPBYTE)(p))[1]) = ((((n) & 0x1C) >> 2) | (((m) & 0x07) << 3)); \
|
|
(((LPBYTE)(p))[2]) = ((((i) & 0x07) << 0));
|
|
|
|
|
|
#define fReturnControl(p) (((((LPBYTE)(p))[1]) & 0x08) >> 3)
|
|
#define PollType(p) (((((LPBYTE)(p))[1]) & 0xF0) >> 4)
|
|
#define NamePass(p) (((LPBYTE)(p)) + 2)
|
|
|
|
#define SetBCPOLLREQ0(p, l, n, f, t) \
|
|
(((LPBYTE)(p))[0]) = ((((l) & 0x3F) << 0) | (((n) & 0x03) << 6)); \
|
|
(((LPBYTE)(p))[1]) = ((((n) & 0x1C) >> 2) | (((f) & 0x01) << 3) | \
|
|
(((t) & 0x0F) << 4));
|
|
|
|
|
|
|
|
#else /** PORTABLE **/
|
|
|
|
|
|
#define NSFvMsgProtocol(p) ((p)->vMsgProtocol)
|
|
#define fBinaryData(p) ((p)->fBinaryData)
|
|
#define fInwardRouting(p) ((p)->fInwardRouting)
|
|
#define vSecurity(p) ((p)->vSecurity)
|
|
#define vMsgCompress(p) ((p)->vMsgCompress)
|
|
#define fDontCache(p) ((p)->fDontCache)
|
|
#define OperatingSys(p) ((p)->OperatingSys)
|
|
#define vShortFlags(p) ((p)->vShortFlags)
|
|
#define NSFvInteractive(p) ((p)->vInteractive)
|
|
#define DataSpeed(p) ((p)->DataSpeed)
|
|
#define DataLink(p) ((p)->DataLink)
|
|
|
|
#define SetBCSTD0(p, l, n, m, b, i) \
|
|
(((p)->GroupLength) = (l)); \
|
|
(((p)->GroupNum) = (n)); \
|
|
(((p)->vMsgProtocol) = (m)); \
|
|
(((p)->fBinaryData) = (b)); \
|
|
(((p)->fInwardRouting) = (i));
|
|
|
|
#define SetBCSTD2(p, s, c, d) \
|
|
(((p)->vSecurity) = (s)); \
|
|
(((p)->vMsgCompress) = (c)); \
|
|
(((p)->fDontCache) = (d));
|
|
|
|
#define SetBCSTD3(p, o, f, i) \
|
|
(((p)->OperatingSys) = (o)); \
|
|
(((p)->vShortFlags) = (f)); \
|
|
(((p)->vInteractive) = (i));
|
|
|
|
#define SetBCSTD4(p, s, l) \
|
|
(((p)->DataSpeed) = (s)); \
|
|
(((p)->DataLink) = (l));
|
|
|
|
#define TextEncoding(p) (((LPBCTEXTID)(p))->TextEncoding)
|
|
|
|
#define fAnyWidth(p) ((p)->fAnyWidth)
|
|
#define vRamboVer(p) ((p)->vRamboVer)
|
|
#define vCoverAttach(p) ((p)->vCoverAttach)
|
|
#define vAddrAttach(p) ((p)->vAddrAttach)
|
|
#define vMetaFile(p) ((p)->vMetaFile)
|
|
#define HiResolution(p) ((p)->HiResolution)
|
|
#define HiEncoding(p) ((p)->HiEncoding)
|
|
#define CutSheetSizes(p) ((p)->CutSheetSizes)
|
|
#define fOddCutSheet(p) ((p)->fOddCutSheet)
|
|
|
|
|
|
#define SetBCIMAGE0(p, l, n, a, r) \
|
|
(((p)->GroupLength) = (l)); \
|
|
(((p)->GroupNum) = (n)); \
|
|
(((p)->fAnyWidth) = (a)); \
|
|
(((p)->vRamboVer) = (r));
|
|
|
|
#define SetBCIMAGE2(p, c, a, m) \
|
|
(((p)->vCoverAttach) = (c)); \
|
|
(((p)->vAddrAttach) = (a)); \
|
|
(((p)->vMetaFile) = (m));
|
|
|
|
#define SetBCIMAGE3(p, r, e) \
|
|
(((p)->HiResolution) = (r)); \
|
|
(((p)->HiEncoding) = (e)); \
|
|
|
|
#define SetBCIMAGE4(p, c) (((p)->CutSheetSizes) = (c));
|
|
|
|
#define SetBCIMAGE5(p, c) (((p)->fOddCutSheet) = (c));
|
|
|
|
|
|
#define fLowSpeedPoll(p) ((p)->fLowSpeedPoll)
|
|
#define fHighSpeedPoll(p) ((p)->fHighSpeedPoll)
|
|
#define fPollByNameAvail(p) ((p)->fPollByNameAvail)
|
|
#define fPollByRecipAvail(p) ((p)->fPollByRecipAvail)
|
|
#define fFilePolling(p) ((p)->fFilePolling)
|
|
#define fExtCapsAvail(p) ((p)->fExtCapsAvail)
|
|
#define fNoShortTurn(p) ((p)->fNoShortTurn)
|
|
#define vMsgRelay(p) ((p)->vMsgRelay)
|
|
#define ExtCapsCRC(p) ((p)->ExtCapsCRC)
|
|
|
|
|
|
#define SetExtCapsCRC(p, w) (((p)->ExtCapsCRC) = (w))
|
|
|
|
|
|
#define SetBCPOLLCAPS0(p, l, n, lp, hp, pn, pr, pf) \
|
|
(((p)->GroupLength) = (l)); \
|
|
(((p)->GroupNum) = (n)); \
|
|
(((p)->fLowSpeedPoll) = (lp)); \
|
|
(((p)->fHighSpeedPoll) = (hp)); \
|
|
(((p)->fPollByNameAvail) = (pn)); \
|
|
(((p)->fPollByRecipAvail)= (pr)); \
|
|
(((p)->fFilePolling) = (pf));
|
|
|
|
#define SetBCPOLLCAPS2(p, e, n, m) \
|
|
(((p)->fExtCapsAvail) = (e)); \
|
|
(((p)->fNoShortTurn) = (n)); \
|
|
(((p)->vMsgRelay) = (m));
|
|
|
|
|
|
#define NSSvMsgProtocol(p) ((p)->vMsgProtocol)
|
|
#define NSSvInteractive(p) ((p)->vInteractive)
|
|
|
|
#define SetBCNSS0(p, l, n, m, i) \
|
|
(((p)->GroupLength) = (l)); \
|
|
(((p)->GroupNum) = (n)); \
|
|
(((p)->vMsgProtocol) = (m)); \
|
|
(((p)->vInteractive) = (i)); \
|
|
|
|
|
|
#define fReturnControl(p) (((LPBCPOLLREQ)(p))->fReturnControl)
|
|
#define PollType(p) (((LPBCPOLLREQ)(p))->PollType)
|
|
#define NamePass(p) (((LPBCPOLLREQ)(p))->b)
|
|
|
|
#define SetBCPOLLREQ0(p, l, n, f, t) \
|
|
((((LPBCPOLLREQ)(p))->GroupLength) = (l)); \
|
|
((((LPBCPOLLREQ)(p))->GroupNum) = (n)); \
|
|
((((LPBCPOLLREQ)(p))->fReturnControl) = (f)); \
|
|
((((LPBCPOLLREQ)(p))->PollType) = (t)); \
|
|
|
|
|
|
#endif /** PORTABLE **/
|
|
|