#
# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
#
#
# Sun::Solaris::Ucred documentation.
#
=head1 NAME
Sun::Solaris::Ucred - Perl interface to User Credentials
=head1 SYNOPSIS
use Sun::Solaris::Ucred qw(:ALL);
This module provides wrappers for the Ucred-related system and
library calls.
=head2 Functions
B<C<ucred_get($pid)>>
This function returns the credential of the process specified by $pid,
if the process exists and the calling process is permitted to obtain
the credentials of that process.
B<C<getpeerucred($fd)>>
If $fd is a connected connection oriented TLI endpoint, a connected
SOCK_STREAM or SOCK_SEQPKT socket, getpeerucred will return the user
credential of the peer at the time the connection was established,
if availble.
B<C<ucred_geteuid($ucred)>>
This function returns the effective uid of a user credential, if available.
B<C<ucred_getruid($ucred)>>
This function returns the real uid of a user credential, if available.
B<C<ucred_getsuid($ucred)>>
This function returns the saved uid of a user credential, if available.
B<C<ucred_getegid($ucred)>>
This function returns the effective group of a user credential, if available.
B<C<ucred_getrgid($ucred)>>
This function returns the real group of a user credential, if available.
B<C<ucred_getsgid($ucred)>>
This function returns the saved group of a user credential, if available.
B<C<ucred_getgroups($ucred)>>
This function returns the list of supplemental groups of a user
credential, if available. An array of groups is returned in ARRAY
context; the number of groups is returned in SCALAR context.
B<C<ucred_getprivset($ucred, $which)>>
This function returns the privilege set specified by $which of a user
credential, if available.
B<C<ucred_getpflags($ucred, $flags)>>
This function returns the value of a specific process flag of a user
credential, if available.
B<C<ucred_getpid($ucred)>>
This function returns the process id of a user credential, if available.
B<C<ucred_getzoneid($ucred)>>
This function returns the zone id of a user credential, if available.
B<C<ucred_getprojid($ucred)>>
This function returns the project id of a user credential, if available.
=head2 Class methods
None.
=head2 Object methods
None.
=head2 Exports
By default nothing is exported from this module. The following tags can be
used to selectively import constants and functions defined in this module:
:SYSCALLS ucred_get(), getpeerucred()
:LIBCALLS ucred_geteuid(), ucred_getruid(), ucred_getsuid(),
ucred_getegid(), ucred_getrgid(), ucred_getsgid(),
ucred_getgroups(), ucred_getprivset(), ucred_getpflags(),
ucred_getpid(), ucred_getzoneid(), ucred_getprojid()
:CONSTANTS
:VARIABLES %PRIVILEGES, %PRIVSETS
:ALL :SYSCALLS, :LIBCALLS, and :CONSTANTS
=head1 ATTRIBUTES
See C<attributes(5)> for descriptions of the following attributes:
___________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | CPAN (http://www.cpan.org) |
|_____________________________|_____________________________|
| Interface Stability | Evolving |
|_____________________________|_____________________________|
=head1 SEE ALSO
C<getpeerucred(2)>, C<ucred_get(3C)>, C<attributes(5)>