41 #ifndef R_ETHER_RZA2_IF_H 42 #define R_ETHER_RZA2_IF_H 49 #include "r_ether_rza2_config.h" 50 #include "src/phy/phy.h" 59 #define ETHER_RZA2_VERSION_MAJOR (1) 60 #define ETHER_RZA2_VERSION_MINOR (0) 63 #define ETHER_NO_DATA (0) 66 #define ETHER_FLAG_OFF (0) 67 #define ETHER_FLAG_ON (1) 68 #define ETHER_FLAG_ON_LINK_ON (3) 69 #define ETHER_FLAG_ON_LINK_OFF (2) 72 #define ETHER_CHANNEL_0 (0) 73 #define ETHER_CHANNEL_1 (1) 75 #define ETHER_CHANNEL_MAX (ETHER_CH0_EN + ETHER_CH1_EN) 83 ETHER_ERR_INVALID_PTR = -1,
84 ETHER_ERR_INVALID_DATA = -2,
85 ETHER_ERR_INVALID_CHAN = -3,
86 ETHER_ERR_INVALID_ARG = -4,
90 ETHER_ERR_CHAN_OPEN = -8,
91 ETHER_ERR_MC_FRAME = -9,
92 ETHER_ERR_RECV_ENABLE = -10,
98 ETHER_CB_EVENT_ID_WAKEON_LAN,
99 ETHER_CB_EVENT_ID_LINK_ON,
100 ETHER_CB_EVENT_ID_LINK_OFF,
105 void (*pcb_func)(
void *);
106 void (*pcb_int_hnd)(
void *);
112 ether_cb_event_t event_id;
113 uint32_t status_ecsr;
114 uint32_t status_eesr;
119 CONTROL_SET_CALLBACK,
120 CONTROL_SET_PROMISCUOUS_MODE,
121 CONTROL_SET_INT_HANDLER,
124 CONTROL_MULTICASTFRAME_FILTER,
125 CONTROL_BROADCASTFRAME_FILTER
129 ETHER_PROMISCUOUS_OFF,
131 } ether_promiscuous_bit_t;
140 ether_promiscuous_bit_t bit;
145 ether_mc_filter_t flag;
155 ether_cb_t ether_callback;
157 ether_cb_t ether_int_hnd;
170 extern void R_ETHER_Initial(
void);
171 extern ether_return_t R_ETHER_Open_ZC2(uint32_t channel,
const uint8_t mac_addr[], uint8_t pause);
172 extern ether_return_t R_ETHER_Close_ZC2(uint32_t channel);
173 extern int32_t R_ETHER_Read(uint32_t channel,
void *
pbuf);
174 extern int32_t R_ETHER_Read_ZC2(uint32_t channel,
void **pbuf);
175 extern int32_t R_ETHER_Read_ZC2_BufRelease(uint32_t channel);
176 extern ether_return_t R_ETHER_Write(uint32_t channel,
void *pbuf, uint32_t len);
177 extern ether_return_t R_ETHER_Write_ZC2_GetBuf(uint32_t channel,
void **pbuf, uint16_t *pbuf_size);
178 extern ether_return_t R_ETHER_Write_ZC2_SetBuf(uint32_t channel,
const uint32_t len);
179 extern ether_return_t R_ETHER_CheckLink_ZC(uint32_t channel);
180 extern void R_ETHER_LinkProcess(uint32_t channel);
181 extern ether_return_t R_ETHER_WakeOnLAN(uint32_t channel);
182 extern ether_return_t R_ETHER_CheckWrite(uint32_t channel);
183 extern ether_return_t R_ETHER_Control(ether_cmd_t
const cmd,
ether_param_t const control);
184 extern uint32_t R_ETHER_GetVersion(
void);
Main packet buffer struct.