diff options
| author | 2008-04-23 17:44:36 -0700 | |
|---|---|---|
| committer | 2008-04-23 17:44:36 -0700 | |
| commit | 0ea462ae9895ca903c8d3134910c06e1869560c4 (patch) | |
| tree | c1b72a170cfca14c1b9cccd552e5cadc249bd483 /juju/juju.h | |
| parent | Fix configure.ac missing fi after initial merge. (diff) | |
First cut at integrating juju
This is currently working with legacy ieee1394 and tools/testlibraw.
Diffstat (limited to 'juju/juju.h')
| -rw-r--r-- | juju/juju.h | 120 |
1 files changed, 118 insertions, 2 deletions
diff --git a/juju/juju.h b/juju/juju.h index 8746ac2..fc0eba1 100644 --- a/juju/juju.h +++ b/juju/juju.h @@ -52,6 +52,8 @@ cpu_to_be32(__u32 q) #define MAX_PORTS 16 +struct fw_handle; + struct epoll_closure { int (*func)(raw1394handle_t handle, struct epoll_closure *closure, __uint32_t events); @@ -84,12 +86,12 @@ struct request_closure { struct allocation; -struct raw1394_handle { +struct fw_handle { struct port ports[MAX_PORTS]; int port_count; int err; int generation; - void *user_data; + void *userdata; int notify_bus_reset; bus_reset_handler_t bus_reset_handler; @@ -137,5 +139,119 @@ struct raw1394_handle { char buffer[BUFFER_SIZE]; }; +typedef struct fw_handle *fw_handle_t; + +int fw_loop_iterate(raw1394handle_t handle); +fw_handle_t fw_new_handle(void); +void fw_destroy_handle(fw_handle_t handle); +fw_handle_t fw_new_handle_on_port(int port); +int fw_busreset_notify (fw_handle_t handle, int off_on_switch); +int fw_get_fd(fw_handle_t handle); +nodeid_t fw_get_local_id(fw_handle_t handle); +nodeid_t fw_get_irm_id(fw_handle_t handle); +int fw_get_nodecount(fw_handle_t handle); +int fw_get_port_info(fw_handle_t handle, struct raw1394_portinfo *pinf, + int maxports); +int fw_set_port(fw_handle_t handle, int port); +int fw_reset_bus_new(fw_handle_t handle, int type); +int fw_arm_register(fw_handle_t handle, nodeaddr_t start, + size_t length, byte_t *initial_value, + octlet_t arm_tag, arm_options_t access_rights, + arm_options_t notification_options, + arm_options_t client_transactions); +int fw_arm_unregister(fw_handle_t handle, nodeaddr_t start); +int fw_arm_set_buf(fw_handle_t handle, nodeaddr_t start, + size_t length, void *buf); +int fw_arm_get_buf(fw_handle_t handle, nodeaddr_t start, + size_t length, void *buf); +int fw_echo_request(fw_handle_t handle, quadlet_t data); +int fw_wake_up(fw_handle_t handle); +int fw_phy_packet_write (fw_handle_t handle, quadlet_t data); +int fw_start_phy_packet_write(fw_handle_t handle, + quadlet_t data, unsigned long tag); +int fw_start_read(fw_handle_t handle, nodeid_t node, nodeaddr_t addr, + size_t length, quadlet_t *buffer, unsigned long tag); +int fw_start_write(fw_handle_t handle, nodeid_t node, nodeaddr_t addr, + size_t length, quadlet_t *data, unsigned long tag); +int fw_start_lock(fw_handle_t handle, nodeid_t node, nodeaddr_t addr, + unsigned int extcode, quadlet_t data, quadlet_t arg, + quadlet_t *result, unsigned long tag); +int fw_start_lock64(fw_handle_t handle, nodeid_t node, nodeaddr_t addr, + unsigned int extcode, octlet_t data, octlet_t arg, + octlet_t *result, unsigned long tag); +int fw_start_async_stream(fw_handle_t handle, unsigned int channel, + unsigned int tag, unsigned int sy, + unsigned int speed, size_t length, quadlet_t *data, + unsigned long rawtag); +int fw_start_async_send(fw_handle_t handle, + size_t length, size_t header_length, + unsigned int expect_response, + quadlet_t *data, unsigned long rawtag); +int fw_read(raw1394handle_t handle, nodeid_t node, nodeaddr_t addr, + size_t length, quadlet_t *buffer); +int fw_write(raw1394handle_t handle, nodeid_t node, nodeaddr_t addr, + size_t length, quadlet_t *data); +int fw_lock(raw1394handle_t handle, nodeid_t node, nodeaddr_t addr, + unsigned int extcode, quadlet_t data, quadlet_t arg, + quadlet_t *result); +int fw_lock64(raw1394handle_t handle, nodeid_t node, nodeaddr_t addr, + unsigned int extcode, octlet_t data, octlet_t arg, + octlet_t *result); +int fw_async_stream(fw_handle_t handle, unsigned int channel, + unsigned int tag, unsigned int sy, unsigned int speed, + size_t length, quadlet_t *data); +int fw_async_send(fw_handle_t handle, + size_t length, size_t header_length, + unsigned int expect_response, + quadlet_t *data); +int fw_start_fcp_listen(fw_handle_t handle); +int fw_stop_fcp_listen(fw_handle_t handle); +int fw_update_config_rom(fw_handle_t handle, const quadlet_t *new_rom, + size_t size, unsigned char rom_version); +int fw_get_config_rom(fw_handle_t handle, quadlet_t *buffer, + size_t buffersize, size_t *rom_size, + unsigned char *rom_version); +int fw_bandwidth_modify (raw1394handle_t handle, + unsigned int bandwidth, + enum raw1394_modify_mode mode); +int fw_channel_modify (raw1394handle_t handle, + unsigned int channel, + enum raw1394_modify_mode mode); + +int fw_iso_xmit_start(raw1394handle_t handle, int start_on_cycle, + int prebuffer_packets); +int fw_iso_recv_start(fw_handle_t handle, int start_on_cycle, + int tag_mask, int sync); +int fw_iso_xmit_write(raw1394handle_t handle, unsigned char *data, + unsigned int len, unsigned char tag, + unsigned char sy); +int fw_iso_xmit_sync(raw1394handle_t handle); +int fw_iso_recv_flush(fw_handle_t handle); +int fw_iso_xmit_init(fw_handle_t handle, + raw1394_iso_xmit_handler_t handler, + unsigned int buf_packets, + unsigned int max_packet_size, + unsigned char channel, + enum raw1394_iso_speed speed, + int irq_interval); +int fw_iso_recv_init(fw_handle_t handle, + raw1394_iso_recv_handler_t handler, + unsigned int buf_packets, + unsigned int max_packet_size, + unsigned char channel, + enum raw1394_iso_dma_recv_mode mode, + int irq_interval); +int fw_iso_multichannel_recv_init(fw_handle_t handle, + raw1394_iso_recv_handler_t handler, + unsigned int buf_packets, + unsigned int max_packet_size, + int irq_interval); +int fw_iso_recv_listen_channel(fw_handle_t handle, + unsigned char channel); +int fw_iso_recv_unlisten_channel(fw_handle_t handle, + unsigned char channel); +int fw_iso_recv_set_channel_mask(fw_handle_t handle, u_int64_t mask); +void fw_iso_stop(fw_handle_t handle); +void fw_iso_shutdown(fw_handle_t handle); #endif |
