Document revision date: 30 March 2001 | |
Previous | Contents | Index |
The buffer length field in the item descriptor should specify 3 (bytes).
The buffer length field in the item descriptor should specify 3 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Symbolic Name | Description |
---|---|
UAI$C_AD_II | Uses a CRC algorithm and returns a longword hash value. It was used in VAX VMS releases prior to Version 2.0. |
UAI$C_PURDY | Uses a Purdy algorithm over salted input. It expects a blank-padded user name and returns a quadword hash value. This algorithm was used during VAX VMS Version 2.0 field test. |
UAI$C_PURDY_V | Uses the Purdy algorithm over salted input. It expects a variable-length user name and returns a quadword hash value. This algorithm was used in VMS releases prior to Version 5.4. |
UAI$C_PURDY_S | Uses the Purdy algorithm over salted input. It expects a variable-length user name and returns a quadword hash value. This is the current algorithm that the operating system uses for all new password changes. |
UAI$C_PREFERED_ALGORITHM | Represents the latest encryption algorithm that the operating system uses to encrypt new passwords. Currently, it equates to UAI$C_PURDY_S. Compaq recommends that you use this symbol in source modules. |
Because the encryption algorithm is a byte in length, the buffer length field in the item descriptor should specify 1 (byte).
UAI$C_AD_II
UAI$C_PURDY
UAI$C_PURDY_V
UAI$C_PURDY_S
UAI$C_PREFERED_ALGORITHM
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Because the absolute time value is a quadword in length, the buffer length field in the item descriptor should specify 8 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Each flag is represented by a bit. The $UAIDEF macro defines the following symbolic names for these flags:
Symbol | Description |
---|---|
UAI$V_AUDIT | All actions are audited. |
UAI$V_AUTOLOGIN | User can only log in to terminals defined by the Automatic Login facility (ALF). |
UAI$V_CAPTIVE | User is restricted to captive account. |
UAI$V_DEFCLI | User is restricted to default command interpreter. |
UAI$V_DISACNT | User account is disabled. Same as /FLAG = DISUSER qualifier in AUTHORIZE. |
UAI$V_DISCTLY | User cannot use Ctrl/Y. |
UAI$V_DISFORCE_PWD_CHANGE | User will not be forced to change expired passwords at login. |
UAI$V_DISIMAGE | User cannot issue the RUN or MCR commands or use the foreign command mechanism in DCL. |
UAI$V_DISMAIL | Announcement of new mail is suppressed. |
UAI$V_DISPWDDIC | Automatic checking of user-selected passwords against the system dictionary is disabled. |
UAI$V_DISPWDHIS | Automatic checking of user-selected passwords against previously used passwords is disabled. |
UAI$V_DISRECONNECT | User cannot reconnect to existing processes. |
UAI$V_DISREPORT | User will not receive last login messages. |
UAI$V_DISWELCOME | User will not receive the login welcome message. |
UAI$V_EXTAUTH | User is considered externally authenticated by an external user ID and password and not by the SYSUAF user name and password. The SYSUAF record is still used for checking login restrictions and quotas and for creating the user's OpenVMS process profile. |
UAI$V_GENPWD | User is required to use generated passwords. |
UAI$V_LOCKPWD | SET PASSWORD command is disabled. |
UAI$V_MIGRATEPWD | User's SYSUAF password was set using AUTHORIZE or SYS$SETUAI and is likely to be inconsistent with the user's external user password. If password migration is enabled, the system will attempt to update the external authorization service the next time the user attempts a login. |
UAI$V_NOMAIL | Mail delivery to user is disabled. |
UAI$V_PWD_EXPIRED | Primary password is expired. |
UAI$V_PWD2_EXPIRED | Secondary password is expired. |
UAI$V_RESTRICTED | User is limited to operating under a restricted account. Clear the CAPTIVE flag (UAI$V_CAPTIVE), if set, before setting the RESTRICTED flag. (Refer to the OpenVMS Guide to System Security for a description of restricted and captive accounts.) |
Because this quota is a longword decimal number, the buffer length field in the item descriptor should specify 4 (bytes).
Because a file specification can include up to 63 characters plus a size-byte prefix, the buffer length field of the item descriptor should specify 64 (bytes).
The buffer length field in the item descriptor should specify 3 (bytes).
The buffer length field in the item descriptor should specify 3 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
The buffer length field in the item descriptor should specify 3 (bytes).
The buffer length field in the item descriptor should specify 3 (bytes).
Because the owner name can include up to 31 characters plus a size-byte prefix, the buffer length field of the item descriptor should specify 32 (bytes).
The UAI$_PASSWORD and UAI$_PASSWORD2 item codes provide the building blocks for designing a site-specific SET PASSWORD utility. Note that if you create such a utility, you should also set the LOCKPWD bit in the user authorization file (UAF) to prevent users from using the DCL command SET PASSWORD and to prevent the LOGINOUT process from forcing password changes. If you create a site-specific SET PASSWORD utility, install the utility with SYSPRV privilege.
You must adhere to the following guidelines when specifying a password with UAI$_PASSWORD or UAI$_PASSWORD2:
To clear the primary password, specify the value 0 in the buffer length field.
When you use $SETUAI to change the password on an account that has the UAI$V_EXTHAUTH flag set, the UAI$V_MIGRATEPWD flag is set automatically.
To clear the secondary password, specify the value 0 in the buffer length field.
Because the paged buffer I/O byte count limit is a longword decimal number, the buffer length field in the item descriptor should specify 4 (bytes).
Because the paging file quota is a longword decimal number, the buffer length field in the item descriptor should specify 4 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Because this decimal number is a byte in length, the buffer length field in the item descriptor should specify 1 (byte).
Each bit represents a day of the week, with the bit clear representing a primary day and the bit set representing a secondary day. The $UAIDEF macro defines the following symbolic names for these bits:
UAI$V_MONDAY
UAI$V_TUESDAY
UAI$V_WEDNESDAY
UAI$V_THURSDAY
UAI$V_FRIDAY
UAI$V_SATURDAY
UAI$V_SUNDAY
Because the privileges are set as a quadword value, the buffer length field in the item descriptor should specify 8 (bytes).
Because the hashed primary password is set as a quadword value, the buffer length field in the item descriptor should specify 8 (bytes).
When you use $SETUAI to change the password on an account that has the UAI$V_EXTHAUTH flag set, the UAI$V_MIGRATEPWD flag is set automatically.
Because this value is a quadword in length, the buffer length field in the item descriptor should specify 8 (bytes).
A value of --1 indicates that the password could be marked as preexpired.
Because this decimal number is a byte in length, the buffer length field in the item descriptor should specify 1 (byte).
Because this value is a quadword in length, the buffer length field in the item descriptor should specify 8 (bytes).
A quadword of 0 means that none of the password mechanisms will take effect.
Because the hashed secondary password is set as a quadword value, the buffer length field in the item descriptor should specify 8 (bytes).
Because this value is a quadword in length, the buffer length field in the item descriptor should specify 8 (bytes).
A value of --1 indicates that the password could be marked as preexpired.
Because this decimal number is a byte in length, the buffer length field in the item descriptor should specify 1 (byte).
The buffer length field in the item descriptor should specify 3 (bytes).
The buffer length field in the item descriptor should specify 3 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
By copying the item codes UAI$_SALT, UAI$_ENCRYPT, UAI$_PWD, UAI$_PWD_DATE, and UAI$_FLAGS, a site-security administrator can construct a utility that propagates password changes throughout the network. Note, however, that Compaq does not recommend using the same password on more than one node in a network.
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
Because this decimal number is a word in length, the buffer length field in the item descriptor should specify 2 (bytes).
To clear all the information in the user data area of the SYSUAF, specify $SETUAI with a buffer length field of 0.
Because the working set extent is a longword decimal number, the buffer length field in the item descriptor should specify 4 (bytes).
Because the working set quota is a longword decimal number, the buffer length field in the item descriptor should specify 4 (bytes).
The Set User Authorization Information service is used to modify the user authorization file (UAF) record for a specified user.The UAI$V_PWD_EXPIRED should only be set when the bit UAI$V_DISFORCE_PWD_CHANGE is set in the user's SYSUAF record and the comparison between the UAI$_PWD_DATE and UAI$_PWD_LIFETIME indicates a password is past its valid life.
For information about login and password expiration, see the Description section of the $GETUAI system service.
The following list describes the privileges you need to use the $SETUAI service:
- BYPASS or SYSPRV---Allows modification of any record in the UAF (user authorization file).
- GRPPRV---Allows modification of any record in the UAF whose UIC group matches that of the requester. Note, however, that you cannot change a UAF record whose UIC matches exactly the requester's UIC. Group managers with GRPPRV privilege are limited in the extent to which they can modify the UAF records of users in the same group; values such as privileges and quotas can be changed only if the modification does not exceed the values set in a group manager's UAF record.
- No privilege---Does not allow access to any UAF record.
None
$GETUAI
SS$_NORMAL The service completed successfully. SS$_ACCVIO The item list or input buffer cannot be read by the caller; or the return length buffer, output buffer, or status block cannot be written by the caller. SS$_BADPARAM The function code is invalid; the item list contains an invalid item code; a buffer descriptor has an invalid length; or the reserved parameter has a nonzero value. SS$_NOGRPPRV The user does not have the privileges required to modify the authorization information for other members of the UIC group. SS$_NOSYSPRV The user does not have the privileges required to modify the authorization information associated with the user or for users outside of the user's UIC group. RMS$_RSZ The UAF record is smaller than required; the caller's SYSUAF is likely corrupt.
This service can also return OpenVMS RMS status codes associated with operations on indexed files. For a description of RMS status codes that are returned by this service, refer to the OpenVMS Record Management Services Reference Manual.
Performs initial setup for process preemption avoidance.
SYS$SETUP_AVOID_PREEMPT enable
int sys$setup_avoid_preempt (int enable);
enable
OpenVMS usage: longword_unsigned type: longword (unsigned) access: read only mechanism: by value
Enables or disables preemption avoidance. If the enable argument is set to 1, preemption avoidance is enabled; if 0, preemption avoidance is disabled.
The Setup for Process Preemption Avoidance service is a kernel-mode initialization routine that locks the necessary internal data structures in memory so scheduling routines can access them above pageable IPL. A process or thread can then set or clear the indicator bit by calling the $AVOID_PREEMPT service.In addition, if the process or thread has ALTPRI privilege, $SETUP_AVOID_PREEMPT sets a bit in the PKTA (a per-kernel-thread data area) to mark that the process or thread can prevent preemption by other processes or threads having the same base priority but not those that have a higher base priority.
Note that without ALTPRI, this service will still function successfully, but will only enable the $AVOID_PREEMPT service to avoid preemptions due to quantum end.
None
None
$AVOID_PREEMPT
SS$_NORMAL The service completed successfully.
Also, any values returned by the $LKWSET or $UNLKSET services.
Modifies the characteristics of a device or the paths used to access that device.For synchronous completion, use the Set Device Characteristics and Wait ($SET_DEVICEW) service. The $SET_DEVICEW service is identical to the $SET_DEVICE service, except that $SET_DEVICEW returns to the caller only after the requested action has taken effect.
For additional information about system service completion, refer to the Synchronize ($SYNCH) service.
SYS$SET_DEVICE [efn] [,chan] [,devnam] ,itmlst [,iosb] [,astadr] [,astprm] [,nullarg]
int sys$set_device (unsigned int efn, unsigned short int chan, void *devnam, void *itmlst, struct _iosb *iosb, void (*astadr)(__unknown_params), int astprm, struct_generic_64 *nullarg);
efn
OpenVMS usage: ef_number type: longword (unsigned) access: read only mechanism: by value
Number of the event flag to be set when $SET_DEVICE returns the requested information. The efn argument is a longword containing this number; however, $SET_DEVICE uses only the low-order byte.Upon request initiation, $SET_DEVICE clears the specified event flag (or event flag 0 if efn was not specified). Then, when $SET_DEVICE returns the requested information, it sets the specified event flag (or event flag 0).
chan
OpenVMS usage: channel type: word (unsigned) access: read only mechanism: by value
Number of the I/O channel assigned to the device about which information is desired. The chan argument is a word containing this number.To identify a device to $SET_DEVICE, you can specify either the chan or devnam parameters, but you should not specify both. If you specify both arguments, the chan argument is used.
If you specify neither chan nor devnam, $SET_DEVICE uses a default value of 0 for chan.
devnam
OpenVMS usage: device_name type: character-coded text string access: read only mechanism: by 32- or 64-bit descriptor-fixed-length string descriptor
The name of the device about which $SET_DEVICE is to modify the characteristics or path settings. The devnam argument is the address of a character string descriptor pointing to this name string.The device name string can be either a physical device name or a logical name. If the first character in the string is an underscore (_), the string is considered a physical device name; otherwise, the string is considered a logical name and logical name translation is performed until either a physical device name is found or the system default number of translations has been performed.
If the device name string contains a colon (:), the colon and the characters that follow it are ignored.
To identify a device to $SET_DEVICE, you can specify either the chan or devnam argument, but you should not specify both. If both arguments are specified, the chan argument is used.
If you specify neither chan nor devnam, $SET_DEVICE uses a default value of 0 for chan.
itmlst
OpenVMS usage: item_list_3 type: longword (unsigned) access: read only mechanism: by reference
Item list specifying which information about the device is to be returned. The itmlst argument is the address of a list of item descriptors, each of which describes an item of information. The list of item descriptors is terminated by a longword of 0.Currently, $SET_DEVICE allows only one valid item list entry.
The following diagram depicts the format of a single item descriptor:
See the itmlst argument in the $GETDVI system service description for information on the meaning of these fields in the item list.
OpenVMS usage: | io_status_block |
type: | quadword (unsigned) |
access: | write only |
mechanism: | by reference |
OpenVMS usage: | ast_procedure |
type: | procedure value |
access: | call without stack unwinding |
mechanism: | by reference |
Previous | Next | Contents | Index |
privacy and legal statement | ||
4527PRO_089.HTML |