22 #define EOE_DNS_NAME_LENGTH 32 24 #define EOE_ETHADDR_LENGTH 6 26 #define EOE_MAKEU32(a,b,c,d) (((uint32_t)((a) & 0xff) << 24) | \ 27 ((uint32_t)((b) & 0xff) << 16) | \ 28 ((uint32_t)((c) & 0xff) << 8) | \ 29 (uint32_t)((d) & 0xff)) 31 #if !defined(EC_BIG_ENDIAN) && defined(EC_LITTLE_ENDIAN) 33 #define EOE_HTONS(x) ((((x) & 0x00ffUL) << 8) | (((x) & 0xff00UL) >> 8)) 34 #define EOE_NTOHS(x) EOE_HTONS(x) 35 #define EOE_HTONL(x) ((((x) & 0x000000ffUL) << 24) | \ 36 (((x) & 0x0000ff00UL) << 8) | \ 37 (((x) & 0x00ff0000UL) >> 8) | \ 38 (((x) & 0xff000000UL) >> 24)) 39 #define EOE_NTOHL(x) EOE_HTONL(x) 41 #define EOE_HTONS(x) (x) 42 #define EOE_NTOHS(x) (x) 43 #define EOE_HTONL(x) (x) 44 #define EOE_NTOHL(x) (x) 48 #define eoe_ip4_addr1(ipaddr) (((const uint8_t*)(&(ipaddr)->addr))[0]) 49 #define eoe_ip4_addr2(ipaddr) (((const uint8_t*)(&(ipaddr)->addr))[1]) 50 #define eoe_ip4_addr3(ipaddr) (((const uint8_t*)(&(ipaddr)->addr))[2]) 51 #define eoe_ip4_addr4(ipaddr) (((const uint8_t*)(&(ipaddr)->addr))[3]) 54 #define EOE_IP4_ADDR_TO_U32(ipaddr,a,b,c,d) \ 55 (ipaddr)->addr = EOE_HTONL(EOE_MAKEU32(a,b,c,d)) 58 #define EOE_HDR_FRAME_TYPE_OFFSET 0 59 #define EOE_HDR_FRAME_TYPE (0xF << 0) 60 #define EOE_HDR_FRAME_TYPE_SET(x) (((x) & 0xF) << 0) 61 #define EOE_HDR_FRAME_TYPE_GET(x) (((x) >> 0) & 0xF) 62 #define EOE_HDR_FRAME_PORT_OFFSET 4 63 #define EOE_HDR_FRAME_PORT (0xF << 4) 64 #define EOE_HDR_FRAME_PORT_SET(x) (((x) & 0xF) << 4) 65 #define EOE_HDR_FRAME_PORT_GET(x) (((x) >> 4) & 0xF) 66 #define EOE_HDR_LAST_FRAGMENT_OFFSET 8 67 #define EOE_HDR_LAST_FRAGMENT (0x1 << 8) 68 #define EOE_HDR_LAST_FRAGMENT_SET(x) (((x) & 0x1) << 8) 69 #define EOE_HDR_LAST_FRAGMENT_GET(x) (((x) >> 8) & 0x1) 70 #define EOE_HDR_TIME_APPEND_OFFSET 9 71 #define EOE_HDR_TIME_APPEND (0x1 << 9) 72 #define EOE_HDR_TIME_APPEND_SET(x) (((x) & 0x1) << 9) 73 #define EOE_HDR_TIME_APPEND_GET(x) (((x) >> 9) & 0x1) 74 #define EOE_HDR_TIME_REQUEST_OFFSET 10 75 #define EOE_HDR_TIME_REQUEST (0x1 << 10) 76 #define EOE_HDR_TIME_REQUEST_SET(x) (((x) & 0x1) << 10) 77 #define EOE_HDR_TIME_REQUEST_GET(x) (((x) >> 10) & 0x1) 80 #define EOE_HDR_FRAG_NO_OFFSET 0 81 #define EOE_HDR_FRAG_NO (0x3F << 0) 82 #define EOE_HDR_FRAG_NO_SET(x) (((x) & 0x3F) << 0) 83 #define EOE_HDR_FRAG_NO_GET(x) (((x) >> 0) & 0x3F) 84 #define EOE_HDR_FRAME_OFFSET_OFFSET 6 85 #define EOE_HDR_FRAME_OFFSET (0x3F << 6) 86 #define EOE_HDR_FRAME_OFFSET_SET(x) (((x) & 0x3F) << 6) 87 #define EOE_HDR_FRAME_OFFSET_GET(x) (((x) >> 6) & 0x3F) 88 #define EOE_HDR_FRAME_NO_OFFSET 12 89 #define EOE_HDR_FRAME_NO (0xF << 12) 90 #define EOE_HDR_FRAME_NO_SET(x) (((x) & 0xF) << 12) 91 #define EOE_HDR_FRAME_NO_GET(x) (((x) >> 12) & 0xF) 94 #define EOE_PARAM_OFFSET 4 95 #define EOE_PARAM_MAC_INCLUDE (0x1 << 0) 96 #define EOE_PARAM_IP_INCLUDE (0x1 << 1) 97 #define EOE_PARAM_SUBNET_IP_INCLUDE (0x1 << 2) 98 #define EOE_PARAM_DEFAULT_GATEWAY_INCLUDE (0x1 << 3) 99 #define EOE_PARAM_DNS_IP_INCLUDE (0x1 << 4) 100 #define EOE_PARAM_DNS_NAME_INCLUDE (0x1 << 5) 103 #define EOE_FRAG_DATA 0 104 #define EOE_INIT_RESP_TIMESTAMP 1 105 #define EOE_INIT_REQ 2 106 #define EOE_INIT_RESP 3 107 #define EOE_SET_ADDR_FILTER_REQ 4 108 #define EOE_SET_ADDR_FILTER_RESP 5 109 #define EOE_GET_IP_PARAM_REQ 6 110 #define EOE_GET_IP_PARAM_RESP 7 111 #define EOE_GET_ADDR_FILTER_REQ 8 112 #define EOE_GET_ADDR_FILTER_RESP 9 115 #define EOE_RESULT_SUCCESS 0x0000 116 #define EOE_RESULT_UNSPECIFIED_ERROR 0x0001 117 #define EOE_RESULT_UNSUPPORTED_FRAME_TYPE 0x0002 118 #define EOE_RESULT_NO_IP_SUPPORT 0x0201 119 #define EOE_RESULT_NO_DHCP_SUPPORT 0x0202 120 #define EOE_RESULT_NO_FILTER_SUPPORT 0x0401
PACKED_BEGIN struct PACKED eoe_ethaddr eoe_ethaddr_t
#define EOE_ETHADDR_LENGTH
int ecx_EOEreadfragment(ec_mbxbuft *MbxIn, uint8 *rxfragmentno, uint16 *rxframesize, uint16 *rxframeoffset, uint16 *rxframeno, int *psize, void *p)
int ecx_EOEsend(ecx_contextt *context, uint16 slave, uint8 port, int psize, void *p, int timeout)
General typedefs and defines for EtherCAT.
PACKED_END int ecx_EOEdefinehook(ecx_contextt *context, void *hook)
int ecx_EOEgetIp(ecx_contextt *context, uint16 slave, uint8 port, eoe_param_t *ipparam, int timeout)
int ecx_EOErecv(ecx_contextt *context, uint16 slave, uint8 port, int *psize, void *p, int timeout)
PACKED_BEGIN struct PACKED ec_EOEt
int ecx_EOEsetIp(ecx_contextt *context, uint16 slave, uint8 port, eoe_param_t *ipparam, int timeout)
eoe_ip4_addr_t default_gateway
#define EOE_DNS_NAME_LENGTH
PACKED_BEGIN struct PACKED ec_mbxheader ec_mbxheadert
struct eoe_ip4_addr eoe_ip4_addr_t
uint8_t default_gateway_set
PACKED_END struct eoe_param eoe_param_t
uint8 ec_mbxbuft[EC_MAXMBX+1]