nuauheap.c
3 KB
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
/*======================================================================*/
/* NuSystem */
/* nuaumgr.c */
/* */
/* Copyright (C) 1998, NINTENDO Co,Ltd. */
/* 98/12/21 Created by K.Ohki(SLANP) */
/*======================================================================*/
/* $Id: nuauheap.c,v 1.1.1.1 2002/10/30 02:07:09 blythe Exp $ */
/*======================================================================*/
#include <nusys.h>
#include <nualsgi.h>
ALHeap nuAuHeap; /* Heap構造体 */
/*----------------------------------------------------------------------*/
/* nuAuHeapInit - メモリの初期化 */
/* */
/* IN: *heap ヒープ構造体 */
/* *baffer ヒープバッファ位置 */
/* length ヒープサイズ */
/* RET: 確保したヒープのポインタ */
/*----------------------------------------------------------------------*/
void nuAuHeapInit(ALHeap* hp, u8* base, s32 len)
{
alHeapInit(hp, base, len);
}
/*----------------------------------------------------------------------*/
/* nuAuHeapAlloc - メモリの確保 */
/* */
/* オーディオヒープ領域の確保。 */
/* */
/* IN: length */
/* RET: 確保したヒープのポインタ */
/*----------------------------------------------------------------------*/
void* nuAuHeapAlloc(s32 length)
{
return alHeapAlloc(&nuAuHeap, 1, length);
}
/*----------------------------------------------------------------------*/
/* nuAuHeapGetFree - ヒープの残りサイズの取得 */
/* */
/* オーディオヒープ領域の残り領域のサイズを取得します。 */
/* */
/* IN: 無し */
/* RET: ヒープ残りサイズ */
/*----------------------------------------------------------------------*/
s32 nuAuHeapGetFree(void)
{
return (nuAuHeap.len - nuAuHeapGetUsed());
}
/*----------------------------------------------------------------------*/
/* nuAuHeapGetUsed - ヒープの使用サイズの取得 */
/* */
/* オーディオヒープ領域の使用サイズを取得します。 */
/* */
/* IN: length */
/* RET: 使用したヒープのサイズ */
/*----------------------------------------------------------------------*/
s32 nuAuHeapGetUsed(void)
{
return ((s32)nuAuHeap.cur - (s32)nuAuHeap.base);
}