diff options
Diffstat (limited to 'contrib/syslinux-4.02/gpxe/src/include/stdlib.h')
-rw-r--r-- | contrib/syslinux-4.02/gpxe/src/include/stdlib.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/gpxe/src/include/stdlib.h b/contrib/syslinux-4.02/gpxe/src/include/stdlib.h new file mode 100644 index 0000000..254e39b --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/include/stdlib.h @@ -0,0 +1,75 @@ +#ifndef STDLIB_H +#define STDLIB_H + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include <stdint.h> +#include <assert.h> + +/***************************************************************************** + * + * Numeric parsing + * + **************************************************************************** + */ + +extern unsigned long strtoul ( const char *p, char **endp, int base ); + +/***************************************************************************** + * + * Memory allocation + * + **************************************************************************** + */ + +extern void * __malloc malloc ( size_t size ); +extern void * realloc ( void *old_ptr, size_t new_size ); +extern void free ( void *ptr ); +extern void * __malloc zalloc ( size_t len ); + +/** + * Allocate cleared memory + * + * @v nmemb Number of members + * @v size Size of each member + * @ret ptr Allocated memory + * + * Allocate memory as per malloc(), and zero it. + * + * This is implemented as a static inline, with the body of the + * function in zalloc(), since in most cases @c nmemb will be 1 and + * doing the multiply is just wasteful. + */ +static inline void * __malloc calloc ( size_t nmemb, size_t size ) { + return zalloc ( nmemb * size ); +} + +/***************************************************************************** + * + * Random number generation + * + **************************************************************************** + */ + +extern long int random ( void ); +extern void srandom ( unsigned int seed ); + +static inline int rand ( void ) { + return random(); +} + +static inline void srand ( unsigned int seed ) { + srandom ( seed ); +} + +/***************************************************************************** + * + * Miscellaneous + * + **************************************************************************** + */ + +extern int system ( const char *command ); +extern __asmcall int main ( void ); + +#endif /* STDLIB_H */ |