PS2SDK
PS2 Homebrew Libraries
sio2man.c File Reference
#include "irx_imports.h"
#include <iop_mmio_hwport.h>
#include <rsio2man.h>
+ Include dependency graph for sio2man.c:

Go to the source code of this file.

Data Structures

struct  sio2man_internal_data
 

Macros

#define EPRINTF(format, args...)   printf("%s: " format, _irx_id.n, ##args)
 
#define NANO_STATIC
 

Functions

 IRX_ID ("sio2man", 3, 17)
 
NANO_STATIC void sio2_ctrl_set (u32 val)
 
NANO_STATIC u32 sio2_ctrl_get (void)
 
NANO_STATIC u32 sio2_stat6c_get (void)
 
NANO_STATIC void sio2_portN_ctrl1_set (int N, u32 val)
 
u32 sio2_portN_ctrl1_get (int N)
 
NANO_STATIC void sio2_portN_ctrl2_set (int N, u32 val)
 
u32 sio2_portN_ctrl2_get (int N)
 
u32 sio2_stat70_get (void)
 
NANO_STATIC void sio2_regN_set (int N, u32 val)
 
u32 sio2_regN_get (int N)
 
NANO_STATIC u32 sio2_stat74_get (void)
 
void sio2_unkn78_set (u32 val)
 
u32 sio2_unkn78_get (void)
 
void sio2_unkn7c_set (u32 val)
 
u32 sio2_unkn7c_get (void)
 
NANO_STATIC void sio2_data_out (u8 val)
 
NANO_STATIC u8 sio2_data_in (void)
 
NANO_STATIC void sio2_stat_set (u32 val)
 
NANO_STATIC u32 sio2_stat_get (void)
 
static void send_td (sio2_transfer_data_t *td)
 
static void recv_td (sio2_transfer_data_t *td)
 
static int sio2_intr_handler (void *userdata)
 
int _start (int ac, char **av)
 
void _deinit ()
 
void sio2_set_intr_handler (int(*handler)(void *userdata), void *userdata)
 
NANO_STATIC void sio2_set_ctrl_c ()
 
NANO_STATIC void sio2_set_ctrl_1 ()
 
void sio2_wait_for_intr ()
 
int sio2_transfer (sio2_transfer_data_t *td)
 
void sio2_pad_transfer_init (void)
 
void sio2_pad_transfer_init_possiblysdk13x (void)
 
void sio2_mc_transfer_init_possiblysdk13x (void)
 
void sio2_transfer_reset (void)
 
static int sio2_mtap_change_slot_default (s32 *arg)
 
static int sio2_mtap_get_slot_max_default (int port)
 
static void sio2_mtap_update_slots_default (void)
 
void sio2_mtap_change_slot_set (sio2_mtap_change_slot_cb_t cb)
 
void sio2_mtap_get_slot_max_set (sio2_mtap_get_slot_max_cb_t cb)
 
void sio2_mtap_get_slot_max2_set (sio2_mtap_get_slot_max2_cb_t cb)
 
void sio2_mtap_update_slots_set (sio2_mtap_update_slots_t cb)
 
int sio2_mtap_change_slot (s32 *arg)
 
int sio2_mtap_get_slot_max (int port)
 
int sio2_mtap_get_slot_max2 (int port)
 
void sio2_mtap_update_slots (void)
 

Variables

struct irx_export_table _exp_sio2man
 
struct irx_export_table _exp_sio2man1
 
static struct sio2man_internal_data g_sio2man_data
 

Detailed Description

SIO2 interface manager and logging utility.

Definition in file sio2man.c.


Data Structure Documentation

◆ sio2man_internal_data

struct sio2man_internal_data

Definition at line 36 of file sio2man.c.

Data Fields
int m_inited
int m_intr_sema
int m_transfer_semaphore
int m_sdk13x_curflag
int m_sdk13x_totalflag
sio2_mtap_change_slot_cb_t m_mtap_change_slot_cb
sio2_mtap_get_slot_max_cb_t m_mtap_get_slot_max_cb
sio2_mtap_get_slot_max2_cb_t m_mtap_get_slot_max2_cb
sio2_mtap_update_slots_t m_mtap_update_slots_cb