mirror of
https://github.com/sonicdcer/sf64.git
synced 2024-11-27 15:00:30 +00:00
931f589177
* libultra sorted out * missed some things * forgot some things * one more thing * not actually libultra * also split out the data into three sections * finer split * parameter is a thing, apparently * named everything in libultra * make
403 lines
8.3 KiB
C
403 lines
8.3 KiB
C
#ifndef _DBGPROTO_H__
|
|
#define _DBGPROTO_H__
|
|
|
|
#include "dbgdefs.h"
|
|
|
|
#define KK_REV 2
|
|
|
|
#define KK_CODE_THREAD_STATUS 4
|
|
|
|
#define KK_TYPE_REQUEST 0
|
|
#define KK_TYPE_REPLY 1
|
|
#define KK_TYPE_EXCEPTION 2
|
|
#define KK_TYPE_THREAD_EXIT 3
|
|
#define KK_TYPE_PROCESS_EXIT 4
|
|
#define KK_TYPE_CONSOLE 5
|
|
|
|
#define TV_ERROR_NO_ERROR 0
|
|
#define TV_ERROR_ILLEGAL_CALL -1
|
|
#define TV_ERROR_INVALID_ID -2
|
|
#define TV_ERROR_INVALID_TYPE -3
|
|
#define TV_ERROR_OPERATIONS_PROTECTED -4
|
|
#define TV_ERROR_INVALID_ADDRESS -5
|
|
#define TV_ERROR_INVALID_PRIORITY -6
|
|
#define TV_ERROR_INVALID_FLAGS -7
|
|
#define TV_ERROR_INVALID_CAPABILITY -8
|
|
#define TV_ERROR_NO_HANDLER -9
|
|
#define TV_ERROR_NO_MORE_IDS -10
|
|
#define TV_ERROR_NO_MORE_MESSAGES -11
|
|
#define TV_ERROR_NO_MORE_PROCESSES -12
|
|
#define TV_ERROR_NO_MORE_THREADS -13
|
|
#define TV_ERROR_NO_MORE_REGIONS -14
|
|
#define TV_ERROR_NO_MORE_TIMERS -15
|
|
#define TV_ERROR_NO_MORE_LOCKS -16
|
|
#define TV_ERROR_NO_MORE_QUEUES -17
|
|
#define TV_ERROR_NO_MORE_SETS -18
|
|
#define TV_ERROR_NO_MORE_MEMORY -19
|
|
#define TV_ERROR_NOT_LOCKED -20
|
|
|
|
typedef struct __KKTimeStruct {
|
|
long seconds;
|
|
long nanoseconds;
|
|
} KKTimeStruct;
|
|
|
|
typedef struct __KKObjsStruct {
|
|
TVushort number;
|
|
TVid objects[1];
|
|
} KKObjs;
|
|
|
|
typedef struct __KKFaultInfoStruct {
|
|
unsigned int addr;
|
|
short major;
|
|
short minor;
|
|
} KKFaultInfo;
|
|
|
|
typedef struct __KKThreadStatusStruct {
|
|
int flags;
|
|
short why;
|
|
short what;
|
|
TVid tid;
|
|
TVid pid;
|
|
unsigned int instr;
|
|
KKFaultInfo info;
|
|
int priority;
|
|
int start;
|
|
int rv;
|
|
unsigned int args[6];
|
|
} KKThreadStatus;
|
|
|
|
#define KK_RUN_SSTEP (1 << 0)
|
|
#define KK_RUN_SETPC (1 << 1)
|
|
|
|
typedef struct __KKRunStruct {
|
|
int flags;
|
|
unsigned int vaddr;
|
|
} KKRun;
|
|
|
|
typedef struct __KKFaultStruct {
|
|
short majorMask;
|
|
short minorMask;
|
|
} KKFault;
|
|
|
|
typedef struct __KKRegionStruct {
|
|
unsigned int vaddr;
|
|
unsigned int size;
|
|
short flags;
|
|
unsigned int paddr;
|
|
} KKRegion;
|
|
|
|
typedef struct __KKGregSetStruct {
|
|
unsigned int gregs[37];
|
|
} KKGregSet;
|
|
|
|
typedef struct __KKFPregSetStruct {
|
|
union {
|
|
double dregs[16];
|
|
float fregs[32];
|
|
unsigned int regs[32];
|
|
} fpregs;
|
|
unsigned int fpcsr;
|
|
unsigned int fppad;
|
|
} KKFPregSet;
|
|
|
|
typedef struct __KKRegisterContextStruct {
|
|
KKGregSet gregs;
|
|
KKFPregSet fpregs;
|
|
} KKRegisterContext;
|
|
|
|
typedef struct __KKCpScalarSetStruct {
|
|
unsigned int sregs[40];
|
|
} KKCpScalarRegSet;
|
|
|
|
typedef struct __KKCpVectorSetStruct {
|
|
unsigned int vregs[128];
|
|
} KKCpVectorRegSet;
|
|
|
|
typedef struct __KKCpRegisterContextStruct {
|
|
KKCpScalarRegSet sregs;
|
|
KKCpVectorRegSet vregs;
|
|
} KKCpRegisterContext;
|
|
|
|
typedef struct __KKUsageStruct {
|
|
KKTimeStruct tstamp;
|
|
KKTimeStruct created;
|
|
KKTimeStruct states[10];
|
|
} KKUsage;
|
|
|
|
typedef struct __KKLogEventSetStruct {
|
|
int from;
|
|
int to;
|
|
} KKLogEventSet;
|
|
|
|
typedef struct __KKLogStatusStruct {
|
|
int bufferType;
|
|
int bufferSize;
|
|
int dataSize;
|
|
int logState;
|
|
int flushLimit;
|
|
} KKLogStatus;
|
|
|
|
typedef struct __KKProcUsageStruct {
|
|
TVid pid;
|
|
KKTimeStruct states[10];
|
|
} KKProcUsage;
|
|
|
|
typedef struct __KKHeaderStruct {
|
|
int length;
|
|
char code;
|
|
char type;
|
|
short error;
|
|
char rev;
|
|
char method;
|
|
short notused2;
|
|
} KKHeader;
|
|
|
|
typedef struct __KKGetFrameRequestStruct {
|
|
KKHeader header;
|
|
int height;
|
|
int width;
|
|
int which;
|
|
} KKGetFrameRequest;
|
|
|
|
typedef struct __KKLoadExecutableRequestStruct {
|
|
KKHeader header;
|
|
char str[1];
|
|
} KKLoadExecutableRequest;
|
|
|
|
typedef struct __KKObjectRequestStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
} KKObjectRequest;
|
|
|
|
typedef struct __KKRunThreadRequestStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKRun actions;
|
|
} KKRunThreadRequest;
|
|
|
|
typedef struct __KKFaultRequestStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKFault fault;
|
|
TVuchar stopAllThreads;
|
|
} KKFaultRequest;
|
|
|
|
typedef struct __KKGRegsetRequestStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKGregSet registers;
|
|
} KKGRegsetRequest;
|
|
|
|
typedef struct __KKFPRegsetRequestStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKFPregSet registers;
|
|
} KKFPRegsetRequest;
|
|
|
|
typedef struct __KKCpScalarRegsetRequestStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKCpScalarRegSet registers;
|
|
} KKCpScalarRegsetRequest;
|
|
|
|
typedef struct __KKCpVectorRegsetRequestStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKCpVectorRegSet registers;
|
|
} KKCpVectorRegsetRequest;
|
|
|
|
typedef struct __KKReadRequestStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
unsigned int addr;
|
|
unsigned int nbytes;
|
|
} KKReadRequest;
|
|
|
|
typedef struct __KKWriteHeaderStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
unsigned int addr;
|
|
unsigned int nbytes;
|
|
} KKWriteHeader;
|
|
|
|
typedef struct __KKWriteRequestStruct {
|
|
KKWriteHeader writeHeader;
|
|
char buffer[1];
|
|
} KKWriteRequest;
|
|
|
|
typedef struct __KKSetBkptRequestStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
unsigned int addr;
|
|
} KKSetBkptRequest;
|
|
|
|
typedef struct __KKClrBkptRequestStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
TVid bp;
|
|
} KKClrBkptRequest;
|
|
|
|
typedef struct __KKWatchRequestStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
unsigned int number;
|
|
KKRegion wp[1];
|
|
} KKWatchRequest;
|
|
|
|
typedef struct __KKSetCommRequestStruct {
|
|
KKHeader header;
|
|
unsigned int how;
|
|
unsigned int addr;
|
|
} KKSetCommRequest;
|
|
|
|
typedef struct __KKSysCallSetStruct {
|
|
unsigned int word[8];
|
|
} KKSysCallSet;
|
|
|
|
typedef struct __KKSysCallRequestStruct {
|
|
KKHeader header;
|
|
TVid pid;
|
|
KKSysCallSet syscallset;
|
|
} KKSysCallRequest;
|
|
|
|
typedef struct __KKLogEventRequestStruct {
|
|
KKHeader header;
|
|
unsigned int numSet;
|
|
KKLogEventSet set[1];
|
|
} KKLogEventRequest;
|
|
|
|
typedef struct __KKNewLogRequestStruct {
|
|
KKHeader header;
|
|
char str[1];
|
|
} KKNewLogRequest;
|
|
|
|
typedef struct __KKRemoteRequestStruct {
|
|
KKHeader header;
|
|
int len;
|
|
char buf[16];
|
|
} KKRemoteRequest;
|
|
|
|
typedef struct __KKFlushLogRequestStruct {
|
|
KKHeader header;
|
|
int no_block;
|
|
} KKFlushLogRequest;
|
|
|
|
typedef struct __KKLogControlRequestStruct {
|
|
KKHeader header;
|
|
int command;
|
|
int arg;
|
|
} KKLogControlRequest;
|
|
|
|
typedef struct __KKSetTrptRequestStruct {
|
|
KKSetBkptRequest bpRequest;
|
|
unsigned short code;
|
|
} KKSetTrptRequest;
|
|
|
|
typedef KKClrBkptRequest KKClrTrptRequest;
|
|
|
|
typedef struct __KKObjectEventStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
} KKObjectEvent;
|
|
|
|
typedef struct __KKObjsEventStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
KKObjs objs;
|
|
} KKObjsEvent;
|
|
|
|
typedef struct __KKBufferEventStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
char buffer[1];
|
|
} KKBufferEvent;
|
|
|
|
typedef struct __KKStatusEventStruct {
|
|
KKHeader header;
|
|
KKThreadStatus status;
|
|
} KKStatusEvent;
|
|
|
|
typedef struct __KKFaultEventStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKFault fault;
|
|
TVuchar stopAllThreads;
|
|
} KKFaultEvent;
|
|
|
|
typedef struct __KKNumberEventStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
unsigned int number;
|
|
} KKNumberEvent;
|
|
|
|
typedef struct __KKRegionEventStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
unsigned int number;
|
|
KKRegion regions[1];
|
|
} KKRegionEvent;
|
|
|
|
typedef struct __KKGregEventStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKGregSet registers;
|
|
} KKGregEvent;
|
|
|
|
typedef struct __KKFPregEventStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKFPregSet registers;
|
|
} KKFPregEvent;
|
|
|
|
typedef struct __KKCpSregEventStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKCpScalarRegSet registers;
|
|
} KKCpSregEvent;
|
|
|
|
typedef struct __KKCpVregEventStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKCpVectorRegSet registers;
|
|
} KKCpVregEvent;
|
|
|
|
typedef struct __KKBkptEventStruct {
|
|
KKHeader header;
|
|
TVid object;
|
|
TVid bp;
|
|
unsigned int instruction;
|
|
} KKBkptEvent;
|
|
|
|
typedef struct __KKUsageEventStruct {
|
|
KKHeader header;
|
|
TVid tid;
|
|
KKUsage usage;
|
|
} KKUsageEvent;
|
|
|
|
typedef struct __KKFlushEventStruct {
|
|
KKHeader header;
|
|
int bufferType;
|
|
char buffer[1];
|
|
} KKFlushEvent;
|
|
|
|
typedef struct __KKLogStatusEventStruct {
|
|
KKHeader header;
|
|
KKLogStatus status;
|
|
} KKLogStatusEvent;
|
|
|
|
typedef struct __KKSysUsageEventStruct {
|
|
KKHeader header;
|
|
KKTimeStruct tstamp;
|
|
int numProc;
|
|
KKProcUsage usage[1];
|
|
} KKSysUsageEvent;
|
|
|
|
typedef struct __KKStringEventStruct {
|
|
KKHeader header;
|
|
char str[1];
|
|
} KKStringEvent;
|
|
|
|
typedef KKSysCallRequest KKSysCallEvent;
|
|
|
|
#endif
|