Modules/IPStack - Fix UDP checksums, logging cleanup
[tpg/acess2.git] / UDI / drivers / net_ne2000 / ne2000_common.h
index 739bafe..b6a1689 100644 (file)
 
 #define ARRAY_SIZEOF(arr)      (sizeof(arr)/sizeof(arr[0]))
 
+enum {
+       NE2K_PIO_RESET,
+       NE2K_PIO_ENABLE,
+       NE2K_PIO_RX,
+       NE2K_PIO_IRQACK,
+       NE2K_PIO_TX,
+       N_NE2K_PIO
+};
+
 typedef struct
 {
        udi_init_context_t      init_context;
@@ -31,11 +40,15 @@ typedef struct
                udi_index_t     rx_chan_index;
        } init;
        
-       udi_pio_handle_t        pio_handles[4];
+       udi_pio_handle_t        pio_handles[N_NE2K_PIO];
        udi_channel_t   interrupt_channel;
        udi_channel_t   rx_channel;
        udi_channel_t   tx_channel;
        
+       udi_nic_rx_cb_t *rx_next_cb;
+       udi_nic_rx_cb_t *rx_last_cb;
+       udi_ubit8_t     rx_next_page;
+       
        udi_ubit8_t     macaddr[6];
 } ne2k_rdata_t;
 
@@ -86,6 +99,7 @@ extern udi_channel_spawn_call_t       ne2k_nd_ctrl_bind__tx_chan_ok;
 extern udi_channel_spawn_call_t        ne2k_nd_ctrl_bind__rx_chan_ok;
 extern udi_nd_unbind_req_op_t  ne2k_nd_ctrl_unbind_req;
 extern udi_nd_enable_req_op_t  ne2k_nd_ctrl_enable_req;
+extern udi_pio_trans_call_t    ne2k_nd_ctrl_enable_req__trans_done;
 extern udi_nd_disable_req_op_t ne2k_nd_ctrl_disable_req;
 extern udi_nd_ctrl_req_op_t    ne2k_nd_ctrl_ctrl_req;
 extern udi_nd_info_req_op_t    ne2k_nd_ctrl_info_req;

UCC git Repository :: git.ucc.asn.au