|
|
1.1 root 1: #ifndef _UNISTD_H
2: #define _UNISTD_H
3:
4: FILE_LICENCE ( GPL2_OR_LATER );
5:
6: #include <stddef.h>
7: #include <stdarg.h>
8:
9: extern int execv ( const char *command, char * const argv[] );
10:
11: /**
12: * Execute command
13: *
14: * @v command Command name
15: * @v arg ... Argument list (starting with argv[0])
16: * @ret rc Command exit status
17: *
18: * This is a front end to execv().
19: */
20: #define execl( command, arg, ... ) ( { \
21: char * const argv[] = { (arg), ## __VA_ARGS__ }; \
22: int rc = execv ( (command), argv ); \
23: rc; \
24: } )
25:
26: /* Pick up udelay() */
27: #include <ipxe/timer.h>
28:
29: /*
30: * sleep() prototype is defined by POSIX.1. usleep() prototype is
31: * defined by 4.3BSD. udelay() and mdelay() prototypes are chosen to
32: * be reasonably sensible.
33: *
34: */
35:
36: extern unsigned int sleep ( unsigned int seconds );
37: extern void mdelay ( unsigned long msecs );
38:
39: static inline __always_inline void usleep ( unsigned long usecs ) {
40: udelay ( usecs );
41: }
42:
43: #endif /* _UNISTD_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.