| Sun-Solaris-Project documentation | view source | Contained in the Sun-Solaris-Project distribution. |
Sun::Solaris::Project - Perl interface to Projects
use Sun::Solaris::Project qw(:ALL); my $projid = getprojid();
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.
MAXPROJID, PROJNAME_MAX, PROJF_PATH, PROJECT_BUFSZ,
SETPROJ_ERR_TASK, and SETPROJ_ERR_POOL.
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 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
name. 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(4) 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.
None.
None.
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 :CONSTANTS
See attributes(5) for descriptions of the following attributes:
___________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |_____________________________|_____________________________| | Availability | CPAN (http://www.cpan.org) | |_____________________________|_____________________________| | Interface Stability | Evolving | |_____________________________|_____________________________|
getprojid(2), getdefaultproj(3PROJECT), inproj(3PROJECT),
libproject(3LIB), setproject(3PROJECT), project(4), attributes(5)
| Sun-Solaris-Project documentation | view source | Contained in the Sun-Solaris-Project distribution. |