blob: 83eb966b2536befc1c8798f07545d5ee98485fd8 [file] [log] [blame]
Eric Biederman8ca8d762003-04-22 19:02:15 +00001#ifndef STDLIB_H
2#define STDLIB_H
3
4#include <stddef.h>
5
Uwe Hermann55e6eba2007-10-27 20:05:21 +00006#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
7
Stefan Reinauerd40393e2012-03-30 13:00:46 -07008#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1UL)
Rudolf Marek79e53252008-12-23 17:34:15 +00009#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
10
Rudolf Marekc2213492008-03-19 20:24:33 +000011#define MIN(a,b) ((a) < (b) ? (a) : (b))
12#define MAX(a,b) ((a) > (b) ? (a) : (b))
13
Stefan Reinauer35b6bbb2010-03-28 21:26:54 +000014#if !defined(__PRE_RAM__)
Ron Minnicheb596362012-04-11 10:30:15 -070015void *memalign(size_t boundary, size_t size);
Stefan Reinauer6bd571e2009-09-25 21:59:57 +000016void *malloc(size_t size);
Stefan Reinauere09f7ef2012-12-18 14:27:50 -080017/* We never free memory */
18static inline void free(void *ptr) {}
Corey Osgood908ff5e2007-11-07 19:02:35 +000019#endif
Eric Biederman8ca8d762003-04-22 19:02:15 +000020
21#endif /* STDLIB_H */