1menu "POSIX (Portable Operating System Interface) layer"
2
3config RT_USING_POSIX_FS
4    bool "Enable POSIX file system and I/O"
5    select RT_USING_DFS
6    select DFS_USING_POSIX
7    default n
8
9if RT_USING_POSIX_FS
10    config RT_USING_POSIX_DEVIO
11        bool "Enable devices as file descriptors"
12        select RT_USING_DFS_DEVFS
13        default n
14
15    config RT_USING_POSIX_STDIO
16        bool "Enable standard I/O devices, e.g. STDOUT_FILENO"
17        select RT_USING_POSIX_DEVIO
18        default n
19
20    config RT_USING_POSIX_POLL
21        bool "Enable I/O Multiplexing poll() <poll.h>"
22        default y if RT_USING_SMART
23        default n
24
25    config RT_USING_POSIX_SELECT
26        bool "Enable I/O Multiplexing select() <sys/select.h>"
27        select RT_USING_POSIX_POLL
28        default y if RT_USING_SMART
29        default n
30
31    config RT_USING_POSIX_EVENTFD
32        bool "Enable I/O event eventfd <sys/eventfd.h>"
33        select RT_USING_POSIX_POLL
34        default y if RT_USING_SMART
35        default n
36
37    if RT_USING_SMART
38        config RT_USING_POSIX_EPOLL
39            bool "Enable I/O Multiplexing epoll <sys/epoll.h>"
40            select RT_USING_POSIX_POLL
41            default y
42
43        config RT_USING_POSIX_SIGNALFD
44            bool "Enable Signalfd <sys/signalfd.h>"
45            select RT_USING_POSIX_POLL
46            default y
47
48        if RT_USING_POSIX_SIGNALFD
49            config RT_SIGNALFD_MAX_NUM
50                int "signaled The maximum number of concurrent firing signals"
51                range 1 20
52                default 10
53        endif
54    endif
55
56    config RT_USING_POSIX_TIMERFD
57            bool "Enable I/O timerfd <sys/timerfd.h>"
58            default y if RT_USING_SMART
59            default n
60
61    config RT_USING_POSIX_SOCKET
62        bool "Enable BSD Socket I/O <sys/socket.h> <netdb.h>"
63        select RT_USING_POSIX_SELECT
64        select RT_USING_SAL
65        default n
66
67    config RT_USING_POSIX_TERMIOS
68        bool "Enable Terminal I/O <termios.h>"
69        select RT_USING_POSIX_STDIO
70        default n
71
72    config RT_USING_POSIX_AIO
73        bool "Enable Asynchronous I/O <aio.h>"
74        default n
75
76    config RT_USING_POSIX_MMAN
77        bool "Enable Memory-Mapped I/O <sys/mman.h>"
78        default n
79endif
80
81config RT_USING_POSIX_DELAY
82    select RT_USING_KTIME
83    bool "Enable delay APIs, sleep()/usleep()/msleep() etc"
84    default n
85
86config RT_USING_POSIX_CLOCK
87    bool "Enable clock/time APIs, clock_gettime()/clock_settime() etc"
88    select RT_USING_POSIX_DELAY
89    default n
90
91config RT_USING_POSIX_TIMER
92    select RT_USING_KTIME
93    select RT_USING_RESOURCE_ID
94    bool "Enable timer APIs, timer_create()/timer_gettime() etc"
95    default n
96
97config RT_USING_PTHREADS
98    bool "Enable pthreads APIs"
99    select RT_USING_POSIX_CLOCK
100    default n
101
102if RT_USING_PTHREADS
103    config PTHREAD_NUM_MAX
104        int "Maximum number of pthreads"
105        default 8
106endif
107
108config RT_USING_MODULE
109    bool "Enable dynamic module APIs, dlopen()/dlsym()/dlclose() etc"
110    default n
111
112if RT_USING_MODULE
113    config RT_USING_CUSTOM_DLMODULE
114        bool "Enable load dynamic module by custom"
115        default n
116endif
117
118rsource "ipc/Kconfig"
119
120endmenu
121