Home | History | Annotate | Download | only in include
      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 <gpxe/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 */
     44