mirror of
https://github.com/rvtr/TwlIPL_commit-99.git
synced 2025-10-31 06:21:11 -04:00
95 lines
3.0 KiB
C
Executable File
95 lines
3.0 KiB
C
Executable File
/*---------------------------------------------------------------------------*
|
|
Project: NITRO-System - include - nnsys - fnd
|
|
File: allocator.h
|
|
|
|
Copyright 2004-2008 Nintendo. All rights reserved.
|
|
|
|
These coded instructions, statements, and computer programs contain
|
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
|
Company Ltd., and are protected by Federal copyright law. They may
|
|
not be disclosed to third parties or copied or duplicated in any form,
|
|
in whole or in part, without the prior written consent of Nintendo.
|
|
|
|
$Revision: 172 $
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
#ifndef NNS_FND_ALLOCATOR_H_
|
|
#define NNS_FND_ALLOCATOR_H_
|
|
|
|
#include <nnsys/fnd/heapcommon.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/* ========================================================================
|
|
型定義
|
|
======================================================================== */
|
|
|
|
typedef struct NNSFndAllocator NNSFndAllocator;
|
|
|
|
typedef void* (*NNSFndFuncAllocatorAlloc)(
|
|
NNSFndAllocator* pAllocator,
|
|
u32 size);
|
|
|
|
typedef void (*NNSFndFuncAllocatorFree)(
|
|
NNSFndAllocator* pAllocator,
|
|
void* memBlock);
|
|
|
|
typedef struct NNSFndAllocatorFunc NNSFndAllocatorFunc;
|
|
|
|
struct NNSFndAllocatorFunc
|
|
{
|
|
NNSFndFuncAllocatorAlloc pfAlloc;
|
|
NNSFndFuncAllocatorFree pfFree;
|
|
};
|
|
|
|
struct NNSFndAllocator
|
|
{
|
|
NNSFndAllocatorFunc const * pFunc;
|
|
void* pHeap;
|
|
u32 heapParam1;
|
|
u32 heapParam2;
|
|
};
|
|
|
|
|
|
/* ========================================================================
|
|
関数プロトタイプ
|
|
======================================================================== */
|
|
|
|
void* NNS_FndAllocFromAllocator(
|
|
NNSFndAllocator* pAllocator,
|
|
u32 size);
|
|
|
|
void NNS_FndFreeToAllocator(
|
|
NNSFndAllocator* pAllocator,
|
|
void* memBlock);
|
|
|
|
void NNS_FndInitAllocatorForExpHeap(
|
|
NNSFndAllocator* pAllocator,
|
|
NNSFndHeapHandle heap,
|
|
int alignment);
|
|
|
|
void NNS_FndInitAllocatorForFrmHeap(
|
|
NNSFndAllocator* pAllocator,
|
|
NNSFndHeapHandle heap,
|
|
int alignment);
|
|
|
|
void NNS_FndInitAllocatorForUnitHeap(
|
|
NNSFndAllocator* pAllocator,
|
|
NNSFndHeapHandle heap);
|
|
|
|
void NNS_FndInitAllocatorForSDKHeap(
|
|
NNSFndAllocator* pAllocator,
|
|
OSArenaId id,
|
|
OSHeapHandle heap);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
/* NNS_FND_ALLOCATOR_H_ */
|
|
#endif
|