aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/include/psxsn.h
diff options
context:
space:
mode:
authorspicyjpeg <thatspicyjpeg@gmail.com>2024-01-08 18:33:11 +0100
committerspicyjpeg <thatspicyjpeg@gmail.com>2024-01-08 18:33:11 +0100
commitdd85f9f993427ae69ab905486f8ef372d3960664 (patch)
tree605e6aec308795ee466fa12b090067c6517ea2d7 /libpsn00b/include/psxsn.h
parent06e65bea3a778b2dae5af77a7935ae3868ddd4d3 (diff)
downloadpsn00bsdk-dd85f9f993427ae69ab905486f8ef372d3960664.tar.gz
Fix bugs in libc, psxgpu, psxpress, clean up headers
Diffstat (limited to 'libpsn00b/include/psxsn.h')
-rw-r--r--libpsn00b/include/psxsn.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/libpsn00b/include/psxsn.h b/libpsn00b/include/psxsn.h
index 1acbc18..f14db12 100644
--- a/libpsn00b/include/psxsn.h
+++ b/libpsn00b/include/psxsn.h
@@ -11,24 +11,29 @@
* write access to a directory on the host's filesystem when the executable is
* running on an emulator or through a debugger that supports the PCDRV
* protocol, such as Unirom or pcsx-redux. These functions are completely
- * separate and independent from the BIOS file API and do not register any
- * device drivers.
+ * separate and independent from the file APIs provided by the BIOS and do not
+ * register any device drivers.
*
* Note that in the official SDK these functions are provided by libsn, while
* in PSn00bSDK they are part of libpsxapi.
+ *
+ * IMPORTANT: as these function rely on break instructions internally, calling
+ * them on real hardware without a PCDRV handler installed or on an emulator
+ * that does not support the API will result in an uncaught break exception,
+ * which will cause the BIOS to get stuck in an infinite loop.
*/
#pragma once
#include <stddef.h>
-typedef enum _PCDRV_OpenMode {
+typedef enum {
PCDRV_MODE_READ = 0,
PCDRV_MODE_WRITE = 1,
PCDRV_MODE_READ_WRITE = 2
} PCDRV_OpenMode;
-typedef enum _PCDRV_SeekMode {
+typedef enum {
PCDRV_SEEK_SET = 0,
PCDRV_SEEK_CUR = 1,
PCDRV_SEEK_END = 2