commit eb66617

cowmonk  ·  2026-06-11 20:16:54 +0000 UTC
parent 1c0c81d
Ported SDHCP as the DHCPD implementation

sdhcp is a great alternative to udhcp/c/d, minimal and small.
Tested the build and works very well.
4 files changed,  +5, -607
M README
+3, -0
 1@@ -217,6 +217,7 @@ NET_BIN_ALL =\
 2 	cmd/net/tunctl\
 3 	cmd/net/wget\
 4 	cmd/net/ping\
 5+	cmd/net/sdhcp\
 6 	cmd/net/ifconfig\
 7 	cmd/net/host\
 8 	cmd/net/httpd
 9@@ -386,6 +387,7 @@ BIN_tftp_1 = cmd/net/tftp
10 BIN_tunctl_1 = cmd/net/tunctl
11 BIN_wget_1 = cmd/net/wget
12 BIN_ping_1 = cmd/net/ping
13+BIN_sdhcp_1 = cmd/net/sdhcp
14 BIN_ifconfig_1 = cmd/net/ifconfig
15 BIN_host_1 = cmd/net/host
16 BIN_httpd_1 = cmd/net/httpd
17@@ -551,6 +553,7 @@ NET_BIN = \
18 	$(BIN_tunctl_$(BUILD_NET_TUNCTL)) \
19 	$(BIN_wget_$(BUILD_NET_WGET)) \
20 	$(BIN_ping_$(BUILD_NET_PING)) \
21+	$(BIN_sdhcp_$(BUILD_NET_SDHCP)) \
22 	$(BIN_ifconfig_$(BUILD_NET_IFCONFIG)) \
23 	$(BIN_host_$(BUILD_NET_HOST)) \
24 	$(BIN_httpd_$(BUILD_NET_HTTPD))
M README
+1, -2
 1@@ -101,7 +101,7 @@ linux:
 2 	vtallow
 3 
 4 net:
 5-	host, httpd, ifconfig, netcat, ping, tftp, tunctl, wget
 6+	host, httpd, ifconfig, netcat, ping, sdhcp, tftp, tunctl, wget
 7 
 8 pseudo:
 9 	base64, chroot, clear, cols, cron, flock, getty, halt, hostname,
10@@ -116,7 +116,6 @@ xsi:
11 TODOs / PENDING RELEASE
12 =======================
13 ip - new impl partially based on toybox's applet
14-dhcpd - no idea where to start with this one
15 init - situation/sctl rewrite
16 troff - neatroff
17 man - unsure
+0, -605
  1@@ -1,605 +0,0 @@
  2-static const struct var confstr_l[] = {
  3-#ifdef _CS_PATH
  4-	{"PATH",	_CS_PATH},
  5-#endif
  6-#ifdef _CS_POSIX_V7_ILP32_OFF32_CFLAGS
  7-	{"POSIX_V7_ILP32_OFF32_CFLAGS",	_CS_POSIX_V7_ILP32_OFF32_CFLAGS},
  8-#endif
  9-#ifdef _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
 10-	{"POSIX_V7_ILP32_OFF32_LDFLAGS",	_CS_POSIX_V7_ILP32_OFF32_LDFLAGS},
 11-#endif
 12-#ifdef _CS_POSIX_V7_ILP32_OFF32_LIBS
 13-	{"POSIX_V7_ILP32_OFF32_LIBS",	_CS_POSIX_V7_ILP32_OFF32_LIBS},
 14-#endif
 15-#ifdef _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
 16-	{"POSIX_V7_ILP32_OFFBIG_CFLAGS",	_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS},
 17-#endif
 18-#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
 19-	{"POSIX_V7_ILP32_OFFBIG_LDFLAGS",	_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS},
 20-#endif
 21-#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LIBS
 22-	{"POSIX_V7_ILP32_OFFBIG_LIBS",	_CS_POSIX_V7_ILP32_OFFBIG_LIBS},
 23-#endif
 24-#ifdef _CS_POSIX_V7_LP64_OFF64_CFLAGS
 25-	{"POSIX_V7_LP64_OFF64_CFLAGS",	_CS_POSIX_V7_LP64_OFF64_CFLAGS},
 26-#endif
 27-#ifdef _CS_POSIX_V7_LP64_OFF64_LDFLAGS
 28-	{"POSIX_V7_LP64_OFF64_LDFLAGS",	_CS_POSIX_V7_LP64_OFF64_LDFLAGS},
 29-#endif
 30-#ifdef _CS_POSIX_V7_LP64_OFF64_LIBS
 31-	{"POSIX_V7_LP64_OFF64_LIBS",	_CS_POSIX_V7_LP64_OFF64_LIBS},
 32-#endif
 33-#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
 34-	{"POSIX_V7_LPBIG_OFFBIG_CFLAGS",	_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS},
 35-#endif
 36-#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
 37-	{"POSIX_V7_LPBIG_OFFBIG_LDFLAGS",	_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS},
 38-#endif
 39-#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
 40-	{"POSIX_V7_LPBIG_OFFBIG_LIBS",	_CS_POSIX_V7_LPBIG_OFFBIG_LIBS},
 41-#endif
 42-#ifdef _CS_POSIX_V7_THREADS_CFLAGS
 43-	{"POSIX_V7_THREADS_CFLAGS",	_CS_POSIX_V7_THREADS_CFLAGS},
 44-#endif
 45-#ifdef _CS_POSIX_V7_THREADS_LDFLAGS
 46-	{"POSIX_V7_THREADS_LDFLAGS",	_CS_POSIX_V7_THREADS_LDFLAGS},
 47-#endif
 48-#ifdef _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
 49-	{"POSIX_V7_WIDTH_RESTRICTED_ENVS",	_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS},
 50-#endif
 51-#ifdef _CS_V7_ENV
 52-	{"V7_ENV",	_CS_V7_ENV},
 53-#endif
 54-};
 55-static const struct var limits_l[] = {
 56-#ifdef _POSIX_CLOCKRES_MIN
 57-	{"_POSIX_CLOCKRES_MIN",	_POSIX_CLOCKRES_MIN},
 58-#endif
 59-#ifdef _POSIX_AIO_LISTIO_MAX
 60-	{"_POSIX_AIO_LISTIO_MAX",	_POSIX_AIO_LISTIO_MAX},
 61-#endif
 62-#ifdef _POSIX_AIO_MAX
 63-	{"_POSIX_AIO_MAX",	_POSIX_AIO_MAX},
 64-#endif
 65-#ifdef _POSIX_ARG_MAX
 66-	{"_POSIX_ARG_MAX",	_POSIX_ARG_MAX},
 67-#endif
 68-#ifdef _POSIX_CHILD_MAX
 69-	{"_POSIX_CHILD_MAX",	_POSIX_CHILD_MAX},
 70-#endif
 71-#ifdef _POSIX_DELAYTIMER_MAX
 72-	{"_POSIX_DELAYTIMER_MAX",	_POSIX_DELAYTIMER_MAX},
 73-#endif
 74-#ifdef _POSIX_HOST_NAME_MAX
 75-	{"_POSIX_HOST_NAME_MAX",	_POSIX_HOST_NAME_MAX},
 76-#endif
 77-#ifdef _POSIX_LINK_MAX
 78-	{"_POSIX_LINK_MAX",	_POSIX_LINK_MAX},
 79-#endif
 80-#ifdef _POSIX_LOGIN_NAME_MAX
 81-	{"_POSIX_LOGIN_NAME_MAX",	_POSIX_LOGIN_NAME_MAX},
 82-#endif
 83-#ifdef _POSIX_MAX_CANON
 84-	{"_POSIX_MAX_CANON",	_POSIX_MAX_CANON},
 85-#endif
 86-#ifdef _POSIX_MAX_INPUT
 87-	{"_POSIX_MAX_INPUT",	_POSIX_MAX_INPUT},
 88-#endif
 89-#ifdef _POSIX_MQ_OPEN_MAX
 90-	{"_POSIX_MQ_OPEN_MAX",	_POSIX_MQ_OPEN_MAX},
 91-#endif
 92-#ifdef _POSIX_MQ_PRIO_MAX
 93-	{"_POSIX_MQ_PRIO_MAX",	_POSIX_MQ_PRIO_MAX},
 94-#endif
 95-#ifdef _POSIX_NAME_MAX
 96-	{"_POSIX_NAME_MAX",	_POSIX_NAME_MAX},
 97-#endif
 98-#ifdef _POSIX_NGROUPS_MAX
 99-	{"_POSIX_NGROUPS_MAX",	_POSIX_NGROUPS_MAX},
100-#endif
101-#ifdef _POSIX_OPEN_MAX
102-	{"_POSIX_OPEN_MAX",	_POSIX_OPEN_MAX},
103-#endif
104-#ifdef _POSIX_PATH_MAX
105-	{"_POSIX_PATH_MAX",	_POSIX_PATH_MAX},
106-#endif
107-#ifdef _POSIX_PIPE_BUF
108-	{"_POSIX_PIPE_BUF",	_POSIX_PIPE_BUF},
109-#endif
110-#ifdef _POSIX_RE_DUP_MAX
111-	{"_POSIX_RE_DUP_MAX",	_POSIX_RE_DUP_MAX},
112-#endif
113-#ifdef _POSIX_RTSIG_MAX
114-	{"_POSIX_RTSIG_MAX",	_POSIX_RTSIG_MAX},
115-#endif
116-#ifdef _POSIX_SEM_NSEMS_MAX
117-	{"_POSIX_SEM_NSEMS_MAX",	_POSIX_SEM_NSEMS_MAX},
118-#endif
119-#ifdef _POSIX_SEM_VALUE_MAX
120-	{"_POSIX_SEM_VALUE_MAX",	_POSIX_SEM_VALUE_MAX},
121-#endif
122-#ifdef _POSIX_SIGQUEUE_MAX
123-	{"_POSIX_SIGQUEUE_MAX",	_POSIX_SIGQUEUE_MAX},
124-#endif
125-#ifdef _POSIX_SSIZE_MAX
126-	{"_POSIX_SSIZE_MAX",	_POSIX_SSIZE_MAX},
127-#endif
128-#ifdef _POSIX_SS_REPL_MAX
129-	{"_POSIX_SS_REPL_MAX",	_POSIX_SS_REPL_MAX},
130-#endif
131-#ifdef _POSIX_STREAM_MAX
132-	{"_POSIX_STREAM_MAX",	_POSIX_STREAM_MAX},
133-#endif
134-#ifdef _POSIX_SYMLINK_MAX
135-	{"_POSIX_SYMLINK_MAX",	_POSIX_SYMLINK_MAX},
136-#endif
137-#ifdef _POSIX_SYMLOOP_MAX
138-	{"_POSIX_SYMLOOP_MAX",	_POSIX_SYMLOOP_MAX},
139-#endif
140-#ifdef _POSIX_THREAD_DESTRUCTOR_ITERATIONS
141-	{"_POSIX_THREAD_DESTRUCTOR_ITERATIONS",	_POSIX_THREAD_DESTRUCTOR_ITERATIONS},
142-#endif
143-#ifdef _POSIX_THREAD_KEYS_MAX
144-	{"_POSIX_THREAD_KEYS_MAX",	_POSIX_THREAD_KEYS_MAX},
145-#endif
146-#ifdef _POSIX_THREAD_THREADS_MAX
147-	{"_POSIX_THREAD_THREADS_MAX",	_POSIX_THREAD_THREADS_MAX},
148-#endif
149-#ifdef _POSIX_TIMER_MAX
150-	{"_POSIX_TIMER_MAX",	_POSIX_TIMER_MAX},
151-#endif
152-#ifdef _POSIX_TTY_NAME_MAX
153-	{"_POSIX_TTY_NAME_MAX",	_POSIX_TTY_NAME_MAX},
154-#endif
155-#ifdef _POSIX_TZNAME_MAX
156-	{"_POSIX_TZNAME_MAX",	_POSIX_TZNAME_MAX},
157-#endif
158-#ifdef _POSIX2_BC_BASE_MAX
159-	{"_POSIX2_BC_BASE_MAX",	_POSIX2_BC_BASE_MAX},
160-#endif
161-#ifdef _POSIX2_BC_DIM_MAX
162-	{"_POSIX2_BC_DIM_MAX",	_POSIX2_BC_DIM_MAX},
163-#endif
164-#ifdef _POSIX2_BC_SCALE_MAX
165-	{"_POSIX2_BC_SCALE_MAX",	_POSIX2_BC_SCALE_MAX},
166-#endif
167-#ifdef _POSIX2_BC_STRING_MAX
168-	{"_POSIX2_BC_STRING_MAX",	_POSIX2_BC_STRING_MAX},
169-#endif
170-#ifdef _POSIX2_CHARCLASS_NAME_MAX
171-	{"_POSIX2_CHARCLASS_NAME_MAX",	_POSIX2_CHARCLASS_NAME_MAX},
172-#endif
173-#ifdef _POSIX2_COLL_WEIGHTS_MAX
174-	{"_POSIX2_COLL_WEIGHTS_MAX",	_POSIX2_COLL_WEIGHTS_MAX},
175-#endif
176-#ifdef _POSIX2_EXPR_NEST_MAX
177-	{"_POSIX2_EXPR_NEST_MAX",	_POSIX2_EXPR_NEST_MAX},
178-#endif
179-#ifdef _POSIX2_LINE_MAX
180-	{"_POSIX2_LINE_MAX",	_POSIX2_LINE_MAX},
181-#endif
182-#ifdef _POSIX2_RE_DUP_MAX
183-	{"_POSIX2_RE_DUP_MAX",	_POSIX2_RE_DUP_MAX},
184-#endif
185-};
186-static const struct var sysconf_l[] = {
187-#ifdef _SC_AIO_LISTIO_MAX
188-	{"AIO_LISTIO_MAX",	_SC_AIO_LISTIO_MAX},
189-#endif
190-#ifdef _SC_AIO_MAX
191-	{"AIO_MAX",	_SC_AIO_MAX},
192-#endif
193-#ifdef _SC_AIO_PRIO_DELTA_MAX
194-	{"AIO_PRIO_DELTA_MAX",	_SC_AIO_PRIO_DELTA_MAX},
195-#endif
196-#ifdef _SC_ARG_MAX
197-	{"ARG_MAX",	_SC_ARG_MAX},
198-#endif
199-#ifdef _SC_ATEXIT_MAX
200-	{"ATEXIT_MAX",	_SC_ATEXIT_MAX},
201-#endif
202-#ifdef _SC_BC_BASE_MAX
203-	{"BC_BASE_MAX",	_SC_BC_BASE_MAX},
204-#endif
205-#ifdef _SC_BC_DIM_MAX
206-	{"BC_DIM_MAX",	_SC_BC_DIM_MAX},
207-#endif
208-#ifdef _SC_BC_SCALE_MAX
209-	{"BC_SCALE_MAX",	_SC_BC_SCALE_MAX},
210-#endif
211-#ifdef _SC_BC_STRING_MAX
212-	{"BC_STRING_MAX",	_SC_BC_STRING_MAX},
213-#endif
214-#ifdef _SC_CHILD_MAX
215-	{"CHILD_MAX",	_SC_CHILD_MAX},
216-#endif
217-#ifdef _SC_COLL_WEIGHTS_MAX
218-	{"COLL_WEIGHTS_MAX",	_SC_COLL_WEIGHTS_MAX},
219-#endif
220-#ifdef _SC_DELAYTIMER_MAX
221-	{"DELAYTIMER_MAX",	_SC_DELAYTIMER_MAX},
222-#endif
223-#ifdef _SC_EXPR_NEST_MAX
224-	{"EXPR_NEST_MAX",	_SC_EXPR_NEST_MAX},
225-#endif
226-#ifdef _SC_HOST_NAME_MAX
227-	{"HOST_NAME_MAX",	_SC_HOST_NAME_MAX},
228-#endif
229-#ifdef _SC_IOV_MAX
230-	{"IOV_MAX",	_SC_IOV_MAX},
231-#endif
232-#ifdef _SC_LINE_MAX
233-	{"LINE_MAX",	_SC_LINE_MAX},
234-#endif
235-#ifdef _SC_LOGIN_NAME_MAX
236-	{"LOGIN_NAME_MAX",	_SC_LOGIN_NAME_MAX},
237-#endif
238-#ifdef _SC_NGROUPS_MAX
239-	{"NGROUPS_MAX",	_SC_NGROUPS_MAX},
240-#endif
241-#ifdef _SC_MQ_OPEN_MAX
242-	{"MQ_OPEN_MAX",	_SC_MQ_OPEN_MAX},
243-#endif
244-#ifdef _SC_MQ_PRIO_MAX
245-	{"MQ_PRIO_MAX",	_SC_MQ_PRIO_MAX},
246-#endif
247-#ifdef _SC_OPEN_MAX
248-	{"OPEN_MAX",	_SC_OPEN_MAX},
249-#endif
250-#ifdef _SC_ADVISORY_INFO
251-	{"_POSIX_ADVISORY_INFO",	_SC_ADVISORY_INFO},
252-#endif
253-#ifdef _SC_BARRIERS
254-	{"_POSIX_BARRIERS",	_SC_BARRIERS},
255-#endif
256-#ifdef _SC_ASYNCHRONOUS_IO
257-	{"_POSIX_ASYNCHRONOUS_IO",	_SC_ASYNCHRONOUS_IO},
258-#endif
259-#ifdef _SC_CLOCK_SELECTION
260-	{"_POSIX_CLOCK_SELECTION",	_SC_CLOCK_SELECTION},
261-#endif
262-#ifdef _SC_CPUTIME
263-	{"_POSIX_CPUTIME",	_SC_CPUTIME},
264-#endif
265-#ifdef _SC_FSYNC
266-	{"_POSIX_FSYNC",	_SC_FSYNC},
267-#endif
268-#ifdef _SC_IPV6
269-	{"_POSIX_IPV6",	_SC_IPV6},
270-#endif
271-#ifdef _SC_JOB_CONTROL
272-	{"_POSIX_JOB_CONTROL",	_SC_JOB_CONTROL},
273-#endif
274-#ifdef _SC_MAPPED_FILES
275-	{"_POSIX_MAPPED_FILES",	_SC_MAPPED_FILES},
276-#endif
277-#ifdef _SC_MEMLOCK
278-	{"_POSIX_MEMLOCK",	_SC_MEMLOCK},
279-#endif
280-#ifdef _SC_MEMLOCK_RANGE
281-	{"_POSIX_MEMLOCK_RANGE",	_SC_MEMLOCK_RANGE},
282-#endif
283-#ifdef _SC_MEMORY_PROTECTION
284-	{"_POSIX_MEMORY_PROTECTION",	_SC_MEMORY_PROTECTION},
285-#endif
286-#ifdef _SC_MESSAGE_PASSING
287-	{"_POSIX_MESSAGE_PASSING",	_SC_MESSAGE_PASSING},
288-#endif
289-#ifdef _SC_MONOTONIC_CLOCK
290-	{"_POSIX_MONOTONIC_CLOCK",	_SC_MONOTONIC_CLOCK},
291-#endif
292-#ifdef _SC_PRIORITIZED_IO
293-	{"_POSIX_PRIORITIZED_IO",	_SC_PRIORITIZED_IO},
294-#endif
295-#ifdef _SC_PRIORITY_SCHEDULING
296-	{"_POSIX_PRIORITY_SCHEDULING",	_SC_PRIORITY_SCHEDULING},
297-#endif
298-#ifdef _SC_RAW_SOCKETS
299-	{"_POSIX_RAW_SOCKETS",	_SC_RAW_SOCKETS},
300-#endif
301-#ifdef _SC_READER_WRITER_LOCKS
302-	{"_POSIX_READER_WRITER_LOCKS",	_SC_READER_WRITER_LOCKS},
303-#endif
304-#ifdef _SC_REALTIME_SIGNALS
305-	{"_POSIX_REALTIME_SIGNALS",	_SC_REALTIME_SIGNALS},
306-#endif
307-#ifdef _SC_REGEXP
308-	{"_POSIX_REGEXP",	_SC_REGEXP},
309-#endif
310-#ifdef _SC_SAVED_IDS
311-	{"_POSIX_SAVED_IDS",	_SC_SAVED_IDS},
312-#endif
313-#ifdef _SC_SEMAPHORES
314-	{"_POSIX_SEMAPHORES",	_SC_SEMAPHORES},
315-#endif
316-#ifdef _SC_SHARED_MEMORY_OBJECTS
317-	{"_POSIX_SHARED_MEMORY_OBJECTS",	_SC_SHARED_MEMORY_OBJECTS},
318-#endif
319-#ifdef _SC_SHELL
320-	{"_POSIX_SHELL",	_SC_SHELL},
321-#endif
322-#ifdef _SC_SPAWN
323-	{"_POSIX_SPAWN",	_SC_SPAWN},
324-#endif
325-#ifdef _SC_SPIN_LOCKS
326-	{"_POSIX_SPIN_LOCKS",	_SC_SPIN_LOCKS},
327-#endif
328-#ifdef _SC_SPORADIC_SERVER
329-	{"_POSIX_SPORADIC_SERVER",	_SC_SPORADIC_SERVER},
330-#endif
331-#ifdef _SC_SS_REPL_MAX
332-	{"_POSIX_SS_REPL_MAX",	_SC_SS_REPL_MAX},
333-#endif
334-#ifdef _SC_SYNCHRONIZED_IO
335-	{"_POSIX_SYNCHRONIZED_IO",	_SC_SYNCHRONIZED_IO},
336-#endif
337-#ifdef _SC_THREAD_ATTR_STACKADDR
338-	{"_POSIX_THREAD_ATTR_STACKADDR",	_SC_THREAD_ATTR_STACKADDR},
339-#endif
340-#ifdef _SC_THREAD_ATTR_STACKSIZE
341-	{"_POSIX_THREAD_ATTR_STACKSIZE",	_SC_THREAD_ATTR_STACKSIZE},
342-#endif
343-#ifdef _SC_THREAD_CPUTIME
344-	{"_POSIX_THREAD_CPUTIME",	_SC_THREAD_CPUTIME},
345-#endif
346-#ifdef _SC_THREAD_PRIO_INHERIT
347-	{"_POSIX_THREAD_PRIO_INHERIT",	_SC_THREAD_PRIO_INHERIT},
348-#endif
349-#ifdef _SC_THREAD_PRIO_PROTECT
350-	{"_POSIX_THREAD_PRIO_PROTECT",	_SC_THREAD_PRIO_PROTECT},
351-#endif
352-#ifdef _SC_THREAD_PRIORITY_SCHEDULING
353-	{"_POSIX_THREAD_PRIORITY_SCHEDULING",	_SC_THREAD_PRIORITY_SCHEDULING},
354-#endif
355-#ifdef _SC_THREAD_PROCESS_SHARED
356-	{"_POSIX_THREAD_PROCESS_SHARED",	_SC_THREAD_PROCESS_SHARED},
357-#endif
358-#ifdef _SC_THREAD_ROBUST_PRIO_INHERIT
359-	{"_POSIX_THREAD_ROBUST_PRIO_INHERIT",	_SC_THREAD_ROBUST_PRIO_INHERIT},
360-#endif
361-#ifdef _SC_THREAD_ROBUST_PRIO_PROTECT
362-	{"_POSIX_THREAD_ROBUST_PRIO_PROTECT",	_SC_THREAD_ROBUST_PRIO_PROTECT},
363-#endif
364-#ifdef _SC_THREAD_SAFE_FUNCTIONS
365-	{"_POSIX_THREAD_SAFE_FUNCTIONS",	_SC_THREAD_SAFE_FUNCTIONS},
366-#endif
367-#ifdef _SC_THREAD_SPORADIC_SERVER
368-	{"_POSIX_THREAD_SPORADIC_SERVER",	_SC_THREAD_SPORADIC_SERVER},
369-#endif
370-#ifdef _SC_THREADS
371-	{"_POSIX_THREADS",	_SC_THREADS},
372-#endif
373-#ifdef _SC_TIMEOUTS
374-	{"_POSIX_TIMEOUTS",	_SC_TIMEOUTS},
375-#endif
376-#ifdef _SC_TIMERS
377-	{"_POSIX_TIMERS",	_SC_TIMERS},
378-#endif
379-#ifdef _SC_TRACE
380-	{"_POSIX_TRACE",	_SC_TRACE},
381-#endif
382-#ifdef _SC_TRACE_EVENT_FILTER
383-	{"_POSIX_TRACE_EVENT_FILTER",	_SC_TRACE_EVENT_FILTER},
384-#endif
385-#ifdef _SC_TRACE_EVENT_NAME_MAX
386-	{"_POSIX_TRACE_EVENT_NAME_MAX",	_SC_TRACE_EVENT_NAME_MAX},
387-#endif
388-#ifdef _SC_TRACE_INHERIT
389-	{"_POSIX_TRACE_INHERIT",	_SC_TRACE_INHERIT},
390-#endif
391-#ifdef _SC_TRACE_LOG
392-	{"_POSIX_TRACE_LOG",	_SC_TRACE_LOG},
393-#endif
394-#ifdef _SC_TRACE_NAME_MAX
395-	{"_POSIX_TRACE_NAME_MAX",	_SC_TRACE_NAME_MAX},
396-#endif
397-#ifdef _SC_TRACE_SYS_MAX
398-	{"_POSIX_TRACE_SYS_MAX",	_SC_TRACE_SYS_MAX},
399-#endif
400-#ifdef _SC_TRACE_USER_EVENT_MAX
401-	{"_POSIX_TRACE_USER_EVENT_MAX",	_SC_TRACE_USER_EVENT_MAX},
402-#endif
403-#ifdef _SC_TYPED_MEMORY_OBJECTS
404-	{"_POSIX_TYPED_MEMORY_OBJECTS",	_SC_TYPED_MEMORY_OBJECTS},
405-#endif
406-#ifdef _SC_VERSION
407-	{"_POSIX_VERSION",	_SC_VERSION},
408-#endif
409-#ifdef _SC_V7_ILP32_OFF32
410-	{"_POSIX_V7_ILP32_OFF32",	_SC_V7_ILP32_OFF32},
411-#endif
412-#ifdef _SC_V7_ILP32_OFFBIG
413-	{"_POSIX_V7_ILP32_OFFBIG",	_SC_V7_ILP32_OFFBIG},
414-#endif
415-#ifdef _SC_V7_LP64_OFF64
416-	{"_POSIX_V7_LP64_OFF64",	_SC_V7_LP64_OFF64},
417-#endif
418-#ifdef _SC_V7_LPBIG_OFFBIG
419-	{"_POSIX_V7_LPBIG_OFFBIG",	_SC_V7_LPBIG_OFFBIG},
420-#endif
421-#ifdef _SC_2_C_BIND
422-	{"_POSIX2_C_BIND",	_SC_2_C_BIND},
423-#endif
424-#ifdef _SC_2_C_DEV
425-	{"_POSIX2_C_DEV",	_SC_2_C_DEV},
426-#endif
427-#ifdef _SC_2_CHAR_TERM
428-	{"_POSIX2_CHAR_TERM",	_SC_2_CHAR_TERM},
429-#endif
430-#ifdef _SC_2_FORT_DEV
431-	{"_POSIX2_FORT_DEV",	_SC_2_FORT_DEV},
432-#endif
433-#ifdef _SC_2_FORT_RUN
434-	{"_POSIX2_FORT_RUN",	_SC_2_FORT_RUN},
435-#endif
436-#ifdef _SC_2_LOCALEDEF
437-	{"_POSIX2_LOCALEDEF",	_SC_2_LOCALEDEF},
438-#endif
439-#ifdef _SC_2_PBS
440-	{"_POSIX2_PBS",	_SC_2_PBS},
441-#endif
442-#ifdef _SC_2_PBS_ACCOUNTING
443-	{"_POSIX2_PBS_ACCOUNTING",	_SC_2_PBS_ACCOUNTING},
444-#endif
445-#ifdef _SC_2_PBS_CHECKPOINT
446-	{"_POSIX2_PBS_CHECKPOINT",	_SC_2_PBS_CHECKPOINT},
447-#endif
448-#ifdef _SC_2_PBS_LOCATE
449-	{"_POSIX2_PBS_LOCATE",	_SC_2_PBS_LOCATE},
450-#endif
451-#ifdef _SC_2_PBS_MESSAGE
452-	{"_POSIX2_PBS_MESSAGE",	_SC_2_PBS_MESSAGE},
453-#endif
454-#ifdef _SC_2_PBS_TRACK
455-	{"_POSIX2_PBS_TRACK",	_SC_2_PBS_TRACK},
456-#endif
457-#ifdef _SC_2_SW_DEV
458-	{"_POSIX2_SW_DEV",	_SC_2_SW_DEV},
459-#endif
460-#ifdef _SC_2_UPE
461-	{"_POSIX2_UPE",	_SC_2_UPE},
462-#endif
463-#ifdef _SC_2_VERSION
464-	{"_POSIX2_VERSION",	_SC_2_VERSION},
465-#endif
466-#ifdef _SC_PAGE_SIZE
467-	{"PAGE_SIZE",	_SC_PAGE_SIZE},
468-#endif
469-#ifdef _SC_PAGESIZE
470-	{"PAGESIZE",	_SC_PAGESIZE},
471-#endif
472-#ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
473-	{"PTHREAD_DESTRUCTOR_ITERATIONS",	_SC_THREAD_DESTRUCTOR_ITERATIONS},
474-#endif
475-#ifdef _SC_THREAD_KEYS_MAX
476-	{"PTHREAD_KEYS_MAX",	_SC_THREAD_KEYS_MAX},
477-#endif
478-#ifdef _SC_THREAD_STACK_MIN
479-	{"PTHREAD_STACK_MIN",	_SC_THREAD_STACK_MIN},
480-#endif
481-#ifdef _SC_THREAD_THREADS_MAX
482-	{"PTHREAD_THREADS_MAX",	_SC_THREAD_THREADS_MAX},
483-#endif
484-#ifdef _SC_RE_DUP_MAX
485-	{"RE_DUP_MAX",	_SC_RE_DUP_MAX},
486-#endif
487-#ifdef _SC_RTSIG_MAX
488-	{"RTSIG_MAX",	_SC_RTSIG_MAX},
489-#endif
490-#ifdef _SC_SEM_NSEMS_MAX
491-	{"SEM_NSEMS_MAX",	_SC_SEM_NSEMS_MAX},
492-#endif
493-#ifdef _SC_SEM_VALUE_MAX
494-	{"SEM_VALUE_MAX",	_SC_SEM_VALUE_MAX},
495-#endif
496-#ifdef _SC_SIGQUEUE_MAX
497-	{"SIGQUEUE_MAX",	_SC_SIGQUEUE_MAX},
498-#endif
499-#ifdef _SC_STREAM_MAX
500-	{"STREAM_MAX",	_SC_STREAM_MAX},
501-#endif
502-#ifdef _SC_SYMLOOP_MAX
503-	{"SYMLOOP_MAX",	_SC_SYMLOOP_MAX},
504-#endif
505-#ifdef _SC_TIMER_MAX
506-	{"TIMER_MAX",	_SC_TIMER_MAX},
507-#endif
508-#ifdef _SC_TTY_NAME_MAX
509-	{"TTY_NAME_MAX",	_SC_TTY_NAME_MAX},
510-#endif
511-#ifdef _SC_TZNAME_MAX
512-	{"TZNAME_MAX",	_SC_TZNAME_MAX},
513-#endif
514-#ifdef _SC_XOPEN_CRYPT
515-	{"_XOPEN_CRYPT",	_SC_XOPEN_CRYPT},
516-#endif
517-#ifdef _SC_XOPEN_ENH_I18N
518-	{"_XOPEN_ENH_I18N",	_SC_XOPEN_ENH_I18N},
519-#endif
520-#ifdef _SC_XOPEN_REALTIME
521-	{"_XOPEN_REALTIME",	_SC_XOPEN_REALTIME},
522-#endif
523-#ifdef _SC_XOPEN_REALTIME_THREADS
524-	{"_XOPEN_REALTIME_THREADS",	_SC_XOPEN_REALTIME_THREADS},
525-#endif
526-#ifdef _SC_XOPEN_SHM
527-	{"_XOPEN_SHM",	_SC_XOPEN_SHM},
528-#endif
529-#ifdef _SC_XOPEN_STREAMS
530-	{"_XOPEN_STREAMS",	_SC_XOPEN_STREAMS},
531-#endif
532-#ifdef _SC_XOPEN_UNIX
533-	{"_XOPEN_UNIX",	_SC_XOPEN_UNIX},
534-#endif
535-#ifdef _SC_XOPEN_UUCP
536-	{"_XOPEN_UUCP",	_SC_XOPEN_UUCP},
537-#endif
538-#ifdef _SC_XOPEN_VERSION
539-	{"_XOPEN_VERSION",	_SC_XOPEN_VERSION},
540-#endif
541-};
542-static const struct var pathconf_l[] = {
543-#ifdef _PC_FILESIZEBITS
544-	{"FILESIZEBITS",	_PC_FILESIZEBITS},
545-#endif
546-#ifdef _PC_LINK_MAX
547-	{"LINK_MAX",	_PC_LINK_MAX},
548-#endif
549-#ifdef _PC_MAX_CANON
550-	{"MAX_CANON",	_PC_MAX_CANON},
551-#endif
552-#ifdef _PC_MAX_INPUT
553-	{"MAX_INPUT",	_PC_MAX_INPUT},
554-#endif
555-#ifdef _PC_NAME_MAX
556-	{"NAME_MAX",	_PC_NAME_MAX},
557-#endif
558-#ifdef _PC_PATH_MAX
559-	{"PATH_MAX",	_PC_PATH_MAX},
560-#endif
561-#ifdef _PC_PIPE_BUF
562-	{"PIPE_BUF",	_PC_PIPE_BUF},
563-#endif
564-#ifdef _PC_2_SYMLINKS
565-	{"POSIX2_SYMLINKS",	_PC_2_SYMLINKS},
566-#endif
567-#ifdef _PC_ALLOC_SIZE_MIN
568-	{"POSIX_ALLOC_SIZE_MIN",	_PC_ALLOC_SIZE_MIN},
569-#endif
570-#ifdef _PC_REC_INCR_XFER_SIZE
571-	{"POSIX_REC_INCR_XFER_SIZE",	_PC_REC_INCR_XFER_SIZE},
572-#endif
573-#ifdef _PC_REC_MAX_XFER_SIZE
574-	{"POSIX_REC_MAX_XFER_SIZE",	_PC_REC_MAX_XFER_SIZE},
575-#endif
576-#ifdef _PC_REC_MIN_XFER_SIZE
577-	{"POSIX_REC_MIN_XFER_SIZE",	_PC_REC_MIN_XFER_SIZE},
578-#endif
579-#ifdef _PC_REC_XFER_ALIGN
580-	{"POSIX_REC_XFER_ALIGN",	_PC_REC_XFER_ALIGN},
581-#endif
582-#ifdef _PC_SYMLINK_MAX
583-	{"SYMLINK_MAX",	_PC_SYMLINK_MAX},
584-#endif
585-#ifdef _PC_CHOWN_RESTRICTED
586-	{"_POSIX_CHOWN_RESTRICTED",	_PC_CHOWN_RESTRICTED},
587-#endif
588-#ifdef _PC_NO_TRUNC
589-	{"_POSIX_NO_TRUNC",	_PC_NO_TRUNC},
590-#endif
591-#ifdef _PC_VDISABLE
592-	{"_POSIX_VDISABLE",	_PC_VDISABLE},
593-#endif
594-#ifdef _PC_ASYNC_IO
595-	{"_POSIX_ASYNC_IO",	_PC_ASYNC_IO},
596-#endif
597-#ifdef _PC_PRIO_IO
598-	{"_POSIX_PRIO_IO",	_PC_PRIO_IO},
599-#endif
600-#ifdef _PC_SYNC_IO
601-	{"_POSIX_SYNC_IO",	_PC_SYNC_IO},
602-#endif
603-#ifdef _PC_TIMESTAMP_RESOLUTION
604-	{"_POSIX_TIMESTAMP_RESOLUTION",	_PC_TIMESTAMP_RESOLUTION},
605-#endif
606-};
+1, -0
1@@ -130,6 +130,7 @@ BUILD_NET_TFTP = $(BUILD_NET)
2 BUILD_NET_TUNCTL = $(BUILD_NET)
3 BUILD_NET_WGET = $(BUILD_NET)
4 BUILD_NET_PING = $(BUILD_NET)
5+BUILD_NET_SDHCP = $(BUILD_NET)
6 BUILD_NET_IFCONFIG = $(BUILD_NET)
7 BUILD_NET_HOST = $(BUILD_NET)
8 BUILD_NET_HTTPD = $(BUILD_NET)