summaryrefslogtreecommitdiff
path: root/src/lib/syscall/file_linux.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-05-15 14:11:24 -0700
committerRuss Cox <rsc@golang.org>2009-05-15 14:11:24 -0700
commit0ba6e1dc3cf14ba32446f2877097a18f2448f58f (patch)
tree5a901abf7c202d84926a001bc0482a98f3784775 /src/lib/syscall/file_linux.go
parent12ea0da0dfcff4d601e29bb77467f5a8a06024c7 (diff)
downloadgolang-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.go40
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;
+}
+