chprojattrdb Subroutine

Purpose

Updates the project attributes in the project database.

Library

The libaacct.a library.

Syntax

<sys/aacct.h>

chprojattrdb(void *handle, struct project *project, int cmd)

Description

The chprojattrdb subroutine alters the attributes of the named project in the specified project database, which is controlled through the handle parameter. The following commands are permitted:
  • PROJ_ENABLE_AGGR — Enables aggregation for the specified project
  • PROJ_DISABLE_AGGR — Disables aggregation for the specified project
The project database must be initialized before calling this subroutine. The projdballoc subroutine is provided for this purpose. The chprojattrdb subroutine must be called after the getprojdb subroutine, which sets the record pointer to point to the project that needs to be modified.
Note: The chprojattrdb subroutine must be called after the getprojdb subroutine, which makes the named project the current project.

Parameters

Item Description
handle Pointer to the handle allocated for the project database.
project Pointer containing the project definition.
cmd An integer command indicating whether to perform a set or clear operation.

Security

Only for privileged users. Privilege can be extended to nonroot users by granting the CAP_AACCT capability to a user.

Return Values

Item Description
0 Success
-1 Failure

Error Codes

Item Description
EINVAL Invalid arguments passed. The passed command flag is invalid or the passed pointer is NULL.
ENONENT Project not found.