vendor/golang.org/x/sys/unix/syscall_aix.go
changeset 256 6d9efbef00a9
parent 251 1c52a0eeb952
child 260 445e01aede7e
equal deleted inserted replaced
255:4f153a23adab 256:6d9efbef00a9
     1 // Copyright 2018 The Go Authors. All rights reserved.
     1 // Copyright 2018 The Go Authors. All rights reserved.
     2 // Use of this source code is governed by a BSD-style
     2 // Use of this source code is governed by a BSD-style
     3 // license that can be found in the LICENSE file.
     3 // license that can be found in the LICENSE file.
     4 
     4 
       
     5 //go:build aix
     5 // +build aix
     6 // +build aix
     6 
     7 
     7 // Aix system calls.
     8 // Aix system calls.
     8 // This file is compiled as ordinary Go code,
     9 // This file is compiled as ordinary Go code,
     9 // but it is also input to mksyscall,
    10 // but it is also input to mksyscall,
    16 import "unsafe"
    17 import "unsafe"
    17 
    18 
    18 /*
    19 /*
    19  * Wrapped
    20  * Wrapped
    20  */
    21  */
       
    22 
       
    23 func Access(path string, mode uint32) (err error) {
       
    24 	return Faccessat(AT_FDCWD, path, mode, 0)
       
    25 }
       
    26 
       
    27 func Chmod(path string, mode uint32) (err error) {
       
    28 	return Fchmodat(AT_FDCWD, path, mode, 0)
       
    29 }
       
    30 
       
    31 func Chown(path string, uid int, gid int) (err error) {
       
    32 	return Fchownat(AT_FDCWD, path, uid, gid, 0)
       
    33 }
       
    34 
       
    35 func Creat(path string, mode uint32) (fd int, err error) {
       
    36 	return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)
       
    37 }
    21 
    38 
    22 //sys	utimes(path string, times *[2]Timeval) (err error)
    39 //sys	utimes(path string, times *[2]Timeval) (err error)
    23 func Utimes(path string, tv []Timeval) error {
    40 func Utimes(path string, tv []Timeval) error {
    24 	if len(tv) != 2 {
    41 	if len(tv) != 2 {
    25 		return EINVAL
    42 		return EINVAL
   233 				n = i
   250 				n = i
   234 				break
   251 				break
   235 			}
   252 			}
   236 		}
   253 		}
   237 
   254 
   238 		bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
   255 		bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]
   239 		sa.Name = string(bytes)
   256 		sa.Name = string(bytes)
   240 		return sa, nil
   257 		return sa, nil
   241 
   258 
   242 	case AF_INET:
   259 	case AF_INET:
   243 		pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
   260 		pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
   401 //sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
   418 //sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
   402 //sys	Mkfifo(path string, mode uint32) (err error)
   419 //sys	Mkfifo(path string, mode uint32) (err error)
   403 //sys	Mknod(path string, mode uint32, dev int) (err error)
   420 //sys	Mknod(path string, mode uint32, dev int) (err error)
   404 //sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
   421 //sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
   405 //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
   422 //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
   406 //sys   Open(path string, mode int, perm uint32) (fd int, err error) = open64
   423 //sys	Open(path string, mode int, perm uint32) (fd int, err error) = open64
   407 //sys   Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
   424 //sys	Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
   408 //sys	read(fd int, p []byte) (n int, err error)
   425 //sys	read(fd int, p []byte) (n int, err error)
   409 //sys	Readlink(path string, buf []byte) (n int, err error)
   426 //sys	Readlink(path string, buf []byte) (n int, err error)
   410 //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
   427 //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
   411 //sys	Setdomainname(p []byte) (err error)
   428 //sys	Setdomainname(p []byte) (err error)
   412 //sys	Sethostname(p []byte) (err error)
   429 //sys	Sethostname(p []byte) (err error)
   421 //sys	Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
   438 //sys	Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)
   422 //sys	Sync()
   439 //sys	Sync()
   423 //sysnb	Times(tms *Tms) (ticks uintptr, err error)
   440 //sysnb	Times(tms *Tms) (ticks uintptr, err error)
   424 //sysnb	Umask(mask int) (oldmask int)
   441 //sysnb	Umask(mask int) (oldmask int)
   425 //sysnb	Uname(buf *Utsname) (err error)
   442 //sysnb	Uname(buf *Utsname) (err error)
   426 //sys   Unlink(path string) (err error)
   443 //sys	Unlink(path string) (err error)
   427 //sys   Unlinkat(dirfd int, path string, flags int) (err error)
   444 //sys	Unlinkat(dirfd int, path string, flags int) (err error)
   428 //sys	Ustat(dev int, ubuf *Ustat_t) (err error)
   445 //sys	Ustat(dev int, ubuf *Ustat_t) (err error)
   429 //sys	write(fd int, p []byte) (n int, err error)
   446 //sys	write(fd int, p []byte) (n int, err error)
   430 //sys	readlen(fd int, p *byte, np int) (n int, err error) = read
   447 //sys	readlen(fd int, p *byte, np int) (n int, err error) = read
   431 //sys	writelen(fd int, p *byte, np int) (n int, err error) = write
   448 //sys	writelen(fd int, p *byte, np int) (n int, err error) = write
   432 
   449 
   496 //sys	Mlockall(flags int) (err error)
   513 //sys	Mlockall(flags int) (err error)
   497 //sys	Msync(b []byte, flags int) (err error)
   514 //sys	Msync(b []byte, flags int) (err error)
   498 //sys	Munlock(b []byte) (err error)
   515 //sys	Munlock(b []byte) (err error)
   499 //sys	Munlockall() (err error)
   516 //sys	Munlockall() (err error)
   500 
   517 
   501 //sysnb pipe(p *[2]_C_int) (err error)
   518 //sysnb	pipe(p *[2]_C_int) (err error)
   502 
   519 
   503 func Pipe(p []int) (err error) {
   520 func Pipe(p []int) (err error) {
   504 	if len(p) != 2 {
   521 	if len(p) != 2 {
   505 		return EINVAL
   522 		return EINVAL
   506 	}
   523 	}