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
67
68
|
/*
* 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
|