PROJECT(3PERL) Perl Library Functions PROJECT(3PERL)
NAME
Project - Perl interface to Projects
SYNOPSIS
use Sun::Solaris::Project qw(:ALL);
my $projid = getprojid();
DESCRIPTION
This module provides wrappers for the Project-related system calls
and the
libproject(3LIB) library. Also provided are constants from
the various Project-related headers.
Constants
MAXPROJID,
PROJNAME_MAX,
PROJF_PATH,
PROJECT_BUFSZ,
SETPROJ_ERR_TASK,
and
SETPROJ_ERR_POOL.
Functions
getprojid() This function returns the numeric project ID of the calling
process or
undef if the underlying
getprojid(2) system call is
unsuccessful.
setproject($project, $user, $flags) If
$user is a member of the project specified by
$project,
setproject() creates a new task and associates the appropriate
resource controls with the process, task, and project. This
function returns 0 on success. If the underlying task creation
fails,
SETPROJ_ERR_TASK is returned. If pool assignment fails,
SETPROJ_ERR_POOL is returned. If any resource attribute
assignments fail, an integer value corresponding to the offset of
the failed attribute assignment in the project database is
returned. See
setproject(3PROJECT).
activeprojects() This function returns a list of the currently active projects on
the system. Each value in the list is the numeric ID of a
currently active project.
getprojent() This function returns the next entry from the project database.
When called in a scalar context,
getprojent() returns only the
name of the project. When called in a list context,
getprojent() returns a 6-element list consisting of:
($name, $projid, $comment, \@users, \@groups, $attr)
\@users and \@groups are returned as arrays containing the
appropriate user or project lists. On end-of-file
undef is
returned.
setprojent() This function rewinds the project database to the beginning of
the file.
endprojent() This function closes the project database.
getprojbyname($name) This function searches the project database for an entry with the
specified nam. It returns a 6-element list as returned by
getprojent() if the entry is found and
undef if it cannot be
found.
getprojbyid($id) This function searches the project database for an entry with the
specified ID. It returns a 6-element list as returned by
getprojent() if the entry is found or
undef if it cannot be
found.
getdefaultproj($user) This function returns the default project entry for the specified
user in the same format as
getprojent(). It returns
undef if the
user cannot be found. See
getdefaultproj(3PROJECT) for
information about the lookup process.
fgetprojent($filehandle) This function returns the next project entry from
$filehandle, a
Perl file handle that must refer to a previously opened file in
project(5) format. Return values are the same as for
getprojent().
inproj($user, $project) This function checks whether the specified user is able to use
the project. This function returns true if the user can use the
project and false otherwise. See
inproj(3PROJECT).
getprojidbyname($project) This function searches the project database for the specified
project. It returns the project ID if the project is found and
undef if it is not found.
Class methods
None.
Object methods
None.
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 getprojid() :LIBCALLS setproject(),
activeprojects(),
getprojent(),
setprojent(),
endprojent(),
getprojbyname(),
getprojbyid(),
getdefaultproj(),
fgetprojent(),
inproj(), and
getprojidbyname() :CONSTANTS MAXPROJID,
PROJNAME_MAX,
PROJF_PATH,
PROJECT_BUFSZ,
SETPROJ_ERR_TASK, and
SETPROJ_ERR_POOL :ALL :SYSCALLS,
:LIBCALLS, and
:CONSTANTSATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
SEE ALSO
getprojid(2),
libproject(3LIB),
getdefaultproj(3PROJECT),
inproj(3PROJECT),
setproject(3PROJECT),
project(5),
attributes(7) December 1, 2002 PROJECT(3PERL)