Go to the documentation of this file.
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
uint8_t default_gateway_set
char dns_name[EOE_DNS_NAME_LENGTH]
int ecx_EOEreadfragment(ec_mbxbuft *MbxIn, uint8 *rxfragmentno, uint16 *rxframesize, uint16 *rxframeoffset, uint16 *rxframeno, int *psize, void *p)
uint8 ec_mbxbuft[EC_MAXMBX+1]
int ecx_EOEsend(ecx_contextt *context, uint16 slave, uint8 port, int psize, void *p, int timeout)
PACKED_BEGIN struct PACKED ec_mbxheader ec_mbxheadert
PACKED_BEGIN struct PACKED ec_EOEt
int ecx_EOErecv(ecx_contextt *context, uint16 slave, uint8 port, int *psize, void *p, int timeout)
PACKED_END int ecx_EOEdefinehook(ecx_contextt *context, void *hook)
eoe_ip4_addr_t default_gateway
int ecx_EOEsetIp(ecx_contextt *context, uint16 slave, uint8 port, eoe_param_t *ipparam, int timeout)
PACKED_BEGIN struct PACKED eoe_ethaddr eoe_ethaddr_t
int ecx_EOEgetIp(ecx_contextt *context, uint16 slave, uint8 port, eoe_param_t *ipparam, int timeout)
PACKED_END struct eoe_param eoe_param_t
#define EOE_ETHADDR_LENGTH
#define EOE_DNS_NAME_LENGTH
struct eoe_ip4_addr eoe_ip4_addr_t
General typedefs and defines for EtherCAT.
soem
Author(s): Arthur Ketels and M.J.G. van den Molengraft
autogenerated on Wed Mar 2 2022 01:01:48