/* */
/* */
/* */
-/* (C) 1998-2003 Ullrich von Bassewitz */
+/* (C) 1998-2005 Ullrich von Bassewitz */
/* Römerstrasse 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
/* Non standard memory management functions */
+void* __fastcall__ _aligned_malloc (size_t size, size_t alignment);
+/* Allocate a block of memory with the given size, which is aligned to a
+ * memory address that is a multiple of alignment. alignment MUST NOT be
+ * zero and MUST be a power of two, otherwise a call to this function will
+ * cause undefined behaviour. The function returns NULL if not enough memory
+ * is available to satisfy the request. To free the allocated block, use the
+ * free() function.
+ */
+
void __fastcall__ _heapadd (void* mem, size_t size);
/* Add a block to the heap */
+size_t __fastcall__ _heapblocksize (const void* block);
+/* Return the size of an allocated block */
+
size_t __fastcall__ _heapmemavail (void);
/* Return the total free heap space */
size_t __fastcall__ _heapmaxavail (void);
/* Return the size of the largest free block on the heap */
+
/* Random numbers */
#define RAND_MAX 0x7FFF
int rand (void);
div_t __fastcall__ div (int numer, int denom);
void __fastcall__ exit (int ret);
char* __fastcall__ getenv (const char* name);
-void qsort (void* base, size_t count, size_t size,
- int (*compare) (const void*, const void*));
+void __fastcall__ qsort (void* base, size_t count, size_t size,
+ int (*compare) (const void*, const void*));
int system (const char* s);
/* Non-ANSI functions */
void __fastcall__ _swap (void* p, void* q, size_t size);
-#ifndef __STRICT_ANSI__
+#if __CC65_STD__ == __CC65_STD_CC65__
char* __fastcall__ itoa (int val, char* buf, int radix);
char* __fastcall__ utoa (unsigned val, char* buf, int radix);
char* __fastcall__ ltoa (long val, char* buf, int radix);
char* __fastcall__ ultoa (unsigned long val, char* buf, int radix);
+int __fastcall__ putenv (char* s);
#endif