- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
ieee1394_hotplug.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:
Linux/Unix编程
开发平台:
Unix_Linux
- #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 0x0008
- struct 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 */