* device/include/pic16/pic18f*.h: add bit aliases in INTCONbits_t
[fw/sdcc] / device / include / pic16 / stdlib.h
index 8e522a2c017486336ea73b5a60046850b0811c00..bda5dd7e746d091657295287c47ed76ffb01a448 100644 (file)
@@ -2,7 +2,7 @@
   stdlib.h - ANSI functions forward declarations
 
    Ported to PIC16 port by Vangelis Rokas, 2004 (vrokas@otenet.gr)
-   
+
              Written By -  Sandeep Dutta . sandeep.dutta@usa.net (1998)
 
    This program is free software; you can redistribute it and/or modify it
 ** $Id$
 */
 
-#ifndef __PIC16_STDLIB_H
-#define __PIC16_STDLIB_H 1
+#ifndef __STDLIB_H__
+#define __STDLIB_H__ 1
+
+#pragma library c
+
+#include <stdint.h>
+
 
 #ifndef NULL
 # define NULL (void *)0
 #endif
 
-//#include <malloc.h>
+#define RAND_MAX        0x7fffffff
+
+/* initialize random seed */
+void srand(unsigned long seed);
+
+/* return a random number between 0 and RAND_MAX */
+long rand(void);
+
+/* reentrant version of rand() */
+long rand_r(unsigned long *ctx);
+
+
+/* returns the CRC16 checksum of the data buffer, takes as
+ * last argument an old value of crc16 checksum */
+uint16_t crc16(uint8_t *, uint32_t, uint16_t);
+
+
+/* convert a ASCII string to float */
+float atof (char *);
+
+/* convert a ASCII string to integer */
+int atoi (char *);
+
+/* convert a ASCII string to long */
+long atol (char *);
+
+/* convert an unsigned/signed integer to ASCII string */
+void uitoa(unsigned int, __data char *, unsigned char);
+void itoa(int, __data char*, unsigned char);
 
-extern float atof (char *);
-extern int atoi (char *);
-extern long atol (char *);
+/* convert an unsigned/signed long integer to ASCII string */
+void ultoa(unsigned long, __data char *, unsigned char);
+void ltoa(long, __data char*, unsigned char);
 
-extern void uitoa(unsigned int, char*, unsigned char);
-extern void itoa(unsigned int, char*, unsigned char);
+/* helper functions: convert a float to ASCII string */
+extern char x_ftoa(float, __data char *, unsigned char, unsigned char);
 
-extern void ultoa(unsigned long, char*, unsigned char);
-extern void ltoa(unsigned long, char*, unsigned char);
+/* George M. Gallant's version of ftoa() */
+extern void g_ftoa(__data char *, float, char);
 
-extern char x_ftoa(float, data char *, unsigned char, unsigned char);
 
-#endif /* __PIC16_STDLIB_H */
+#endif /* __STDLIB_H__ */