/usr/include/falcon/heap_win.h is in falconpl-dev 0.9.6.9-git20120606-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | /*
FALCON - The Falcon Programming Language.
FILE: flc_heap_win.h
Windows specific class for Dynamic load system
-------------------------------------------------------------------
Author: Giancarlo Niccolai
Begin: 2004-11-1 02:34+0200UTC
-------------------------------------------------------------------
(C) Copyright 2004: the FALCON developers (see list in AUTHORS file)
See LICENSE file for licensing details.
*/
#ifndef flc_HEAP_WIN_H
#define flc_HEAP_WIN_H
#include <falcon/fassert.h>
/** Page size.
\todo add a configure system to put the page size in the config.h
*/
#define PAGE_SIZE 4096
#include <windows.h>
namespace Falcon
{
class HeapMem_Win32
{
static long m_pageSize;
static HANDLE m_heapHandle;
public:
/*
static void init() {
}
static void uninit() {}
*/
static void *getPage() { return getPages(1); }
static void *getPages( int pages )
{
if ( m_heapHandle == 0 )
m_heapHandle = GetProcessHeap();
void *ret = HeapAlloc( m_heapHandle, HEAP_NO_SERIALIZE, pages * PAGE_SIZE );
fassert( ret != 0 );
return ret;
}
static void freePage( void *memory ) { free( memory, 1 ); } // free one page
static void free( void *memory, int pages )
{
fassert( m_heapHandle != 0 );
HeapFree( m_heapHandle, HEAP_NO_SERIALIZE, memory );
}
//static long pageSize() { return m_pageSize; }
static long pageSize() { return PAGE_SIZE; }
};
typedef HeapMem_Win32 HeapMem;
}
#endif
/* end of flc_heap_win.h */
|