mirror of https://github.com/zeldaret/tp.git
38 lines
1.1 KiB
C
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,
|
|
fpcPi_NONE_e = 0xFFFF,
|
|
};
|
|
|
|
typedef struct priority_id {
|
|
/* 0x0 */ unsigned int layer_id;
|
|
/* 0x4 */ u16 list_id;
|
|
/* 0x6 */ u16 list_priority;
|
|
} priority_id;
|
|
|
|
typedef struct process_priority_class {
|
|
/* 0x00 */ create_tag_class base;
|
|
/* 0x14 */ process_method_tag_class method_tag;
|
|
/* 0x30 */ priority_id queue_info;
|
|
/* 0x38 */ priority_id current_info;
|
|
} process_priority_class;
|
|
|
|
s32 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);
|
|
s32 fpcPi_Delete(process_priority_class* pPi);
|
|
s32 fpcPi_IsNormal(unsigned int layer, u16 listID, u16 priority);
|
|
s32 fpcPi_Change(process_priority_class* pPi, unsigned int layer, u16 listID, u16 priority);
|
|
s32 fpcPi_Handler(void);
|
|
s32 fpcPi_Init(process_priority_class* pPi, void* pUserData, unsigned int layer, u16 listID,
|
|
u16 priority);
|
|
|
|
#endif
|