]> git.sur5r.net Git - cc65/blobdiff - include/stdlib.h
Make system() fastcall like most other library functions.
[cc65] / include / stdlib.h
index 6bacd952b8ecd598520e569a0a8d5742e7fe05d7..a58d29c876e24b9795ebcafd4162067ee6e42ede 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2005 Ullrich von Bassewitz                                       */
-/*               Römerstrasse 52                                             */
-/*               D-70794 Filderstadt                                         */
-/* EMail:        uz@cc65.org                                                 */
+/* (C) 1998-2009, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
@@ -54,6 +54,12 @@ typedef struct {
     int quot;
 } div_t;
 
+/* Return type of the ldiv function (which currently doesn't exist) */
+typedef struct {
+    long rem;
+    long quot;
+} ldiv_t;
+
 /* Memory management */
 void* __fastcall__ malloc (size_t size);
 void* __fastcall__ calloc (size_t count, size_t size);
@@ -62,6 +68,7 @@ void __fastcall__ free (void* block);
 
 /* Non standard memory management functions */
 
+#if __CC65_STD__ == __CC65_STD_CC65__
 int __fastcall__ posix_memalign (void** memptr, size_t alignment, size_t size);
 /* 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
@@ -71,6 +78,7 @@ int __fastcall__ posix_memalign (void** memptr, size_t alignment, size_t size);
  * will return the address of the allocated memory.  Use free() to release that
  * allocated block.
  */
+#endif
 
 void __fastcall__ _heapadd (void* mem, size_t size);
 /* Add a block to the heap */
@@ -105,7 +113,9 @@ void __fastcall__ exit (int ret);
 char* __fastcall__ getenv (const char* name);
 void __fastcall__ qsort (void* base, size_t count, size_t size,
                         int (*compare) (const void*, const void*));
-int system (const char* s);
+long __fastcall__ strtol (const char* nptr, char** endptr, int base);
+unsigned long __fastcall__ strtoul (const char* nptr, char** endptr, int base);
+int __fastcall__ system (const char* s);
 
 /* Non-ANSI functions */
 void __fastcall__ _swap (void* p, void* q, size_t size);