PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
iomanX.h File Reference
#include <types.h>
#include <stdarg.h>
#include <io_common.h>
#include <iox_stat.h>
+ Include dependency graph for iomanX.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _iomanX_iop_file
 
struct  _iomanX_iop_device
 
struct  _iomanX_iop_device_ops
 

Macros

#define IOMANX_OLD_NAME_COMPATIBILITY   0
 
#define IOMANX_OLD_NAME_ADDDELDRV   0
 
#define IOP_DT_CHAR   0x01
 
#define IOP_DT_CONS   0x02
 
#define IOP_DT_BLOCK   0x04
 
#define IOP_DT_RAW   0x08
 
#define IOP_DT_FS   0x10
 
#define IOP_DT_FSEXT   0x10000000
 
#define IOMANX_RETURN_VALUE_IMPL(val)
 
#define IOMANX_RETURN_VALUE(val)
 
#define IOMANX_RETURN_VALUE_S64(val)
 

Typedefs

typedef struct _iomanX_iop_file iomanX_iop_file_t
 
typedef struct _iomanX_iop_device iomanX_iop_device_t
 
typedef struct _iomanX_iop_device_ops iomanX_iop_device_ops_t
 

Functions

iomanX_iop_device_t ** iomanX_GetDeviceList (void)
 
int iomanX_open (const char *name, int flags,...)
 
int iomanX_close (int fd)
 
int iomanX_read (int fd, void *ptr, int size)
 
int iomanX_write (int fd, void *ptr, int size)
 
int iomanX_lseek (int fd, int offset, int mode)
 
int iomanX_ioctl (int fd, int cmd, void *param)
 
int iomanX_remove (const char *name)
 
int iomanX_mkdir (const char *path, int mode)
 
int iomanX_rmdir (const char *path)
 
int iomanX_dopen (const char *path)
 
int iomanX_dclose (int fd)
 
int iomanX_dread (int fd, iox_dirent_t *buf)
 
int iomanX_getstat (const char *name, iox_stat_t *stat)
 
int iomanX_chstat (const char *name, iox_stat_t *stat, unsigned int statmask)
 
int iomanX_format (const char *dev, const char *blockdev, void *arg, int arglen)
 
int iomanX_rename (const char *old, const char *new)
 
int iomanX_chdir (const char *name)
 
int iomanX_sync (const char *dev, int flag)
 
int iomanX_mount (const char *fsname, const char *devname, int flag, void *arg, int arglen)
 
int iomanX_umount (const char *fsname)
 
s64 iomanX_lseek64 (int fd, s64 offset, int whence)
 
int iomanX_devctl (const char *name, int cmd, void *arg, unsigned int arglen, void *buf, unsigned int buflen)
 
int iomanX_symlink (const char *old, const char *new)
 
int iomanX_readlink (const char *path, char *buf, unsigned int buflen)
 
int iomanX_ioctl2 (int fd, int cmd, void *arg, unsigned int arglen, void *buf, unsigned int buflen)
 
int iomanX_AddDrv (iomanX_iop_device_t *device)
 
int iomanX_DelDrv (const char *name)
 
void iomanX_StdioInit (int mode)
 

Detailed Description

Definitions and imports for iomanX.

Definition in file iomanX.h.


Data Structure Documentation

◆ _iomanX_iop_file

struct _iomanX_iop_file

File objects passed to driver operations.

Definition at line 70 of file iomanX.h.

+ Collaboration diagram for _iomanX_iop_file:
Data Fields
int mode

File open mode.

int unit

HW device unit number.

struct _iomanX_iop_device * device

Device driver.

void * privdata

The device driver can use this however it wants.

◆ _iomanX_iop_device

struct _iomanX_iop_device

Definition at line 81 of file iomanX.h.

+ Collaboration diagram for _iomanX_iop_device:
Data Fields
const char * name
unsigned int type
unsigned int version

Not so sure about this one.

const char * desc
struct _iomanX_iop_device_ops * ops

◆ _iomanX_iop_device_ops

struct _iomanX_iop_device_ops

Definition at line 95 of file iomanX.h.

Data Fields
int(*)(iomanX_iop_device_t *) init
int(*)(iomanX_iop_device_t *) deinit
int(*)(iomanX_iop_file_t *, const char *, const char *, void *, int) format
int(*)(iomanX_iop_file_t *, const char *, int, int) open
int(*)(iomanX_iop_file_t *) close
int(*)(iomanX_iop_file_t *, void *, int) read
int(*)(iomanX_iop_file_t *, void *, int) write
int(*)(iomanX_iop_file_t *, int, int) lseek
int(*)(iomanX_iop_file_t *, int, void *) ioctl
int(*)(iomanX_iop_file_t *, const char *) remove
int(*)(iomanX_iop_file_t *, const char *, int) mkdir
int(*)(iomanX_iop_file_t *, const char *) rmdir
int(*)(iomanX_iop_file_t *, const char *) dopen
int(*)(iomanX_iop_file_t *) dclose
int(*)(iomanX_iop_file_t *, iox_dirent_t *) dread
int(*)(iomanX_iop_file_t *, const char *, iox_stat_t *) getstat
int(*)(iomanX_iop_file_t *, const char *, iox_stat_t *, unsigned int) chstat
int(*)(iomanX_iop_file_t *, const char *, const char *) rename
int(*)(iomanX_iop_file_t *, const char *) chdir
int(*)(iomanX_iop_file_t *, const char *, int) sync
int(*)(iomanX_iop_file_t *, const char *, const char *, int, void *, int) mount
int(*)(iomanX_iop_file_t *, const char *) umount
s64(*)(iomanX_iop_file_t *, s64, int) lseek64
int(*)(iomanX_iop_file_t *, const char *, int, void *, unsigned int, void *, unsigned int) devctl
int(*)(iomanX_iop_file_t *, const char *, const char *) symlink
int(*)(iomanX_iop_file_t *, const char *, char *, unsigned int) readlink
int(*)(iomanX_iop_file_t *, int, void *, unsigned int, void *, unsigned int) ioctl2

Macro Definition Documentation

◆ IOMANX_OLD_NAME_COMPATIBILITY

#define IOMANX_OLD_NAME_COMPATIBILITY   0

Definition at line 36 of file iomanX.h.

◆ IOMANX_OLD_NAME_ADDDELDRV

#define IOMANX_OLD_NAME_ADDDELDRV   0

Definition at line 45 of file iomanX.h.

◆ IOP_DT_CHAR

#define IOP_DT_CHAR   0x01

Definition at line 59 of file iomanX.h.

◆ IOP_DT_CONS

#define IOP_DT_CONS   0x02

Definition at line 60 of file iomanX.h.

◆ IOP_DT_BLOCK

#define IOP_DT_BLOCK   0x04

Definition at line 61 of file iomanX.h.

◆ IOP_DT_RAW

#define IOP_DT_RAW   0x08

Definition at line 62 of file iomanX.h.

◆ IOP_DT_FS

#define IOP_DT_FS   0x10

Definition at line 63 of file iomanX.h.

◆ IOP_DT_FSEXT

#define IOP_DT_FSEXT   0x10000000

Supports calls after chstat().

Definition at line 66 of file iomanX.h.

Referenced by devscan_setup(), and iopmgr_get_devicelist().

◆ IOMANX_RETURN_VALUE_IMPL

#define IOMANX_RETURN_VALUE_IMPL ( val)
Value:
static inline int my_iomanx_retval_##val##_int(void) {return -val;} \
static inline signed long long my_iomanx_retval_##val##_s64(void) {return -val;}

Definition at line 89 of file iomanX.h.

◆ IOMANX_RETURN_VALUE

#define IOMANX_RETURN_VALUE ( val)
Value:
((void*)&my_iomanx_retval_##val##_int)

Definition at line 92 of file iomanX.h.

◆ IOMANX_RETURN_VALUE_S64

#define IOMANX_RETURN_VALUE_S64 ( val)
Value:
((void*)&my_iomanx_retval_##val##_s64)

Definition at line 93 of file iomanX.h.

Typedef Documentation

◆ iomanX_iop_file_t

File objects passed to driver operations.

Function Documentation

◆ iomanX_open()

int iomanX_open ( const char * name,
int flags,
... )
extern

Definition at line 437 of file iomanX.c.

◆ iomanX_close()

int iomanX_close ( int fd)
extern

Definition at line 520 of file iomanX.c.

◆ iomanX_read()

int iomanX_read ( int fd,
void * ptr,
int size )
extern

Definition at line 500 of file iomanX.c.

◆ iomanX_write()

int iomanX_write ( int fd,
void * ptr,
int size )
extern

Definition at line 510 of file iomanX.c.

◆ iomanX_lseek()

int iomanX_lseek ( int fd,
int offset,
int mode )
extern

Definition at line 460 of file iomanX.c.

◆ iomanX_ioctl()

int iomanX_ioctl ( int fd,
int cmd,
void * param )
extern

Definition at line 533 of file iomanX.c.

◆ iomanX_remove()

int iomanX_remove ( const char * name)
extern

Definition at line 608 of file iomanX.c.

◆ iomanX_mkdir()

int iomanX_mkdir ( const char * path,
int mode )
extern

Definition at line 630 of file iomanX.c.

◆ iomanX_rmdir()

int iomanX_rmdir ( const char * path)
extern

Definition at line 635 of file iomanX.c.

◆ iomanX_dopen()

int iomanX_dopen ( const char * path)
extern

Definition at line 556 of file iomanX.c.

◆ iomanX_dread()

int iomanX_dread ( int fd,
iox_dirent_t * buf )
extern

Definition at line 572 of file iomanX.c.

◆ iomanX_getstat()

int iomanX_getstat ( const char * name,
iox_stat_t * stat )
extern

Definition at line 706 of file iomanX.c.

◆ iomanX_chstat()

int iomanX_chstat ( const char * name,
iox_stat_t * stat,
unsigned int statmask )
extern

Definition at line 711 of file iomanX.c.

◆ iomanX_format()

int iomanX_format ( const char * dev,
const char * blockdev,
void * arg,
int arglen )
extern

This can take take more than one form.

Definition at line 716 of file iomanX.c.

References _iomanX_iop_file::device, EMFILE, ENODEV, and _iomanX_iop_file::unit.

◆ iomanX_rename()

int iomanX_rename ( const char * old,
const char * new )
extern

Definition at line 792 of file iomanX.c.

◆ iomanX_chdir()

int iomanX_chdir ( const char * name)
extern

Definition at line 803 of file iomanX.c.

◆ iomanX_sync()

int iomanX_sync ( const char * dev,
int flag )
extern

Definition at line 852 of file iomanX.c.

◆ iomanX_mount()

int iomanX_mount ( const char * fsname,
const char * devname,
int flag,
void * arg,
int arglen )
extern

Definition at line 857 of file iomanX.c.

◆ iomanX_umount()

int iomanX_umount ( const char * fsname)
extern

Definition at line 884 of file iomanX.c.

◆ iomanX_lseek64()

s64 iomanX_lseek64 ( int fd,
s64 offset,
int whence )
extern

Definition at line 479 of file iomanX.c.

◆ iomanX_devctl()

int iomanX_devctl ( const char * name,
int cmd,
void * arg,
unsigned int arglen,
void * buf,
unsigned int buflen )
extern

Definition at line 909 of file iomanX.c.

◆ iomanX_symlink()

int iomanX_symlink ( const char * old,
const char * new )
extern

Definition at line 798 of file iomanX.c.

◆ iomanX_readlink()

int iomanX_readlink ( const char * path,
char * buf,
unsigned int buflen )
extern

Definition at line 934 of file iomanX.c.

◆ iomanX_ioctl2()

int iomanX_ioctl2 ( int fd,
int cmd,
void * arg,
unsigned int arglen,
void * buf,
unsigned int buflen )
extern

Definition at line 543 of file iomanX.c.

◆ iomanX_AddDrv()

int iomanX_AddDrv ( iomanX_iop_device_t * device)
extern

Definition at line 1087 of file iomanX.c.

◆ iomanX_DelDrv()

int iomanX_DelDrv ( const char * name)
extern

Definition at line 1158 of file iomanX.c.

◆ iomanX_StdioInit()

void iomanX_StdioInit ( int mode)
extern

Definition at line 382 of file iomanX.c.