]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blame - 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
CommitLineData
9b12e4fe
JC
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
13package unix
14
15import (
16 "syscall"
17 "unsafe"
18)
19
20type 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
32func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
33
34func 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
57func 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.
100func 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)
125func 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)
134func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
135 return getdents(fd, buf)
136}
137
138// TODO
139func 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