Subversion Repositories Kolibri OS

Rev

Rev 647 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /* Simple libc header for TCC
  2.  *
  3.  * Add any function you want from the libc there. This file is here
  4.  * only for your convenience so that you do not need to put the whole
  5.  * glibc include files on your floppy disk
  6.  */
  7. #ifndef _TCCLIB_H
  8. #define _TCCLIB_H
  9.  
  10. #include <stddef.h>
  11. #include <stdarg.h>
  12.  
  13. /* stdlib.h */
  14. void *calloc(size_t nmemb, size_t size);
  15. void *malloc(size_t size);
  16. void free(void *ptr);
  17. void *realloc(void *ptr, size_t size);
  18. int atoi(const char *nptr);
  19. long int strtol(const char *nptr, char **endptr, int base);
  20. unsigned long int strtoul(const char *nptr, char **endptr, int base);
  21. void exit(int);
  22.  
  23. /* stdio.h */
  24. typedef struct __FILE FILE;
  25. #define EOF (-1)
  26. extern FILE *stdin;
  27. extern FILE *stdout;
  28. extern FILE *stderr;
  29. FILE *fopen(const char *path, const char *mode);
  30. FILE *fdopen(int fildes, const char *mode);
  31. FILE *freopen(const  char *path, const char *mode, FILE *stream);
  32. int fclose(FILE *stream);
  33. size_t  fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
  34. size_t  fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream);
  35. int fgetc(FILE *stream);
  36. char *fgets(char *s, int size, FILE *stream);
  37. int getc(FILE *stream);
  38. int getchar(void);
  39. char *gets(char *s);
  40. int ungetc(int c, FILE *stream);
  41. int fflush(FILE *stream);
  42. int putchar (int c);
  43.  
  44. int printf(const char *format, ...);
  45. int fprintf(FILE *stream, const char *format, ...);
  46. int sprintf(char *str, const char *format, ...);
  47. int snprintf(char *str, size_t size, const  char  *format, ...);
  48. int asprintf(char **strp, const char *format, ...);
  49. int dprintf(int fd, const char *format, ...);
  50. int vprintf(const char *format, va_list ap);
  51. int vfprintf(FILE  *stream,  const  char *format, va_list ap);
  52. int vsprintf(char *str, const char *format, va_list ap);
  53. int vsnprintf(char *str, size_t size, const char  *format, va_list ap);
  54. int vasprintf(char  **strp,  const  char *format, va_list ap);
  55. int vdprintf(int fd, const char *format, va_list ap);
  56.  
  57. void perror(const char *s);
  58.  
  59. /* string.h */
  60. char *strcat(char *dest, const char *src);
  61. char *strchr(const char *s, int c);
  62. char *strrchr(const char *s, int c);
  63. char *strcpy(char *dest, const char *src);
  64. void *memcpy(void *dest, const void *src, size_t n);
  65. void *memmove(void *dest, const void *src, size_t n);
  66. void *memset(void *s, int c, size_t n);
  67. char *strdup(const char *s);
  68. size_t strlen(const char *s);
  69.  
  70. /* dlfcn.h */
  71. #define RTLD_LAZY       0x001
  72. #define RTLD_NOW        0x002
  73. #define RTLD_GLOBAL     0x100
  74.  
  75. void *dlopen(const char *filename, int flag);
  76. const char *dlerror(void);
  77. void *dlsym(void *handle, char *symbol);
  78. int dlclose(void *handle);
  79.  
  80. #endif /* _TCCLIB_H */
  81.