1 :Info: sweep_disk_:  1982-12-28  sweep_disk_
  2 
  3 
  4 Entry points in sweep_disk_:
  5    (List is generated by the help command)
  6 
  7 
  8 :Entry: sweep_disk_: 1982-11-04  sweep_disk_
  9 
 10 
 11 Function:
 12 The sweep_disk_ subroutine walks through the subtree below a specified
 13 node of the directory hierarchy, calling a user-supplied subroutine
 14 once for every entry in every directory in the subtree.
 15 
 16 
 17 Syntax:
 18 declare sweep_disk_ entry (char(168) aligned, entry);
 19 call sweep_disk_ (base_path, subroutine);
 20 
 21 
 22 Arguments:
 23 base_path
 24    is the pathname of the directory that is the base node of the
 25    subtree to be scanned.  (Input)
 26 subroutine
 27    is an entry point called for each branch or link in the subtree (see
 28    "User-Supplied Subroutine" below).  (Input)
 29 
 30 
 31 User-Supplied Subroutine:
 32 The subroutine provided to sweep_disk_ should have the following
 33 declaration and call sequence:
 34 
 35    declare subroutine entry (char(168) aligned, char(32) aligned,
 36       fixed bin, char(32) aligned, ptr, ptr);
 37    call subroutine (path, dir_name, level, entryname, b_ptr, n_ptr);
 38 
 39 
 40 User-Supplied Subroutine Arguments:
 41 path
 42    is the pathname of the directory immediately superior to the
 43    directory that contains the current entry.  (Input)
 44 dir_name
 45    is the name of the directory that contains the current entry.
 46    (Input)
 47 level
 48    is the number of levels deep from the base_path directory of the
 49    subtree.  (Input)
 50 
 51 
 52 entryname
 53    is the primary name on the current entry.  (Input)
 54 b_ptr
 55    is a pointer to the branch structure returned by hcs_$star_list for
 56    the current entry.  (Input)
 57 n_ptr
 58    is a pointer to the names area for the immediately superior
 59    directory of the current entry returned by hcs_$star_list.  (Input)
 60 
 61 
 62 :Entry:  dir_list:  1982-11-04  sweep_disk_$dir_list
 63 
 64 
 65 Function:  This entry point operates in the same way as sweep_disk_ but
 66 is much less expensive to use and does not return
 67 date_time_contents_modified, date_time_used, or bit_count.
 68 
 69 
 70 Syntax:
 71 declare sweep_disk_$dir_list entry (char(168) aligned, entry);
 72 call sweep_disk_$dir_list (base_path, subroutine);
 73 
 74 
 75 Arguments:
 76 base_path
 77    is the pathname of the directory that is the base node of the
 78    subtree to be scanned.  (Input)
 79 subroutine
 80    is an entry point called for each branch or link in the subtree (see
 81    "Notes" below).  (Input)
 82 
 83 
 84 Notes: The user-supplied subroutine is called in the same way as
 85 for sweep_disk_, but b_ptr points instead to the branch structure
 86 returned by hcs_$star_dir_list.  See the hcs_$star_ subroutine.
 87 See "User-Supplied Subroutine" in the sweep_disk_ entrypoint for
 88 syntax of this subroutine.
 89 
 90 If the base_path argument to the sweep_disk_ subroutine is the
 91 root (">"), the directory >process_dir_dir is omitted from the tree
 92 walk.
 93 
 94 
 95 The sweep_disk_ subroutine attempts to force access to the directories
 96 in the subtree by adding an ACL term of the form "sma
 97 Person.Project.tag" to each directory ACL, and deleting that ACL term
 98 when finished processing the directory.  If the user does not have
 99 sufficient access to add this ACL term for a given directory, the
100 subroutine processes those parts of the subtree under it where the user
101 already has sufficient access to list the directories.
102 
103 
104 :Entry:  loud:  1982-11-04  sweep_disk_$loud
105 
106 
107 Function:  This entry point is used for debugging subsystems that use
108 the sweep_disk_ subroutine.  It sets an internal static flag in
109 sweep_disk_ that causes sweep_disk_ to call com_err_ and report any
110 errors encountered in listing directories or setting ACLs.  Since
111 sweep_disk_$loud takes no arguments, and should only be used for
112 debugging, it can readily be invoked as a command ("sweep_disk_$loud")
113 to cause sweep_disk_ to exhibit this debugging behavior for the rest of
114 the process.  There is no corresponding entry point to turn the switch
115 off.  Because this is a static switch, and affects all callers of
116 sweep_disk_, it should not be turned on, except to debug, when it is
117 important to understand the exact nature of any errors encountered.
118 Normally, sweep_disk_ ignores errors and continues as best it can.
119 
120 
121 Syntax:
122 declare sweep_disk_$loud entry ();
123 call sweep_disk_$loud ();
124 
125 
126 :hcom:
127 
128 
129 
130 /****^  HISTORY COMMENTS:
131   1) change(2020-05-19,GDixon), approve(2021-02-22,MCR10088),
132      audit(2021-05-27,Swenson), install(2021-05-27,MR12.6g-0056):
133      Fix info seg format errors reported by verify_info.
134                                                    END HISTORY COMMENTS */
135 
136 
137