亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nubus.h

?? umon bootloader source code, support mips cpu.
?? H
字號:
/*
  nubus.h: various definitions and prototypes for NuBus drivers to use.

  Originally written by Alan Cox.

  Hacked to death by C. Scott Ananian and David Huggins-Daines.
  
  Some of the constants in here are from the corresponding
  NetBSD/OpenBSD header file, by Allen Briggs.  We figured out the
  rest of them on our own. */

#ifndef LINUX_NUBUS_H
#define LINUX_NUBUS_H

#ifdef __KERNEL__
#include <asm/nubus.h>
#endif

enum nubus_category {
	NUBUS_CAT_BOARD          = 0x0001,
	NUBUS_CAT_DISPLAY        = 0x0003,
	NUBUS_CAT_NETWORK        = 0x0004,
	NUBUS_CAT_COMMUNICATIONS = 0x0006,
	NUBUS_CAT_FONT           = 0x0009,
	NUBUS_CAT_CPU            = 0x000A,
	/* For lack of a better name */
	NUBUS_CAT_DUODOCK        = 0x0020
};

enum nubus_type_network {
	NUBUS_TYPE_ETHERNET 	 = 0x0001,
	NUBUS_TYPE_RS232    	 = 0x0002
};

enum nubus_type_display {
	NUBUS_TYPE_VIDEO 	 = 0x0001
};

enum nubus_type_cpu {
	NUBUS_TYPE_68020 	 = 0x0003,
	NUBUS_TYPE_68030 	 = 0x0004,
	NUBUS_TYPE_68040 	 = 0x0005
};

/* Known <Cat,Type,SW,HW> tuples: (according to TattleTech and Slots)
 *  68030 motherboards: <10,4,0,24>
 *  68040 motherboards: <10,5,0,24>
 *  DuoDock Plus: <32,1,1,2>
 *
 *  Toby Frame Buffer card: <3,1,1,1>
 *  RBV built-in video (IIci): <3,1,1,24>
 *  Valkyrie built-in video (Q630): <3,1,1,46>
 *  Macintosh Display Card: <3,1,1,25>
 *  Sonora built-in video (P460): <3,1,1,34>
 *  Jet framebuffer (DuoDock Plus): <3,1,1,41>
 *
 *  SONIC comm-slot/on-board and DuoDock Ethernet: <4,1,1,272>
 *  SONIC LC-PDS Ethernet (Dayna, but like Apple 16-bit, sort of): <4,1,1,271>
 *  Sonic Systems Ethernet A-Series Card: <4,1,268,256>
 *  Asante MacCon NuBus-A: <4,1,260,256> (alpha-1.0,1.1 revision)
 *   ROM on the above card: <2,1,0,0>
 *  Cabletron ethernet card: <4,1,1,265>
 *  Farallon ethernet card: <4,1,268,256> (identical to Sonic Systems card)
 *  Kinetics EtherPort IIN: <4,1,259,262>
 *  API Engineering EtherRun_LCa PDS enet card: <4,1,282,256>
 *
 *  Add your devices to the list!  You can obtain the "Slots" utility
 *  from Apple's FTP site at:
 *  ftp://dev.apple.com/devworld/Tool_Chest/Devices_-_Hardware/NuBus_Slot_Manager/
 *
 *  Alternately, TattleTech can be found at any Info-Mac mirror site.  
 *  or from its distribution site: ftp://ftp.decismkr.com/dms
 */

/* DrSW: Uniquely identifies the software interface to a board.  This
   is usually the one you want to look at when writing a driver.  It's
   not as useful as you think, though, because as we should know by
   now (duh), "Apple Compatible" can mean a lot of things... */

/* Add known DrSW values here */
enum nubus_drsw {
	/* NUBUS_CAT_DISPLAY */
	NUBUS_DRSW_APPLE       	= 0x0001,
	NUBUS_DRSW_APPLE_HIRES 	= 0x0013, /* MacII HiRes card driver */
	
	/* NUBUS_CAT_NETWORK */
	NUBUS_DRSW_CABLETRON   	= 0x0001,
	NUBUS_DRSW_SONIC_LC    	= 0x0001,
	NUBUS_DRSW_KINETICS    	= 0x0103,
	NUBUS_DRSW_ASANTE      	= 0x0104,
	NUBUS_DRSW_DAYNA       	= 0x010b,
	NUBUS_DRSW_FARALLON    	= 0x010c,
	NUBUS_DRSW_APPLE_SN    	= 0x010f,
	NUBUS_DRSW_DAYNA2	= 0x0115,
	NUBUS_DRSW_FOCUS        = 0x011a,
	NUBUS_DRSW_ASANTE_CS    = 0x011d, /* use asante SMC9194 driver */
	NUBUS_DRSW_DAYNA_LC	= 0x011e,

	/* NUBUS_CAT_CPU */
	NUBUS_DRSW_NONE        	= 0x0000,
};

/* DrHW: Uniquely identifies the hardware interface to a board (or at
   least, it should...  some video cards are known to incorrectly
   identify themselves as Toby cards) */

/* Add known DrHW values here */
enum nubus_drhw {
	/* NUBUS_CAT_DISPLAY */
	NUBUS_DRHW_APPLE_TFB	= 0x0001, /* Toby frame buffer card */
	NUBUS_DRHW_APPLE_HRVC	= 0x0013, /* Mac II High Res Video card */
	NUBUS_DRHW_APPLE_RBV1   = 0x0018, /* IIci RBV video */
	NUBUS_DRHW_APPLE_MDC    = 0x0019, /* Macintosh Display Card */
	NUBUS_DRHW_APPLE_SONORA = 0x0022, /* Sonora built-in video */
	NUBUS_DRHW_APPLE_JET 	= 0x0029, /* Jet framebuffer (DuoDock) */
	NUBUS_DRHW_APPLE_VALKYRIE = 0x002e,
	NUBUS_DRHW_THUNDER24	= 0x02cb, /* SuperMac Thunder/24 */
	
	/* NUBUS_CAT_NETWORK */
	NUBUS_DRHW_INTERLAN     = 0x0100,
	NUBUS_DRHW_SMC9194      = 0x0101,
	NUBUS_DRHW_KINETICS     = 0x0106,
	NUBUS_DRHW_CABLETRON    = 0x0109,
	NUBUS_DRHW_ASANTE_LC    = 0x010f,
	NUBUS_DRHW_SONIC        = 0x0110,
	NUBUS_DRHW_SONIC_NB	= 0x0118,
	NUBUS_DRHW_SONIC_LC	= 0x0119,
	
	/* NUBUS_CAT_COMMUNICATIONS */
	NUBUS_DRHW_DOVEFAX	= 0x0100,
};

/* Resource IDs: These are the identifiers for the various weird and
   wonderful tidbits of information that may or may not reside in the
   NuBus ROM directory. */
enum nubus_res_id {
	NUBUS_RESID_TYPE         = 0x0001,
	NUBUS_RESID_NAME         = 0x0002,
	NUBUS_RESID_ICON         = 0x0003,
	NUBUS_RESID_DRVRDIR      = 0x0004,
	NUBUS_RESID_LOADREC      = 0x0005,
	NUBUS_RESID_BOOTREC      = 0x0006,
	NUBUS_RESID_FLAGS        = 0x0007,
	NUBUS_RESID_HWDEVID      = 0x0008,
	NUBUS_RESID_MINOR_BASEOS = 0x000a,
	NUBUS_RESID_MINOR_LENGTH = 0x000b,
	NUBUS_RESID_MAJOR_BASEOS = 0x000c,
	NUBUS_RESID_MAJOR_LENGTH = 0x000d,
	NUBUS_RESID_CICN         = 0x000f,
	NUBUS_RESID_ICL8         = 0x0010,
	NUBUS_RESID_ICL4         = 0x0011,
};

/* Category-specific resources. */
enum nubus_board_res_id {
	NUBUS_RESID_BOARDID	 = 0x0020,
	NUBUS_RESID_PRAMINITDATA = 0x0021,
	NUBUS_RESID_PRIMARYINIT	 = 0x0022,
	NUBUS_RESID_TIMEOUTCONST = 0x0023,
	NUBUS_RESID_VENDORINFO	 = 0x0024,
	NUBUS_RESID_BOARDFLAGS	 = 0x0025,
	NUBUS_RESID_SECONDINIT	 = 0x0026,

	/* Not sure why Apple put these next two in here */
	NUBUS_RESID_VIDNAMES 	 = 0x0041,
	NUBUS_RESID_VIDMODES 	 = 0x007e
};

/* Fields within the vendor info directory */
enum nubus_vendor_res_id {
	NUBUS_RESID_VEND_ID     = 0x0001,
	NUBUS_RESID_VEND_SERIAL = 0x0002,
	NUBUS_RESID_VEND_REV    = 0x0003,
	NUBUS_RESID_VEND_PART   = 0x0004,
	NUBUS_RESID_VEND_DATE   = 0x0005
};

enum nubus_net_res_id {
	NUBUS_RESID_MAC_ADDRESS  = 0x0080
};

enum nubus_cpu_res_id {
	NUBUS_RESID_MEMINFO      = 0x0081,
	NUBUS_RESID_ROMINFO      = 0x0082
};

enum nubus_display_res_id {
	NUBUS_RESID_GAMMADIR	= 0x0040,
	NUBUS_RESID_FIRSTMODE	= 0x0080,
	NUBUS_RESID_SECONDMODE	= 0x0081,
	NUBUS_RESID_THIRDMODE	= 0x0082,
	NUBUS_RESID_FOURTHMODE	= 0x0083,
	NUBUS_RESID_FIFTHMODE	= 0x0084,
	NUBUS_RESID_SIXTHMODE	= 0x0085
};

struct nubus_dir
{
	unsigned char *base;
	unsigned char *ptr;
	int done;
	int mask;
};

struct nubus_dirent
{
	unsigned char *base;
	unsigned char type;
	__u32 data;	/* Actually 24bits used */
	int mask;
};

struct nubus_board {
	struct nubus_board* next;
	struct nubus_dev* first_dev;
	
        /* Only 9-E actually exist, though 0-8 are also theoretically
	   possible, and 0 is a special case which represents the
	   motherboard and onboard peripherals (Ethernet, video) */
	int slot;
	/* For slot 0, this is bogus. */
	char name[64];

	/* Format block */
	unsigned char* fblock;
	/* Root directory (does *not* always equal fblock + doffset!) */
	unsigned char* directory;
	
	unsigned long slot_addr;
	/* Offset to root directory (sometimes) */
	unsigned long doffset;
	/* Length over which to compute the crc */
	unsigned long rom_length;
	/* Completely useless most of the time */
	unsigned long crc;
	unsigned char rev;
	unsigned char format;
	unsigned char lanes;
};

struct nubus_dev {
	/* Next link in device list */
	struct nubus_dev* next;
	/* Directory entry in /proc/bus/nubus */
	struct proc_dir_entry* procdir;

	/* The functional resource ID of this device */
	unsigned char resid;
	/* These are mostly here for convenience; we could always read
	   them from the ROMs if we wanted to */
	unsigned short category;
	unsigned short type;
	unsigned short dr_sw;
	unsigned short dr_hw;
	/* This is the device's name rather than the board's.
	   Sometimes they are different.  Usually the board name is
	   more correct. */
	char name[64];
	/* MacOS driver (I kid you not) */
	unsigned char* driver;
	/* Actually this is an offset */
	unsigned long iobase;
	unsigned long iosize;
	unsigned char flags, hwdevid;
	
	/* Functional directory */
	unsigned char* directory;
	/* Much of our info comes from here */
	struct nubus_board* board;
};

/* This is all NuBus devices (used to find devices later on) */
extern struct nubus_dev* nubus_devices;
/* This is all NuBus cards */
extern struct nubus_board* nubus_boards;

/* Generic NuBus interface functions, modelled after the PCI interface */
void nubus_scan_bus(void);
extern void nubus_proc_init(void);
int get_nubus_list(char *buf);
int nubus_proc_attach_device(struct nubus_dev *dev);
int nubus_proc_detach_device(struct nubus_dev *dev);
/* If we need more precision we can add some more of these */
struct nubus_dev* nubus_find_device(unsigned short category,
				    unsigned short type,
				    unsigned short dr_hw,
				    unsigned short dr_sw,
				    const struct nubus_dev* from);
struct nubus_dev* nubus_find_type(unsigned short category,
				  unsigned short type,
				  const struct nubus_dev* from);
/* Might have more than one device in a slot, you know... */
struct nubus_dev* nubus_find_slot(unsigned int slot,
				  const struct nubus_dev* from);

/* These are somewhat more NuBus-specific.  They all return 0 for
   success and -1 for failure, as you'd expect. */

/* The root directory which contains the board and functional
   directories */
int nubus_get_root_dir(const struct nubus_board* board,
		       struct nubus_dir* dir);
/* The board directory */
int nubus_get_board_dir(const struct nubus_board* board,
			struct nubus_dir* dir);
/* The functional directory */
int nubus_get_func_dir(const struct nubus_dev* dev,
		       struct nubus_dir* dir);

/* These work on any directory gotten via the above */
int nubus_readdir(struct nubus_dir* dir,
		  struct nubus_dirent* ent);
int nubus_find_rsrc(struct nubus_dir* dir,
		    unsigned char rsrc_type,
		    struct nubus_dirent* ent);
int nubus_rewinddir(struct nubus_dir* dir);

/* Things to do with directory entries */
int nubus_get_subdir(const struct nubus_dirent* ent,
		     struct nubus_dir* dir);
void nubus_get_rsrc_mem(void* dest,
			const struct nubus_dirent *dirent,
			int len);
void nubus_get_rsrc_str(void* dest,
			const struct nubus_dirent *dirent,
			int maxlen);

/* We'd like to get rid of this eventually.  Only daynaport.c uses it now. */
static inline void *nubus_slot_addr(int slot)
{
	return (void *)(0xF0000000|(slot<<24));
}

#endif /* LINUX_NUBUS_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕制服丝袜一区二区三区 | 精品一区二区三区蜜桃| 激情综合网天天干| 欧美日韩五月天| 国产精品麻豆99久久久久久| 日韩国产欧美一区二区三区| 91看片淫黄大片一级在线观看| 精品国产91亚洲一区二区三区婷婷 | 欧美日韩在线电影| 国产精品久久久久久亚洲毛片| 麻豆91精品视频| 欧美三电影在线| 自拍偷拍亚洲综合| 大白屁股一区二区视频| 久久亚洲影视婷婷| 日韩高清不卡一区二区| 欧美日韩一区二区三区在线看| 中文字幕中文字幕中文字幕亚洲无线| 激情综合一区二区三区| 日韩一区二区三区四区五区六区| 一级女性全黄久久生活片免费| fc2成人免费人成在线观看播放| 亚洲精品一线二线三线无人区| 日韩专区在线视频| 欧美人与禽zozo性伦| 亚洲国产日韩在线一区模特| 欧美综合色免费| 亚洲一区二区三区四区在线| 91久久精品一区二区二区| 亚洲欧美日韩综合aⅴ视频| 一本一道综合狠狠老| 亚洲三级在线免费观看| 91精品福利视频| 一区二区三区在线视频免费 | 欧美成人video| 久久国产精品色婷婷| 精品国产亚洲在线| 成人美女视频在线观看18| 欧美韩国日本不卡| 一本色道久久综合精品竹菊| 亚洲自拍都市欧美小说| 欧美精品 国产精品| 久久电影国产免费久久电影| 精品国产成人在线影院| 国产成+人+日韩+欧美+亚洲 | 久久精品一区蜜桃臀影院| 国产不卡在线播放| |精品福利一区二区三区| 欧美自拍偷拍午夜视频| 免费人成精品欧美精品 | 91精品国产美女浴室洗澡无遮挡| 日韩精品久久理论片| 日韩免费高清视频| 成人禁用看黄a在线| 亚洲精品国产第一综合99久久| 69堂亚洲精品首页| 国产99久久久久久免费看农村| 亚洲欧美日韩国产手机在线 | 国产区在线观看成人精品| 成人av在线观| 亚洲福利视频一区二区| 欧美精品一区二区在线播放 | 尤物视频一区二区| 91精品国产日韩91久久久久久| 国产福利91精品一区| 亚洲综合无码一区二区| 精品国产乱码久久久久久图片| 不卡一区中文字幕| 麻豆一区二区三| 亚洲乱码国产乱码精品精小说| 日韩一区二区免费高清| 91一区二区在线| 久久精品久久99精品久久| 亚洲三级理论片| 久久久久综合网| 91麻豆精品国产91久久久更新时间 | 国产精品第五页| 日韩精品资源二区在线| 色视频一区二区| 国内精品免费在线观看| 亚洲韩国精品一区| 欧美高清一级片在线观看| 69堂成人精品免费视频| 日本高清无吗v一区| 成人午夜在线视频| 久久爱www久久做| 三级在线观看一区二区| 综合久久给合久久狠狠狠97色 | 91免费版在线| 国产一区二区三区久久悠悠色av| 亚洲成人av在线电影| 综合婷婷亚洲小说| 国产精品三级av在线播放| 日韩精品综合一本久道在线视频| 欧美日韩激情在线| 欧美午夜一区二区| 99re热这里只有精品视频| 国产精品一级片| 国产一区二区不卡在线| 美女在线一区二区| 日产欧产美韩系列久久99| 亚洲高清免费观看 | 日韩毛片在线免费观看| 国产清纯在线一区二区www| 欧美精品一区二区三区蜜桃视频| 欧美日韩国产大片| 欧美日韩电影在线播放| 欧美视频日韩视频| 欧美中文字幕亚洲一区二区va在线| 不卡视频在线观看| www.欧美色图| 91香蕉视频在线| 91国偷自产一区二区开放时间| 91啪亚洲精品| 色狠狠av一区二区三区| 在线视频中文字幕一区二区| 在线免费观看一区| 欧美日韩久久一区二区| 欧美日韩国产首页| 日韩欧美国产精品一区| 精品对白一区国产伦| 久久久亚洲综合| 国产精品免费免费| 一区二区三区免费在线观看| 一区二区三区不卡视频在线观看| 亚洲国产精品一区二区www| 香蕉久久一区二区不卡无毒影院 | 日韩一卡二卡三卡| 亚洲精品一区二区三区在线观看| 国产欧美一区二区三区鸳鸯浴 | 亚洲欧美日韩在线| 亚洲第一主播视频| 久久99热狠狠色一区二区| 狠狠色丁香婷婷综合| 国产精品自拍网站| 色综合久久久久网| 欧美一区二区三区色| 国产亚洲一本大道中文在线| 国产精品久久久一本精品| 亚洲精品老司机| 久久99精品网久久| av爱爱亚洲一区| 在线91免费看| 日本一区二区三区在线不卡| 亚洲在线视频一区| 国精产品一区一区三区mba视频| 99久久99久久精品免费看蜜桃 | 肉色丝袜一区二区| 国产乱国产乱300精品| 日本大香伊一区二区三区| 日韩一区二区视频| 中文字幕在线播放不卡一区| 视频一区视频二区中文字幕| 国产精品99精品久久免费| 欧美亚洲日本一区| 久久久精品国产免费观看同学| 亚洲精品视频观看| 国产一区二区三区最好精华液| 色999日韩国产欧美一区二区| 久久久综合激的五月天| 亚洲电影欧美电影有声小说| 成人一级片在线观看| 欧美一区二区三区播放老司机 | 国产精品久久三区| 美女性感视频久久| 欧洲一区在线观看| 国产女人18毛片水真多成人如厕 | 久久精品视频一区| 婷婷开心激情综合| 一本久久精品一区二区| 26uuu精品一区二区在线观看| 亚洲成人午夜电影| 91香蕉视频mp4| 国产欧美精品一区二区色综合| 日韩av一区二区三区| 欧美综合天天夜夜久久| 国产精品免费久久| 国产福利精品导航| 精品精品国产高清a毛片牛牛 | 亚洲一区二区三区影院| bt7086福利一区国产| 日韩免费视频一区二区| 图片区小说区国产精品视频| 97se亚洲国产综合在线| 国产蜜臀av在线一区二区三区| 国内精品在线播放| 精品少妇一区二区三区视频免付费 | 成人国产亚洲欧美成人综合网| 日韩精品一区二区在线| 欧美aaa在线| 欧美一区二区不卡视频| 亚洲成av人片观看| 欧美精品高清视频| 日韩高清不卡在线| 日韩一区二区在线看| 青青青爽久久午夜综合久久午夜| 欧美日韩一级视频| 日本不卡123| 精品少妇一区二区三区免费观看| 免费成人深夜小野草|