Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

91 lines
1.9 KiB

/*
| CHDEFS.H
|
| Definitions common to chunker.c and ch*rtns.c
|
*/
#ifdef EDITOR
int MaxChunkData;
#define SO_CHUNK_LIMIT MaxChunkData
#else
#define SO_CHUNK_LIMIT SO_MAXCHUNKTEXT
#endif
#define CHUNKBUFPTR ChunkBufPtr
#define CHUNKTABLE ChunkTable
#define CHGetChunkSize(IDChunk) (CHUNKTABLE[IDChunk].Info.Text.Size)
#define CHSetChunkSize(IDChunk, wNewSize) (CHUNKTABLE[IDChunk].Info.Text.Size = wNewSize)
#define CHSetChunkFlag(IDChunk, wFlags) (CHUNKTABLE[ IDChunk ].Flags |= wFlags)
#define CHMemCopy UTmemcpy
#define CHMemMove UTmemmove
#ifdef WINDOWS
#define CHGlobalRealloc(h,s0,s1) UTGlobalReAlloc(h,s1)
#define CHLocalRealloc(h,s0,s1) UTLocalReAlloc(h,s1)
#endif
#ifdef OS2
#define CHGlobalRealloc(h,s0,s1) UTGlobalReAlloc(h,s1)
#define CHLocalRealloc(h,s0,s1) UTLocalReAlloc(h,s1)
#endif
#ifdef MAC
void * memset( void *dest, int c, size_t n);
HANDLE CHLocalRealloc( HANDLE hOld, WORD wOldSize, WORD wNewSize );
HANDLE CHGlobalRealloc( HANDLE hOld, WORD wOldSize, WORD wNewSize );
HANDLE CHLocalRealloc( hOld, wOldSize, wNewSize )
HANDLE hOld;
WORD wOldSize;
WORD wNewSize;
{
HANDLE hNew;
LPSTR pNew;
hNew = UTLocalReAlloc(hOld,wNewSize);
if( wOldSize < wNewSize && hNew != NULL )
{
pNew = UTLocalLock( hNew );
pNew += wOldSize;
memset( pNew, 0, wNewSize - wOldSize );
UTLocalUnlock( hNew );
}
return hNew;
}
HANDLE CHGlobalRealloc( hOld, wOldSize, wNewSize )
HANDLE hOld;
WORD wOldSize;
WORD wNewSize;
{
HANDLE hNew;
LPSTR pNew;
hNew = UTGlobalReAlloc(hOld,wNewSize);
if( wOldSize < wNewSize && hNew != NULL )
{
pNew = UTGlobalLock( hNew );
pNew += wOldSize;
memset( pNew, 0, wNewSize - wOldSize );
UTGlobalUnlock( hNew );
}
return hNew;
}
#endif
#ifdef NEVER
// This macro inserts a zero byte into the chunk to align a token
// on a word boundary. It currently is not neccessary.
#define AlignMacro if((DWORD)CHUNKBUFPTR&1L) SOPutSysChar(0,dwUser1,dwUser2)
#else
#define AlignMacro
#endif