PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
thfpool.h
Go to the documentation of this file.
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright 2001-2004, ps2dev - http://www.ps2dev.org
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
16#ifndef __THFPOOL_H__
17#define __THFPOOL_H__
18
19#include <types.h>
20#include <irx.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26// Fixed-length pool attributes
27#define FA_THFIFO 0x000
28#define FA_THPRI 0x001
29#define FA_MEMBTM 0x200
30
31/*
32 * Fixed length memory pool
33 */
34
35typedef struct _iop_fpl_param
36{
37 unsigned int attr;
38 unsigned int option;
39 int block_size;
40 int blocks;
42
43typedef struct _iop_fpl_info
44{
45 unsigned int attr;
46 unsigned int option;
47 int blockSize;
48 int numBlocks;
49 int freeBlocks;
50 int numWaitThreads;
51 int reserved[4];
53
54extern int CreateFpl(iop_fpl_param *param);
55extern int DeleteFpl(int fplId);
56extern void *AllocateFpl(int fplId);
57extern void *pAllocateFpl(int fplId);
58extern void *ipAllocateFpl(int fplId);
59extern int FreeFpl(int fplId, void *memory);
60extern int ReferFplStatus(int fplId, iop_fpl_info_t *info);
61extern int iReferFplStatus(int fplId, iop_fpl_info_t *info);
62
63#define thfpool_IMPORTS_start DECLARE_IMPORT_TABLE(thfpool, 1, 1)
64#define thfpool_IMPORTS_end END_IMPORT_TABLE
65
66#define I_CreateFpl DECLARE_IMPORT(4, CreateFpl)
67#define I_DeleteFpl DECLARE_IMPORT(5, DeleteFpl)
68#define I_AllocateFpl DECLARE_IMPORT(6, AllocateFpl)
69#define I_pAllocateFpl DECLARE_IMPORT(7, pAllocateFpl)
70#define I_ipAllocateFpl DECLARE_IMPORT(8, ipAllocateFpl)
71#define I_FreeFpl DECLARE_IMPORT(9, FreeFpl)
72#define I_ReferFplStatus DECLARE_IMPORT(11, ReferFplStatus)
73#define I_iReferFplStatus DECLARE_IMPORT(12, iReferFplStatus)
74
75#ifdef __cplusplus
76}
77#endif
78
79#endif /* __THFPOOL_H__ */