AVR Libc Home Page |  | AVR Libc Development Pages
Main Page | User Manual | Library Reference | FAQ | Alphabetical Index | Example Projects

# stdlib.h File Reference

## Data Structures

struct | div_t
struct | ldiv_t

## Defines

#define | _STDLIB_H_ 1
#define | __need_NULL
#define | __need_size_t
#define | __need_wchar_t
#define | __ptr_t void *
#define | RAND_MAX 0x7FFF

## Typedefs

typedef int(* | __compar_fn_t )(const void *, const void *)

## Functions

void | abort (void) __ATTR_NORETURN__
int | abs (int __i)
long | labs (long __i)
void * | bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, int(*__compar)(const void *, const void *))
div_t | div (int __num, int __denom) __asm__("__divmodhi4")
ldiv_t | ldiv (long __num, long __denom) __asm__("__divmodsi4")
void | qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar)
long | strtol (const char *__nptr, char **__endptr, int __base)
unsigned long | strtoul (const char *__nptr, char **__endptr, int __base)
long | atol (const char *__s) __ATTR_PURE__
int | atoi (const char *__s) __ATTR_PURE__
void | exit (int __status) __ATTR_NORETURN__
void * | malloc (size_t __size) __ATTR_MALLOC__
void | free (void *__ptr)
void * | calloc (size_t __nele, size_t __size) __ATTR_MALLOC__
void * | realloc (void *__ptr, size_t __size) __ATTR_MALLOC__
double | strtod (const char *__nptr, char **__endptr)
double | atof (const char *__nptr)
int | rand (void)
void | srand (unsigned int __seed)
int | rand_r (unsigned long *__ctx)

## Variables

size_t | __malloc_margin
char * | __malloc_heap_start
char * | __malloc_heap_end

## Non-standard (i.e. non-ISO C) functions.

#define | RANDOM_MAX 0x7FFFFFFF
char * | itoa (int __val, char *__s, int __radix)
char * | ltoa (long int __val, char *__s, int __radix)
char * | utoa (unsigned int __val, char *__s, int __radix)
char * | ultoa (unsigned long int __val, char *__s, int __radix)
long | random (void)
void | srandom (unsigned long __seed)
long | random_r (unsigned long *__ctx)

## Conversion functions for double arguments.

Note that these functions are not located in the default library, `libc.a`, but in the mathematical library, `libm.a`. So when linking the application, the `-lm` option needs to be specified.
#define | DTOSTR_ALWAYS_SIGN 0x01
#define | DTOSTR_PLUS_SIGN 0x02
#define | DTOSTR_UPPERCASE 0x04
char * | dtostre (double __val, char *__s, unsigned char __prec, unsigned char __flags)
char * | dtostrf (double __val, signed char __width, unsigned char __prec, char *__s)

## Detailed Description

Automatically generated by Doxygen 1.5.8 on 22 Apr 2009.