blob: ef946947c457e60e2cc14189aeabedf0aba83ebd [file] [log] [blame]
#ifndef _UNISTD_H
#define _UNISTD_H
FILE_LICENCE ( GPL2_OR_LATER );
#include <stddef.h>
#include <stdarg.h>
extern int execv ( const char *command, char * const argv[] );
/**
* Execute command
*
* @v command Command name
* @v arg ... Argument list (starting with argv[0])
* @ret rc Command exit status
*
* This is a front end to execv().
*/
#define execl( command, arg, ... ) ( { \
char * const argv[] = { (arg), ## __VA_ARGS__ }; \
int rc = execv ( (command), argv ); \
rc; \
} )
/* Pick up udelay() */
#include <gpxe/timer.h>
/*
* sleep() prototype is defined by POSIX.1. usleep() prototype is
* defined by 4.3BSD. udelay() and mdelay() prototypes are chosen to
* be reasonably sensible.
*
*/
extern unsigned int sleep ( unsigned int seconds );
extern void mdelay ( unsigned long msecs );
static inline __always_inline void usleep ( unsigned long usecs ) {
udelay ( usecs );
}
#endif /* _UNISTD_H */