@@ -55,6 +55,57 @@ extern auto sed_main(int argc, char* argv[]) -> int;
5555#if CFBOX_ENABLE_INIT
5656extern auto init_main (int argc, char * argv[]) -> int;
5757#endif
58+ #if CFBOX_ENABLE_TRUE
59+ extern auto true_main (int argc, char * argv[]) -> int;
60+ #endif
61+ #if CFBOX_ENABLE_FALSE
62+ extern auto false_main (int argc, char * argv[]) -> int;
63+ #endif
64+ #if CFBOX_ENABLE_YES
65+ extern auto yes_main (int argc, char * argv[]) -> int;
66+ #endif
67+ #if CFBOX_ENABLE_PWD
68+ extern auto pwd_main (int argc, char * argv[]) -> int;
69+ #endif
70+ #if CFBOX_ENABLE_BASENAME
71+ extern auto basename_main (int argc, char * argv[]) -> int;
72+ #endif
73+ #if CFBOX_ENABLE_DIRNAME
74+ extern auto dirname_main (int argc, char * argv[]) -> int;
75+ #endif
76+ #if CFBOX_ENABLE_UNAME
77+ extern auto uname_main (int argc, char * argv[]) -> int;
78+ #endif
79+ #if CFBOX_ENABLE_NPROC
80+ extern auto nproc_main (int argc, char * argv[]) -> int;
81+ #endif
82+ #if CFBOX_ENABLE_LINK
83+ extern auto link_main (int argc, char * argv[]) -> int;
84+ #endif
85+ #if CFBOX_ENABLE_HOSTNAME
86+ extern auto hostname_main (int argc, char * argv[]) -> int;
87+ #endif
88+ #if CFBOX_ENABLE_LOGNAME
89+ extern auto logname_main (int argc, char * argv[]) -> int;
90+ #endif
91+ #if CFBOX_ENABLE_WHOAMI
92+ extern auto whoami_main (int argc, char * argv[]) -> int;
93+ #endif
94+ #if CFBOX_ENABLE_TTY
95+ extern auto tty_main (int argc, char * argv[]) -> int;
96+ #endif
97+ #if CFBOX_ENABLE_SLEEP
98+ extern auto sleep_main (int argc, char * argv[]) -> int;
99+ #endif
100+ #if CFBOX_ENABLE_ID
101+ extern auto id_main (int argc, char * argv[]) -> int;
102+ #endif
103+ #if CFBOX_ENABLE_TEST
104+ extern auto test_main (int argc, char * argv[]) -> int;
105+ #endif
106+ #if CFBOX_ENABLE_SH
107+ extern auto sh_main (int argc, char * argv[]) -> int;
108+ #endif
58109
59110// registry — one line per applet, conditionally compiled
60111constexpr auto APPLET_REGISTRY = std::to_array<cfbox::applet::AppEntry>({
@@ -109,4 +160,56 @@ constexpr auto APPLET_REGISTRY = std::to_array<cfbox::applet::AppEntry>({
109160#if CFBOX_ENABLE_INIT
110161 {" init" , init_main, " system init for boot testing (PID 1)" },
111162#endif
163+ #if CFBOX_ENABLE_TRUE
164+ {" true" , true_main, " do nothing, exit with status 0" },
165+ #endif
166+ #if CFBOX_ENABLE_FALSE
167+ {" false" , false_main, " do nothing, exit with status 1" },
168+ #endif
169+ #if CFBOX_ENABLE_YES
170+ {" yes" , yes_main, " output a string repeatedly until killed" },
171+ #endif
172+ #if CFBOX_ENABLE_PWD
173+ {" pwd" , pwd_main, " print working directory" },
174+ #endif
175+ #if CFBOX_ENABLE_BASENAME
176+ {" basename" , basename_main, " strip directory and suffix from file names" },
177+ #endif
178+ #if CFBOX_ENABLE_DIRNAME
179+ {" dirname" , dirname_main, " strip last component from file name" },
180+ #endif
181+ #if CFBOX_ENABLE_UNAME
182+ {" uname" , uname_main, " print system information" },
183+ #endif
184+ #if CFBOX_ENABLE_NPROC
185+ {" nproc" , nproc_main, " print number of available processors" },
186+ #endif
187+ #if CFBOX_ENABLE_LINK
188+ {" link" , link_main, " create a hard link" },
189+ #endif
190+ #if CFBOX_ENABLE_HOSTNAME
191+ {" hostname" , hostname_main, " show or set the system host name" },
192+ #endif
193+ #if CFBOX_ENABLE_LOGNAME
194+ {" logname" , logname_main, " print the user's login name" },
195+ #endif
196+ #if CFBOX_ENABLE_WHOAMI
197+ {" whoami" , whoami_main, " print effective user ID" },
198+ #endif
199+ #if CFBOX_ENABLE_TTY
200+ {" tty" , tty_main, " print the file name of the terminal connected to stdin" },
201+ #endif
202+ #if CFBOX_ENABLE_SLEEP
203+ {" sleep" , sleep_main, " delay for a specified amount of time" },
204+ #endif
205+ #if CFBOX_ENABLE_ID
206+ {" id" , id_main, " print real and effective user and group IDs" },
207+ #endif
208+ #if CFBOX_ENABLE_TEST
209+ {" test" , test_main, " evaluate conditional expression" },
210+ {" [" , test_main, " evaluate conditional expression" },
211+ #endif
212+ #if CFBOX_ENABLE_SH
213+ {" sh" , sh_main, " POSIX shell command interpreter" },
214+ #endif
112215});
0 commit comments