Files
ss/include/rvl/DVD/dvd_broadway.h
T
Elijah Thomas 26af4db82d update from dtk-template - clangd :) (#66)
* update from dtk-template and start work towards using clangd

* include <a> -> "a"

* Update build.yml

* remove/add non-trivial class in union warning
2024-10-16 15:36:02 -04:00

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