#ifndef DEBUG #include #endif ERR ErrSysOpenFile( CHAR *szFileName, HANDLE *phf, ULONG ulFileSize, BOOL fReadOnly, BOOL fOverlapped ); ERR ErrSysOpenReadFile( CHAR *szFileName, HANDLE *phf ); ERR ErrSysCloseHandle( HANDLE hf ); #define ErrSysCloseFile( hf ) ErrSysCloseHandle( hf ) #ifdef ANGEL ERR ErrSysDeleteFile( CHAR *szFileName ); #else ERR ErrSysDeleteFile( const CHAR *szFileName ); #endif ERR ErrSysNewSize( HANDLE hf, ULONG ulFileSize, ULONG ulFileSizeHigh, BOOL fOverlapped ); ERR ErrSysMove( CHAR *szFrom, CHAR *szTo ); ERR ErrSysCopy( CHAR *szFrom, CHAR *szTo, BOOL fFailIfExists ); ERR ErrSysReadBlock( HANDLE hf, VOID *pvBuf, UINT cbBuf, UINT *pcbRead ); ERR ErrSysWriteBlock( HANDLE hf, VOID *pvBuf, UINT cbBuf, UINT *pcbWritten ); VOID SysTerm( VOID ); VOID SysDebugBreak( VOID ); /* text normalization /**/ ERR ErrSysCheckLangid( LANGID langid ); VOID SysNormText( CHAR *rgchText, INT cchText, BYTE *rgchNorm, INT cbNorm, INT *pbNorm ); INT SysCmpText( const CHAR *sz1, const CHAR *sz2 ); ERR ErrSysNormText( const BYTE *pbField, INT cbField, INT cbKeyBufLeft, BYTE *pbSeg, INT *pcbSeg ); VOID SysStringCompare( char __far *pb1, unsigned long cb1, char __far *pb2, unsigned long cb2, unsigned long sort, long __far *plResult ); typedef struct _olp { ULONG ulInternal; ULONG ulInternalHigh; ULONG ulOffset; ULONG ulOffsetHigh; SIG sigIO; } OLP; ERR ErrSysReadBlockOverlapped( HANDLE hf, VOID *pvBuf, UINT cbBuf, DWORD *pcbRead, OLP *polp ); ERR ErrSysWriteBlockOverlapped( HANDLE hf, VOID *pvBuf, UINT cbBuf, DWORD *pcbWrite, OLP *polp ); ERR ErrSysGetOverlappedResult( HANDLE hf, OLP *polp, UINT *pcb, BOOL fWait ); ERR ErrSysWriteBlockEx( HANDLE hf, VOID *pvBuf, UINT cbBuf, OLP *polp, VOID *pfnCompletion); ERR ErrSysReadBlockEx( HANDLE hf, VOID *pvBuf, UINT cbBuf, OLP *polp, VOID *pfnCompletion); VOID SysChgFilePtr( HANDLE hf, LONG lRel, LONG *plRelHigh, ULONG ulRef, ULONG *pul ); VOID SysGetDateTime( JET_DATESERIAL *pdt ); VOID SysSleep( ULONG ulTime ); VOID SysSleepEx( ULONG ulTime, BOOL fAlert ); ERR ErrSysCreateThread( ULONG (*pulfn)(), ULONG cbStack, LONG lThreadPriority, HANDLE *phandle ); VOID SysExitThread( ULONG ulExitCode ); BOOL FSysExitThread( HANDLE handle ); ULONG UlSysThreadId( VOID ); ERR ErrSysGetComputerName( CHAR *sz, INT *pcb); /* Unicode Support /**/ ERR ErrSysMapString(LANGID langid, BYTE *pbField, INT cbField, BYTE *rgbSeg, int cbBufLeft, int *cbSeg); VOID SysCheckWriteBuffer( BYTE *pvBuf, INT cbBuf ); /* Memory allocation /**/ #define cbMemoryPage 4096 VOID *PvSysAlloc( ULONG dwSize ); VOID *PvSysCommit( VOID *pv, ULONG dwSize ); VOID *PvSysAllocAndCommit( ULONG dwSize ); VOID SysFree( VOID *pv );