/********************************************************************* * Copyright (C) 2003 Tord Lindstrom (pukko@home.se) * This file is subject to the terms and conditions of the PS2Link License. * See the file LICENSE in the main directory of this distribution for more * details. */ #define PKO_PORT 0x4711 #define PKO_CMD_PORT 0x4712 #define PKO_PRINTF_PORT 0x4712 #define PKO_OPEN_CMD 0xbabe0111 #define PKO_OPEN_RLY 0xbabe0112 #define PKO_CLOSE_CMD 0xbabe0121 #define PKO_CLOSE_RLY 0xbabe0122 #define PKO_READ_CMD 0xbabe0131 #define PKO_READ_RLY 0xbabe0132 #define PKO_WRITE_CMD 0xbabe0141 #define PKO_WRITE_RLY 0xbabe0142 #define PKO_LSEEK_CMD 0xbabe0151 #define PKO_LSEEK_RLY 0xbabe0152 #define PKO_OPENDIR_CMD 0xbabe0161 #define PKO_OPENDIR_RLY 0xbabe0162 #define PKO_CLOSEDIR_CMD 0xbabe0171 #define PKO_CLOSEDIR_RLY 0xbabe0172 #define PKO_READDIR_CMD 0xbabe0181 #define PKO_READDIR_RLY 0xbabe0182 #define PKO_REMOVE_CMD 0xbabe0191 #define PKO_REMOVE_RLY 0xbabe0192 #define PKO_MKDIR_CMD 0xbabe01A1 #define PKO_MKDIR_RLY 0xbabe01A2 #define PKO_RMDIR_CMD 0xbabe01B1 #define PKO_RMDIR_RLY 0xbabe01B2 #define PKO_IOCTL_CMD 0xbabe01C1 //dlanor: Added for Rename capability #define PKO_IOCTL_RLY 0xbabe01C2 //dlanor: Added for Rename capability #define PKO_RESET_CMD 0xbabe0201 #define PKO_EXECIOP_CMD 0xbabe0202 #define PKO_EXECEE_CMD 0xbabe0203 #define PKO_POWEROFF_CMD 0xbabe0204 #define PKO_SCRDUMP_CMD 0xbabe0205 #define PKO_NETDUMP_CMD 0xbabe0206 #define PKO_DUMP_MEM 0xbabe0207 #define PKO_START_VU 0xbabe0208 #define PKO_STOP_VU 0xbabe0209 #define PKO_DUMP_REG 0xbabe020a #define PKO_GSEXEC_CMD 0xbabe020b #define PKO_WRITE_MEM 0xbabe020c #define PKO_IOPEXCEP_CMD 0xbabe020d #define PKO_RPC_RESET 1 #define PKO_RPC_EXECEE 2 #define PKO_RPC_DUMMY 3 #define PKO_RPC_SCRDUMP 4 #define PKO_RPC_NETDUMP 5 #define PKO_RPC_STARTVU 6 #define PKO_RPC_STOPVU 7 #define PKO_RPC_DUMPMEM 8 #define PKO_RPC_DUMPREG 9 #define PKO_RPC_GSEXEC 10 #define PKO_MAX_PATH 256 #define REGDMA 0 #define REGINTC 1 #define REGTIMER 2 #define REGGS 3 #define REGSIF 4 #define REGFIFO 5 #define REGGIF 6 #define REGVIF0 7 #define REGVIF1 8 #define REGIPU 9 #define REGALL 10 #define REGVU0 11 #define REGVU1 12 typedef struct { unsigned int cmd; unsigned short len; } __attribute__((packed)) pko_pkt_hdr; typedef struct { unsigned int cmd; unsigned short len; unsigned int retval; } __attribute__((packed)) pko_pkt_file_rly; typedef struct { unsigned int cmd; unsigned short len; int flags; char path[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_open_req; typedef struct { unsigned int cmd; unsigned short len; int fd; } __attribute__((packed)) pko_pkt_close_req; typedef struct { unsigned int cmd; unsigned short len; int fd; int nbytes; } __attribute__((packed)) pko_pkt_read_req; typedef struct { unsigned int cmd; unsigned short len; int retval; int nbytes; } __attribute__((packed)) pko_pkt_read_rly; typedef struct { unsigned int cmd; unsigned short len; int fd; int nbytes; } __attribute__((packed)) pko_pkt_write_req; typedef struct { unsigned int cmd; unsigned short len; int fd; int offset; int whence; } __attribute__((packed)) pko_pkt_lseek_req; typedef struct { unsigned int cmd; unsigned short len; char name[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_remove_req; typedef struct { unsigned int cmd; unsigned short len; int fd; int request; char data[256]; } __attribute__((packed)) pko_pkt_ioctl_req; typedef struct { unsigned int cmd; unsigned short len; int mode; char name[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_mkdir_req; typedef struct { unsigned int cmd; unsigned short len; char name[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_rmdir_req; typedef struct { unsigned int cmd; unsigned short len; int fd; } __attribute__((packed)) pko_pkt_dread_req; typedef struct { unsigned int cmd; unsigned short len; int retval; /* from io_common.h (fio_dirent_t) in ps2lib */ unsigned int mode; unsigned int attr; unsigned int size; unsigned char ctime[8]; unsigned char atime[8]; unsigned char mtime[8]; unsigned int hisize; char name[256]; } __attribute__((packed)) pko_pkt_dread_rly; //// typedef struct { unsigned int cmd; unsigned short len; } __attribute__((packed)) pko_pkt_reset_req; typedef struct { unsigned int cmd; unsigned short len; int argc; char argv[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_execee_req; typedef struct { unsigned int cmd; unsigned short len; int argc; char argv[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_execiop_req; typedef struct { unsigned int cmd; unsigned short len; unsigned short size; unsigned char file[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_gsexec_req; typedef struct { unsigned int cmd; unsigned short len; } __attribute__((packed)) pko_pkt_poweroff_req; typedef struct { unsigned int cmd; unsigned short len; int vpu; } __attribute__((packed)) pko_pkt_start_vu; typedef struct { unsigned int cmd; unsigned short len; int vpu; } __attribute__((packed)) pko_pkt_stop_vu; typedef struct { unsigned int cmd; unsigned short len; unsigned int offset; unsigned int size; char argv[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_mem_io; typedef struct { unsigned int cmd; unsigned short len; int regs; char argv[PKO_MAX_PATH]; } __attribute__((packed)) pko_pkt_dump_regs; typedef struct { unsigned int cmd; unsigned short len; unsigned int regs[79]; } __attribute__((packed)) pko_pkt_send_regs; #define PKO_MAX_WRITE_SEGMENT (1460 - sizeof(pko_pkt_write_req)) #define PKO_MAX_READ_SEGMENT (1460 - sizeof(pko_pkt_read_rly))