?? RIGHT := 110 ??
?? NEWTITLE := 'NOS/VE: Program Management Miscellaneous Administrator Commands' ??
MODULE pmm$system_admin_misc_com_r3;

{ PURPOSE:
{   This module contains the ring3 interfaces for miscellaneous commands used
{ to secure the system on specified mainframes.
{

?? NEWTITLE := 'Global Declarations Referenced by this Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc ofe$error_codes
*copyc ost$date_time
*copyc ost$name
?? POP ??
*copyc avp$system_administrator
*copyc dsp$change_operation_password
*copyc dsp$lock_unlock_main_window
*copyc dsp$set_operation_password
*copyc dsp$set_operation_interval
*copyc osp$set_status_abnormal

?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] pmp$change_operation_password', EJECT ??

  PROCEDURE [XDCL, #GATE] pmp$change_operation_password
    (    old_password: ost$name;
         new_password: ost$name;
     VAR status: ost$status);


    status.normal := TRUE;

    IF NOT avp$system_administrator () THEN
      osp$set_status_abnormal ('OF', ofe$sou_not_active, 'SYSTEM_ADMINISTRATION', status);
      RETURN;
    IFEND;

    dsp$change_operation_password (old_password, new_password, status);

  PROCEND pmp$change_operation_password;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] pmp$lock_unlock_main_window', EJECT ??

  PROCEDURE [XDCL, #GATE] pmp$lock_unlock_main_window
    (    password: ost$name;
         lock_window: boolean;
     VAR status: ost$status);

    status.normal := TRUE;

    IF NOT avp$system_administrator () THEN
      osp$set_status_abnormal ('OF', ofe$sou_not_active, 'SYSTEM_ADMINISTRATION', status);
      RETURN;
    IFEND;

    dsp$lock_unlock_main_window (password, lock_window, status);

  PROCEND pmp$lock_unlock_main_window;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] pmp$set_operation_password', EJECT ??

  PROCEDURE [XDCL, #GATE] pmp$set_operation_password
    (    password: ost$name;
     VAR status: ost$status);


    status.normal := TRUE;

    IF NOT avp$system_administrator () THEN
      osp$set_status_abnormal ('OF', ofe$sou_not_active, 'SYSTEM_ADMINISTRATION', status);
      RETURN;
    IFEND;

    dsp$set_operation_password (password, status);

  PROCEND pmp$set_operation_password;
?? OLDTITLE ??
?? NEWTITLE := '[XDCL, #GATE] pmp$set_operation_interval', EJECT ??

  PROCEDURE [XDCL, #GATE] pmp$set_operation_interval
    (    password: ost$name;
         date_time: ost$date_time;
     VAR status: ost$status);


    status.normal := TRUE;

    IF NOT avp$system_administrator () THEN
      osp$set_status_abnormal ('OF', ofe$sou_not_active, 'SYSTEM_ADMINISTRATION', status);
      RETURN;
    IFEND;

    dsp$set_operation_interval (password, date_time, status);

  PROCEND pmp$set_operation_interval;
?? OLDTITLE ??

MODEND pmm$system_admin_misc_com_r3;
