diff options
Diffstat (limited to 'libgo/go/os/proc.go')
-rw-r--r-- | libgo/go/os/proc.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/libgo/go/os/proc.go b/libgo/go/os/proc.go new file mode 100644 index 000000000..dfddab6cb --- /dev/null +++ b/libgo/go/os/proc.go @@ -0,0 +1,35 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Process etc. + +package os + +import "syscall" + +var Args []string // provided by runtime +var Envs []string // provided by runtime + + +// Getuid returns the numeric user id of the caller. +func Getuid() int { return syscall.Getuid() } + +// Geteuid returns the numeric effective user id of the caller. +func Geteuid() int { return syscall.Geteuid() } + +// Getgid returns the numeric group id of the caller. +func Getgid() int { return syscall.Getgid() } + +// Getegid returns the numeric effective group id of the caller. +func Getegid() int { return syscall.Getegid() } + +// Getgroups returns a list of the numeric ids of groups that the caller belongs to. +func Getgroups() ([]int, Error) { + gids, errno := syscall.Getgroups() + return gids, NewSyscallError("getgroups", errno) +} + +// Exit causes the current program to exit with the given status code. +// Conventionally, code zero indicates success, non-zero an error. +func Exit(code int) { syscall.Exit(code) } |