kolibrios/programs/develop/ktcc/trunk/libc.obj/include/stdlib.h
Coldy 6753818fc0 Rollback to previous revision (unforeseen consequences)
git-svn-id: svn://kolibrios.org@9811 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-05-09 18:19:05 +00:00

72 lines
1.6 KiB
C

#ifndef _STDLIB_H_
#define _STDLIB_H_
#include <stddef.h>
#define RAND_MAX 65535
#ifndef NULL
#define NULL ((void*)0)
#endif
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
typedef struct {
long long quot;
long long rem;
} lldiv_t;
static inline div_t div(int num, int den)
{
return (div_t) { num / den, num % den };
}
static inline ldiv_t ldiv(long num, long den)
{
return (ldiv_t) { num / den, num % den };
}
static inline lldiv_t lldiv(long long num, long long den)
{
return (lldiv_t) { num / den, num % den };
}
extern void* _FUNC(malloc)(size_t size);
extern void* _FUNC(calloc)(size_t num, size_t size);
extern void* _FUNC(realloc)(void* ptr, size_t newsize);
extern void _FUNC(free)(void* ptr);
extern long int _FUNC(strtol)(const char* str, char** endptr, int base);
extern void _FUNC(exit)(int status);
extern void _FUNC(srand)(unsigned s);
extern int _FUNC(rand)(void);
extern void _FUNC(__assert_fail)(const char* expr, const char* file, int line, const char* func);
extern void _FUNC(qsort)(void* base0, size_t n, size_t size, int (*compar)(const void*, const void*));
extern double _FUNC(strtod)(const char* s, char** sret);
extern double _FUNC(atof)(const char* ascii);
extern int _FUNC(atoi)(const char* s);
extern long _FUNC(atol)(const char*);
extern long long _FUNC(atoll)(const char*);
extern void _FUNC(itoa)(int n, char* s);
extern int _FUNC(abs)(int);
extern long _FUNC(labs)(long);
extern long long _FUNC(llabs)(long long);
#endif