Previous | Contents | Index |
Each pair of bits in the access mode vector represents the access mode for the specific type of access. For example, bits <6:7> represent the access mode value used to check for delete access.
CHP$_OWNER is used in conjunction with the CHP$_PROT item code. |
You can also obtain the values as masks with the appropriate bit set by using the prefix CHP$M rather than CHP$V. The symbols are defined in the system macro library ($CHPDEF). The following symbols are used as offsets to the bits within the longword:
Symbol | Meaning |
---|---|
CHP$V_SYSPRV | SYSPRV was used to gain the requested access. |
CHP$V_GRPPRV | GRPPRV was used to gain the requested access. |
CHP$V_BYPASS | BYPASS was used to gain the requested access. |
CHP$V_READALL | READALL was used to gain the requested access. |
CHP$V_OPER | OPER was used to gain the requested access. |
CHP$V_GRPNAM | GRPNAM was used to gain the requested access. |
CHP$V_SYSNAM | SYSNAM was used to gain the requested access. |
CHP$V_GROUP | GROUP was used to gain the requested access. |
CHP$V_WORLD | WORLD was used to gain the requested access. |
CHP$V_PRMCEB | PRMCEB was used to gain the requested access. |
CHP$V_UPGRADE | UPGRADE was used to gain the requested access. |
CHP$V_DOWNGRADE | DOWNGRADE was used to gain the requested access. |
The first word contains the first four protection bits for each field, the second word the next four protection bits, and so on. If a bit is clear, access is granted. By convention, the first five protection bits are (from right to left in each field of the first word) read, write, execute, delete, and (in the low-order bit in each field of the second word) control access. You can specify the CHP$_PROT item in increments of words; if a short buffer is given, zeros are assumed for the remainder.
The $CHKPRO service compares the low-order four bits of CHP$_ACCESS against one of the 4-bit fields in the low-order word of CHP$_PROT, the next four bits of CHP$_ACCESS against one of the 4-bit fields in the next word of CHP$_PROT, and so on. The $CHKPRO service chooses a field of CHP$_PROT based on the privileges specified for the accessor (CHP$_PRIV), the UICs of the accessor (CHP$_RIGHTS or CHP$_ADDRIGHTS, or both), and the object's owner (CHP$_OWNER).
You must also specify the identifier of the object's owner with CHP$_OWNER when you use CHP$_PROT.
The Check Access Protection service determines whether an accessor with the specified rights and privileges can access an object with the specified attributes. The service invokes the system's access protection check, which permits layered products and other subsystems to build protected structures that are consistent with the protection facilities provided by the base operating system. The service also allows a privileged subsystem to perform protection checks on behalf of a requester.If the accessor can access the object, $CHKPRO returns the SS$_NORMAL status code; otherwise, $CHKPRO returns SS$_NOPRIV.
The item list arguments accepted by this service permit you to specify the protection of the object being accessed, the rights and privileges of the accessor, and the type of access desired.
At a minimum, the following item codes should be specified to perform a third-party protection check:
CHP$_ACCESS
CHP$_OWNER
CHP$_PRIV
CHP$_PROT
CHP$_UICThe default for information relating to the subject is to use the current process information (for example, privileges). The default for missing object information is a representation of 0.
The caller can also request that an object access audit be performed if security auditing has been enabled for the object class or if auditing ACEs are contained in the object's ACL. The CHP$V_AUDIT flag requests an access audit. This requires that the caller be in executive or kernel mode or possess the AUDIT privilege.
Usually, $CHKPRO generates an object access audit when an audit is required. The caller can specify the CHP$V_CREATE flag to force an object creation audit instead of an object access audit. Similarly, the CHP$V_DELETE flag forces an object deletion audit. The CHP$_AUDIT_LIST item code can be used to specify additional information to be included in any resulting audit records.
AUDIT privilege is required when requesting an audit.
None
$AUDIT_EVENT, $CHECK_ACCESS, $CREATE_USER_PROFILE, $FORMAT_ACL
SS$_NORMAL The service completed successfully; the desired access is granted. SS$_ACCVIO The item list cannot be read by the caller, or one of the buffers specified in the item list cannot be written by the caller. SS$_ACLFULL More than 20 CHP$_ACL items were given. SS$_BADPARAM The argument is invalid. SS$_BUFFEROVF The output buffer is too small and the protection check succeeded. SS$_IVACL You supplied an invalid ACL segment with the CHP$_ACL item. SS$_IVBUFLEN The output buffer is too small and the protection check failed. SS$_NOAUDIT Caller lacks privilege to request audit. SS$_NOPRIV The desired access is not granted. SS$_RIGHTSFULL More than 11 CHP$_ADDRIGHTS items were given.
Removes one or more notification requests previously established by a call to $SET_SYSTEM_EVENT.This service does not allow you to specify a handle and an event. You must pass a zero as one of these parameters. You can either clear by handle or request that all events for the user be cleared.
SYS$CLEAR_SYSTEM_EVENT [handle] ,[acmode] ,event
int sys$clear_system_event (struct _generic_64 * handle, unsigned int acmode, unsigned int event);
handle
OpenVMS usage: identifier type: quadword (unsigned) access: read only mechanism: by reference
Identification of the AST request to be cleared. The handle argument uniquely identifies the request and is returned when the $SET_SYSTEM_EVENT service is called. The handle argument may be omitted by specifying a zero address.acmode
OpenVMS usage: access_mode type: longword (unsigned) access: read only mechanism: by value
Access mode of the system event to be cleared. The acmode argument is a longword containing the access mode. The value of the access mode is maximized with the access mode of the caller.event
OpenVMS usage: event_code type: longword (unsigned) access: read only mechanism: by value
The event argument is a value indicating the type of system event to be cleared. SYSEVT$C_ALL_EVENTS may be specified to clear all event types.
The Clear System Event service removes one or more event types or notification objects previously established by a call to the $SET_SYSTEM_EVENT service.A valid request specifies either the handle for a specific notification request, or is a wildcard clear of all notification objects whose is access mode is greater than or equal to acmode.
If the handle argument is specified, caller's access mode must be less than or equal to the access mode of the object to be cleared.
If SYSEVT$C_ALL_EVENTS is specified, or the set of events enabled for the object(s) becomes empty, the notification object is deleted.
None
None
$SET_SYSTEM_EVENT
SS$_NORMAL The service completed successfully. SS$_ACCVIO The service cannot access the location specified by the handle. SS$_BADPARAM One or more arguments has an invalid value, such as an invalid handle. SS$_NOSUCHOBJ No request was found that matches the description supplied.
Clears unwind table (UT) information.
SYS$CLEAR_UNWIND_TABLE code_base_va
int SYS$CLEAR_UNWIND_TABLE (unsigned __int64 code_base_va);
code_base_va
OpenVMS usage: address type: quadword (unsigned) access: read only mechanism: by value
Input by value. Must be the process virtual address of the start of a registered code range.
Clears (removes) the indicated registration. Error status returned on bad code_base_va or insufficient access mode.The unwind table information that corresponds to code_base_va will be removed only if it was registered in a mode equal to or less privileged than the caller of $CLEAR_UNWIND_TABLE.
None
SYS$SET_UNWIND_TABLE, SYS$GET_UNWIND_ENTRY_INFO. Also see LIB$GET_UIB_INFO in HP OpenVMS Calling Standard.
SS$_NORMAL Routine completed successfully. SS$_IVAADDR code_base_va not registered. SS$_IVACMODE Insufficient access mode.
The Close service terminates file processing and closes the file. This service performs an implicit Disconnect service for all record streams associated with the file.For additional information about this service, see the OpenVMS Record Management Services Reference Manual.
Clears the "AST active" status.This enables delivery of asynchronous system traps (ASTs) for the access mode from which the service call was issued, while an AST routine is active.
Note
The explicit use of $CLRAST is strongly discouraged, as it complicates synchronization issues and may lead to the unbounded consumption of stack space.
SYS$CLRAST
None.
Normally, AST delivery for a particular access mode is deferred while an AST routine is executing in that access mode. When the AST routine returns, an implicit call is made to $CLRAST to re-enable AST delivery.Explicitly calling $CLRAST within an AST routine allows the delivery of ASTs for the access mode from which the service call was issued, prior to completion of the active AST routine.
None
None
$SETAST
None The return value is undefined.
Removes one or more notification requests previously established by a call to SYS$SETCLUEVT.
SYS$CLRCLUEVT [handle] ,[acmode] ,[event]
int sys$clrcluevt (struct _cluevthndl *handle, unsigned int acmode, unsigned int event);
handle
OpenVMS usage: identifier type: quadword (unsigned) access: read only mechanism: by reference
Identification of the AST request to be canceled. The handle argument uniquely identifies the request and is returned when the $SETCLUEVT service is called.acmode
OpenVMS usage: access_mode type: longword (unsigned) access: read only mechanism: by value
Access mode of the cluster configuration event to be canceled. The acmode argument is a longword containing the access mode.Each access mode has a symbolic name. The $PSLDEF macro defines the following symbols for the four access types:
Symbol Access Mode PSL$C_KERNEL Kernel PSL$C_EXEC Executive PSL$C_SUPER Supervisor PSL$C_USER User event
OpenVMS usage: event_code type: longword (unsigned) access: read only mechanism: by value
Event code indicating the type of cluster configuration event for which an AST is no longer to be delivered. The event argument is a value indicating which type of event is no longer of interest.Each event type has a symbolic name. The $CLUEVTDEF macro defines the following symbolic names:
Symbolic Name Description CLUEVT$C_ADD One or more OpenVMS nodes have been added to the OpenVMS Cluster system. CLUEVT$C_REMOVE One or more OpenVMS nodes have been removed from the OpenVMS Cluster system.
The Clear Cluster Event service removes one or more notification requests previously established by a call to the $SETCLUEVT service. $CLRCLUEVT verifies that the parameters specify a valid request, and dequeues and deallocates the request.A valid request specifies either the handle argument or the event argument. If the handle argument is specified, the acmode argument must match the value recorded when $SETCLUEVT was called. If the event argument is specified, all requests matching the access mode are canceled, provided that the access mode is not greater than the caller's mode. If the access mode parameter is more privileged than the mode of the caller, the mode of the caller will be used.
None
None
$SETCLUEVT, $TSTCLUEVT
SS$_NORMAL The service completed successfully. SS$_BADPARAM There is an unsatisfactory combination of event and handle parameters, or the event was specified incorrectly. SS$_NOSUCHOBJ No request was found that matches the description supplied.
Clears (sets to 0) an event flag in a local or common event flag cluster.
SYS$CLREF efn
int sys$clref (unsigned int efn);
efn
OpenVMS usage: ef_number type: longword (unsigned) access: read only mechanism: by value
Number of the event flag to be cleared. The efn argument is a longword containing this number; however, $CLREF uses only the low-order byte.
SS$_WASCLR The service completed successfully. The specified event flag was previously 0. Note that this is also the same value as SS$_NORMAL. SS$_WASSET The service completed successfully. The specified event flag was previously 1. Note that while the message id is the same as SS$_ACCVIO, the severity bits are different. SS$_ILLEFC You specified an illegal event flag number. SS$_UNASEFC The process is not associated with the cluster containing the specified event flag.
Previous | Next | Contents | Index |