1// +build !windows
2
3package passwd
4
5import "strconv"
6
7// Parse a UID string. The string should either be a username or a decimal user
8// ID. Returns the user ID or an error.
9func ParseUID(uid string) (int, error) {
10	n, err := strconv.ParseUint(uid, 10, 31)
11	if err != nil {
12		return parseUserName(uid)
13	}
14	return int(n), nil
15}
16
17// Parse a GID string. The string should either be a group name or a decimal group
18// ID. Returns the group ID or an error.
19func ParseGID(gid string) (int, error) {
20	n, err := strconv.ParseUint(gid, 10, 31)
21	if err != nil {
22		return parseGroupName(gid)
23	}
24	return int(n), nil
25}
26
27// Given a UID string (a username or decimal user ID string), find the primary
28// GID for the given UID and return it.
29func GetGIDForUID(uid string) (int, error) {
30	return getGIDForUID(uid)
31}
32
33// Given a group ID, returns an array of the supplementary group IDs that group
34// implies.
35func GetExtraGIDs(gid int) (gids []int, err error) {
36	return getExtraGIDs(gid)
37}
38