Home | History | Annotate | Download | only in user
      1 // Copyright 2011 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // Package user allows user account lookups by name or id.
      6 package user
      7 
      8 import (
      9 	"strconv"
     10 )
     11 
     12 var implemented = true // set to false by lookup_stubs.go's init
     13 
     14 // User represents a user account.
     15 //
     16 // On posix systems Uid and Gid contain a decimal number
     17 // representing uid and gid. On windows Uid and Gid
     18 // contain security identifier (SID) in a string format.
     19 // On Plan 9, Uid, Gid, Username, and Name will be the
     20 // contents of /dev/user.
     21 type User struct {
     22 	Uid      string // user id
     23 	Gid      string // primary group id
     24 	Username string
     25 	Name     string
     26 	HomeDir  string
     27 }
     28 
     29 // UnknownUserIdError is returned by LookupId when
     30 // a user cannot be found.
     31 type UnknownUserIdError int
     32 
     33 func (e UnknownUserIdError) Error() string {
     34 	return "user: unknown userid " + strconv.Itoa(int(e))
     35 }
     36 
     37 // UnknownUserError is returned by Lookup when
     38 // a user cannot be found.
     39 type UnknownUserError string
     40 
     41 func (e UnknownUserError) Error() string {
     42 	return "user: unknown user " + string(e)
     43 }
     44