Files
LagoLunatic 7ac14b85a1 GXFifo OK
2025-05-16 14:34:46 -04:00

38 lines
1.1 KiB
C

#ifndef F_PC_PRIORITY_H_
#define F_PC_PRIORITY_H_
#include "f_pc/f_pc_method_tag.h"
enum {
fpcPi_CURRENT_e = 0xFFFD,
fpcPi_SPECIAL_e = 0xFFFE,
};
typedef struct process_priority_queue_info {
u32 mLayer;
u16 mListID;
u16 mListPrio;
} process_priority_queue_info;
typedef struct process_priority_class {
/* 0x00 */ create_tag_class base;
/* 0x14 */ process_method_tag_class mMtdTag;
/* 0x30 */ process_priority_queue_info mInfoQ;
/* 0x38 */ process_priority_queue_info mInfoCurr;
} process_priority_class;
BOOL fpcPi_IsInQueue(process_priority_class* pPi);
s32 fpcPi_QueueTo(process_priority_class* pPi);
s32 fpcPi_ToQueue(process_priority_class* pPi);
process_priority_class* fpcPi_GetFromQueue(void);
BOOL fpcPi_Delete(process_priority_class* pPi);
s32 fpcPi_IsNormal(uint i_layer, u16 i_listID, u16 i_priority);
s32 fpcPi_Change(process_priority_class* i_procPriority, uint i_layer, u16 i_listID,
u16 i_priority);
s32 fpcPi_Handler(void);
s32 fpcPi_Init(process_priority_class* i_procPriority, void* pUserData, uint i_layer, u16 i_listID,
u16 i_priority);
#endif