CANopenLinux/CO_error.h:103:21: error: field ‘timestamp’ has incomplete type
103 | struct timespec timestamp; /**< listen only mode started at this time */
| ^~~~~~~~~
CANopenLinux/CO_driver.c:40:1: error: unknown type name ‘pthread_mutex_t’
40 | pthread_mutex_t CO_EMCY_mutex = PTHREAD_MUTEX_INITIALIZER;
| ^~~~~~~~~~~~~~~
CANopenLinux/CO_dCANopenLinux/CO_error.h:103:21: error: field ‘timestamp’ has incomplete type
103 | struct timespec timestamp; /**< listen only mode started at this time */
| ^~~~~~~~~
CANopenLinux/CO_driver.c:40:1: error: unknown type name ‘pthread_mutex_t’
40 | pthread_mutex_t CO_EMCY_mutex = PTHREAD_MUTEX_INITIALIZER;
| ^~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c:40:33: error: ‘PTHREAD_MUTEX_INITIALIZER’ undeclared here (not in a function)
40 | pthread_mutex_t CO_EMCY_mutex = PTHREAD_MUTEX_INITIALIZER;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c:41:1: error: unknown type name ‘pthread_mutex_t’
41 | pthread_mutex_t CO_OD_mutex = PTHREAD_MUTEX_INITIALIZER;
| ^~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c: In function ‘disableRx’:
CANopenLinux/CO_driver.c:95:30: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
95 | for (i = 0; i < CANmodule->CANinterfaceCount; i++) {
| ^~
CANopenLinux/CO_driver.c:96:39: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
96 | int ret = setsockopt(CANmodule->CANinterfaces[i].fd, SOL_CAN_RAW, CAN_RAW_FILTER, NULL, 0);
| ^~
CANopenLinux/CO_driver.c:98:61: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
98 | log_printf(LOG_ERR, CAN_FILTER_FAILED, CANmodule->CANinterfaces[i].ifName);
| ^~
CANopenLinux/CO_driver.c: In function ‘setRxFilters’:
CANopenLinux/CO_driver.c:119:23: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
119 | if ((CANmodule->rxFilter[i].can_id != 0) || (CANmodule->rxFilter[i].can_mask != 0)) {
| ^~
CANopenLinux/CO_driver.c:119:63: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
119 | if ((CANmodule->rxFilter[i].can_id != 0) || (CANmodule->rxFilter[i].can_mask != 0)) {
| ^~
CANopenLinux/CO_driver.c:121:44: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
121 | rxFiltersCpy[count] = CANmodule->rxFilter[i];
| ^~
CANopenLinux/CO_driver.c:133:30: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
133 | for (i = 0; i < CANmodule->CANinterfaceCount; i++) {
| ^~
CANopenLinux/CO_driver.c:134:39: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
134 | int ret = setsockopt(CANmodule->CANinterfaces[i].fd, SOL_CAN_RAW, CAN_RAW_FILTER, rxFiltersCpy,
| ^~
CANopenLinux/CO_driver.c:137:61: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
137 | log_printf(LOG_ERR, CAN_FILTER_FAILED, CANmodule->CANinterfaces[i].ifName);
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_init’:
CANopenLinux/CO_driver.c:178:5: error: unknown type name ‘CO_CANptrSocketCan_t’
178 | CO_CANptrSocketCan_t* CANptrReal = (CO_CANptrSocketCan_t*)CANptr;
| ^~~~~~~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c:178:41: error: ‘CO_CANptrSocketCan_t’ undeclared (first use in this function)
178 | CO_CANptrSocketCan_t* CANptrReal = (CO_CANptrSocketCan_t*)CANptr;
| ^~~~~~~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c:178:41: note: each undeclared identifier is reported only once for each function it appears in
CANopenLinux/CO_driver.c:178:62: error: expected expression before ‘)’ token
178 | CO_CANptrSocketCan_t* CANptrReal = (CO_CANptrSocketCan_t*)CANptr;
| ^
CANopenLinux/CO_driver.c:181:14: error: ‘CO_CANmodule_t’ has no member named ‘epoll_fd’
181 | CANmodule->epoll_fd = CANptrReal->epoll_fd;
| ^~
CANopenLinux/CO_driver.c:181:37: error: request for member ‘epoll_fd’ in something not a structure or union
181 | CANmodule->epoll_fd = CANptrReal->epoll_fd;
| ^~
CANopenLinux/CO_driver.c:182:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
182 | CANmodule->CANinterfaces = NULL;
| ^~
CANopenLinux/CO_driver.c:183:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
183 | CANmodule->CANinterfaceCount = 0;
| ^~
CANopenLinux/CO_driver.c:201:14: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
201 | CANmodule->rxFilter = calloc(CANmodule->rxSize, sizeof(struct can_filter));
| ^~
CANopenLinux/CO_driver.c:202:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
202 | if (CANmodule->rxFilter == NULL) {
| ^~
CANopenLinux/CO_driver.c:209:27: warning: conversion from ‘unsigned int’ to ‘uint16_t’ {aka ‘short unsigned int’} changes value from ‘4294967295’ to ‘65535’ [-Woverflow]
209 | rxArray[i].mask = 0xFFFFFFFFU;
| ^~~~~~~~~~~
CANopenLinux/CO_driver.c:212:19: error: ‘CO_CANrx_t’ has no member named ‘can_ifindex’
212 | rxArray[i].can_ifindex = 0;
| ^
CANopenLinux/CO_driver.c:213:19: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
213 | rxArray[i].timestamp.tv_sec = 0;
| ^
CANopenLinux/CO_driver.c:214:19: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
214 | rxArray[i].timestamp.tv_nsec = 0;
| ^
CANopenLinux/CO_driver.c:219:58: error: request for member ‘can_ifindex’ in something not a structure or union
219 | ret = CO_CANmodule_addInterface(CANmodule, CANptrReal->can_ifindex);
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_addInterface’:
CANopenLinux/CO_driver.c:239:5: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
239 | CO_CANinterface_t* interface;
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:241:12: error: variable ‘ev’ has initializer but incomplete type
241 | struct epoll_event ev = {0};
| ^~~~~~~~~~~
CANopenLinux/CO_driver.c:241:30: warning: excess elements in struct initializer
241 | struct epoll_event ev = {0};
| ^
CANopenLinux/CO_driver.c:241:30: note: (near initialization for ‘ev’)
CANopenLinux/CO_driver.c:241:24: error: storage size of ‘ev’ isn’t known
241 | struct epoll_event ev = {0};
| ^~
CANopenLinux/CO_driver.c:252:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
252 | CANmodule->CANinterfaceCount++;
| ^~
CANopenLinux/CO_driver.c:253:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
253 | CANmodule->CANinterfaces = realloc(CANmodule->CANinterfaces,
| ^~
CANopenLinux/CO_driver.c:253:49: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
253 | CANmodule->CANinterfaces = realloc(CANmodule->CANinterfaces,
| ^~
CANopenLinux/CO_driver.c:254:51: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
254 | ((CANmodule->CANinterfaceCount) * sizeof(*CANmodule->CANinterfaces)));
| ^~
CANopenLinux/CO_driver.c:254:91: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
254 | ((CANmodule->CANinterfaceCount) * sizeof(*CANmodule->CANinterfaces)));
| ^~
CANopenLinux/CO_driver.c:255:18: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
255 | if (CANmodule->CANinterfaces == NULL) {
| ^~
CANopenLinux/CO_driver.c:259:27: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
259 | interface = &CANmodule->CANinterfaces[CANmodule->CANinterfaceCount - 1];
| ^~
CANopenLinux/CO_driver.c:259:52: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
259 | interface = &CANmodule->CANinterfaces[CANmodule->CANinterfaceCount - 1];
| ^~
CANopenLinux/CO_driver.c:261:14: error: request for member ‘can_ifindex’ in something not a structure or union
261 | interface->can_ifindex = can_ifindex;
| ^~
CANopenLinux/CO_driver.c:262:51: error: request for member ‘ifName’ in something not a structure or union
262 | ifName = if_indextoname(can_ifindex, interface->ifName);
| ^~
CANopenLinux/CO_driver.c:269:14: error: request for member ‘fd’ in something not a structure or union
269 | interface->fd = socket(PF_CAN, SOCK_RAW, CAN_RAW);
| ^~
CANopenLinux/CO_driver.c:270:18: error: request for member ‘fd’ in something not a structure or union
270 | if (interface->fd < 0) {
| ^~
CANopenLinux/CO_driver.c:277:31: error: request for member ‘fd’ in something not a structure or union
277 | ret = setsockopt(interface->fd, SOL_SOCKET, SO_RXQ_OVFL, &tmp, sizeof(tmp));
| ^~
CANopenLinux/CO_driver.c:285:31: error: request for member ‘fd’ in something not a structure or union
285 | ret = setsockopt(interface->fd, SOL_SOCKET, SO_TIMESTAMPING, &tmp, sizeof(tmp));
| ^~
CANopenLinux/CO_driver.c:298:25: error: request for member ‘fd’ in something not a structure or union
298 | getsockopt(interface->fd, SOL_SOCKET, SO_RCVBUF, (void*)&bytes, &sLen);
| ^~
CANopenLinux/CO_driver.c:300:60: error: request for member ‘ifName’ in something not a structure or union
300 | log_printf(LOG_INFO, CAN_SOCKET_BUF_SIZE, interface->ifName, bytes / 446, bytes);
| ^~
CANopenLinux/CO_driver.c:307:25: error: request for member ‘fd’ in something not a structure or union
307 | ret = bind(interface->fd, (struct sockaddr*)&sockAddr, sizeof(sockAddr));
| ^~
CANopenLinux/CO_driver.c:309:58: error: request for member ‘ifName’ in something not a structure or union
309 | log_printf(LOG_ERR, CAN_BINDING_FAILED, interface->ifName);
| ^~
CANopenLinux/CO_driver.c:331:17: error: ‘EPOLLIN’ undeclared (first use in this function)
331 | ev.events = EPOLLIN;
| ^~~~~~~
CANopenLinux/CO_driver.c:332:27: error: request for member ‘fd’ in something not a structure or union
332 | ev.data.fd = interface->fd;
| ^~
CANopenLinux/CO_driver.c:333:11: warning: implicit declaration of function ‘epoll_ctl’ [-Wimplicit-function-declaration]
333 | ret = epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_ADD, ev.data.fd, &ev);
| ^~~~~~~~~
CANopenLinux/CO_driver.c:333:30: error: ‘CO_CANmodule_t’ has no member named ‘epoll_fd’
333 | ret = epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_ADD, ev.data.fd, &ev);
| ^~
CANopenLinux/CO_driver.c:333:42: error: ‘EPOLL_CTL_ADD’ undeclared (first use in this function)
333 | ret = epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_ADD, ev.data.fd, &ev);
| ^~~~~~~~~~~~~
CANopenLinux/CO_driver.c:241:24: warning: unused variable ‘ev’ [-Wunused-variable]
241 | struct epoll_event ev = {0};
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_disable’:
CANopenLinux/CO_driver.c:356:30: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
356 | for (i = 0; i < CANmodule->CANinterfaceCount; i++) {
| ^~
CANopenLinux/CO_driver.c:357:9: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
357 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[i];
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:357:50: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
357 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[i];
| ^~
CANopenLinux/CO_driver.c:363:28: error: ‘CO_CANmodule_t’ has no member named ‘epoll_fd’
363 | epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_DEL, interface->fd, NULL);
| ^~
CANopenLinux/CO_driver.c:363:40: error: ‘EPOLL_CTL_DEL’ undeclared (first use in this function)
363 | epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_DEL, interface->fd, NULL);
| ^~~~~~~~~~~~~
CANopenLinux/CO_driver.c:363:64: error: request for member ‘fd’ in something not a structure or union
363 | epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_DEL, interface->fd, NULL);
| ^~
CANopenLinux/CO_driver.c:364:24: error: request for member ‘fd’ in something not a structure or union
364 | close(interface->fd);
| ^~
CANopenLinux/CO_driver.c:365:18: error: request for member ‘fd’ in something not a structure or union
365 | interface->fd = -1;
| ^~
CANopenLinux/CO_driver.c:367:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
367 | CANmodule->CANinterfaceCount = 0;
| ^~
CANopenLinux/CO_driver.c:368:18: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
368 | if (CANmodule->CANinterfaces != NULL) {
| ^~
CANopenLinux/CO_driver.c:369:23: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
369 | free(CANmodule->CANinterfaces);
| ^~
CANopenLinux/CO_driver.c:371:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
371 | CANmodule->CANinterfaces = NULL;
| ^~
CANopenLinux/CO_driver.c:373:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
373 | if (CANmodule->rxFilter != NULL) {
| ^~
CANopenLinux/CO_driver.c:374:23: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
374 | free(CANmodule->rxFilter);
| ^~
CANopenLinux/CO_driver.c:376:14: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
376 | CANmodule->rxFilter = NULL;
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANrxBufferInit’:
CANopenLinux/CO_driver.c:397:15: error: ‘CO_CANrx_t’ has no member named ‘can_ifindex’
397 | buffer->can_ifindex = 0;
| ^~
CANopenLinux/CO_driver.c:398:15: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
398 | buffer->timestamp.tv_nsec = 0;
| ^~
CANopenLinux/CO_driver.c:399:15: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
399 | buffer->timestamp.tv_sec = 0;
| ^~
CANopenLinux/CO_driver.c:409:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
409 | CANmodule->rxFilter[index].can_id = buffer->ident;
| ^~
CANopenLinux/CO_driver.c:410:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
410 | CANmodule->rxFilter[index].can_mask = buffer->mask;
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANtxBufferInit’:
CANopenLinux/CO_driver.c:467:15: error: ‘CO_CANtx_t’ has no member named ‘can_ifindex’
467 | buffer->can_ifindex = 0;
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANsend’:
CANopenLinux/CO_driver.c:631:57: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
631 | if (CANmodule == NULL || buffer == NULL || CANmodule->CANinterfaceCount == 0) {
| ^~
CANopenLinux/CO_driver.c:635:5: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
635 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[0];
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:635:46: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
635 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[0];
| ^~
CANopenLinux/CO_driver.c:636:39: error: request for member ‘fd’ in something not a structure or union
636 | if (interface == NULL || interface->fd < 0) {
| ^~
CANopenLinux/CO_driver.c:645:72: error: request for member ‘ifName’ in something not a structure or union
645 | log_printf(LOG_ERR, DBG_CAN_TX_FAILED, buffer->ident, interface->ifName);
| ^~
CANopenLinux/CO_driver.c:650:31: error: request for member ‘fd’ in something not a structure or union
650 | ssize_t n = send(interface->fd, buffer, CAN_MTU, MSG_DONTWAIT);
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_process’:
CANopenLinux/CO_driver.c:686:39: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
686 | if (CANmodule == NULL || CANmodule->CANinterfaceCount == 0) {
| ^~
CANopenLinux/CO_driver.c: At top level:
CANopenLinux/CO_driver.c:726:39: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
726 | CO_CANread(CO_CANmodule_t* CANmodule, CO_CANinterface_t* interface,
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:784:13: error: unknown type name ‘CO_CANrxMsg_t’; did you mean ‘CO_CANrx_t’?
784 | CO_CANrxMsg_t* buffer) /* If not NULL, msg will be copied to buffer */
| ^~~~~~~~~~~~~
| CO_CANrx_t
CANopenLinux/CO_driver.c:824:70: error: unknown type name ‘CO_CANrxMsg_t’; did you mean ‘CO_CANrx_t’?
824 | xFromEpoll(CO_CANmodule_t* CANmodule, struct epoll_event* ev, CO_CANrxMsg_t* buffer, int32_t* msgIndex) {
river.c:40:33: error: ‘PTHREAD_MUTEX_INITIALIZER’ undeclared here (not in a function)
40 | pthread_mutex_t CO_EMCY_mutex = PTHREAD_MUTEX_INITIALIZER;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c:41:1: error: unknown type name ‘pthread_mutex_t’
41 | pthread_mutex_t CO_OD_mutex = PTHREAD_MUTEX_INITIALIZER;
| ^~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c: In function ‘disableRx’:
CANopenLinux/CO_driver.c:95:30: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
95 | for (i = 0; i < CANmodule->CANinterfaceCount; i++) {
| ^~
CANopenLinux/CO_driver.c:96:39: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
96 | int ret = setsockopt(CANmodule->CANinterfaces[i].fd, SOL_CAN_RAW, CAN_RAW_FILTER, NULL, 0);
| ^~
CANopenLinux/CO_driver.c:98:61: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
98 | log_printf(LOG_ERR, CAN_FILTER_FAILED, CANmodule->CANinterfaces[i].ifName);
| ^~
CANopenLinux/CO_driver.c: In function ‘setRxFilters’:
CANopenLinux/CO_driver.c:119:23: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
119 | if ((CANmodule->rxFilter[i].can_id != 0) || (CANmodule->rxFilter[i].can_mask != 0)) {
| ^~
CANopenLinux/CO_driver.c:119:63: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
119 | if ((CANmodule->rxFilter[i].can_id != 0) || (CANmodule->rxFilter[i].can_mask != 0)) {
| ^~
CANopenLinux/CO_driver.c:121:44: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
121 | rxFiltersCpy[count] = CANmodule->rxFilter[i];
| ^~
CANopenLinux/CO_driver.c:133:30: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
133 | for (i = 0; i < CANmodule->CANinterfaceCount; i++) {
| ^~
CANopenLinux/CO_driver.c:134:39: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
134 | int ret = setsockopt(CANmodule->CANinterfaces[i].fd, SOL_CAN_RAW, CAN_RAW_FILTER, rxFiltersCpy,
| ^~
CANopenLinux/CO_driver.c:137:61: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
137 | log_printf(LOG_ERR, CAN_FILTER_FAILED, CANmodule->CANinterfaces[i].ifName);
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_init’:
CANopenLinux/CO_driver.c:178:5: error: unknown type name ‘CO_CANptrSocketCan_t’
178 | CO_CANptrSocketCan_t* CANptrReal = (CO_CANptrSocketCan_t*)CANptr;
| ^~~~~~~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c:178:41: error: ‘CO_CANptrSocketCan_t’ undeclared (first use in this function)
178 | CO_CANptrSocketCan_t* CANptrReal = (CO_CANptrSocketCan_t*)CANptr;
| ^~~~~~~~~~~~~~~~~~~~
CANopenLinux/CO_driver.c:178:41: note: each undeclared identifier is reported only once for each function it appears in
CANopenLinux/CO_driver.c:178:62: error: expected expression before ‘)’ token
178 | CO_CANptrSocketCan_t* CANptrReal = (CO_CANptrSocketCan_t*)CANptr;
| ^
CANopenLinux/CO_driver.c:181:14: error: ‘CO_CANmodule_t’ has no member named ‘epoll_fd’
181 | CANmodule->epoll_fd = CANptrReal->epoll_fd;
| ^~
CANopenLinux/CO_driver.c:181:37: error: request for member ‘epoll_fd’ in something not a structure or union
181 | CANmodule->epoll_fd = CANptrReal->epoll_fd;
| ^~
CANopenLinux/CO_driver.c:182:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
182 | CANmodule->CANinterfaces = NULL;
| ^~
CANopenLinux/CO_driver.c:183:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
183 | CANmodule->CANinterfaceCount = 0;
| ^~
CANopenLinux/CO_driver.c:201:14: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
201 | CANmodule->rxFilter = calloc(CANmodule->rxSize, sizeof(struct can_filter));
| ^~
CANopenLinux/CO_driver.c:202:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
202 | if (CANmodule->rxFilter == NULL) {
| ^~
CANopenLinux/CO_driver.c:209:27: warning: conversion from ‘unsigned int’ to ‘uint16_t’ {aka ‘short unsigned int’} changes value from ‘4294967295’ to ‘65535’ [-Woverflow]
209 | rxArray[i].mask = 0xFFFFFFFFU;
| ^~~~~~~~~~~
CANopenLinux/CO_driver.c:212:19: error: ‘CO_CANrx_t’ has no member named ‘can_ifindex’
212 | rxArray[i].can_ifindex = 0;
| ^
CANopenLinux/CO_driver.c:213:19: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
213 | rxArray[i].timestamp.tv_sec = 0;
| ^
CANopenLinux/CO_driver.c:214:19: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
214 | rxArray[i].timestamp.tv_nsec = 0;
| ^
CANopenLinux/CO_driver.c:219:58: error: request for member ‘can_ifindex’ in something not a structure or union
219 | ret = CO_CANmodule_addInterface(CANmodule, CANptrReal->can_ifindex);
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_addInterface’:
CANopenLinux/CO_driver.c:239:5: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
239 | CO_CANinterface_t* interface;
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:241:12: error: variable ‘ev’ has initializer but incomplete type
241 | struct epoll_event ev = {0};
| ^~~~~~~~~~~
CANopenLinux/CO_driver.c:241:30: warning: excess elements in struct initializer
241 | struct epoll_event ev = {0};
| ^
CANopenLinux/CO_driver.c:241:30: note: (near initialization for ‘ev’)
CANopenLinux/CO_driver.c:241:24: error: storage size of ‘ev’ isn’t known
241 | struct epoll_event ev = {0};
| ^~
CANopenLinux/CO_driver.c:252:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
252 | CANmodule->CANinterfaceCount++;
| ^~
CANopenLinux/CO_driver.c:253:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
253 | CANmodule->CANinterfaces = realloc(CANmodule->CANinterfaces,
| ^~
CANopenLinux/CO_driver.c:253:49: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
253 | CANmodule->CANinterfaces = realloc(CANmodule->CANinterfaces,
| ^~
CANopenLinux/CO_driver.c:254:51: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
254 | ((CANmodule->CANinterfaceCount) * sizeof(*CANmodule->CANinterfaces)));
| ^~
CANopenLinux/CO_driver.c:254:91: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
254 | ((CANmodule->CANinterfaceCount) * sizeof(*CANmodule->CANinterfaces)));
| ^~
CANopenLinux/CO_driver.c:255:18: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
255 | if (CANmodule->CANinterfaces == NULL) {
| ^~
CANopenLinux/CO_driver.c:259:27: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
259 | interface = &CANmodule->CANinterfaces[CANmodule->CANinterfaceCount - 1];
| ^~
CANopenLinux/CO_driver.c:259:52: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
259 | interface = &CANmodule->CANinterfaces[CANmodule->CANinterfaceCount - 1];
| ^~
CANopenLinux/CO_driver.c:261:14: error: request for member ‘can_ifindex’ in something not a structure or union
261 | interface->can_ifindex = can_ifindex;
| ^~
CANopenLinux/CO_driver.c:262:51: error: request for member ‘ifName’ in something not a structure or union
262 | ifName = if_indextoname(can_ifindex, interface->ifName);
| ^~
CANopenLinux/CO_driver.c:269:14: error: request for member ‘fd’ in something not a structure or union
269 | interface->fd = socket(PF_CAN, SOCK_RAW, CAN_RAW);
| ^~
CANopenLinux/CO_driver.c:270:18: error: request for member ‘fd’ in something not a structure or union
270 | if (interface->fd < 0) {
| ^~
CANopenLinux/CO_driver.c:277:31: error: request for member ‘fd’ in something not a structure or union
277 | ret = setsockopt(interface->fd, SOL_SOCKET, SO_RXQ_OVFL, &tmp, sizeof(tmp));
| ^~
CANopenLinux/CO_driver.c:285:31: error: request for member ‘fd’ in something not a structure or union
285 | ret = setsockopt(interface->fd, SOL_SOCKET, SO_TIMESTAMPING, &tmp, sizeof(tmp));
| ^~
CANopenLinux/CO_driver.c:298:25: error: request for member ‘fd’ in something not a structure or union
298 | getsockopt(interface->fd, SOL_SOCKET, SO_RCVBUF, (void*)&bytes, &sLen);
| ^~
CANopenLinux/CO_driver.c:300:60: error: request for member ‘ifName’ in something not a structure or union
300 | log_printf(LOG_INFO, CAN_SOCKET_BUF_SIZE, interface->ifName, bytes / 446, bytes);
| ^~
CANopenLinux/CO_driver.c:307:25: error: request for member ‘fd’ in something not a structure or union
307 | ret = bind(interface->fd, (struct sockaddr*)&sockAddr, sizeof(sockAddr));
| ^~
CANopenLinux/CO_driver.c:309:58: error: request for member ‘ifName’ in something not a structure or union
309 | log_printf(LOG_ERR, CAN_BINDING_FAILED, interface->ifName);
| ^~
CANopenLinux/CO_driver.c:331:17: error: ‘EPOLLIN’ undeclared (first use in this function)
331 | ev.events = EPOLLIN;
| ^~~~~~~
CANopenLinux/CO_driver.c:332:27: error: request for member ‘fd’ in something not a structure or union
332 | ev.data.fd = interface->fd;
| ^~
CANopenLinux/CO_driver.c:333:11: warning: implicit declaration of function ‘epoll_ctl’ [-Wimplicit-function-declaration]
333 | ret = epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_ADD, ev.data.fd, &ev);
| ^~~~~~~~~
CANopenLinux/CO_driver.c:333:30: error: ‘CO_CANmodule_t’ has no member named ‘epoll_fd’
333 | ret = epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_ADD, ev.data.fd, &ev);
| ^~
CANopenLinux/CO_driver.c:333:42: error: ‘EPOLL_CTL_ADD’ undeclared (first use in this function)
333 | ret = epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_ADD, ev.data.fd, &ev);
| ^~~~~~~~~~~~~
CANopenLinux/CO_driver.c:241:24: warning: unused variable ‘ev’ [-Wunused-variable]
241 | struct epoll_event ev = {0};
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_disable’:
CANopenLinux/CO_driver.c:356:30: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
356 | for (i = 0; i < CANmodule->CANinterfaceCount; i++) {
| ^~
CANopenLinux/CO_driver.c:357:9: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
357 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[i];
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:357:50: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
357 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[i];
| ^~
CANopenLinux/CO_driver.c:363:28: error: ‘CO_CANmodule_t’ has no member named ‘epoll_fd’
363 | epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_DEL, interface->fd, NULL);
| ^~
CANopenLinux/CO_driver.c:363:40: error: ‘EPOLL_CTL_DEL’ undeclared (first use in this function)
363 | epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_DEL, interface->fd, NULL);
| ^~~~~~~~~~~~~
CANopenLinux/CO_driver.c:363:64: error: request for member ‘fd’ in something not a structure or union
363 | epoll_ctl(CANmodule->epoll_fd, EPOLL_CTL_DEL, interface->fd, NULL);
| ^~
CANopenLinux/CO_driver.c:364:24: error: request for member ‘fd’ in something not a structure or union
364 | close(interface->fd);
| ^~
CANopenLinux/CO_driver.c:365:18: error: request for member ‘fd’ in something not a structure or union
365 | interface->fd = -1;
| ^~
CANopenLinux/CO_driver.c:367:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
367 | CANmodule->CANinterfaceCount = 0;
| ^~
CANopenLinux/CO_driver.c:368:18: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
368 | if (CANmodule->CANinterfaces != NULL) {
| ^~
CANopenLinux/CO_driver.c:369:23: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
369 | free(CANmodule->CANinterfaces);
| ^~
CANopenLinux/CO_driver.c:371:14: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
371 | CANmodule->CANinterfaces = NULL;
| ^~
CANopenLinux/CO_driver.c:373:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
373 | if (CANmodule->rxFilter != NULL) {
| ^~
CANopenLinux/CO_driver.c:374:23: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
374 | free(CANmodule->rxFilter);
| ^~
CANopenLinux/CO_driver.c:376:14: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
376 | CANmodule->rxFilter = NULL;
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANrxBufferInit’:
CANopenLinux/CO_driver.c:397:15: error: ‘CO_CANrx_t’ has no member named ‘can_ifindex’
397 | buffer->can_ifindex = 0;
| ^~
CANopenLinux/CO_driver.c:398:15: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
398 | buffer->timestamp.tv_nsec = 0;
| ^~
CANopenLinux/CO_driver.c:399:15: error: ‘CO_CANrx_t’ has no member named ‘timestamp’
399 | buffer->timestamp.tv_sec = 0;
| ^~
CANopenLinux/CO_driver.c:409:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
409 | CANmodule->rxFilter[index].can_id = buffer->ident;
| ^~
CANopenLinux/CO_driver.c:410:18: error: ‘CO_CANmodule_t’ has no member named ‘rxFilter’
410 | CANmodule->rxFilter[index].can_mask = buffer->mask;
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANtxBufferInit’:
CANopenLinux/CO_driver.c:467:15: error: ‘CO_CANtx_t’ has no member named ‘can_ifindex’
467 | buffer->can_ifindex = 0;
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANsend’:
CANopenLinux/CO_driver.c:631:57: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
631 | if (CANmodule == NULL || buffer == NULL || CANmodule->CANinterfaceCount == 0) {
| ^~
CANopenLinux/CO_driver.c:635:5: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
635 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[0];
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:635:46: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaces’
635 | CO_CANinterface_t* interface = &CANmodule->CANinterfaces[0];
| ^~
CANopenLinux/CO_driver.c:636:39: error: request for member ‘fd’ in something not a structure or union
636 | if (interface == NULL || interface->fd < 0) {
| ^~
CANopenLinux/CO_driver.c:645:72: error: request for member ‘ifName’ in something not a structure or union
645 | log_printf(LOG_ERR, DBG_CAN_TX_FAILED, buffer->ident, interface->ifName);
| ^~
CANopenLinux/CO_driver.c:650:31: error: request for member ‘fd’ in something not a structure or union
650 | ssize_t n = send(interface->fd, buffer, CAN_MTU, MSG_DONTWAIT);
| ^~
CANopenLinux/CO_driver.c: In function ‘CO_CANmodule_process’:
CANopenLinux/CO_driver.c:686:39: error: ‘CO_CANmodule_t’ has no member named ‘CANinterfaceCount’
686 | if (CANmodule == NULL || CANmodule->CANinterfaceCount == 0) {
| ^~
CANopenLinux/CO_driver.c: At top level:
CANopenLinux/CO_driver.c:726:39: error: unknown type name ‘CO_CANinterface_t’; did you mean ‘CO_CANinterfaceState_t’?
726 | CO_CANread(CO_CANmodule_t* CANmodule, CO_CANinterface_t* interface,
| ^~~~~~~~~~~~~~~~~
| CO_CANinterfaceState_t
CANopenLinux/CO_driver.c:784:13: error: unknown type name ‘CO_CANrxMsg_t’; did you mean ‘CO_CANrx_t’?
784 | CO_CANrxMsg_t* buffer) /* If not NULL, msg will be copied to buffer */
| ^~~~~~~~~~~~~
| CO_CANrx_t
CANopenLinux/CO_driver.c:824:70: error: unknown type name ‘CO_CANrxMsg_t’; did you mean ‘CO_CANrx_t’?
824 | xFromEpoll(CO_CANmodule_t* CANmodule, struct epoll_event* ev, CO_CANrxMsg_t* buffer, int32_t* msgIndex) {
最新发布