windows-nt/Source/XPSP1/NT/enduser/stuff/itircl/inc/fileoff.h

71 lines
2.8 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*****************************************************************************
* *
* FILEOFF.H *
* *
* Copyright (C) Microsoft Corporation 1995. *
* All Rights reserved. *
* *
******************************************************************************
* *
* Module Intent *
* *
* File Offset data type to replace using LONG for file offsets to handle *
* files larger than 4 gigs in size. *
* *
******************************************************************************
* *
* Current Owner: davej *
*****************************************************************************/
/*****************************************************************************
*
* Created 07/28/95 - davej
*
*****************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __FILEOFF_H__
#define __FILEOFF_H__
#pragma pack(1)
typedef struct _fileoffset_t
{
DWORD dwOffset;
DWORD dwHigh;
} FILEOFFSET;
#pragma pack()
#endif // __FILEOFF_H__
// Advance byte pointer past address (pointer must be at start of address)
#define ADVANCE_FO(sz) {while ((*(sz))&0x80) (sz)++; (sz)++;}
extern FILEOFFSET foNil;
extern FILEOFFSET foMax;
extern FILEOFFSET foMin;
extern FILEOFFSET foInvalid;
FILEOFFSET PASCAL FAR EXPORT_API MakeFo(DWORD, DWORD);
FILEOFFSET PASCAL FAR EXPORT_API FoFromSz(LPBYTE);
WORD PASCAL FAR EXPORT_API FoToSz(FILEOFFSET, LPBYTE);
WORD PASCAL FAR EXPORT_API LenSzFo(LPBYTE);
FILEOFFSET FAR EXPORT_API FoAddFo(FILEOFFSET, FILEOFFSET);
FILEOFFSET FAR EXPORT_API FoSubFo(FILEOFFSET, FILEOFFSET);
FILEOFFSET FAR EXPORT_API FoAddDw(FILEOFFSET, DWORD);
DWORD FAR EXPORT_API DwSubFo(FILEOFFSET, FILEOFFSET);
BOOL PASCAL FAR EXPORT_API FoIsNil(FILEOFFSET);
BOOL PASCAL FAR EXPORT_API FoEquals(FILEOFFSET, FILEOFFSET);
FILEOFFSET FAR EXPORT_API FoMultFo(FILEOFFSET fo1, FILEOFFSET fo2);
FILEOFFSET PASCAL FAR EXPORT_API FoMultDw(DWORD dw1, DWORD dw2);
short int PASCAL FAR EXPORT_API FoCompare(FILEOFFSET, FILEOFFSET);
#ifdef __cplusplus
}
#endif