summaryrefslogtreecommitdiff
path: root/include/rvl/DVD/dvderror.h
blob: 30e048e3c22c2fc0c193aab549be61dd3ee1a9de (plain)
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
#ifndef RVL_SDK_DVD_ERROR_H
#define RVL_SDK_DVD_ERROR_H
#include "common.h"
#ifdef __cplusplus
extern "C" {
#endif

typedef void (*DVDErrorCallback)(s32 result, s32 arg1);

#define DVD_ERROR_CMD_MAX 5

typedef struct DVDErrorInfo {
    char game[4]; // at 0x0
    u8 disk;      // at 0x4
    u8 version;   // at 0x5
    u32 error;    // at 0x8
    s32 sec;      // at 0xC
    u32 disr;     // at 0x10
    u32 dicr;     // at 0x14
    u32 next;     // at 0x18

    struct {
        u32 command; // at 0x1C
        u32 param1;  // at 0x20
        u32 param2;  // at 0x24
        u32 intType; // at 0x28
        u32 tick;    // at 0x2C
    } info[DVD_ERROR_CMD_MAX];
} DVDErrorInfo;

extern DVDErrorInfo __ErrorInfo;

void __DVDStoreErrorCode(u32 error, DVDErrorCallback callback);

#ifdef __cplusplus
}
#endif
#endif