ua_architecture.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /* This work is licensed under a Creative Commons CCZero 1.0 Universal License.
  2. * See http://creativecommons.org/publicdomain/zero/1.0/ for more information.
  3. *
  4. * Copyright 2016-2017 (c) Julius Pfrommer, Fraunhofer IOSB
  5. * Copyright 2017 (c) Stefan Profanter, fortiss GmbH
  6. */
  7. #ifndef PLUGINS_ARCH_FREERTOS_UA_ARCHITECTURE_H_
  8. #define PLUGINS_ARCH_FREERTOS_UA_ARCHITECTURE_H_
  9. //------------------------------------------------------------------
  10. // NOT WORKING YET!!!!!!!!!!!!!!!!!!!!!
  11. //------------------------------------------------------------------
  12. /*
  13. * Set LWIP_COMPAT_SOCKETS to 2 in lwipoptions.h
  14. */
  15. #define AI_PASSIVE 0x01
  16. #define TRUE 1
  17. #define FALSE 0
  18. #define ioctl ioctlsocket
  19. #define UA_FREERTOS_HOSTNAME "10.200.4.114"
  20. #include <stdlib.h>
  21. #include <string.h>
  22. static inline int gethostname_freertos(char* name, size_t len){
  23. if(strlen(UA_FREERTOS_HOSTNAME) > (len))
  24. return -1;
  25. strcpy(name, UA_FREERTOS_HOSTNAME);
  26. return 0;
  27. }
  28. #define gethostname gethostname_freertos
  29. #define LWIP_TIMEVAL_PRIVATE 0
  30. #define LWIP_COMPAT_MUTEX 0
  31. #define LWIP_POSIX_SOCKETS_IO_NAMES 0
  32. //#define __USE_W32_SOCKETS 1 //needed to avoid redefining of select in sys/select.h
  33. #include <lwip/tcpip.h>
  34. #include <lwip/netdb.h>
  35. #define CLOSESOCKET(S) lwip_close(S)
  36. #define sockaddr_storage sockaddr
  37. #ifdef BYTE_ORDER
  38. # undef BYTE_ORDER
  39. #endif
  40. #define UA_sleep_ms(X) vTaskDelay(pdMS_TO_TICKS(X))
  41. #define SOCKET int
  42. #define WIN32_INT
  43. #define OPTVAL_TYPE int
  44. #define ERR_CONNECTION_PROGRESS EINPROGRESS
  45. //# include <fcntl.h>
  46. # include <unistd.h> // read, write, close
  47. # define UA_fd_set(fd, fds) FD_SET((unsigned int)fd, fds)
  48. # define UA_fd_isset(fd, fds) FD_ISSET((unsigned int)fd, fds)
  49. #define errno__ errno
  50. #define INTERRUPTED EINTR
  51. #define WOULDBLOCK EWOULDBLOCK
  52. #define AGAIN EAGAIN
  53. #endif /* PLUGINS_ARCH_FREERTOS_UA_ARCHITECTURE_H_ */