5 #define VERSION ( (0<<8)| 5 )
14 extern void USB_PollThread(void *unused);
15 extern void USB_AsyncThread(void *Unused);
16 extern void USB_PortCtl_Init(void);
19 int USB_Install(char **Arguments);
20 void USB_Cleanup(void);
21 int USB_ReadDir(tVFS_Node *Node, int Pos, char Dest[FILENAME_MAX]);
22 tVFS_Node *USB_FindDir(tVFS_Node *Node, const char *Name);
23 int USB_IOCtl(tVFS_Node *Node, int Id, void *Data);
26 MODULE_DEFINE(0, VERSION, USB_Core, USB_Install, NULL, NULL);
27 tVFS_NodeType gUSB_RootNodeType = {
28 .ReadDir = USB_ReadDir,
29 .FindDir = USB_FindDir,
32 tDevFS_Driver gUSB_DrvInfo = {
35 .ACLs = &gVFS_ACL_EveryoneRX,
36 .Flags = VFS_FFLAG_DIRECTORY,
37 .Type = &gUSB_RootNodeType
43 * \brief Called once module is loaded
45 int USB_Install(char **Arguments)
48 Proc_SpawnWorker(USB_PollThread, NULL);
49 Proc_SpawnWorker(USB_AsyncThread, NULL);
55 * \brief Called just before module is unloaded
62 * \fn char *USB_ReadDir(tVFS_Node *Node, int Pos)
63 * \brief Read from the USB root
65 int USB_ReadDir(tVFS_Node *Node, int Pos, char Dest[FILENAME_MAX])
71 * \fn tVFS_Node *USB_FindDir(tVFS_Node *Node, const char *Name)
72 * \brief Locate an entry in the USB root
74 tVFS_Node *USB_FindDir(tVFS_Node *Node, const char *Name)
80 * \brief Handles IOCtl Calls to the USB driver
82 int USB_IOCtl(tVFS_Node *Node, int Id, void *Data)