Source code of Windows XP (NT5)
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.
|
|
/************************************************************/ /* Windows Write, Copyright 1985-1992 Microsoft Corporation */ /************************************************************/
#include "machdefs.h"
#define cfcPage ((typeFC)cbSector)
#define ibpNil 255
#define lruMax ((unsigned) 65535)
#define fnMax 5
#define fnInsert (fnNil - 1)
#define fnScratch 0
#define osfnNil (-1)
#define rfnNil rfnMax /* Stored in 7 bits */
#define rfnFree (rfnMax + 1)
#define wMW ('M' + ('W' << 8))
#define wSY ('S' + ('Y' << 8))
#define wHP ('H' + ('P' << 8))
#define cwSector (cbSector / sizeof (int))
#define cbpMustKeep 6 /* assume no bp will be dislodged for this
many calls to IbpEnsureValid */ #define cbOpenFileBuf 128
#ifdef SAND
#define wMagic 0177062
#define wMagicOld 0137061
#else /* not SAND */
#define wMagic 0137061
#endif /* not SAND */
#define wMagicTool ((0253 << 8) + 0)
#define fcMax ((typeFC) 2147483647)
#define fpeNoSuch (-5)
#define fpeDiskFull (-7)
struct BPS { typePN pn; int fn; typeTS ts; /* time stamp - used in LRU algorithm */ unsigned fDirty : 1; unsigned cch : 15; CHAR ibpHashNext; /* link for external chained hashing
collision resolution */ };
struct FCB { typeFC fcMac; /* includes FIB, but not FKP's */ unsigned char fFormatted : 1; unsigned char fDelete : 1; unsigned char fReferenced : 1; unsigned char dty : 4; unsigned char fOpened: 1; /* Whether file has been opened before */ unsigned char rfn : 7; unsigned char fSearchPath: 1; /* Search path when first opened */ int mdExt; int mdFile; typePN pnChar; typePN pnPara; typePN pnFntb; typePN pnSep; typePN pnSetb; typePN pnBftb; typePN pnFfntb; /* font family name table offset */ typePN pnMac; /* # of pages actually in existence */ typeFC (**hgfcChp)[]; typeFC (**hgfcPap)[]; CHAR (**hszFile)[]; CHAR (**hszSsht)[]; CHAR rgbOpenFileBuf[ cbOpenFileBuf ]; /* OpenFile's work space */
#ifdef SAND
int version; /* version byte */ int vref; /* volume reference number */ #endif /* SAND */
unsigned int fDisableRead: 1; /* disable reading of file */ };
#define cbFCB (sizeof (struct FCB))
#define cwFCB (sizeof (struct FCB) / sizeof (int))
struct ERFN { /* Real file (opened in os) */ int osfn; int fn; typeTS ts; /* time stamp - used in LRU algorithm */ };
#define cchToolHeader 14
struct FIB { int wIdent; /* Word-specific magic number */ int dty; int wTool; int cReceipts; /* Number of external receipts allowed */ int cbReceipt; /* Length of each receipt */ int bReceipts; /* One word offset from beginning of file
to beginning of receipts */ int isgMac; /* Number of code segments included */ /* End of Multi-Tool standard header */ typeFC fcMac; typePN pnPara; typePN pnFntb; typePN pnSep; typePN pnSetb; typePN pnBftb; /* Also pnPgtb */ typePN pnFfntb; /* font family name table */ CHAR szSsht[66]; /* Style sheet name */ typePN pnMac; CHAR rgbJunk[cbSector - (cchToolHeader + sizeof (typeFC) + 7 * sizeof (typePN) + 66)]; };
#define cchFIB (sizeof (struct FIB))
#define CONVFROMWORD (TRUE + 2) /* used by FWriteFn to convert Word file
characters to Write ANSI set */
|