Controls whether a process automatically unshelves files. Format SYS$SETSHLV [pidadr] ,[prcnam] ,[shlvflg] C Prototype int sys$setshlv (unsigned int *pidadr, void *prcnam, unsigned int shlvflg);
1 – Arguments
pidadr OpenVMS usage:process_id type: longword (unsigned) access: modify mechanism: by reference Process identification (PID) of the process. The pidadr argument is the address of the PID. The pidadr argument can only refer to a process running on the local node. You cannot modify a process on a remote node. You must specify the pidadr argument to modify a process whose UIC group number is different from that of the calling process. prcnam OpenVMS usage:process_name type: character-coded text string access: read only mechanism: by descriptor-fixed-length string descriptor Process name of the process. The prcnam argument is the address of a character string descriptor pointing to the process name. You identify a process with a 1- to 15-character string. You can only use the prcnam argument to modify a process in the same UIC group as the calling process. To modify a process in another UIC group, you must specify the pidadr argument. shlvflg OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by value Value specifying whether automatic unshelving is to be turned on or off. The shlvflg argument is a longword containing this value. The value 0 turns automatic unshelving on. The value 1 turns automatic unshelving off.
2 – Description
The Set Automatic Unshelving service controls whether a process automatically unshelves files. The pidadr and prcnam default to the current process. If the longword at address pidadr is 0, the PID of the target process is returned. The setting for automatic unshelving is inherited by subprocesses. The DCL command SET PROCESS/[NO]AUTOUNSHELVE also controls automatic unshelving for a process; for details, see the VSI OpenVMS DCL Dictionary. Required Access or Privileges Depending on the operation, the calling process might need one of the following privileges to use $SETSHLV: o GROUP privilege to modify a process in the same group, unless the target process has the same UIC as the calling process. o WORLD privilege to modify any process in the system. Required Quota None Related Services $GETJPI
3 – Condition Values Returned
SS$_WASCLR The service completed successfully. Automatic unshelving was previously on. SS$_WASSET The service completed successfully. Automatic unshelving was previously off. SS$_ACCVIO An argument was not accessible by the caller. SS$_BADPARAM The shlvflg argument was invalid. SS$_IVLOGNAM The prcnam argument was invalid. The process name string had either 0 characters or more than 15 characters. SS$_NONEXPR The specified process did not exist, or the specified process identification was invalid. SS$_NOPRIV The caller did not have the privilege to modify other processes. SS$_REMOTE_PROC The specified process was not on the local node. The service cannot modify a process on a remote node.