diff options
Diffstat (limited to 'lib/ultralib/src/io/pfsinit.c')
| -rw-r--r-- | lib/ultralib/src/io/pfsinit.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/ultralib/src/io/pfsinit.c b/lib/ultralib/src/io/pfsinit.c new file mode 100644 index 0000000..e290cda --- /dev/null +++ b/lib/ultralib/src/io/pfsinit.c @@ -0,0 +1,25 @@ +#include "PR/os_internal.h" +#include "controller.h" +#include "siint.h" + +s32 osPfsInit(OSMesgQueue *queue, OSPfs *pfs, int channel) { + s32 ret = 0; + + __osSiGetAccess(); + ret = __osPfsGetStatus(queue, channel); + __osSiRelAccess(); + + if (ret != 0) { + return ret; + } + + pfs->queue = queue; + pfs->channel = channel; + pfs->status = 0; + pfs->activebank = -1; + ERRCK(__osGetId(pfs)); + + ret = osPfsChecker(pfs); + pfs->status |= PFS_INITIALIZED; + return ret; +} |
