go/src/os/user/cgo_lookup_unix.go

func current() (*User, error) {}

func lookupUser(username string) (*User, error) {}

func lookupUserId(uid string) (*User, error) {}

func lookupUnixUid(uid int) (*User, error) {}

func buildUser(pwd *_C_struct_passwd) *User {}

func lookupGroup(groupname string) (*Group, error) {}

func lookupGroupId(gid string) (*Group, error) {}

func lookupUnixGid(gid int) (*Group, error) {}

func buildGroup(grp *_C_struct_group) *Group {}

type bufferKind

var userBuffer

var groupBuffer

func (k bufferKind) initialSize() _C_size_t {}

// retryWithBuffer repeatedly calls f(), increasing the size of the
// buffer each time, until f succeeds, fails with a non-ERANGE error,
// or the buffer exceeds a reasonable limit.
func retryWithBuffer(kind bufferKind, f func([]byte) syscall.Errno) error {}

const maxBufferSize

func isSizeReasonable(sz int64) bool {}

// Because we can't use cgo in tests:
func structPasswdForNegativeTest() _C_struct_passwd {}