Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Sun::Solaris::Project (3)

Name

Sun::Solaris::Project - Perl interface to Projects

Synopsis

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.

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 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(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 :CONSTANTS

Description

User Contributed Perl Documentation                            pod::Project(3)



NAME
       Sun::Solaris::Project - Perl interface to Projects

SYNOPSIS
        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.

   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 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(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 :CONSTANTS

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

         ___________________________________________________________
        |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
        |_____________________________|_____________________________|
        | Availability                | CPAN (http://www.cpan.org)  |
        |_____________________________|_____________________________|
        | Interface Stability         | Evolving                    |
        |_____________________________|_____________________________|

SEE ALSO
       getprojid(2), "getdefaultproj(3PROJECT)", "inproj(3PROJECT)",
       "libproject(3LIB)", "setproject(3PROJECT)", project(5), attributes(7)



perl v5.32.0                      2022-06-28                   pod::Project(3)