* as/link/lkar.h: sgetl and sputl are independent of endianness
[fw/sdcc] / doc / libdoc.txt
index 654216cbba9e5fdf0cd500c22078dab69a96add4..0aba0efc891f9afa8fcaf0bcb3a607debbc3e492 100644 (file)
@@ -1,4 +1,4 @@
-Not finished - 19 Jan 2002 - checkpoint (Steve Kenton)
+Not finished - 20 Jan 2002 - checkpoint (Steve Kenton)
 
 This is a sorted (ignoring leading '_') list of the SDCC library.
 Sources are in ~sdcc/device/lib/*.c and ~sdcc/device/include/*.h.
@@ -6,9 +6,6 @@ Except where denoted with MACRO these are implemented as functions.
 Internal function calls are generated by the compiler to implement
 IEEE floating point, etc.  They are not normally called directly.
 
-ctype.h
-/*-------------------------------------------------------------------------
-
 isalnum - character classification - #include <ctype.h> - all ports
        char isalnum (unsigned char c); MACRO
        Return true if c is an ASCII letter or digit
@@ -19,6 +16,11 @@ isalpha - character classification - #include <ctype.h> - all ports
        Return true if c is an ASCII letter
        'a-z','A-Z' otherwise return false.
 
+isascii - character classification - #include <ctype.h> - missing
+       char isascii (unsigned char c);
+       Return true if c is an 7-bit ASCII character
+       0x00-0x7F otherwise return false.
+
 iscntrl - character classification - #include <ctype.h> - all ports
        char iscntrl (unsigned char c);
        Return true if c is an ASCII control character
@@ -67,7 +69,7 @@ isxdigit - character classification - #include <ctype.h> - all ports
 
 toascii - character classification - #include <ctype.h> - all ports
        char toascii(unsigned char c); MACRO
-       Convert c from 8-bit to 7-bit ASCII.
+       Convert c from 8-bit value to 7-bit ASCII.
 
 tolower - character classification - #include <ctype.h> - all ports
        char _tolower(unsigned char c); MACRO
@@ -79,9 +81,6 @@ toupper - character classification - #include <ctype.h> - all ports
        char toupper(unsigned char c); MACRO
        Convert c from lower case to upper case.
 
-float.h
-/*-------------------------------------------------------------------------
-
 __uchar2fs - IEEE single precision math - #include <float.h> - ??? ports
        float __uchar2fs (unsigned char uc); INTERNAL
        Convert an unsigned char to float.
@@ -162,8 +161,6 @@ __fsgt - IEEE single precision math - #include <float.h> - ??? ports
        char __fsgt (float a1, float a2); INTERNAL ??? typo in float.h ???
        Compare two floats gt.
 
-malloc.h
-/*-------------------------------------------------------------------------
 malloc - memory allocation - #include <malloc.h> - ??? ports
        void *malloc (unsigned int);
        void xdata * malloc (unsigned int );
@@ -178,10 +175,6 @@ init_dynamic_memory - memory allocation - #include <malloc.h> - ??? ports
        void init_dynamic_memory (MEMHEADER xdata *  , unsigned int );
        Initialize the memory allocation system.
 
-math.h
-/*-------------------------------------------------------------------------
-
-/* Trigonometric functions */
 sincosf - ANSI C math - #include <math.h> - all ports
        float sincosf(const float x, const int iscos); INTERNAL
        Compute the sine or cosine of x.
@@ -230,7 +223,6 @@ atan2f - ANSI C math - #include <math.h> - all ports
        float atan2f (const float x, const float y); ??? x,y reversed ???
        Compute the arc tangent of (x/y);
 
-/* Hyperbolic functions */
 sinhf - ANSI C math - #include <math.h> - all ports
        float sinhf (const float x);
        Compute the hyperbolic sine of x.
@@ -243,7 +235,6 @@ tanhf - ANSI C math - #include <math.h> - all ports
        float tanhf (const float x);
        Compute the hyperbolic tangent of x.
 
-/* Exponential, logarithmic and power functions */
 expf - ANSI C math - #include <math.h> - all ports
        float expf (const float x);
        Compute e to the x power.
@@ -264,7 +255,6 @@ sqrtf - ANSI C math - #include <math.h> - all ports
        float sqrtf (const float x);
        Compute the square root of x.
 
-/* Nearest integer, absolute value, and remainder functions */
 fabsf - ANSI C math - #include <math.h> - all ports
        float fabsf (const float x);
        Compute the absolute value of x.
@@ -289,8 +279,6 @@ modff - ANSI C math - #include <math.h> - all ports
        float modff (float x, float * y);
        Split x in to integer and fractional parts.
 
-setjmp.h
-/*-------------------------------------------------------------------------
 setjmp - long jump - #include <setjmp.h> - ??? ports
        int setjmp (unsigned char * jmpb);
        Save the return address and sufficient task state
@@ -338,28 +326,48 @@ string.h
 /*-------------------------------------------------------------------------
 strcpy - string manipulation - #include <string.h> - all ports
        char *strcpy (char * d, char * s);
-       Copy the source string s to the destination string d.
+       Copy the nul terminated source string s to the destination d.
 
 strncpy - string manipulation - #include <string.h> - all ports
        char *strncpy(char * d, char * s, int n);
+       Copy the nul terminated source string s to the destination d but
+       do not copy more than n characters even if this causes d to not
+       be nul terminated.
 
 strcat - string manipulation - #include <string.h> - all ports
        char *strcat (char * front, char * back);
+       Copy the nul terminated string back to the end of the nul terminated
+       string front, overwriting the nul and creating a concatenation of
+       the two with a single trailing nul terminator.
 
 strncat - string manipulation - #include <string.h> - all ports
        char *strncat(char * front, char * back, int n);
+       Copy the nul terminated string back to the end of the nul terminated
+       string front, overwriting the nul and creating a concatenation of
+       the two, but do not copy more than n characters, even if this causes
+       the result to no be nul terminated.
 
 strcmp - string manipulation - #include <string.h> - all ports
        int   strcmp (char * asrc, char * adst);
+       Compare two nul terminated strings asrc and adst.  Return a value < 0 if asrc
+       is less than adst.  Return a value > 0 if asrc is greater than adst.  Otherwise
+       return 0.
 
 strncmp - string manipulation - #include <string.h> - all ports
        int   strncmp(char * asrc, char * adst, int n);
+       Compare two nul terminated strings asrc and adst but do not check more than n
+       characters.  Return a value < 0 if asrc is less than adst.  Return a value > 0
+       if asrc is greater than adst. Otherwise return 0.
 
 strchr - string manipulation - #include <string.h> - all ports
-       char *strchr (char *, char  );
+       char *strchr (char * string, char ch);
+       Return a pointer to the first occurrence of the character ch is string
+       or a NULL pointer if not found.
 
 strrchr - string manipulation - #include <string.h> - all ports
-       char *strrchr(char *, char  );
+       char *strrchr(char * string, char ch);
+       Return a pointer to the last occurrence of the character ch is string
+       or a NULL pointer if not found.
 
 strspn - string manipulation - #include <string.h> - all ports
        int   strspn (char *, char *);