d71ee1ab2a022928ac3ef5848a2d47ae9355b1af
[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 extern int system ( const char *command );
9
10 /**
11  * Allocate cleared memory
12  *
13  * @v nmemb             Number of members
14  * @v size              Size of each member
15  * @ret ptr             Allocated memory
16  *
17  * Allocate memory as per malloc(), and zero it.
18  *
19  * Note that malloc() and calloc() are identical, in the interests of
20  * reducing code size.  Callers should not, however, rely on malloc()
21  * clearing memory, since this behaviour may change in future.
22  */
23 static inline void * calloc ( size_t nmemb, size_t size ) {
24         return malloc ( nmemb * size );
25 }
26
27 #endif /* STDLIB_H */