mlibc: New library layout; remove duplication.
[mes.git] / lib / linux-mes.c
1 /* -*-comment-start: "//";comment-end:""-*-
2  * Mes --- Maxwell Equations of Software
3  * Copyright © 2016,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 void
22 read ()
23 {
24   asm ("mov____0x8(%ebp),%ebx !8");
25   asm ("mov____0x8(%ebp),%ecx !12");
26   asm ("mov____0x8(%ebp),%edx !16");
27
28   asm ("mov____$i32,%eax SYS_read");
29   asm ("int____$0x80");
30 }
31
32 void
33 open ()
34 {
35   asm ("mov____0x8(%ebp),%ebx !8");
36   asm ("mov____0x8(%ebp),%ecx !12");
37   asm ("mov____0x8(%ebp),%edx !16");
38
39   asm ("mov____$i32,%eax SYS_open");
40   asm ("int____$0x80");
41 }
42
43 void
44 chmod ()
45 {
46   asm ("mov____0x8(%ebp),%ebx !8");
47   asm ("mov____0x8(%ebp),%ecx !12");
48
49   asm ("mov____$i32,%eax SYS_chmod");
50   asm ("int____$0x80");
51 }
52
53 void
54 access ()
55 {
56   asm ("mov____0x8(%ebp),%ebx !8");
57   asm ("mov____0x8(%ebp),%ecx !12");
58
59   asm ("mov____$i32,%eax SYS_access");
60   asm ("int____$0x80");
61 }
62
63 void
64 brk ()
65 {
66   asm ("mov____0x8(%ebp),%ebx !8");
67
68   asm ("mov____$i32,%eax SYS_brk");
69   asm ("int____$0x80");
70 }
71
72 void
73 fsync ()
74 {
75   asm ("mov____0x8(%ebp),%ebx !8");
76
77   asm ("mov____$i32,%eax SYS_fsync");
78   asm ("int____$0x80");
79 }