/* Simple libc header for TCC * * Add any function you want from the libc there. This file is here * only for your convenience so that you do not need to put the whole * glibc include files on your floppy disk */#ifndef _TCCLIB_H#define _TCCLIB_H #include <stddef.h>#include <stdarg.h> /* stdlib.h */void *calloc(size_t nmemb, size_t size);void *malloc(size_t size);void free(void *ptr);void *realloc(void *ptr, size_t size);int atoi(const char *nptr);long int strtol(const char *nptr, char **endptr, int base);unsigned long int strtoul(const char *nptr, char **endptr, int base);void exit(int);void *alloca(size_t); /* stdio.h */typedef struct __FILE FILE;#define EOF (-1)extern FILE *stdin;extern FILE *stdout;extern FILE *stderr;FILE *fopen(const char *path, const char *mode);FILE *fdopen(int fildes, const char *mode);FILE *freopen(const char *path, const char *mode, FILE *stream);int fclose(FILE *stream);size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream);int fgetc(FILE *stream);char *fgets(char *s, int size, FILE *stream);int getc(FILE *stream);int getchar(void);char *gets(char *s);int ungetc(int c, FILE *stream);int fflush(FILE *stream);int puts(const char *s);int putchar (int c); int printf(const char *format, ...);int fprintf(FILE *stream, const char *format, ...);int sprintf(char *str, const char *format, ...);int snprintf(char *str, size_t size, const char *format, ...);int asprintf(char **strp, const char *format, ...);int dprintf(int fd, const char *format, ...);int vprintf(const char *format, va_list ap);int vfprintf(FILE *stream, const char *format, va_list ap);int vsprintf(char *str, const char *format, va_list ap);int vsnprintf(char *str, size_t size, const char *format, va_list ap);int vasprintf(char **strp, const char *format, va_list ap);int vdprintf(int fd, const char *format, va_list ap); void perror(const char *s); /* string.h */char *strcat(char *dest, const char *src);char *strchr(const char *s, int c);char *strrchr(const char *s, int c);char *strcpy(char *dest, const char *src);void *memcpy(void *dest, const void *src, size_t n);void *memmove(void *dest, const void *src, size_t n);void *memset(void *s, int c, size_t n);char *strdup(const char *s);size_t strlen(const char *s); /* dlfcn.h */#define RTLD_LAZY 0x001#define RTLD_NOW 0x002#define RTLD_GLOBAL 0x100 void *dlopen(const char *filename, int flag);const char *dlerror(void);void *dlsym(void *handle, char *symbol);int dlclose(void *handle); #endif /* _TCCLIB_H */
/* Simple libc header for TCC
*
* Add any function you want from the libc there. This file is here
* only for your convenience so that you do not need to put the whole
* glibc include files on your floppy disk
*/
#ifndef _TCCLIB_H
#define _TCCLIB_H
#include <stddef.h>
#include <stdarg.h>
/* stdlib.h */
void *calloc(size_t nmemb, size_t size);
void *malloc(size_t size);
void free(void *ptr);
void *realloc(void *ptr, size_t size);
int atoi(const char *nptr);
long int strtol(const char *nptr, char **endptr, int base);
unsigned long int strtoul(const char *nptr, char **endptr, int base);
void exit(int);
void *alloca(size_t);
/* stdio.h */
typedef struct __FILE FILE;
#define EOF (-1)
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
FILE *fopen(const char *path, const char *mode);
FILE *fdopen(int fildes, const char *mode);
FILE *freopen(const char *path, const char *mode, FILE *stream);
int fclose(FILE *stream);
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream);
int fgetc(FILE *stream);
char *fgets(char *s, int size, FILE *stream);
int getc(FILE *stream);
int getchar(void);
char *gets(char *s);
int ungetc(int c, FILE *stream);
int fflush(FILE *stream);
int puts(const char *s);
int putchar (int c);
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
int asprintf(char **strp, const char *format, ...);
int dprintf(int fd, const char *format, ...);
int vprintf(const char *format, va_list ap);
int vfprintf(FILE *stream, const char *format, va_list ap);
int vsprintf(char *str, const char *format, va_list ap);
int vsnprintf(char *str, size_t size, const char *format, va_list ap);
int vasprintf(char **strp, const char *format, va_list ap);
int vdprintf(int fd, const char *format, va_list ap);
void perror(const char *s);
/* string.h */
char *strcat(char *dest, const char *src);
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
char *strcpy(char *dest, const char *src);
void *memcpy(void *dest, const void *src, size_t n);
void *memmove(void *dest, const void *src, size_t n);
void *memset(void *s, int c, size_t n);
char *strdup(const char *s);
size_t strlen(const char *s);
/* dlfcn.h */
#define RTLD_LAZY 0x001
#define RTLD_NOW 0x002
#define RTLD_GLOBAL 0x100
void *dlopen(const char *filename, int flag);
const char *dlerror(void);
void *dlsym(void *handle, char *symbol);
int dlclose(void *handle);
#endif /* _TCCLIB_H */