pokediamond/include/nitro/PXI_fifo_shared.h

69 lines
1.9 KiB
C

/*
* NOTE:
* This file is shared between ARM9 and ARM7
* DO NOT PUT PROC SPECIFIC CODE IN HERE
* Thank You!
*/
/*
* DO NOT INCLUDE THIS FILE DIRECTLY
* Include PXI_fifo.h from the specific proc's lib
*/
#ifndef POKEDIAMOND_PXI_FIFO_SHARED_H
#define POKEDIAMOND_PXI_FIFO_SHARED_H
#include "nitro/types.h"
typedef enum
{
PXI_PROC_ARM9 = 0,
PXI_PROC_ARM7 = 1
} PXIProc;
typedef enum {
PXI_FIFO_TAG_EX = 0, // Extension format
PXI_FIFO_TAG_USER_0, // for application programmer, use it in free
PXI_FIFO_TAG_USER_1, // for application programmer, use it in free
PXI_FIFO_TAG_SYSTEM, // SDK inner usage
PXI_FIFO_TAG_NVRAM, // NVRAM
PXI_FIFO_TAG_RTC, // RTC
PXI_FIFO_TAG_TOUCHPANEL, // Touch Panel
PXI_FIFO_TAG_SOUND, // Sound
PXI_FIFO_TAG_PM, // Power Management
PXI_FIFO_TAG_MIC, // Microphone
PXI_FIFO_TAG_WM, // Wireless Manager
PXI_FIFO_TAG_FS, // File System
PXI_FIFO_TAG_OS, // OS
PXI_FIFO_TAG_CTRDG, // Cartridge
PXI_FIFO_TAG_CARD, // Card
PXI_FIFO_TAG_WVR, // Control driving wireless library
PXI_FIFO_TAG_CTRDG_Ex, // Cartridge Ex
PXI_MAX_FIFO_TAG = 32 // MAX FIFO TAG
} PXIFifoTag;
typedef enum
{
PXI_FIFO_SUCCESS = 0,
PXI_FIFO_FAIL_SEND_ERR = -1,
PXI_FIFO_FAIL_SEND_FULL = -2,
PXI_FIFO_FAIL_RECV_ERR = -3,
PXI_FIFO_FAIL_RECV_EMPTY = -4,
PXI_FIFO_NO_CALLBACK_ENTRY = -5
} PXIFifoStatus;
typedef union
{
struct
{
u32 tag:5;
u32 err:1;
u32 data:26;
} e;
u32 raw;
} PXIFifoMessage;
typedef void (*PXIFifoCallback) (PXIFifoTag tag, u32 data, BOOL err);
#endif //POKEDIAMOND_PXI_FIFO_SHARED_H