📄 nubus.h
字号:
struct nubus_slot{ int slot_flags;#define NUBUS_DEVICE_PRESENT 1#define NUBUS_DEVICE_ACTIVE 2#define NUBUS_DEVICE_IRQ 4 __u32 slot_directory; __u32 slot_dlength; __u32 slot_crc; __u8 slot_rev; __u8 slot_format; __u8 slot_lanes; /* * Stuff we pulled from the directory */ __u32 slot_dirbase; __u32 slot_thisdir; char slot_vendor[64]; char slot_cardname[64];};struct nbnamevec { char *name; int id;};struct nubus_dir{ unsigned char *base; int length; int count; int mask;};struct nubus_dirent{ unsigned char type; int value; /* Actually 24bits used */ int mask; int base; /* For dirptr function */};struct nubus_type{ __u16 category; __u16 type; __u16 DrHW; __u16 DrSW;};#define NUBUS_CAT_BOARD 0x0001#define NUBUS_CAT_DISPLAY 0x0003#define NUBUS_CAT_NETWORK 0x0004#define NUBUS_CAT_COMMUNICATIONS 0x0006#define NUBUS_CAT_FONT 0x0009#define NUBUS_CAT_CPU 0x000A#define RES_ID_TYPE 0x0001#define RES_ID_NAME 0x0002#define RES_ID_BOARD_DIR 0x0001#define RES_ID_FLAGS 0x0007struct nubus_device_specifier{ int (*setup)(struct nubus_device_specifier *, int slot, struct nubus_type *); struct nubus_device_specifier *next;};extern void register_nubus_device(struct nubus_device_specifier *nb);extern void unregister_nubus_device(struct nubus_device_specifier *nb);extern struct nubus_dir *nubus_openrootdir(int slot);extern struct nubus_dir *nubus_opensubdir(struct nubus_dirent *d);extern void nubus_closedir(struct nubus_dir *);extern struct nubus_dirent *nubus_readdir(struct nubus_dir *);extern unsigned char *nubus_dirptr(struct nubus_dirent *d);extern void nubus_strncpy(int slot, void *to, unsigned char *p, int len);extern void nubus_memcpy(int slot, void *to, unsigned char *p, int len);extern void nubus_init(void);extern void nubus_sweep_video(void);extern int nubus_ethernet_addr(int slot, unsigned char *addr);extern __inline void *nubus_slot_addr(int slot){ return (void *)(0xF0000000|(slot<<24));}extern int nubus_hwreg_present(volatile void *ptr);extern void nubus_init_via(void);extern int nubus_free_irq(int slot);extern int nubus_request_irq(int slot, void *dev_id, void (*handler)(int,void *,struct pt_regs *));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -