diff options
author | Russ Cox <rsc@golang.org> | 2009-05-15 14:11:24 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-05-15 14:11:24 -0700 |
commit | 0ba6e1dc3cf14ba32446f2877097a18f2448f58f (patch) | |
tree | 5a901abf7c202d84926a001bc0482a98f3784775 /src/lib/syscall/file_linux.go | |
parent | 12ea0da0dfcff4d601e29bb77467f5a8a06024c7 (diff) | |
download | golang-0ba6e1dc3cf14ba32446f2877097a18f2448f58f.tar.gz |
os: MkdirAll, RemoveAll, Chmod, Chown, Truncate, Getgroups.
Getuid, etc drop their errors -- they cannot error
R=r
DELTA=605 (547 added, 12 deleted, 46 changed)
OCL=28919
CL=28929
Diffstat (limited to 'src/lib/syscall/file_linux.go')
-rw-r--r-- | src/lib/syscall/file_linux.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/lib/syscall/file_linux.go b/src/lib/syscall/file_linux.go index c7299f839..f6b6ea7e6 100644 --- a/src/lib/syscall/file_linux.go +++ b/src/lib/syscall/file_linux.go @@ -131,3 +131,43 @@ func Readlink(path string, buf *byte, nbytes int64) (ret int64, errno int64) { r1, r2, err := Syscall(SYS_READLINK, int64(uintptr(unsafe.Pointer(pathbuf))), int64(uintptr(unsafe.Pointer(buf))), nbytes); return r1, err; } + +func Chmod(name string, mode int64) (ret, errno int64) { + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_CHMOD, int64(uintptr(unsafe.Pointer(namebuf))), mode, 0); + return r1, err; +} + +func Fchmod(fd, mode int64) (ret, errno int64) { + r1, r2, err := Syscall(SYS_FCHMOD, fd, mode, 0); + return r1, err; +} + +func Chown(name string, uid, gid int64) (ret, errno int64) { + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_CHOWN, int64(uintptr(unsafe.Pointer(namebuf))), uid, gid); + return r1, err; +} + +func Lchown(name string, uid, gid int64) (ret, errno int64) { + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_LCHOWN, int64(uintptr(unsafe.Pointer(namebuf))), uid, gid); + return r1, err; +} + +func Fchown(fd, uid, gid int64) (ret, errno int64) { + r1, r2, err := Syscall(SYS_FCHOWN, fd, uid, gid); + return r1, err; +} + +func Truncate(name string, length int64) (ret, errno int64) { + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_TRUNCATE, int64(uintptr(unsafe.Pointer(namebuf))), length, 0); + return r1, err; +} + +func Ftruncate(fd, length int64) (ret, errno int64) { + r1, r2, err := Syscall(SYS_FTRUNCATE, fd, length, 0); + return r1, err; +} + |