1 03/05/85  create_ips_mask_
 2 
 3 
 4 The create_ips_mask_ subroutine returns a bit string that can be used
 5 to disable specified ips (interprocess signal) interrupts (also known
 6 as ips signals).
 7 
 8 
 9 Entry points in create_ips_mask_:
10    (List is generated by the help command)
11 
12 
13 :Entry:  create_ips_mask_:  03/05/85  create_ips_mask_
14 
15 
16 Function:
17 returns a bit string that can be used to disable specified ips
18 interrupts.
19 
20 
21 Syntax:
22 declare create_ips_mask_ entry (ptr, fixed bin, bit(36) aligned);
23 call create_ips_mask_ (array_ptr, lng, mask);
24 
25 
26 Arguments:
27 array_ptr
28    is a pointer to an array of ips names that are declared as char(32)
29    aligned.  (Input)
30 lng
31    is the number of elements in the array pointed to by array_ptr.
32    (Input)
33 mask
34    is a mask that disables all of the ips signals named in the array.
35    (See "Notes" below.)
36 
37 
38 Notes:  If any of the names are not valid ips signal names, the
39 condition create_ips_mask_err is signalled.  Currently, the allowed ips
40 names are:
41 
42      quit
43      cput
44      alrm
45      neti
46      sus_
47      trm_
48      wkp_
49      pgt_
50      system_shutdown_scheduled_
51      dm_shutdown_scheduled_
52 
53 
54 If the first name in the array is -all, then a mask is returned that
55 masks all interrupts.
56 
57 The returned mask contains a "0"b in the bit position corresponding to
58 each ips name in the array and a "1"b in all other bit positions.  The
59 bit positions are ordered as in the above list.  It should be noted
60 that it is necessary to complement this mask (using a statement of the
61 form "mask = ^mask") in cases where the requirement is for a mask with
62 "1" bits corresponding to specified interrupts.  An ips mask is used as
63 an argument to the hcs_$reset_ips_mask and hcs_$set_ips_mask entry
64 points.