0,0 → 1,77 |
/* 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); |
|
/* 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 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); |
|
/* 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 */ |