diff --git a/README.md b/README.md index 20a57e2..606fd47 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,12 @@ Read the logs via the [udp_debug_reader](https://github.com/dimok789/loadiine_gx ## Usage (TODO) +Link the application with + +``` +-lutils -ldynamiclibs +``` + Check out the header for more information. ## Compiling diff --git a/source/fs/disc_io.h b/source/fs/disc_io.h new file mode 100644 index 0000000..f44618b --- /dev/null +++ b/source/fs/disc_io.h @@ -0,0 +1,68 @@ +/* + disc_io.h + Interface template for low level disc functions. + + Copyright (c) 2006 Michael "Chishm" Chisholm + Based on code originally written by MightyMax + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef OGC_DISC_IO_INCLUDE +#define OGC_DISC_IO_INCLUDE + +#include +#include + + +#define FEATURE_MEDIUM_CANREAD 0x00000001 +#define FEATURE_MEDIUM_CANWRITE 0x00000002 +#define FEATURE_GAMECUBE_SLOTA 0x00000010 +#define FEATURE_GAMECUBE_SLOTB 0x00000020 +#define FEATURE_GAMECUBE_DVD 0x00000040 +#define FEATURE_WII_SD 0x00000100 +#define FEATURE_WII_USB 0x00000200 +#define FEATURE_WII_DVD 0x00000400 + +typedef uint32_t sec_t; + +typedef bool (* FN_MEDIUM_STARTUP)(void) ; +typedef bool (* FN_MEDIUM_ISINSERTED)(void) ; +typedef bool (* FN_MEDIUM_READSECTORS)(sec_t sector, sec_t numSectors, void* buffer) ; +typedef bool (* FN_MEDIUM_WRITESECTORS)(sec_t sector, sec_t numSectors, const void* buffer) ; +typedef bool (* FN_MEDIUM_CLEARSTATUS)(void) ; +typedef bool (* FN_MEDIUM_SHUTDOWN)(void) ; + +struct DISC_INTERFACE_STRUCT { + unsigned long ioType ; + unsigned long features ; + FN_MEDIUM_STARTUP startup ; + FN_MEDIUM_ISINSERTED isInserted ; + FN_MEDIUM_READSECTORS readSectors ; + FN_MEDIUM_WRITESECTORS writeSectors ; + FN_MEDIUM_CLEARSTATUS clearStatus ; + FN_MEDIUM_SHUTDOWN shutdown ; +} ; + +typedef struct DISC_INTERFACE_STRUCT DISC_INTERFACE ; + +#endif // define OGC_DISC_IO_INCLUDE diff --git a/source/fs/sd_fat_devoptab.cpp b/source/fs/sd_fat_devoptab.cpp index c3b1d93..ca8a445 100644 --- a/source/fs/sd_fat_devoptab.cpp +++ b/source/fs/sd_fat_devoptab.cpp @@ -22,7 +22,6 @@ * distribution. ***************************************************************************/ #include -#include #include #include #include @@ -31,6 +30,8 @@ #include #include #include + +#include "disc_io.h" #include "FSOSUtils.h" #include "sd_fat_devoptab.h" #include "utils/StringTools.h"