source: git/omalloc/omAllocSystem.h @ 80c102

spielwiese
Last change on this file since 80c102 was 341696, checked in by Hans Schönemann <hannes@…>, 15 years ago
Adding Id property to all files git-svn-id: file:///usr/local/Singular/svn/trunk@12231 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.5 KB
Line 
1/*******************************************************************
2 *  File:    omAllocSystem.h
3 *  Purpose: declaration of routines for low-level alloc routines
4 *           and page management
5 *  Author:  obachman (Olaf Bachmann)
6 *  Created: 11/99
7 *  Version: $Id$
8 *******************************************************************/
9#ifndef OM_ALLOC_SYSTEM_H
10#define OM_ALLOC_SYSTEM_H
11
12size_t omSizeOfAddr(const void* addr);
13size_t omSizeWOfAddr(void* addr);
14
15size_t omSizeOfLargeAddr(void* addr);
16#define omSizeWOfLargeAddr(addr) (omSizeOfLargeAddr(addr) >> LOG_SIZEOF_LONG)
17
18void* omAllocFromSystem(size_t size);
19void* omReallocFromSystem(void* addr, size_t newsize);
20void  omFreeToSystem(void* addr);
21
22void* omReallocSizeFromSystem(void* addr, size_t oldsize, size_t newsize);
23void  omFreeSizeToSystem(void* addr, size_t size);
24
25#define omVallocFromSystem(size) _omVallocFromSystem(size, 0)
26void* _omVallocFromSystem(size_t size, int fail);
27void omVfreeToSystem(void* page, size_t size);
28
29
30#ifdef OM_MALLOC_PROVIDES_SIZEOF_ADDR
31#define omAllocLarge(size)             omAllocFromSystem(OM_ALIGN_SIZE(size))
32#define omReallocLarge(addr, new_size) omReallocSizeFromSystem(addr, omSizeOfLargeAddr(addr), OM_ALIGN_SIZE(new_size))
33#define omFreeLarge(addr)              omFreeSizeToSystem(addr, omSizeOfLargeAddr(addr))
34#else
35void* omAllocLarge(size_t size);
36void* omReallocLarge(void* old_addr, size_t new_size);
37void  omFreeLarge(void* addr);
38#endif
39void* omRealloc0Large(void* old_addr, size_t new_size);
40void* omAlloc0Large(size_t size);
41
42#endif /* OM_ALLOC_SYSTEM_H */
Note: See TracBrowser for help on using the repository browser.