Implement more functions
[oota-llvm.git] / runtime / libdummy / dummylib.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <time.h>
4 #include <stdarg.h>
5 #include <sys/time.h>
6
7 // Varargs function definitions
8 int ioctl(int d, int request) {return 0; }
9 int printf(const char *X) {return 0; }
10
11
12 int gettimeofday(struct timeval *tv, void *tz) { return 0; }
13 void *xmalloc(size_t X) { return malloc(X); }
14   
15 void srand(unsigned x) {}
16 double exp(double x) { return 0; }
17 double log(double x) { return 0; }
18 double sqrt(double x) { return 0; }
19 void exit(int x) {}
20 int puts(const char *x) { return 0; }
21 void __main() {}
22 int atoi(const char*x) { return 1; }
23 char *fgets(char*Ptr, int x, FILE*F) { return Ptr; }
24 int fclose(FILE*F) { return 0; }
25 FILE *fopen(const char *n, const char*x) { return malloc(sizeof(FILE)); }
26 FILE *freopen(const char *path, const char *mode, FILE *stream) { return 0; }
27 int fflush(FILE *F) { return 0; }
28 size_t fwrite(const void* str, size_t N, size_t n, FILE *F) { return N; }
29 void *memset(void *P, int X, size_t N) { return P; }
30 void *memcpy(void *P, void *S, size_t N) { return P; }
31 void *memmove(void *P, void *S, size_t N) { return P; }
32 char *strcpy(char*Str1, const char *Str) { return Str1; }
33 char *strcat(char*Str1, const char *Str) { return Str1; }
34 size_t strlen(char *X) { return 0; }
35 #undef putchar
36 int putchar(int N) { return N; }
37 int putc(int c, FILE *stream) { return c; }
38 int fputc(int c, FILE *stream) { return c; }
39 int fgetc(FILE *S) { return 0; }
40 long ftell(FILE *F) { return 0; }
41 int getc(FILE *S) { return 0; }
42 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) { return 0; }
43 int fseek(FILE *stream, long offset, int whence) { return 0; }
44 int feof(FILE *stream) { return 0; }
45 int fputs(const char *s, char *stream) { return 0; }
46 int ferror(FILE *F) { return 0; }
47 FILE *fdopen(int fildes, const char *mode) { return 0;}
48 int ungetc(int c, FILE *stream) { return 0; }
49 int setvbuf(FILE *stream, char *buf, int mode , size_t size) { return 0; }
50 void rewind(FILE*F) { }
51 int fileno(FILE *stream) { return 1; }
52 char *ttyname(int desc) { return 0; }
53 long sysconf(int name) { return 0; }
54 char *tmpnam(char *s) { return s; }
55
56 void *calloc(size_t A, size_t B) { return malloc(A*B); }
57 void *realloc(void *ptr, size_t N) { return ptr; } 
58 const char *strerror(int N) { return 0; }
59 int unlink(const char *path) { return 0; }
60 void perror(const char *err) {}
61 char *strrchr(const char *S, int C) { return (char*)S; }
62 int memcmp(const char *A, const char *B, size_t N) { return 0; }
63 ssize_t read(int fildes, void *buf, size_t nbyte) { return nbyte; }
64 int close(int FD) { return 0; }
65 int rename(const char *oldpath, const char *newpath) { return 0; }
66 ssize_t write(int fd, const void *buf, size_t count) { return 0; }
67 pid_t getpid(void) { return 0; }
68 pid_t getppid(void) { return 0; }
69 void setbuf(FILE *stream, char *buf) {}
70 int isatty(int desc) { return 0; }
71 int vsprintf(char *str, const char *format, va_list ap) { return 0; }
72 char *getcwd(char *buf, size_t size) { return buf; }
73
74 void qsort(void *base, size_t nmemb, size_t size,
75            int(*compar)(const void *, const void *)) {
76   compar(base, base);
77 }
78
79
80
81 #include <sys/times.h>
82 clock_t times(struct tms *buf) { return 0; }
83
84
85 #include <setjmp.h>
86 int setjmp(jmp_buf env) { return 0; }
87 void longjmp(jmp_buf env, int val) {}
88 int kill(pid_t pid, int sig) { return 0; }
89 int system(const char *string) { return 0; }
90 char *getenv(const char *name) { return 0; }
91 typedef void (*sighandler_t)(int);
92
93 sighandler_t signal(int signum, sighandler_t handler) { return handler; }
94
95
96
97
98 char *strchr(const char *s, int c) { return (char*)s; }
99 int strcmp(const char *s1, const char *s2) { return 0; }
100 int strncmp(const char *s1, const char *s2, size_t n) { return 0; }
101 char *strncpy(char *s1, const char *s2, size_t n) { return s1; }
102 char *strpbrk(const char *s, const char *accept) { return (char*)s; }
103 char *strncat(char *dest, const char *src, size_t n) { return dest; }
104
105 double atof(const char *C) { return 0; }
106
107
108 long clock() { return 0; }
109 char *ctime(const time_t *timep) { return 0; }
110 time_t time(time_t *t) { return *t = 0; }
111
112 double sin(double x) { return x; }
113 double cos(double x) { return x; }
114 double tan(double x) { return x; }
115 double asin(double x) { return x; }
116 double acos(double x) { return x; }
117 double atan(double x) { return x; }
118 double cosh(double x) { return x; }
119 double sinh(double x) { return x; }
120 double ceil(double x) { return x; }
121 double floor(double x) { return x; }
122
123 double atan2(double x, double y) { return x; }
124 double fmod(double x, double y) { return x; }
125 double pow(double x, double y) { return x; }
126
127 int tolower(int x) { return x; }
128 int toupper(int x) { return x; }
129