1 03/31/83  terminate_process_
  2 
  3 
  4 Entry points in terminate_process_:
  5    (List is generated by the help command)
  6 
  7 
  8 :Entry: terminate_process_: 02/15/83  terminate_process_
  9 
 10 
 11 Function: This procedure causes the process in which it is called to
 12 be terminated.  The arguments determine the exact nature of the
 13 termination.
 14 
 15 
 16 Syntax:
 17 declare terminate_process_ entry (char(*), ptr);
 18 call terminate_process_ (action, info_ptr);
 19 
 20 
 21 Arguments:
 22 action
 23    specifies one of four general actions to be taken upon process
 24    termination.  (Input) The permissible values are logout, new_proc,
 25    fatal_error, or init_error (see "Notes").
 26 info_ptr
 27    points to more specific information about the action to be taken at
 28    termination.  (Input) The structure pointed to by info_ptr depends
 29    upon action (see "Notes").
 30 
 31 
 32 Notes:
 33 If action is logout then the user's process is logged out.  The
 34 info_ptr points to:
 35    dcl 1 logout_info    aligned,
 36          2 version      fixed bin,
 37          2 hold         bit(1) unaligned,
 38          2 brief        bit(1) unaligned,
 39          2 pad          bit(34) unaligned,
 40 
 41 
 42    Structure elements:
 43    version
 44       must be 0.
 45    hold
 46       must be "1"b if the terminal associated with this process is not
 47       to be hung up, so that another user may log in.
 48    brief
 49       must be "1"b if the logout message is to be suppressed.
 50    pad
 51       must be "0"b.
 52 
 53 
 54 If action is new_proc, then the user's current process is logged out
 55 and a new process is created.  The info_ptr points to:
 56    dcl 1 new_proc_info              aligned,
 57          2 version                  fixed bin,
 58          2 authorization_option     bit(1) unaligned,
 59          2 pad                      bit(35) unaligned,
 60          2 new_authorization        bit(72) aligned;
 61 
 62 
 63    Structure elements:
 64    version
 65       must be 1.
 66    authorization_option
 67       must be 1 if new_authorization is to be used.
 68    pad
 69       must be 0.
 70    new_authorization
 71       is the authorization of the new process.
 72 
 73 
 74 If action is fatal_error, then the user's current process is terminated
 75 due to an unrecoverable error.  A fatal error message is printed on the
 76 terminal and a new process is created.  The info_ptr points to:
 77    dcl 1 fatal_error_info     aligned,
 78          2 version            fixed bin,
 79          2 status_code        fixed bin(35);
 80 
 81 
 82    Structure elements:
 83    version
 84       must be 0.
 85    status_code
 86       is a standard system status code (in error_table_) indicating the
 87       nature of the fatal error, the corresponding error message will
 88       be printed on the user's console.
 89 
 90 If action is init_error, then the user's process is logged out and a
 91 message indicating that his process could not be initialized is
 92 printed.  The info_ptr points to:
 93 
 94    dcl 1 init_error_info     aligned,
 95          2 version           fixed bin,
 96          2 status_code       fixed bin(35);
 97 
 98 
 99    Structure elements:
100    version
101       must be 0.
102    status_code
103       is a standard Multics code indicating the nature of the error.