Information on a user account

Introduced properties

fun dir: String

posix :: Passwd :: dir

Home directory
init from_name(name: String): Passwd

posix :: Passwd :: from_name

Get the Passwd of the user with the name
init from_uid(uid: Int): Passwd

posix :: Passwd :: from_uid

Get the Passwd of the user with the uid
fun gecos: String

posix :: Passwd :: gecos

User information
fun gid: Int

posix :: Passwd :: gid

Group ID
fun name: String

posix :: Passwd :: name

Username
fun passwd: String

posix :: Passwd :: passwd

User password
fun shell: String

posix :: Passwd :: shell

Shell program
fun uid: Int

posix :: Passwd :: uid

User ID

Redefined properties

redef type SELF: Passwd

posix $ Passwd :: SELF

Type of this instance, automatically specialized in every class

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
fun address_is_null: Bool

core :: Pointer :: address_is_null

Is the address behind this Object at NULL?
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun dir: String

posix :: Passwd :: dir

Home directory
fun free

core :: Pointer :: free

Free the memory pointed by this pointer
init from_name(name: String): Passwd

posix :: Passwd :: from_name

Get the Passwd of the user with the name
init from_uid(uid: Int): Passwd

posix :: Passwd :: from_uid

Get the Passwd of the user with the uid
fun gecos: String

posix :: Passwd :: gecos

User information
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun gid: Int

posix :: Passwd :: gid

Group ID
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun name: String

posix :: Passwd :: name

Username
init nul: Pointer

core :: Pointer :: nul

C NULL pointer
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun passwd: String

posix :: Passwd :: passwd

User password
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
fun shell: String

posix :: Passwd :: shell

Shell program
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
fun uid: Int

posix :: Passwd :: uid

User ID
package_diagram posix::Passwd Passwd core::Pointer Pointer posix::Passwd->core::Pointer core::Object Object core::Pointer->core::Object ...core::Object ... ...core::Object->core::Object

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

extern class Pointer

core :: Pointer

Pointer classes are used to manipulate extern C structures.

Class definitions

posix $ Passwd
# Information on a user account
extern class Passwd `{struct passwd*`}
	# Get the `Passwd` of the user with the `uid`
	new from_uid(uid: Int) `{ return getpwuid(uid); `}

	# Get the `Passwd` of the user with the `name`
	new from_name(name: String) import String.to_cstring `{ return getpwnam( String_to_cstring(name) ); `}

	# Username
	fun name: String import CString.to_s `{ return CString_to_s(self->pw_name); `}

	# User password
	fun passwd: String import CString.to_s `{ return CString_to_s(self->pw_passwd); `}

	# User ID
	fun uid: Int `{ return self->pw_uid; `}

	# Group ID
	fun gid: Int `{ return self->pw_gid; `}

	# Home directory
	fun dir: String import CString.to_s `{ return CString_to_s(self->pw_dir); `}

	# Shell program
	fun shell: String import CString.to_s `{ return CString_to_s(self->pw_shell); `}
end
lib/posix/posix.nit:51,1--76,3

posix :: ext $ Passwd
redef extern class Passwd
	# User information
	fun gecos: String import CString.to_s `{ return CString_to_s(self->pw_gecos); `}
end
lib/posix/ext.nit:20,1--23,3