X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Finclude%2Fpic16%2Fstdlib.h;h=d6f1c4b738060da289c76dcf4267bbe1cf0eacde;hb=6a196df8ed13a6b364f4e4bbdcb8361125b0ea4f;hp=fa9d166ef1d79dbcfbe5c32a9d6f9a7056fe9ec8;hpb=91070d31fe63aaa9412098be0aa469660b10822d;p=fw%2Fsdcc diff --git a/device/include/pic16/stdlib.h b/device/include/pic16/stdlib.h index fa9d166e..d6f1c4b7 100644 --- a/device/include/pic16/stdlib.h +++ b/device/include/pic16/stdlib.h @@ -28,29 +28,57 @@ ** $Id$ */ -#ifndef __PIC16_STDLIB_H -#define __PIC16_STDLIB_H 1 +#ifndef __STDLIB_H__ +#define __STDLIB_H__ 1 #pragma library c +#include + + #ifndef NULL # define NULL (void *)0 #endif -//#include +#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 *); -extern float atof (char *); -extern int atoi (char *); -extern 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 void uitoa(unsigned int, data char *, unsigned char); -extern void itoa(int, data char*, unsigned char); +/* convert an unsigned/signed long integer to ASCII string */ +void ultoa(unsigned long, __data unsigned char *, unsigned char); +void ltoa(long, __data unsigned char*, unsigned char); -extern void ultoa(unsigned long, data unsigned char *, unsigned char); -extern void ltoa(long, data unsigned char*, unsigned char); +/* helper functions: convert a float to ASCII string */ +extern char x_ftoa(float, __data char *, unsigned char, unsigned char); -extern char x_ftoa(float, data char *, unsigned char, unsigned char); +/* George M. Gallant's version of ftoa() */ +extern void g_ftoa(__data char *, float, char); -extern void g_ftoa(data char *, float, char); -#endif /* __PIC16_STDLIB_H */ +#endif /* __STDLIB_H__ */