summaryrefslogtreecommitdiff
path: root/gpxe/src/include/unistd.h
blob: ef946947c457e60e2cc14189aeabedf0aba83ebd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#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 */