📄 module.h
字号:
#ifndef MODULE_H#define MODULE_Htypedef struct ModuleHeader ModuleHeader;typedef struct CmdTable CmdTable;typedef struct SWIRegs SWIRegs;typedef struct ModuleInfo *ModuleHandle;typedef char *TitleString;typedef char *HelpString;typedef unsigned SWIBase;typedef unsigned ARMWord;typedef void (*CallBack)(void);typedef struct ServiceBlock ServiceBlock;struct ServiceBlock { CallBack r0; unsigned r1; unsigned r2; unsigned r3;};typedef void (*StartCode)(char *cmd);typedef ModuleHandle (*InitCode)(void);typedef void (*FinalCode)(void);typedef ServiceBlock (*ServiceCode)(ServiceBlock sb);typedef CallBack (*CommandCode)(char *cmd);typedef CallBack (*SWICode)(unsigned swino, SWIRegs *regs);struct SWIRegs { unsigned r[13];};struct CmdTable { char *command; CommandCode code; unsigned flags; char *syntax; char *help;};#define MODULE_MAGIC 0x4d484944 /* 'MHID' */#define UNPLUGGED_FLAG 0x0001#define AUTOSTART_FLAG 0x0002#define FACTORY_FLAG 0x0004#define MAJOR_VERSION 1#define MINOR_VERSION 0struct ModuleHeader { unsigned magic; unsigned short flags; unsigned char major; unsigned char minor; unsigned checksum; ARMWord *ro_base; ARMWord *ro_limit; ARMWord *rw_base; ARMWord *zi_base; ARMWord *zi_limit; const ModuleHeader *self; StartCode start; InitCode init; FinalCode final; ServiceCode service; TitleString title; HelpString help; const CmdTable *cmdtbl; SWIBase swi_base; SWICode swi_handler;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -