X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=UDI%2Fdrivers%2Fnet_ne2000%2Fne2000_common.h;h=bfa27ea68a318feaba181bc3521d6a981c618834;hb=729aa1c3613994659bce0394f3548d351eafea2a;hp=bfbdeeb3b431051949c159a700792434d4afcbe5;hpb=9da18f07fef93afbb070146c55ed435b0355f276;p=tpg%2Facess2.git diff --git a/UDI/drivers/net_ne2000/ne2000_common.h b/UDI/drivers/net_ne2000/ne2000_common.h index bfbdeeb3..bfa27ea6 100644 --- a/UDI/drivers/net_ne2000/ne2000_common.h +++ b/UDI/drivers/net_ne2000/ne2000_common.h @@ -9,8 +9,26 @@ #define _NE2000_COMMON_H_ #include +#include #include +#include "ne2000_hw.h" + +#define ARRAY_SIZEOF(arr) (sizeof(arr)/sizeof(arr[0])) + +typedef struct +{ + udi_init_context_t init_context; + + struct + { + udi_index_t pio_index; + } init; + + udi_pio_handle_t pio_handles[1]; + udi_ubit8_t macaddr[6]; +} ne2k_rdata_t; + // === MACROS === /* Copied from http://projectudi.cvs.sourceforge.net/viewvc/projectudi/udiref/driver/udi_dpt/udi_dpt.h */ #define DPT_SET_ATTR_BOOLEAN(attr, name, val) \ @@ -36,9 +54,14 @@ (attr)->attr_type = UDI_ATTR_STRING; \ (attr)->attr_length = (len); \ udi_strncpy_rtrim((char *)(attr)->attr_value, (val), (len)) +#define NE2K_SET_ATTR_STRFMT(attr, name, maxlen, fmt, v...) \ + udi_strcpy((attr)->attr_name, (name)); \ + (attr)->attr_type = UDI_ATTR_STRING; \ + (attr)->attr_length = udi_snprintf((char *)(attr)->attr_value, (maxlen), (fmt) ,## v ) extern udi_channel_event_ind_op_t ne2k_bus_dev_channel_event_ind; extern udi_bus_bind_ack_op_t ne2k_bus_dev_bus_bind_ack; +extern udi_pio_map_call_t ne2k_bus_dev_bind__pio_map; extern udi_bus_unbind_ack_op_t ne2k_bus_dev_bus_unbind_ack; extern udi_intr_attach_ack_op_t ne2k_bus_dev_intr_attach_ack; extern udi_intr_detach_ack_op_t ne2k_bus_dev_intr_detach_ack;