HP OpenVMS System Services Reference Manual


Previous Contents Index

Required Access or Privileges

The caller may require extension-specific privileges to search on some data items. The Persona Item Codes section lists the privileges that are needed.

Required Quota

None

Related Services

$PERSONA_ASSUME, $PERSONA_CLONE, $PERSONA_CREATE, $PERSONA_CREATE_EXTENSION, $PERSONA_DELETE_EXTENSION, $PERSONA_DELEGATE, $PERSONA_DELETE, $PERSONA_EXTENSION_LOOKUP, $PERSONA_MODIFY, $PERSONA_QUERY, $PERSONA_RESERVE


Condition Values Returned

SS$_NORMAL The service completed successfully.
SS$_ACCVIO The item list cannot be read by the caller.
SS$_BADPARAM An invalid parameter was specified.
SS$_BADITMCOD The item list contains an invalid item code.
SS$_BADCONTEXT The context value is invalid.
SS$_NOIMPERSONATE The caller does not have the privilege to obtain information about the specified personae.
SS$_NOMOREPROC There are no more personae to check.
SS$_NOSUCHEXT The extension requested does not exist on the system.

$PERSONA_MODIFY (Alpha and Integrity servers)

On Alpha and Integrity server systems, sets attribute values for a persona.

Format

SYS$PERSONA_MODIFY persona ,itmlst


C Prototype

int sys$persona_modify (unsigned int *persona, void *itmlst);


Arguments

persona


OpenVMS usage: persona
type: longword (unsigned)
access: read only
mechanism: by reference

Address of a longword containing the persona identification for which this service is to set information.

itmlst


OpenVMS usage: item_list_3
type: longword (unsigned)
access: read only
mechanism: by reference

Attributes specifying which information in the persona is to be modified. The itmlst argument is the address of a list of item descriptors, each describing an item of information or an item list processing directive. The list of item descriptors is terminated by a longword value of 0.

The following diagram shows the format of a single item descriptor:


The following table lists the item descriptor fields and their definitions:
Field Description
Buffer length A word containing a user-supplied integer specifying the length (in bytes) of the buffer from which $PERSONA_MODIFY is to get information.
Item code A word containing a user-supplied symbolic code specifying the item of information $PERSONA_MODIFY is to change, or specifying a directive for processing subsequent items. The $ISSDEF macro defines these codes. Each item code is described in the Description section.
Buffer address A longword containing the user-supplied address of the buffer from which $PERSONA_MODIFY is to get the information.
Return length address This field is ignored on a call to PERSONA_MODIFY.


Description

The Modify Persona Data service sets attribute values for a persona.

OpenVMS Persona Item Codes

The following table contains the item codes specific to the OpenVMS persona extension data:
Item Code Use+ Size (bytes) Description
ISS$_USERNAME Q,M,F 32 OpenVMS user name as text string
ISS$_ACCOUNT Q,M,F 32 OpenVMS account name as text string
ISS$_DOMAIN Q,F 32 OpenVMS SCSNODE as text string as obtained from $GETJPI's nodename
ISS$_PRINCIPAL Q,F 64 OpenVMS user name as text string
ISS$_EXTENSION Q,F 32 The text string VMS
ISS$_WORKPRIV Q,M 8 Working privilege mask
ISS$_WORKCLASS Q,M Varying Working classification
ISS$_RIGHTS Q Varying Enabled list of rights identifiers
ISS$_NOAUDIT Q,M 4 No audit counter---0 means audits disabled
ISS$_UIC Q,M,F 4 Current UIC
ISS$_AUTHPRIV Q,M 8 Authorized privilege mask
ISS$_PERMPRIV Q,M 8 Permanent privilege mask
ISS$_IMAGE_WORKPRIV Q,M 8 Image working privilege mask
ISS$_ENABLED Q 4 Mask of enabled rights chains
ISS$_AUTHRIGHTS Q Varying Authorized list of rights identifiers
ISS$_MINCLASS Q Varying Minimum classification
ISS$_MAXCLASS Q Varying Maximum classification


+Use descriptions are: Query, Modify, and Find.

Required Access or Privileges

This service requires that the caller have the IMPERSONATE privilege enabled or be in exec or kernel mode.

Required Quota

None

Related Services

$PERSONA_ASSUME, $PERSONA_CLONE, $PERSONA_CREATE, $PERSONA_CREATE_EXTENSION, $PERSONA_DELETE_EXTENSION, $PERSONA_DELEGATE, $PERSONA_DELETE, $PERSONA_EXTENSION_LOOKUP, $PERSONA_FIND, $PERSONA_QUERY, $PERSONA_RESERVE


Condition Values Returned

SS$_NORMAL The service completed successfully.
SS$_ACCVIO The item list cannot be read by the caller, or the buffer cannot be read by the caller.
SS$_BADPARAM An invalid parameter was specified.
SS$_BADITMCOD The item list contains an invalid item code.
SS$_NOIMPERSONATE The caller does not have the privilege to obtain information about the specified personae.
SS$_NOSUCHEXT The extension requested does not exist on the system.
SS$_PERSONANONGRATA The persona ID supplied was invalid. This service may also return status codes associated with the various extension routines.

$PERSONA_QUERY (Alpha and Integrity servers)

On Alpha and Integrity server systems, retrieves attribute values from a persona (and accompanying extensions).

Format

SYS$PERSONA_QUERY persona ,itmlst


C Prototype

int sys$persona_query (unsigned int *persona, void *itmlst);


Arguments

persona


OpenVMS usage: persona
type: longword (unsigned)
access: read only
mechanism: by reference

Address of a longword into which the persona identification handle is written.

Two special values for persona are also permitted: 0, which means use the current persona, and -1, which means use the process' natural persona.

itmlst


OpenVMS usage: item_list_3
type: longword (unsigned)
access: read only
mechanism: by reference

Attributes describing which information about the persona is to be returned. The itmlst argument is the address of a list of item descriptors, each of which describes an item of information or an item list processing directive. The list of item descriptors is terminated by a longword value of 0.

The following diagram shows the format of a single item descriptor:


The following table lists the item field descriptors and their definitions:
Field Description
Buffer length A word containing a user-supplied integer specifying the length (in bytes) of the buffer into which $PERSONA_QUERY writes the information. The length of the buffer depends on the item code specified in the item code field of the item descriptor. If the value of buffer length is too small, $PERSONA_QUERY truncates the data.

If the buffer length is specified as 0, the service does not return any data in the buffer; instead, the service returns the size of buffer required to contain the data in the Return Length address. This allows run-time determination of the size of buffer needed to hold the requested information.

Item code A word containing a user-supplied symbolic code specifying the item of information $PERSONA_QUERY is to return, or specifying a directive for processing subsequent items. The $ISSDEF macro defines these codes. Each item code is described in the Description section.
Buffer address A longword containing the user-supplied address of the buffer into which $PERSONA_QUERY writes the information.
Return length address A longword containing the user-supplied address of a word into which the service writes the length in bytes of the information it returned. If the buffer length field is zero (0), then you must specify a return length address.


Description

The Query for Persona Data service returns the requested items in the buffers supplied.

OpenVMS Persona Item Codes

The following table contains the item codes specific to the OpenVMS persona extension data:
Item Code Use+ Size (bytes) Description
ISS$_USERNAME Q,M,F 32 OpenVMS user name as text string
ISS$_ACCOUNT Q,M,F 32 OpenVMS account name as text string
ISS$_DOMAIN Q,F 32 OpenVMS SCSNODE as text string as obtained from $GETJPI's nodename
ISS$_PRINCIPAL Q,F 64 OpenVMS user name as text string
ISS$_EXTENSION Q,F 32 The text string VMS
ISS$_WORKPRIV Q,M 8 Working privilege mask
ISS$_WORKCLASS Q,M Varying Working classification
ISS$_RIGHTS Q Varying Enabled list of rights identifiers
ISS$_NOAUDIT Q,M 4 No audit counter---0 means audits disabled
ISS$_UIC Q,M,F 4 Current UIC
ISS$_AUTHPRIV Q,M 8 Authorized privilege mask
ISS$_PERMPRIV Q,M 8 Permanent privilege mask
ISS$_IMAGE_WORKPRIV Q,M 8 Image working privilege mask
ISS$_ENABLED Q 4 Mask of enabled rights chains
ISS$_AUTHRIGHTS Q Varying Authorized list of rights identifiers
ISS$_MINCLASS Q Varying Minimum classification
ISS$_MAXCLASS Q Varying Maximum classification


+Use descriptions are: Query, Modify, and Find.

Common Item Codes

The following table contains the item codes specific to the common persona extension data:
Item Code Use+ Size (bytes) Description
ISS$_COMMON_USERNAME Q varying User name as text string
ISS$_COMMON_ACCOUNT Q varying Account name as text string
ISS$_COMMON_FLAGS Q 4 Flags as a longword
ISS$_DOMAIN Q varying Domain name as text string
ISS$_COMMON_PRINCIPAL Q varying Principal name as text string
ISS$_EXTENSION Q 32 Extension name as text string
ISS$_DOI Q 8 Domain Of Interpretation quadword


+Use descriptions are: Query, Modify, and Find.

General Persona Item Codes

The following table contains the item codes specific to the general persona extension data:
Item Code Use+ Size (bytes) Description
ISS$_SWITCH_EXTENSION Q,M 4 Extension ID to be used for subsequent item code processing
ISS$_FLAGS Q,M 4 Various flags (ISS$_FLAG_PERMANENT)
ISS$_MODE Q 4 Persona creation mode (user, supervisor, exec, or kernel)
ISS$_UID Q 16 UID assigned when persona created
ISS$_PERSONA_ID Q 4 Persona ID of this PSB
ISS$_PRIMARY_EXTENSION Q,M 4 Extension id of primary authenticator
ISS$_EXTENSION_COUNT Q 4 Count of extensions attached to persona
ISS$_EXTENSION_ARRAY Q varying Array of longwords containing extension ids of all extensions attached to persona


+Use descriptions are: Query, Modify, and Find.

NT Persona Item Codes

The following table contains the item codes specific to the NT persona extension data:
Item Code Use+ Size (bytes) Description
ISS$_NT_PRINCIPAL Q,F varying Principal name as text string
ISS$_NT_TOKEN_USERNAME Q,F varying NT user name as text string
ISS$_NT_TOKEN_DOMAINNAME Q,F varying NT domain as text string
ISS$_EXTENSION Q,F varying The text string "NT"
ISS$_NT_FLAGS Q,M 4 Various flags
ISS$_NT_USER_REFCOUNT Q,M 4 NT-Specific User Field
ISS$_NT_CREDENTIALS Q,M varying All Token and Security info
ISS$_NT_NT_OWF_PASSWORD Q,M varying NT Password
ISS$_NT_LM_OWF_PASSWORD Q,M varying LM Password
ISS$_NT_TOKEN_USERSESSIONKEY Q,F 16 User's session key
ISS$_NT_TOKEN_LMSESSIONKEY Q,F 8 LM session key


+Use descriptions are: Query, Modify, and Find.

Required Access or Privileges

No privileges are required to call this service.

Required Quota

None

Related Services

$PERSONA_ASSUME, $PERSONA_CLONE, $PERSONA_CREATE, $PERSONA_CREATE_EXTENSION, $PERSONA_DELETE_EXTENSION, $PERSONA_DELEGATE, $PERSONA_DELETE, $PERSONA_EXTENSION_LOOKUP, $PERSONA_FIND, $PERSONA_MODIFY, $PERSONA_RESERVE


Condition Values Returned

SS$_NORMAL The service completed successfully.
SS$_ACCVIO The item list cannot be read by the caller, or the buffer length or buffer cannot be written by the caller.
SS$_BADPARAM An invalid parameter was specified.
SS$_BADITMCOD The item list contains an invalid item code.
SS$_NOSUCHEXT The extension requested does not exist on the system.
SS$_PERSONANONGRATA The persona ID supplied is invalid.


Previous Next Contents Index