Could you avoid exposing class FileNode by adding a function to sceIo like   u32 __IoGetFileHandleFromId(u32 id, bool *success)