NetBSD/usr.bin/xlint/llib/llib-lstdc

261 lines
7.9 KiB
Plaintext

/*
* Copyright (c) 1994, 1995 Jochen Pohl
* All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Jochen Pohl for
* The NetBSD Project.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: llib-lstdc,v 1.1.1.1 1995/07/03 20:56:39 cgd Exp $
*/
/* LINTLIBRARY */
#define _ANSI_SOURCE
#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <locale.h>
#include <math.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
/* PROTOLIB1 */
/*
* assert.h
*/
#ifdef __NetBSD__
void (__assert)(const char *expression, int line, const char *file);
#else
void (assert)(int expression);
#endif
/*
* ctype.h
*/
int (isalnum)(int c);
int (isalpha)(int c);
int (iscntrl)(int c);
int (isdigit)(int c);
int (isgraph)(int c);
int (islower)(int c);
int (isprint)(int c);
int (ispunct)(int c);
int (isspace)(int c);
int (isupper)(int c);
int (isxdigit)(int c);
int (tolower)(int c);
int (toupper)(int c);
/*
* errno.h
*/
int (errno);
/*
* locale.h
*/
char *(setlocale)(int category, const char *locale);
struct lconv *(localeconv)(void);
/*
* math.h
*/
double (acos)(double x);
double (asin)(double x);
double (atan)(double x);
double (atan2)(double y, double x);
double (cos)(double x);
double (sin)(double x);
double (tan)(double x);
double (cosh)(double x);
double (sinh)(double x);
double (tanh)(double x);
double (exp)(double x);
double (frexp)(double value, int *exp);
double (ldexp)(double x, int exp);
double (log)(double x);
double (log10)(double x);
double (modf)(double value, double *iptr);
double (pow)(double x, double y);
double (sqrt)(double x);
double (ceil)(double x);
double (fabs)(double x);
double (floor)(double x);
double (fmod)(double x, double y);
/*
* setjmp.h
*/
int (setjmp)(jmp_buf env);
void (longjmp)(jmp_buf env, int val);
/*
* signal.h
*/
void (*(signal)(int sig, void (*func)(int)))(int);
int (raise)(int sig);
/*
* stdio.h
*/
int (remove)(const char *filename);
int (rename)(const char *old, const char *new);
FILE *(tmpfile)(void);
char *(tmpnam)(char *s);
int (fclose)(FILE *stream);
int (fflush)(FILE *stream);
FILE *(fopen)(const char *filename, const char *mode);
FILE *(freopen)(const char *filename, const char *mode, FILE *stream);
void (setbuf)(FILE *stream, char *buf);
int (setvbuf)(FILE *stream, char *buf, int mode, size_t size);
/* PRINTFLIKE2 */
int (fprintf)(FILE *stream, const char *format, ...);
/* SCANFLIKE2 */
int (fscanf)(FILE *stream, const char *format, ...);
/* PRINTFLIKE1 */
int (printf)(const char *format, ...);
/* SCANFLIKE1 */
int (scanf)(const char *format, ...);
/* PRINTFLIKE2 */
int (sprintf)(char *s, const char *format, ...);
/* SCANFLIKE2 */
int (sscanf)(const char *s, const char *format, ...);
int (vfprintf)(FILE *stream, const char *format, va_list arg);
int (vprintf)(const char *format, va_list arg);
int (vsprintf)(char *s, const char *format, va_list arg);
int (fgetc)(FILE *stream);
#ifdef __NetBSD__
char *(fgets)(char *s, size_t n, FILE *stream);
#else
char *(fgets)(char *s, int n, FILE *stream);
#endif
int (fputc)(int c, FILE *stream);
int (fputs)(const char *s, FILE *stream);
int (getc)(FILE *stream);
int (getchar)(void);
char *(gets)(char *s);
int (putc)(int c, FILE *stream);
int (putchar)(int c);
int (puts)(const char *s);
int (ungetc)(int c, FILE *stream);
size_t (fread)(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t (fwrite)(const void *ptr, size_t size, size_t nmemb, FILE *stream);
int (fgetpos)(FILE *stream, fpos_t *pos);
int (fseek)(FILE *stream, long offset, int whence);
int (fsetpos)(FILE *stream, const fpos_t *pos);
#ifdef __NetBSD__
long (ftell)(const FILE *stream);
#else
long (ftell)(FILE *stream);
#endif
void (rewind)(FILE *stream);
void (clearerr)(FILE *stream);
int (feof)(FILE *stream);
int (ferror)(FILE *stream);
void (perror)(const char *s);
/*
* stdlib.h
*/
double (atof)(const char *nptr);
int (atoi)(const char *nptr);
long (atol)(const char *nptr);
double (strtod)(const char *nptr, char **endptr);
long (strtol)(const char *nptr, char **endptr, int base);
unsigned long (strtoul)(const char *nptr, char **endptr, int base);
int (rand)(void);
void (srand)(unsigned seed);
void *(calloc)(size_t nmemb, size_t size);
void (free)(void *ptr);
void *(malloc)(size_t size);
void *(realloc)(void *ptr, size_t size);
void (abort)(void);
int (atexit)(void (*func)(void));
void (exit)(int status);
char *(getenv)(const char *name);
int (system)(const char *string);
void *(bsearch)(const void *key, const void *base, size_t nmemb,
size_t size, int (*compar)(const void *, const void *));
void (qsort)(void *base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *));
int (abs)(int j);
div_t (div)(int numer, int denom);
long (labs)(long j);
ldiv_t (ldiv)(long numer, long denom);
int (mblen)(const char *s, size_t n);
int (mbtowc)(wchar_t *PWC, const char *s, size_t n);
int (wctomb)(char *s, wchar_t wchar);
size_t (mbstowcs)(wchar_t *pwcs, const char *s, size_t n);
size_t (wcstombs)(char *s, const wchar_t *pwcs, size_t n);
/*
* string.h
*/
void *(memcpy)(void *s1, const void *s2, size_t n);
void *(memmove)(void *s1, const void *s2, size_t n);
char *(strcpy)(char *s1, const char *s2);
char *(strncpy)(char *s1, const char *s2, size_t n);
char *(strcat)(char *s1, const char *s2);
char *(strncat)(char *s1, const char *s2, size_t n);
int (memcmp)(const void *s1, const void *s2, size_t n);
int (strcmp)(const char *s1, const char *s2);
int (strcoll)(const char *s1, const char *s2);
int (strncmp)(const char *s1, const char *s2, size_t n);
size_t (strxfrm)(char *s1, const char *s2, size_t n);
void *(memchr)(const void *s, int c, size_t n);
char *(strchr)(const char *s, int c);
size_t (strcspn)(const char *s1, const char *s2);
char *(strpbrk)(const char *s1, const char *s2);
char *(strrchr)(const char *s1, int c);
size_t (strspn)(const char *s1, const char *s2);
char *(strstr)(const char *s1, const char *s2);
char *(strtok)(char *s1, const char *s2);
void *(memset)(void *s, int c, size_t n);
char *(strerror)(int errnom);
size_t (strlen)(const char *s);
/*
* time.h
*/
clock_t (clock)(void);
double (difftime)(time_t time1, time_t time2);
time_t (mktime)(struct tm *timeptr);
time_t (time)(time_t *timer);
char *(asctime)(const struct tm *timeptr);
char *(ctime)(const time_t *timer);
struct tm *(gmtime)(const time_t *timer);
struct tm *(localtime)(const time_t *timer);
size_t (strftime)(char *s, size_t maxsize, const char *format,
const struct tm *timeptr);