⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nubus.h

📁 基于组件方式开发操作系统的OSKIT源代码
💻 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 + -