mirror of
https://github.com/zeldaret/ss
synced 2026-06-17 23:20:59 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
65 lines
2.2 KiB
C
65 lines
2.2 KiB
C
#ifndef RVL_SDK_DVD_BROADWAY_H
|
|
#define RVL_SDK_DVD_BROADWAY_H
|
|
#include "common.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define DVD_LOW_OFFSET(x) ((x) >> 2)
|
|
#define DVD_LOW_SPEED(x) (((x) & 3) << 16)
|
|
|
|
// Forward declarations
|
|
typedef struct DVDDiskID;
|
|
typedef struct DVDDriveInfo;
|
|
typedef struct ESPTicket;
|
|
typedef struct ESPTmd;
|
|
typedef struct OSAlarm;
|
|
|
|
typedef enum {
|
|
DVD_INTTYPE_TC = (1 << 0), // Transaction callback?
|
|
DVD_INTTYPE_DE = (1 << 1), // Drive error
|
|
DVD_INTTYPE_CVR = (1 << 2), // Something with DVD cover
|
|
DVD_INTTYPE_BR = (1 << 3), // Break requested
|
|
DVD_INTTYPE_TIME = (1 << 4), // Time out
|
|
DVD_INTTYPE_SERR = (1 << 5), // Security error
|
|
DVD_INTTYPE_VERR = (1 << 6), // Verify error
|
|
DVD_INTTYPE_ARGS = (1 << 7), // Bad arguments
|
|
} DVDLowIntType;
|
|
|
|
// DICVR - DI Cover Register (via DVDLowGetCoverRegister)
|
|
#define DVD_DICVR_CVR (1 << 0)
|
|
#define DVD_DICVR_CVRINTMASK (1 << 1)
|
|
#define DVD_DICVR_CVRINT (1 << 2)
|
|
|
|
typedef void (*DVDLowCallback)(u32 intType);
|
|
|
|
BOOL DVDLowInit(void);
|
|
BOOL DVDLowReadDiskID(struct DVDDiskID *out, DVDLowCallback callback);
|
|
BOOL DVDLowOpenPartition(
|
|
u32 offset, const struct ESPTicket *ticket, u32 certsSize, const void *certs, struct ESPTmd *tmd,
|
|
DVDLowCallback callback
|
|
);
|
|
BOOL DVDLowClosePartition(DVDLowCallback callback);
|
|
BOOL DVDLowUnencryptedRead(void *dst, u32 size, u32 offset, DVDLowCallback callback);
|
|
BOOL DVDLowStopMotor(BOOL eject, BOOL kill, DVDLowCallback callback);
|
|
BOOL DVDLowInquiry(struct DVDDriveInfo *out, DVDLowCallback callback);
|
|
BOOL DVDLowRequestError(DVDLowCallback callback);
|
|
BOOL DVDLowSetSpinupFlag(BOOL enable);
|
|
BOOL DVDLowReset(DVDLowCallback callback);
|
|
BOOL DVDLowAudioBufferConfig(BOOL enable, u32 size, DVDLowCallback callback);
|
|
BOOL DVDLowSetMaximumRotation(u32 speed, DVDLowCallback callback);
|
|
BOOL DVDLowRead(void *dst, u32 size, u32 offset, DVDLowCallback callback);
|
|
BOOL DVDLowSeek(u32 offset, DVDLowCallback callback);
|
|
u32 DVDLowGetCoverRegister(void);
|
|
BOOL DVDLowPrepareCoverRegister(DVDLowCallback callback);
|
|
u32 DVDLowGetImmBufferReg(void);
|
|
BOOL DVDLowUnmaskStatusInterrupts(void);
|
|
BOOL DVDLowMaskCoverInterrupt(void);
|
|
BOOL DVDLowClearCoverInterrupt(DVDLowCallback callback);
|
|
BOOL __DVDLowTestAlarm(const struct OSAlarm *alarm);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|