Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / include / unistd.h
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 */