71 lines
2.8 KiB
C
71 lines
2.8 KiB
C
/*****************************************************************************
|
|
* *
|
|
* 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
|
|
|