]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix/syscall_netbsd.go
provider: Ensured Go 1.11 in TravisCI and README
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / fsouza / go-dockerclient / external / golang.org / x / sys / unix / syscall_netbsd.go
1 // Copyright 2009,2010 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // NetBSD system calls.
6 // This file is compiled as ordinary Go code,
7 // but it is also input to mksyscall,
8 // which parses the //sys lines and generates system call stubs.
9 // Note that sometimes we use a lowercase //sys name and wrap
10 // it in our own nicer implementation, either here or in
11 // syscall_bsd.go or syscall_unix.go.
12
13 package unix
14
15 import (
16 "syscall"
17 "unsafe"
18 )
19
20 type SockaddrDatalink struct {
21 Len uint8
22 Family uint8
23 Index uint16
24 Type uint8
25 Nlen uint8
26 Alen uint8
27 Slen uint8
28 Data [12]int8
29 raw RawSockaddrDatalink
30 }
31
32 func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
33
34 func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) {
35 var olen uintptr
36
37 // Get a list of all sysctl nodes below the given MIB by performing
38 // a sysctl for the given MIB with CTL_QUERY appended.
39 mib = append(mib, CTL_QUERY)
40 qnode := Sysctlnode{Flags: SYSCTL_VERS_1}
41 qp := (*byte)(unsafe.Pointer(&qnode))
42 sz := unsafe.Sizeof(qnode)
43 if err = sysctl(mib, nil, &olen, qp, sz); err != nil {
44 return nil, err
45 }
46
47 // Now that we know the size, get the actual nodes.
48 nodes = make([]Sysctlnode, olen/sz)
49 np := (*byte)(unsafe.Pointer(&nodes[0]))
50 if err = sysctl(mib, np, &olen, qp, sz); err != nil {
51 return nil, err
52 }
53
54 return nodes, nil
55 }
56
57 func nametomib(name string) (mib []_C_int, err error) {
58
59 // Split name into components.
60 var parts []string
61 last := 0
62 for i := 0; i < len(name); i++ {
63 if name[i] == '.' {
64 parts = append(parts, name[last:i])
65 last = i + 1
66 }
67 }
68 parts = append(parts, name[last:])
69
70 // Discover the nodes and construct the MIB OID.
71 for partno, part := range parts {
72 nodes, err := sysctlNodes(mib)
73 if err != nil {
74 return nil, err
75 }
76 for _, node := range nodes {
77 n := make([]byte, 0)
78 for i := range node.Name {
79 if node.Name[i] != 0 {
80 n = append(n, byte(node.Name[i]))
81 }
82 }
83 if string(n) == part {
84 mib = append(mib, _C_int(node.Num))
85 break
86 }
87 }
88 if len(mib) != partno+1 {
89 return nil, EINVAL
90 }
91 }
92
93 return mib, nil
94 }
95
96 // ParseDirent parses up to max directory entries in buf,
97 // appending the names to names. It returns the number
98 // bytes consumed from buf, the number of entries added
99 // to names, and the new names slice.
100 func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) {
101 origlen := len(buf)
102 for max != 0 && len(buf) > 0 {
103 dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
104 if dirent.Reclen == 0 {
105 buf = nil
106 break
107 }
108 buf = buf[dirent.Reclen:]
109 if dirent.Fileno == 0 { // File absent in directory.
110 continue
111 }
112 bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
113 var name = string(bytes[0:dirent.Namlen])
114 if name == "." || name == ".." { // Useless names
115 continue
116 }
117 max--
118 count++
119 names = append(names, name)
120 }
121 return origlen - len(buf), count, names
122 }
123
124 //sysnb pipe() (fd1 int, fd2 int, err error)
125 func Pipe(p []int) (err error) {
126 if len(p) != 2 {
127 return EINVAL
128 }
129 p[0], p[1], err = pipe()
130 return
131 }
132
133 //sys getdents(fd int, buf []byte) (n int, err error)
134 func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
135 return getdents(fd, buf)
136 }
137
138 // TODO
139 func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
140 return -1, ENOSYS
141 }
142
143 /*
144 * Exposed directly
145 */
146 //sys Access(path string, mode uint32) (err error)
147 //sys Adjtime(delta *Timeval, olddelta *Timeval) (err error)
148 //sys Chdir(path string) (err error)
149 //sys Chflags(path string, flags int) (err error)
150 //sys Chmod(path string, mode uint32) (err error)
151 //sys Chown(path string, uid int, gid int) (err error)
152 //sys Chroot(path string) (err error)
153 //sys Close(fd int) (err error)
154 //sys Dup(fd int) (nfd int, err error)
155 //sys Dup2(from int, to int) (err error)
156 //sys Exit(code int)
157 //sys Fchdir(fd int) (err error)
158 //sys Fchflags(fd int, flags int) (err error)
159 //sys Fchmod(fd int, mode uint32) (err error)
160 //sys Fchown(fd int, uid int, gid int) (err error)
161 //sys Flock(fd int, how int) (err error)
162 //sys Fpathconf(fd int, name int) (val int, err error)
163 //sys Fstat(fd int, stat *Stat_t) (err error)
164 //sys Fsync(fd int) (err error)
165 //sys Ftruncate(fd int, length int64) (err error)
166 //sysnb Getegid() (egid int)
167 //sysnb Geteuid() (uid int)
168 //sysnb Getgid() (gid int)
169 //sysnb Getpgid(pid int) (pgid int, err error)
170 //sysnb Getpgrp() (pgrp int)
171 //sysnb Getpid() (pid int)
172 //sysnb Getppid() (ppid int)
173 //sys Getpriority(which int, who int) (prio int, err error)
174 //sysnb Getrlimit(which int, lim *Rlimit) (err error)
175 //sysnb Getrusage(who int, rusage *Rusage) (err error)
176 //sysnb Getsid(pid int) (sid int, err error)
177 //sysnb Gettimeofday(tv *Timeval) (err error)
178 //sysnb Getuid() (uid int)
179 //sys Issetugid() (tainted bool)
180 //sys Kill(pid int, signum syscall.Signal) (err error)
181 //sys Kqueue() (fd int, err error)
182 //sys Lchown(path string, uid int, gid int) (err error)
183 //sys Link(path string, link string) (err error)
184 //sys Listen(s int, backlog int) (err error)
185 //sys Lstat(path string, stat *Stat_t) (err error)
186 //sys Mkdir(path string, mode uint32) (err error)
187 //sys Mkfifo(path string, mode uint32) (err error)
188 //sys Mknod(path string, mode uint32, dev int) (err error)
189 //sys Mlock(b []byte) (err error)
190 //sys Mlockall(flags int) (err error)
191 //sys Mprotect(b []byte, prot int) (err error)
192 //sys Munlock(b []byte) (err error)
193 //sys Munlockall() (err error)
194 //sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
195 //sys Open(path string, mode int, perm uint32) (fd int, err error)
196 //sys Pathconf(path string, name int) (val int, err error)
197 //sys Pread(fd int, p []byte, offset int64) (n int, err error)
198 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
199 //sys read(fd int, p []byte) (n int, err error)
200 //sys Readlink(path string, buf []byte) (n int, err error)
201 //sys Rename(from string, to string) (err error)
202 //sys Revoke(path string) (err error)
203 //sys Rmdir(path string) (err error)
204 //sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
205 //sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
206 //sysnb Setegid(egid int) (err error)
207 //sysnb Seteuid(euid int) (err error)
208 //sysnb Setgid(gid int) (err error)
209 //sysnb Setpgid(pid int, pgid int) (err error)
210 //sys Setpriority(which int, who int, prio int) (err error)
211 //sysnb Setregid(rgid int, egid int) (err error)
212 //sysnb Setreuid(ruid int, euid int) (err error)
213 //sysnb Setrlimit(which int, lim *Rlimit) (err error)
214 //sysnb Setsid() (pid int, err error)
215 //sysnb Settimeofday(tp *Timeval) (err error)
216 //sysnb Setuid(uid int) (err error)
217 //sys Stat(path string, stat *Stat_t) (err error)
218 //sys Symlink(path string, link string) (err error)
219 //sys Sync() (err error)
220 //sys Truncate(path string, length int64) (err error)
221 //sys Umask(newmask int) (oldmask int)
222 //sys Unlink(path string) (err error)
223 //sys Unmount(path string, flags int) (err error)
224 //sys write(fd int, p []byte) (n int, err error)
225 //sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
226 //sys munmap(addr uintptr, length uintptr) (err error)
227 //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
228 //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
229
230 /*
231 * Unimplemented
232 */
233 // ____semctl13
234 // __clone
235 // __fhopen40
236 // __fhstat40
237 // __fhstatvfs140
238 // __fstat30
239 // __getcwd
240 // __getfh30
241 // __getlogin
242 // __lstat30
243 // __mount50
244 // __msgctl13
245 // __msync13
246 // __ntp_gettime30
247 // __posix_chown
248 // __posix_fadvise50
249 // __posix_fchown
250 // __posix_lchown
251 // __posix_rename
252 // __setlogin
253 // __shmctl13
254 // __sigaction_sigtramp
255 // __sigaltstack14
256 // __sigpending14
257 // __sigprocmask14
258 // __sigsuspend14
259 // __sigtimedwait
260 // __stat30
261 // __syscall
262 // __vfork14
263 // _ksem_close
264 // _ksem_destroy
265 // _ksem_getvalue
266 // _ksem_init
267 // _ksem_open
268 // _ksem_post
269 // _ksem_trywait
270 // _ksem_unlink
271 // _ksem_wait
272 // _lwp_continue
273 // _lwp_create
274 // _lwp_ctl
275 // _lwp_detach
276 // _lwp_exit
277 // _lwp_getname
278 // _lwp_getprivate
279 // _lwp_kill
280 // _lwp_park
281 // _lwp_self
282 // _lwp_setname
283 // _lwp_setprivate
284 // _lwp_suspend
285 // _lwp_unpark
286 // _lwp_unpark_all
287 // _lwp_wait
288 // _lwp_wakeup
289 // _pset_bind
290 // _sched_getaffinity
291 // _sched_getparam
292 // _sched_setaffinity
293 // _sched_setparam
294 // acct
295 // aio_cancel
296 // aio_error
297 // aio_fsync
298 // aio_read
299 // aio_return
300 // aio_suspend
301 // aio_write
302 // break
303 // clock_getres
304 // clock_gettime
305 // clock_settime
306 // compat_09_ogetdomainname
307 // compat_09_osetdomainname
308 // compat_09_ouname
309 // compat_10_omsgsys
310 // compat_10_osemsys
311 // compat_10_oshmsys
312 // compat_12_fstat12
313 // compat_12_getdirentries
314 // compat_12_lstat12
315 // compat_12_msync
316 // compat_12_oreboot
317 // compat_12_oswapon
318 // compat_12_stat12
319 // compat_13_sigaction13
320 // compat_13_sigaltstack13
321 // compat_13_sigpending13
322 // compat_13_sigprocmask13
323 // compat_13_sigreturn13
324 // compat_13_sigsuspend13
325 // compat_14___semctl
326 // compat_14_msgctl
327 // compat_14_shmctl
328 // compat_16___sigaction14
329 // compat_16___sigreturn14
330 // compat_20_fhstatfs
331 // compat_20_fstatfs
332 // compat_20_getfsstat
333 // compat_20_statfs
334 // compat_30___fhstat30
335 // compat_30___fstat13
336 // compat_30___lstat13
337 // compat_30___stat13
338 // compat_30_fhopen
339 // compat_30_fhstat
340 // compat_30_fhstatvfs1
341 // compat_30_getdents
342 // compat_30_getfh
343 // compat_30_ntp_gettime
344 // compat_30_socket
345 // compat_40_mount
346 // compat_43_fstat43
347 // compat_43_lstat43
348 // compat_43_oaccept
349 // compat_43_ocreat
350 // compat_43_oftruncate
351 // compat_43_ogetdirentries
352 // compat_43_ogetdtablesize
353 // compat_43_ogethostid
354 // compat_43_ogethostname
355 // compat_43_ogetkerninfo
356 // compat_43_ogetpagesize
357 // compat_43_ogetpeername
358 // compat_43_ogetrlimit
359 // compat_43_ogetsockname
360 // compat_43_okillpg
361 // compat_43_olseek
362 // compat_43_ommap
363 // compat_43_oquota
364 // compat_43_orecv
365 // compat_43_orecvfrom
366 // compat_43_orecvmsg
367 // compat_43_osend
368 // compat_43_osendmsg
369 // compat_43_osethostid
370 // compat_43_osethostname
371 // compat_43_osetrlimit
372 // compat_43_osigblock
373 // compat_43_osigsetmask
374 // compat_43_osigstack
375 // compat_43_osigvec
376 // compat_43_otruncate
377 // compat_43_owait
378 // compat_43_stat43
379 // execve
380 // extattr_delete_fd
381 // extattr_delete_file
382 // extattr_delete_link
383 // extattr_get_fd
384 // extattr_get_file
385 // extattr_get_link
386 // extattr_list_fd
387 // extattr_list_file
388 // extattr_list_link
389 // extattr_set_fd
390 // extattr_set_file
391 // extattr_set_link
392 // extattrctl
393 // fchroot
394 // fdatasync
395 // fgetxattr
396 // fktrace
397 // flistxattr
398 // fork
399 // fremovexattr
400 // fsetxattr
401 // fstatvfs1
402 // fsync_range
403 // getcontext
404 // getitimer
405 // getvfsstat
406 // getxattr
407 // ioctl
408 // ktrace
409 // lchflags
410 // lchmod
411 // lfs_bmapv
412 // lfs_markv
413 // lfs_segclean
414 // lfs_segwait
415 // lgetxattr
416 // lio_listio
417 // listxattr
418 // llistxattr
419 // lremovexattr
420 // lseek
421 // lsetxattr
422 // lutimes
423 // madvise
424 // mincore
425 // minherit
426 // modctl
427 // mq_close
428 // mq_getattr
429 // mq_notify
430 // mq_open
431 // mq_receive
432 // mq_send
433 // mq_setattr
434 // mq_timedreceive
435 // mq_timedsend
436 // mq_unlink
437 // mremap
438 // msgget
439 // msgrcv
440 // msgsnd
441 // nfssvc
442 // ntp_adjtime
443 // pmc_control
444 // pmc_get_info
445 // poll
446 // pollts
447 // preadv
448 // profil
449 // pselect
450 // pset_assign
451 // pset_create
452 // pset_destroy
453 // ptrace
454 // pwritev
455 // quotactl
456 // rasctl
457 // readv
458 // reboot
459 // removexattr
460 // sa_enable
461 // sa_preempt
462 // sa_register
463 // sa_setconcurrency
464 // sa_stacks
465 // sa_yield
466 // sbrk
467 // sched_yield
468 // semconfig
469 // semget
470 // semop
471 // setcontext
472 // setitimer
473 // setxattr
474 // shmat
475 // shmdt
476 // shmget
477 // sstk
478 // statvfs1
479 // swapctl
480 // sysarch
481 // syscall
482 // timer_create
483 // timer_delete
484 // timer_getoverrun
485 // timer_gettime
486 // timer_settime
487 // undelete
488 // utrace
489 // uuidgen
490 // vadvise
491 // vfork
492 // writev