mescc: Tinycc support: lseek.
[mes.git] / mlibc / libc-mes+tcc.c
1 /* -*-comment-start: "//";comment-end:""-*-
2  * Mes --- Maxwell Equations of Software
3  * Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
4  *
5  * This file is part of Mes.
6  *
7  * Mes is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or (at
10  * your option) any later version.
11  *
12  * Mes is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include <libc-mes.c>
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <string.h>
25 #include <time.h>
26 #include <unistd.h>
27
28 void
29 close ()
30 {
31   asm ("mov____0x8(%ebp),%ebx !8");
32
33   asm ("mov____$i32,%eax SYS_close");
34   asm ("int____$0x80");
35 }
36
37 char *
38 getcwd (char *buf, size_t size)
39 {
40   asm ("mov____0x8(%ebp),%ebx !8");
41   asm ("mov____0x8(%ebp),%ecx !12");
42
43   asm ("mov____$i32,%eax SYS_getcwd");
44   asm ("int____$0x80");
45 }
46
47 int
48 unlink (char const *file_name)
49 {
50   asm ("mov____0x8(%ebp),%ebx !8");
51
52   asm ("mov____$i32,%eax SYS_unlink");
53   asm ("int____$0x80");
54 }
55
56 off_t
57 lseek (int fd, off_t offset, int whence)
58 {
59   asm ("mov____0x8(%ebp),%ebx !8");
60   asm ("mov____0x8(%ebp),%ecx !12");
61   asm ("mov____0x8(%ebp),%edx !16");
62
63   asm ("mov____$i32,%eax SYS_lseek");
64   asm ("int____$0x80");
65 }
66
67
68 int
69 fclose (FILE *stream)
70 {
71   return 0;
72 }
73
74 FILE *
75 fdopen (int fd, char const *mode)
76 {
77   return 0;
78 }
79
80 int
81 fprintf (FILE *stream, char const *format, ...)
82 {
83   return 0;
84 }
85
86 size_t
87 fwrite (void const *ptr, size_t size, size_t nmemb, FILE *stream)
88 {
89   return 0;
90 }
91
92 struct tm *
93 localtime (time_t const *timep)
94 {
95   return 0;
96 }
97
98 void *
99 memcpy (void *dest, void const *src, size_t n)
100 {
101   return 0;
102 }
103
104 void *
105 memmove (void *dest, void const *src, size_t n)
106 {
107   return 0;
108 }
109
110 void *
111 memset (void *s, int c, size_t n)
112 {
113   return 0;
114 }
115
116 int
117 memcmp (void const *s1, void const *s2, size_t n)
118 {
119   return 0;
120 }
121
122 void
123 qsort (void *base, size_t nmemb, size_t size, int (*compar)(void const *, void const *))
124 {
125 }
126
127 int
128 snprintf(char *str,  size_t size,  char const *format, ...)
129 {
130   return 0;
131 }
132
133 char *
134 strchr (char const *s, int c)
135 {
136   return 0;
137 }
138
139 unsigned long
140 strtoul (char const *nptr, char **endptr, int base)
141 {
142   return 0;
143 }
144
145 time_t time (time_t *tloc)
146 {
147   return 0;
148 }