Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5936 pavelyakov 1
#ifndef STDLIB_C_INCLUDE
2
#define STDLIB_C_INCLUDE
3
 
4
#define RAND_MAX 0x7FFFU
5
 
6
#define isspace(c) ((c)==' ')
7
#define abs(i) (((i)<0)?(-(i)):(i))
8
 
9
#define random(num) ((rand()*(num))/((RAND_MAX+1)))
10
 
11
static unsigned int seed_o = 0x45168297;
12
 
13
 
14
static inline void srand (unsigned seed)
15
{
16
	seed_o = seed;
17
}
18
 
19
 
20
static inline int rand (void)
21
{
22
	seed_o = seed_o * 0x15a4e35 + 1;
23
	return(seed_o >> 16);
24
}
25
 
26
 
27
static inline void* malloc(unsigned s)
28
{
29
	asm ("int $0x40"::"a"(68), "b"(12), "c"(s) );
30
}
31
 
32
 
33
static inline void free(void *p)
34
{
35
	asm ("int $0x40"::"a"(68), "b"(13), "c"(p) );
36
}
37
 
38
static inline void *realloc(void *data, long size)
39
{
40
	void *r = malloc(size);
41
	byte *p = (byte *)r;
42
	byte *pd = (byte *)data;
43
	while(size--) *p++=*pd++;
44
	free(data);
45
	return r;
46
}
47
 
48
 
49
#endif