Source file src/runtime/syscall_aix.go
1
2
3
4
5 package runtime
6
7 import "unsafe"
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 var (
39 libc_chdir,
40 libc_chroot,
41 libc_dup2,
42 libc_execve,
43 libc_fcntl,
44 libc_fork,
45 libc_ioctl,
46 libc_setgid,
47 libc_setgroups,
48 libc_setsid,
49 libc_setuid,
50 libc_setpgid libFunc
51 )
52
53
54
55
56
57
58
59
60
61
62
63
64
65 func syscall_Syscall(fn, a1, a2, a3 uintptr) (r1, r2, err uintptr) {
66 return 0, 0, _EINVAL
67 }
68
69
70
71
72
73
74
75 func syscall_RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) {
76 panic("RawSyscall not available on AIX")
77 }
78
79
80
81
82
83
84 func syscall_syscall6(fn, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) {
85 c := libcall{
86 fn: fn,
87 n: nargs,
88 args: uintptr(unsafe.Pointer(&a1)),
89 }
90
91 entersyscallblock()
92 asmcgocall(unsafe.Pointer(&asmsyscall6), unsafe.Pointer(&c))
93 exitsyscall()
94 return c.r1, 0, c.err
95 }
96
97
98
99
100
101
102 func syscall_rawSyscall6(fn, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) {
103 c := libcall{
104 fn: fn,
105 n: nargs,
106 args: uintptr(unsafe.Pointer(&a1)),
107 }
108
109 asmcgocall(unsafe.Pointer(&asmsyscall6), unsafe.Pointer(&c))
110
111 return c.r1, 0, c.err
112 }
113
114
115
116 func syscall_chdir(path uintptr) (err uintptr) {
117 _, err = syscall1(&libc_chdir, path)
118 return
119 }
120
121
122
123 func syscall_chroot1(path uintptr) (err uintptr) {
124 _, err = syscall1(&libc_chroot, path)
125 return
126 }
127
128
129
130
131 func syscall_close(fd int32) int32 {
132 _, err := syscall1(&libc_close, uintptr(fd))
133 return int32(err)
134 }
135
136
137
138 func syscall_dup2child(old, new uintptr) (val, err uintptr) {
139 val, err = syscall2(&libc_dup2, old, new)
140 return
141 }
142
143
144
145 func syscall_execve(path, argv, envp uintptr) (err uintptr) {
146 _, err = syscall3(&libc_execve, path, argv, envp)
147 return
148 }
149
150
151
152
153 func syscall_exit(code uintptr) {
154 syscall1(&libc_exit, code)
155 }
156
157
158
159 func syscall_fcntl1(fd, cmd, arg uintptr) (val, err uintptr) {
160 val, err = syscall3(&libc_fcntl, fd, cmd, arg)
161 return
162
163 }
164
165
166
167 func syscall_forkx(flags uintptr) (pid uintptr, err uintptr) {
168 pid, err = syscall1(&libc_fork, flags)
169 return
170 }
171
172
173
174 func syscall_getpid() (pid, err uintptr) {
175 pid, err = syscall0(&libc_getpid)
176 return
177 }
178
179
180
181 func syscall_ioctl(fd, req, arg uintptr) (err uintptr) {
182 _, err = syscall3(&libc_ioctl, fd, req, arg)
183 return
184 }
185
186
187
188 func syscall_setgid(gid uintptr) (err uintptr) {
189 _, err = syscall1(&libc_setgid, gid)
190 return
191 }
192
193
194
195 func syscall_setgroups1(ngid, gid uintptr) (err uintptr) {
196 _, err = syscall2(&libc_setgroups, ngid, gid)
197 return
198 }
199
200
201
202 func syscall_setsid() (pid, err uintptr) {
203 pid, err = syscall0(&libc_setsid)
204 return
205 }
206
207
208
209 func syscall_setuid(uid uintptr) (err uintptr) {
210 _, err = syscall1(&libc_setuid, uid)
211 return
212 }
213
214
215
216 func syscall_setpgid(pid, pgid uintptr) (err uintptr) {
217 _, err = syscall2(&libc_setpgid, pid, pgid)
218 return
219 }
220
221
222
223 func syscall_write1(fd, buf, nbyte uintptr) (n, err uintptr) {
224 n, err = syscall3(&libc_write, fd, buf, nbyte)
225 return
226 }
227
View as plain text