ieee1394_hotplug.h

来自「idt mips 32365上面移植实现的iee1394驱动程序」· C头文件 代码 · 共 77 行

H
77
字号
#ifndef _IEEE1394_HOTPLUG_H#define _IEEE1394_HOTPLUG_H#include "ieee1394_core.h"#include "nodemgr.h"#define IEEE1394_MATCH_VENDOR_ID	0x0001#define IEEE1394_MATCH_MODEL_ID		0x0002#define IEEE1394_MATCH_SPECIFIER_ID	0x0004#define IEEE1394_MATCH_VERSION		0x0008struct ieee1394_device_id {	u32 match_flags;	u32 vendor_id;	u32 model_id;	u32 specifier_id;	u32 version;	void *driver_data;};struct hpsb_protocol_driver {	/* The name of the driver, e.g. SBP2 or IP1394 */	const char *name;	/* 	 * The device id table describing the protocols and/or devices	 * supported by this driver.  This is used by the nodemgr to	 * decide if a driver could support a given node, but the	 * probe function below can implement further protocol	 * dependent or vendor dependent checking.	 */	struct ieee1394_device_id *id_table;	/* 	 * The probe function is called when a device is added to the	 * bus and the nodemgr finds a matching entry in the drivers	 * device id table or when registering this driver and a	 * previously unhandled device can be handled.  The driver may	 * decline to handle the device based on further investigation	 * of the device (or whatever reason) in which case a negative	 * error code should be returned, otherwise 0 should be	 * returned. The driver may use the driver_data field in the	 * unit directory to store per device driver specific data.	 */	int (*probe)(struct unit_directory *ud);	/* 	 * The disconnect function is called when a device is removed	 * from the bus or if it wasn't possible to read the guid	 * after the last bus reset.	 */	void (*disconnect)(struct unit_directory *ud);	/* 	 * The update function is called when the node has just	 * survived a bus reset, i.e. it is still present on the bus.	 * However, it may be necessary to reestablish the connection	 * or login into the node again, depending on the protocol.	 */	void (*update)(struct unit_directory *ud);	/* Driver in list of all registered drivers */	struct list_head list;	/* The list of unit directories managed by this driver */	struct list_head unit_directories;};int hpsb_register_protocol(struct hpsb_protocol_driver *driver);void hpsb_unregister_protocol(struct hpsb_protocol_driver *driver);int hpsb_claim_unit_directory(struct unit_directory *ud,			      struct hpsb_protocol_driver *driver);void hpsb_release_unit_directory(struct unit_directory *ud);#endif /* _IEEE1394_HOTPLUG_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?