Home | History | Annotate | Line # | Download | only in llib
llib-lstdc revision 1.3.128.1
      1  1.3.128.1  perseant /*	$NetBSD: llib-lstdc,v 1.3.128.1 2025/08/02 05:58:46 perseant Exp $	*/
      2        1.2       cgd 
      3        1.1       cgd /*
      4        1.1       cgd  * Copyright (c) 1994, 1995 Jochen Pohl
      5        1.1       cgd  * All Rights Reserved.
      6        1.1       cgd  *
      7        1.1       cgd  * Redistribution and use in source and binary forms, with or without
      8        1.1       cgd  * modification, are permitted provided that the following conditions
      9        1.1       cgd  * are met:
     10        1.1       cgd  * 1. Redistributions of source code must retain the above copyright
     11        1.1       cgd  *    notice, this list of conditions and the following disclaimer.
     12        1.1       cgd  * 2. Redistributions in binary form must reproduce the above copyright
     13        1.1       cgd  *    notice, this list of conditions and the following disclaimer in the
     14        1.1       cgd  *    documentation and/or other materials provided with the distribution.
     15        1.1       cgd  * 3. All advertising materials mentioning features or use of this software
     16        1.1       cgd  *    must display the following acknowledgement:
     17        1.1       cgd  *      This product includes software developed by Jochen Pohl for
     18        1.1       cgd  *	The NetBSD Project.
     19        1.1       cgd  * 4. The name of the author may not be used to endorse or promote products
     20        1.1       cgd  *    derived from this software without specific prior written permission.
     21        1.1       cgd  *
     22        1.1       cgd  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     23        1.1       cgd  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     24        1.1       cgd  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     25        1.1       cgd  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     26        1.1       cgd  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     27        1.1       cgd  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     28        1.1       cgd  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     29        1.1       cgd  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     30        1.1       cgd  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     31        1.1       cgd  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     32        1.1       cgd  */
     33        1.1       cgd 
     34        1.1       cgd /* LINTLIBRARY */
     35        1.1       cgd 
     36        1.1       cgd #define _ANSI_SOURCE
     37        1.1       cgd 
     38        1.1       cgd #include <assert.h>
     39        1.1       cgd #include <ctype.h>
     40        1.1       cgd #include <errno.h>
     41        1.1       cgd #include <locale.h>
     42        1.1       cgd #include <math.h>
     43        1.1       cgd #include <setjmp.h>
     44        1.1       cgd #include <signal.h>
     45        1.1       cgd #include <stdarg.h>
     46        1.1       cgd #include <stddef.h>
     47        1.1       cgd #include <stdio.h>
     48        1.1       cgd #include <stdlib.h>
     49        1.1       cgd #include <string.h>
     50        1.1       cgd #include <time.h>
     51        1.1       cgd 
     52        1.1       cgd /* PROTOLIB1 */
     53        1.1       cgd 
     54        1.1       cgd /*
     55        1.1       cgd  * assert.h
     56        1.1       cgd  */
     57        1.1       cgd #ifdef __NetBSD__
     58        1.1       cgd void	(__assert)(const char *expression, int line, const char *file);
     59        1.1       cgd #else
     60        1.1       cgd void	(assert)(int expression);
     61        1.1       cgd #endif
     62        1.1       cgd 
     63        1.1       cgd /*
     64        1.1       cgd  * ctype.h
     65        1.1       cgd  */
     66        1.1       cgd int	(isalnum)(int c);
     67        1.1       cgd int	(isalpha)(int c);
     68        1.1       cgd int	(iscntrl)(int c);
     69        1.1       cgd int	(isdigit)(int c);
     70        1.1       cgd int	(isgraph)(int c);
     71        1.1       cgd int	(islower)(int c);
     72        1.1       cgd int	(isprint)(int c);
     73        1.1       cgd int	(ispunct)(int c);
     74        1.1       cgd int	(isspace)(int c);
     75        1.1       cgd int	(isupper)(int c);
     76        1.1       cgd int	(isxdigit)(int c);
     77        1.1       cgd int	(tolower)(int c);
     78        1.1       cgd int	(toupper)(int c);
     79        1.1       cgd 
     80        1.1       cgd /*
     81        1.1       cgd  * errno.h
     82        1.1       cgd  */
     83  1.3.128.1  perseant #ifndef errno
     84        1.1       cgd int	(errno);
     85  1.3.128.1  perseant #endif
     86        1.1       cgd 
     87        1.1       cgd /*
     88        1.1       cgd  * locale.h
     89        1.1       cgd  */
     90        1.1       cgd char *(setlocale)(int category, const char *locale);
     91        1.1       cgd struct lconv *(localeconv)(void);
     92        1.1       cgd 
     93        1.1       cgd /*
     94        1.1       cgd  * math.h
     95        1.1       cgd  */
     96        1.1       cgd double	(acos)(double x);
     97        1.1       cgd double	(asin)(double x);
     98        1.1       cgd double	(atan)(double x);
     99        1.1       cgd double	(atan2)(double y, double x);
    100        1.1       cgd double	(cos)(double x);
    101        1.1       cgd double	(sin)(double x);
    102        1.1       cgd double	(tan)(double x);
    103        1.1       cgd double	(cosh)(double x);
    104        1.1       cgd double	(sinh)(double x);
    105        1.1       cgd double	(tanh)(double x);
    106        1.1       cgd double	(exp)(double x);
    107        1.1       cgd double	(frexp)(double value, int *exp);
    108        1.1       cgd double	(ldexp)(double x, int exp);
    109        1.1       cgd double	(log)(double x);
    110        1.1       cgd double	(log10)(double x);
    111        1.1       cgd double	(modf)(double value, double *iptr);
    112        1.1       cgd double	(pow)(double x, double y);
    113        1.1       cgd double	(sqrt)(double x);
    114        1.1       cgd double	(ceil)(double x);
    115        1.1       cgd double	(fabs)(double x);
    116        1.1       cgd double	(floor)(double x);
    117        1.1       cgd double	(fmod)(double x, double y);
    118        1.1       cgd 
    119        1.1       cgd /*
    120        1.1       cgd  * setjmp.h
    121        1.1       cgd  */
    122        1.1       cgd int	(setjmp)(jmp_buf env);
    123        1.1       cgd void	(longjmp)(jmp_buf env, int val);
    124        1.1       cgd 
    125        1.1       cgd /*
    126        1.1       cgd  * signal.h
    127        1.1       cgd  */
    128        1.1       cgd void	(*(signal)(int sig, void (*func)(int)))(int);
    129        1.1       cgd int	(raise)(int sig);
    130        1.1       cgd 
    131        1.1       cgd /*
    132        1.1       cgd  * stdio.h
    133        1.1       cgd  */
    134        1.1       cgd int	(remove)(const char *filename);
    135        1.1       cgd int	(rename)(const char *old, const char *new);
    136        1.1       cgd FILE	*(tmpfile)(void);
    137        1.1       cgd char	*(tmpnam)(char *s);
    138        1.1       cgd int	(fclose)(FILE *stream);
    139        1.1       cgd int	(fflush)(FILE *stream);
    140        1.1       cgd FILE	*(fopen)(const char *filename, const char *mode);
    141        1.1       cgd FILE	*(freopen)(const char *filename, const char *mode, FILE *stream);
    142        1.1       cgd void	(setbuf)(FILE *stream, char *buf);
    143        1.1       cgd int	(setvbuf)(FILE *stream, char *buf, int mode, size_t size);
    144        1.1       cgd /* PRINTFLIKE2 */
    145        1.1       cgd int	(fprintf)(FILE *stream, const char *format, ...);
    146        1.1       cgd /* SCANFLIKE2 */
    147        1.1       cgd int	(fscanf)(FILE *stream, const char *format, ...);
    148        1.1       cgd /* PRINTFLIKE1 */
    149        1.1       cgd int	(printf)(const char *format, ...);
    150        1.1       cgd /* SCANFLIKE1 */
    151        1.1       cgd int	(scanf)(const char *format, ...);
    152        1.1       cgd /* PRINTFLIKE2 */
    153        1.1       cgd int	(sprintf)(char *s, const char *format, ...);
    154        1.1       cgd /* SCANFLIKE2 */
    155        1.1       cgd int	(sscanf)(const char *s, const char *format, ...);
    156        1.1       cgd int	(vfprintf)(FILE *stream, const char *format, va_list arg);
    157        1.1       cgd int	(vprintf)(const char *format, va_list arg);
    158        1.1       cgd int	(vsprintf)(char *s, const char *format, va_list arg);
    159        1.1       cgd int	(fgetc)(FILE *stream);
    160        1.1       cgd char	*(fgets)(char *s, int n, FILE *stream);
    161        1.1       cgd int	(fputc)(int c, FILE *stream);
    162        1.1       cgd int	(fputs)(const char *s, FILE *stream);
    163        1.1       cgd int	(getc)(FILE *stream);
    164        1.1       cgd int	(getchar)(void);
    165        1.1       cgd char	*(gets)(char *s);
    166        1.1       cgd int	(putc)(int c, FILE *stream);
    167        1.1       cgd int	(putchar)(int c);
    168        1.1       cgd int	(puts)(const char *s);
    169        1.1       cgd int	(ungetc)(int c, FILE *stream);
    170        1.1       cgd size_t	(fread)(void *ptr, size_t size, size_t nmemb, FILE *stream);
    171        1.1       cgd size_t	(fwrite)(const void *ptr, size_t size, size_t nmemb, FILE *stream);
    172        1.1       cgd int	(fgetpos)(FILE *stream, fpos_t *pos);
    173        1.1       cgd int	(fseek)(FILE *stream, long offset, int whence);
    174        1.1       cgd int	(fsetpos)(FILE *stream, const fpos_t *pos);
    175        1.1       cgd long	(ftell)(FILE *stream);
    176        1.1       cgd void	(rewind)(FILE *stream);
    177        1.1       cgd void	(clearerr)(FILE *stream);
    178        1.1       cgd int	(feof)(FILE *stream);
    179        1.1       cgd int	(ferror)(FILE *stream);
    180        1.1       cgd void	(perror)(const char *s);
    181        1.1       cgd 
    182        1.1       cgd /*
    183        1.1       cgd  * stdlib.h
    184        1.1       cgd  */
    185        1.1       cgd double	(atof)(const char *nptr);
    186        1.1       cgd int	(atoi)(const char *nptr);
    187        1.1       cgd long	(atol)(const char *nptr);
    188        1.1       cgd double	(strtod)(const char *nptr, char **endptr);
    189        1.1       cgd long	(strtol)(const char *nptr, char **endptr, int base);
    190        1.1       cgd unsigned long (strtoul)(const char *nptr, char **endptr, int base);
    191        1.1       cgd int	(rand)(void);
    192        1.1       cgd void	(srand)(unsigned seed);
    193        1.1       cgd void	*(calloc)(size_t nmemb, size_t size);
    194        1.1       cgd void	(free)(void *ptr);
    195        1.1       cgd void	*(malloc)(size_t size);
    196        1.1       cgd void	*(realloc)(void *ptr, size_t size);
    197        1.1       cgd void	(abort)(void);
    198        1.1       cgd int	(atexit)(void (*func)(void));
    199        1.1       cgd void	(exit)(int status);
    200        1.1       cgd char	*(getenv)(const char *name);
    201        1.1       cgd int	(system)(const char *string);
    202        1.1       cgd void	*(bsearch)(const void *key, const void *base, size_t nmemb,
    203        1.1       cgd 		   size_t size, int (*compar)(const void *, const void *));
    204        1.1       cgd void	(qsort)(void *base, size_t nmemb, size_t size,
    205        1.1       cgd 		int (*compar)(const void *, const void *));
    206        1.1       cgd int	(abs)(int j);
    207        1.1       cgd div_t	(div)(int numer, int denom);
    208        1.1       cgd long	(labs)(long j);
    209        1.1       cgd ldiv_t	(ldiv)(long numer, long denom);
    210        1.1       cgd int	(mblen)(const char *s, size_t n);
    211        1.1       cgd int	(mbtowc)(wchar_t *PWC, const char *s, size_t n);
    212        1.1       cgd int	(wctomb)(char *s, wchar_t wchar);
    213        1.1       cgd size_t	(mbstowcs)(wchar_t *pwcs, const char *s, size_t n);
    214        1.1       cgd size_t	(wcstombs)(char *s, const wchar_t *pwcs, size_t n);
    215        1.1       cgd 
    216        1.1       cgd /*
    217        1.1       cgd  * string.h
    218        1.1       cgd  */
    219        1.1       cgd void	*(memcpy)(void *s1, const void *s2, size_t n);
    220        1.1       cgd void	*(memmove)(void *s1, const void *s2, size_t n);
    221        1.1       cgd char	*(strcpy)(char *s1, const char *s2);
    222        1.1       cgd char	*(strncpy)(char *s1, const char *s2, size_t n);
    223        1.1       cgd char	*(strcat)(char *s1, const char *s2);
    224        1.1       cgd char	*(strncat)(char *s1, const char *s2, size_t n);
    225        1.1       cgd int	(memcmp)(const void *s1, const void *s2, size_t n);
    226        1.1       cgd int	(strcmp)(const char *s1, const char *s2);
    227        1.1       cgd int	(strcoll)(const char *s1, const char *s2);
    228        1.1       cgd int	(strncmp)(const char *s1, const char *s2, size_t n);
    229        1.1       cgd size_t	(strxfrm)(char *s1, const char *s2, size_t n);
    230        1.1       cgd void	*(memchr)(const void *s, int c, size_t n);
    231        1.1       cgd char	*(strchr)(const char *s, int c);
    232        1.1       cgd size_t	(strcspn)(const char *s1, const char *s2);
    233        1.1       cgd char	*(strpbrk)(const char *s1, const char *s2);
    234        1.1       cgd char	*(strrchr)(const char *s1, int c);
    235        1.1       cgd size_t	(strspn)(const char *s1, const char *s2);
    236        1.1       cgd char	*(strstr)(const char *s1, const char *s2);
    237        1.1       cgd char	*(strtok)(char *s1, const char *s2);
    238        1.1       cgd void	*(memset)(void *s, int c, size_t n);
    239        1.1       cgd char	*(strerror)(int errnom);
    240        1.1       cgd size_t	(strlen)(const char *s);
    241        1.1       cgd 
    242        1.1       cgd /*
    243        1.1       cgd  * time.h
    244        1.1       cgd  */
    245        1.1       cgd clock_t (clock)(void);
    246        1.1       cgd double	(difftime)(time_t time1, time_t time2);
    247        1.1       cgd time_t	(mktime)(struct tm *timeptr);
    248        1.1       cgd time_t	(time)(time_t *timer);
    249        1.1       cgd char	*(asctime)(const struct tm *timeptr);
    250        1.1       cgd char	*(ctime)(const time_t *timer);
    251        1.1       cgd struct tm *(gmtime)(const time_t *timer);
    252        1.1       cgd struct tm *(localtime)(const time_t *timer);
    253        1.1       cgd size_t	(strftime)(char *s, size_t maxsize, const char *format,
    254        1.1       cgd 		   const struct tm *timeptr);
    255