Move ANSI C standard prototypes to stdlib.h; leave the gPXE-specific
[people/xl0/gpxe.git] / src / include / stdlib.h
1 #ifndef STDLIB_H
2 #define STDLIB_H
3
4 extern unsigned long strtoul ( const char *p, char **endp, int base );
5 extern void * realloc ( void *old_ptr, size_t new_size );
6 extern void * malloc ( size_t size );
7 extern void free ( void *ptr );
8
9 /**
10  * Allocate cleared memory
11  *
12  * @v nmemb             Number of members
13  * @v size              Size of each member
14  * @ret ptr             Allocated memory
15  *
16  * Allocate memory as per malloc(), and zero it.
17  *
18  * Note that malloc() and calloc() are identical, in the interests of
19  * reducing code size.  Callers should not, however, rely on malloc()
20  * clearing memory, since this behaviour may change in future.
21  */
22 static inline void * calloc ( size_t nmemb, size_t size ) {
23         return malloc ( nmemb * size );
24 }
25
26 #endif /* STDLIB_H */