Add support for NuttX RTOS. (#21372)
* Add support for NuttX RTOS. Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp> * lib: pure: asyncdispatch: assign to result. Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp> * lib: std: typedthreads: add support for parameters to adjust Thread Stack Size. Like FreeRTOS/Zephyr, add support for following configurations. -d:nimThreadStackSize=xxxxx -d:nimThreadStackGuard=yyyy Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp> --------- Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
This commit is contained in:
parent
93e4f278a1
commit
3b9e9fd7b2
14 changed files with 52 additions and 17 deletions
|
|
@ -10,7 +10,7 @@
|
|||
when defined(nimHasStyleChecks):
|
||||
{.push styleChecks: off.}
|
||||
|
||||
when defined(freertos) or defined(zephyr):
|
||||
when defined(freertos) or defined(zephyr) or defined(nuttx):
|
||||
const
|
||||
hasSpawnH = false # should exist for every Posix system nowadays
|
||||
hasAioH = false
|
||||
|
|
@ -640,6 +640,9 @@ when defined(linux) or defined(nimdoc):
|
|||
## or UDP packets. (Requires Linux kernel > 3.9)
|
||||
else:
|
||||
const SO_REUSEPORT* = cint(15)
|
||||
elif defined(nuttx):
|
||||
# Not supported, use SO_REUSEADDR to avoid compilation errors.
|
||||
var SO_REUSEPORT* {.importc: "SO_REUSEADDR", header: "<sys/socket.h>".}: cint
|
||||
else:
|
||||
var SO_REUSEPORT* {.importc, header: "<sys/socket.h>".}: cint
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,10 @@ var EXDEV* {.importc: "EXDEV", header: "<errno.h>".}: cint
|
|||
|
||||
# <fcntl.h>
|
||||
var F_DUPFD* {.importc: "F_DUPFD", header: "<fcntl.h>".}: cint
|
||||
var F_DUPFD_CLOEXEC* {.importc: "F_DUPFD", header: "<fcntl.h>".}: cint
|
||||
when defined(nuttx):
|
||||
var F_DUPFD_CLOEXEC* {.importc: "F_DUPFD_CLOEXEC", header: "<fcntl.h>".}: cint
|
||||
else:
|
||||
var F_DUPFD_CLOEXEC* {.importc: "F_DUPFD", header: "<fcntl.h>".}: cint
|
||||
var F_GETFD* {.importc: "F_GETFD", header: "<fcntl.h>".}: cint
|
||||
var F_SETFD* {.importc: "F_SETFD", header: "<fcntl.h>".}: cint
|
||||
var F_GETFL* {.importc: "F_GETFL", header: "<fcntl.h>".}: cint
|
||||
|
|
@ -127,6 +130,11 @@ var O_RDONLY* {.importc: "O_RDONLY", header: "<fcntl.h>".}: cint
|
|||
var O_RDWR* {.importc: "O_RDWR", header: "<fcntl.h>".}: cint
|
||||
var O_WRONLY* {.importc: "O_WRONLY", header: "<fcntl.h>".}: cint
|
||||
var O_CLOEXEC* {.importc: "O_CLOEXEC", header: "<fcntl.h>".}: cint
|
||||
when defined(nuttx):
|
||||
var O_DIRECT* {.importc: "O_DIRECT", header: "<fcntl.h>".}: cint
|
||||
var O_PATH* {.importc: "O_PATH", header: "<fcntl.h>".}: cint
|
||||
var O_NOATIME* {.importc: "O_NOATIME", header: "<fcntl.h>".}: cint
|
||||
var O_TMPFILE* {.importc: "O_TMPFILE", header: "<fcntl.h>".}: cint
|
||||
var POSIX_FADV_NORMAL* {.importc: "POSIX_FADV_NORMAL", header: "<fcntl.h>".}: cint
|
||||
var POSIX_FADV_SEQUENTIAL* {.importc: "POSIX_FADV_SEQUENTIAL", header: "<fcntl.h>".}: cint
|
||||
var POSIX_FADV_RANDOM* {.importc: "POSIX_FADV_RANDOM", header: "<fcntl.h>".}: cint
|
||||
|
|
@ -465,6 +473,9 @@ var FD_SETSIZE* {.importc: "FD_SETSIZE", header: "<sys/select.h>".}: cint
|
|||
when defined(zephyr):
|
||||
# Zephyr specific hardcoded value
|
||||
var FD_MAX* {.importc: "CONFIG_POSIX_MAX_FDS ", header: "<sys/select.h>".}: cint
|
||||
elif defined(nuttx):
|
||||
# NuttX specific user configuration value
|
||||
var NACTIVESOCKETS* {.importc: "CONFIG_NET_NACTIVESOCKETS", header: "<nuttx/config.h>".}: cint
|
||||
|
||||
# <sys/socket.h>
|
||||
var MSG_CTRUNC* {.importc: "MSG_CTRUNC", header: "<sys/socket.h>".}: cint
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue