work from JiSheng Zhang : firewire and ohci modules from FreeBSD current, update for fw_raw and fw_control. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22124 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -5,63 +5,61 @@
|
||||
*/
|
||||
#ifndef _FW_MODULE_H
|
||||
#define _FW_MODULE_H
|
||||
|
||||
#include <KernelExport.h>
|
||||
#include <module.h>
|
||||
#include <bus_manager.h>
|
||||
|
||||
#include "firewire.h"
|
||||
#include "firewirereg.h"
|
||||
|
||||
|
||||
#define FIREWIRE_MODULE_NAME "bus_managers/firewire/v1"
|
||||
#define MAX_CARDS 4
|
||||
|
||||
struct fw_module_info{
|
||||
|
||||
bus_manager_info binfo;
|
||||
|
||||
struct fw_device * (*fw_noderesolve_nodeid)(struct firewire_comm *fc, int dst);
|
||||
struct fw_device * (*fw_noderesolve_nodeid)(struct firewire_comm *fc, int dst);
|
||||
|
||||
struct fw_device * (*fw_noderesolve_eui64)(struct firewire_comm *fc, struct fw_eui64 *eui);
|
||||
struct fw_device * (*fw_noderesolve_eui64)(struct firewire_comm *fc, struct fw_eui64 *eui);
|
||||
|
||||
int (*fw_asyreq)(struct firewire_comm *fc, int sub, struct fw_xfer *xfer);
|
||||
int (*fw_asyreq)(struct firewire_comm *fc, int sub, struct fw_xfer *xfer);
|
||||
|
||||
void (*fw_xferwake)(struct fw_xfer *xfer);
|
||||
int (*fw_xferwait)(struct fw_xfer *xfer);
|
||||
void (*fw_xferwake)(struct fw_xfer *xfer);
|
||||
int (*fw_xferwait)(struct fw_xfer *xfer);
|
||||
|
||||
struct fw_bind * (*fw_bindlookup)(struct firewire_comm *fc, uint16_t dest_hi, uint32_t dest_lo);
|
||||
struct fw_bind * (*fw_bindlookup)(struct firewire_comm *fc, uint16_t dest_hi, uint32_t dest_lo);
|
||||
|
||||
int (*fw_bindadd)(struct firewire_comm *fc, struct fw_bind *fwb);
|
||||
|
||||
int (*fw_bindremove)(struct firewire_comm *fc, struct fw_bind *fwb);
|
||||
|
||||
int (*fw_xferlist_add)(struct fw_xferlist *q,
|
||||
int slen, int rlen, int n,
|
||||
struct firewire_comm *fc, void *sc, void (*hand)(struct fw_xfer *));
|
||||
|
||||
void (*fw_xferlist_remove)(struct fw_xferlist *q);
|
||||
|
||||
struct fw_xfer * (*fw_xfer_alloc)();
|
||||
|
||||
struct fw_xfer * (*fw_xfer_alloc_buf)(int send_len, int recv_len);
|
||||
|
||||
void (*fw_xfer_done)(struct fw_xfer *xfer);
|
||||
|
||||
void (*fw_xfer_unload)(struct fw_xfer* xfer);
|
||||
|
||||
void (*fw_xfer_free_buf)( struct fw_xfer* xfer);
|
||||
|
||||
void (*fw_xfer_free)( struct fw_xfer* xfer);
|
||||
|
||||
void (*fw_asy_callback_free)(struct fw_xfer *xfer);
|
||||
|
||||
int (*fw_open_isodma)(struct firewire_comm *fc, int tx);
|
||||
|
||||
int (*get_handle)(int socket, struct firewire_softc *handle);
|
||||
|
||||
struct fwdma_alloc_multi * (*fwdma_malloc_multiseg)(int alignment,
|
||||
int esize, int n);
|
||||
|
||||
void (*fwdma_free_multiseg)(struct fwdma_alloc_multi *);
|
||||
int (*fw_bindadd)(struct firewire_comm *fc, struct fw_bind *fwb);
|
||||
|
||||
int (*fw_bindremove)(struct firewire_comm *fc, struct fw_bind *fwb);
|
||||
|
||||
int (*fw_xferlist_add)(struct fw_xferlist *q,
|
||||
int slen, int rlen, int n,
|
||||
struct firewire_comm *fc, void *sc, void (*hand)(struct fw_xfer *));
|
||||
|
||||
void (*fw_xferlist_remove)(struct fw_xferlist *q);
|
||||
|
||||
struct fw_xfer * (*fw_xfer_alloc)();
|
||||
|
||||
struct fw_xfer * (*fw_xfer_alloc_buf)(int send_len, int recv_len);
|
||||
|
||||
void (*fw_xfer_done)(struct fw_xfer *xfer);
|
||||
|
||||
void (*fw_xfer_unload)(struct fw_xfer* xfer);
|
||||
|
||||
void (*fw_xfer_free_buf)( struct fw_xfer* xfer);
|
||||
|
||||
void (*fw_xfer_free)( struct fw_xfer* xfer);
|
||||
|
||||
void (*fw_asy_callback_free)(struct fw_xfer *xfer);
|
||||
|
||||
int (*fw_open_isodma)(struct firewire_comm *fc, int tx);
|
||||
|
||||
int (*get_handle)(int socket, struct firewire_softc **handle);
|
||||
|
||||
struct fwdma_alloc_multi * (*fwdma_malloc_multiseg)(int alignment,
|
||||
int esize, int n);
|
||||
|
||||
void (*fwdma_free_multiseg)(struct fwdma_alloc_multi *);
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user