1 :Info: fs_util_: 2021-10-28  fs_util_
  2 
  3 
  4 The fs_util_ subroutine provides for uniform handling of file system
  5 entries.  Supported operations are validate, copy, delete, chname,
  6 get_switch, set_switch, get_max_length, set_max_length, set_bit_count,
  7 and ACL manipulation.  When invoked, the subroutine checks to see if
  8 the entry name provided is that of an extended entry and if it is,
  9 calls the corresponding entry point of the appropriate suffix_XXX_
 10 subroutine.  If the name is not that of an extended entry, then
 11 fs_util_ calls the appropriate standard entry entry point handler for
 12 the entry.
 13 
 14 
 15 Entry points in fs_util_:
 16    (List is generated by the help command)
 17 
 18 
 19 :Entry:  add_acl_entries:  1985-02-27 fs_util_$add_acl_entries
 20 
 21 
 22 Function:  This entry point is used to add to the Access Control List
 23 of an entry.  If an access name already appears on the ACL of the
 24 entry, its mode is changed to the one specified by the call.
 25 
 26 
 27 Syntax:
 28 declare fs_util_$add_acl_entries entry (char(*), char(*), ptr, fixed
 29      bin(35));
 30 call fs_util_$add_acl_entries (dir_name, entryname, acl_ptr, code);
 31 
 32 
 33 Arguments:
 34 dir_name
 35    is the absolute pathname of the directory containing the entry.
 36    (Input)
 37 entryname
 38    is the name of the entry.  (Input)
 39 acl_ptr
 40    is a pointer to the general_acl structure.  (Input)
 41 code
 42    is a standard system status code.  (Output)
 43 
 44 
 45 Notes:  The general_acl structure and the named constant
 46 GENERAL_ACL_VERSION_1 are defined in the include file
 47 acl_structures.incl.pl1.
 48 
 49 
 50 :Entry:  add_extended_acl_entries: 1985-02-27 fs_util_$add_extended_acl_entries
 51 
 52 
 53 Function:  This entry point is used to add to the Extended Access
 54 Control List of a standard entry.
 55 
 56 
 57 Syntax:
 58 declare fs_util_$add_extended_acl_entries entry (char(*), char(*), ptr,
 59      fixed bin(35));
 60 call fs_util_$add_extended_acl_entries (dir_name, entryname, acl_ptr,
 61      code);
 62 
 63 
 64 Arguments:
 65 dir_name
 66    is the absolute pathname of the directory containing the entry.
 67    (Input)
 68 entryname
 69    is the name of the entry.  (Input)
 70 acl_ptr
 71    is a pointer to the structure general_extended_acl.  (Input)
 72 code
 73    is a standard system status code.  (Output)
 74 
 75 
 76 Notes:  This interface is intended to be used only by extended entry
 77 type support routines, (also referenced as suffix_XXX_), in order to
 78 map an ACL mode provided to fs_util_ into a standard mode/extended mode
 79 pair to be placed on the underlying standard entry or entries which are
 80 being used to implement the extended entry type.
 81 
 82 The general_extended_acl structure and the named constant
 83 GENERAL_EXTENDED_ACL_VERSION_1 are defined in the include file
 84 acl_structures.incl.pl1.
 85 
 86 
 87 :Entry:  chname_file:  1985-02-27 fs_util_$chname_file
 88 
 89 
 90 Function:  This entry point is used to change the name of an entry.  If
 91 only an old_name is given, the effect is to delete.  If only a new_name
 92 is given, the effect is to add the name.  If both are specified, the
 93 effect is to rename the entry.
 94 
 95 
 96 Syntax:
 97 declare fs_util_$chname_file entry (char(*), char(*), char(*), char(*),
 98      fixed bin (35));
 99 call fs_util_$chname_file (dir_name, entryname, old_name, new_name,
100      code);
101 
102 
103 Arguments:
104 dir_name
105    is the absolute pathname of the directory containing the entry.
106    (Input)
107 entryname
108    is the name of the entry.  (Input)
109 old_name
110    is the name to be deleted from the entry.  (Input) It can be a null
111    character string ("") in which case no name is deleted.  If old_name
112    is null, the new_name must not be null.
113 
114 
115 new_name
116    is the new name to be added to the entry.  (Input) It must not
117    already exist in the directory on this or another entry.  It can be
118    a null string ("") in which case no name is added to the entry.  It
119    it is null, then old_name must not be the only name on the entry.
120 code
121    is a standard system status code.  (Output)
122 
123 
124 :Entry:  copy:  1985-02-27 fs_util_$copy
125 
126 
127 Function:  This entry point is used to copy an entry.
128 
129 
130 Syntax:
131 declare fs_util_$copy entry (ptr, fixed bin (35));
132 call fs_util_$copy (copy_options_ptr, code);
133 
134 
135 Arguments:
136 copy_options_ptr
137    is a pointer to the copy_options structure.  (Input)
138 code
139    is a standard system status code.  (Output)
140 
141 
142 Notes:  The copy_options structure and the named constant
143 COPY_OPTIONS_VERSION_1 are defined in the include file
144 copy_options.incl.pl1.
145 
146 
147 :Entry:  delete_acl_entries:  1985-02-27 fs_util_$delete_acl_entries
148 
149 
150 Function:  This entry point deletes a member of an entry's Access
151 Control List.
152 
153 
154 Syntax:
155 declare fs_util_$delete_acl_entries entry (char(*), char(*), ptr, fixed
156      bin(35));
157 call fs_util_$delete_acl_entries (dir_name, entryname, acl_ptr, code);
158 
159 
160 Arguments:
161 dir_name
162    is the absolute pathname of the directory containing the entry.
163    (Input)
164 entryname
165    is the name of the entry.  (Input)
166 acl_ptr
167    is a pointer to the structure general_delete_acl.  (Input)
168 code
169    is a standard system status code.  (Output)
170 
171 
172 Notes:  The general_delete_acl structure and the named constant
173 GENERAL_DELETE_ACL_VERSION_1 are defined in the include file
174 acl_structures.incl.pl1.
175 
176 
177 :Entry:  delentry_file:  1985-02-27 fs_util_$delentry_file
178 
179 
180 Function:  This entry point deletes a file system entry.
181 
182 
183 Syntax:
184 declare fs_util_$delentry_file entry (char(*), char(*), fixed bin
185      (35));
186 call fs_util_$delentry_file (dir_name, entryname, code)
187 
188 
189 Arguments:
190 dir_name
191    is the absolute pathname of the directory containing the entry.
192    (Input)
193 entryname
194    is the name of the entry.  (Input)
195 code
196    is a standard system status code.  (Output)
197 
198 
199 :Entry:  get_bit_count:  1985-02-27 fs_util_$get_bit_count
200 
201 
202 Function:  This entry point returns the number of useful bits in an
203 entry.
204 
205 
206 Syntax:
207 declare fs_util_$get_bit_count entry (char(*), char(*), fixed bin(41),
208      fixed bin (35));
209 call fs_util_$get_bit_count (dir_name, entryname, bit_count, code);
210 
211 
212 Arguments:
213 dir_name
214    is the absolute pathname of the directory containing the entry.
215    (Input)
216 entryname
217    is the name of the entry.  (Input)
218 bit_count
219    is the number of bits considered useful in the entry.  (Output)
220 code
221    is a standard system status code.  (Output)
222 
223 
224 :Entry:  get_max_length:  1985-02-27 fs_util_$get_max_length
225 
226 
227 Function:  This entry point returns the maximum length setting for an
228 entry.
229 
230 
231 Syntax:
232 declare fs_util_$get_max_length entry (char(*), char(*), fixed bin
233      (35), fixed bin (35));
234 call fs_util_$get_max_length (dir_name, entryname, max_length, code);
235 
236 
237 Arguments:
238 dir_name
239    is the absolute pathname of the directory containing the entry.
240    (Input)
241 entryname
242    is the name of the entry.  (Input)
243 max_length
244    is the maximum length of the entry in words.  (Output)
245 code
246    is a standard system status code.  (Output)
247 
248 
249 :Entry:  get_ring_brackets:  1985-02-27 fs_util_$get_ring_brackets
250 
251 
252 Function:  This entry point returns the ring brackets of an entry.
253 
254 
255 Syntax:
256 declare fs_util_$get_ring_brackets entry (char(*), char(*), (*)fixed
257      bin(3), fixed bin(35));
258 call fs_util_$get_ring_brackets (dir_name, entryname, ring_brackets,
259      code);
260 
261 
262 Arguments:
263 dir_name
264    is the absolute pathname of the directory containing the entry.
265    (Input)
266 entryname
267    is the name of the entry.  (Input)
268 ring_brackets
269    are the ring numbers which define the upper bounds of the ring
270 
271    brackets which control the various modes of access to the entry.
272    (Output) Ring brackets are discussed in "Intra Process Access
273    Control" in the "Multics Programmer's Reference Manual", Order No.
274    AG91.
275 code
276    is a standard system status code.  (Output)
277 
278 
279 :Entry:  get_switch:  1985-02-27 fs_util_$get_switch
280 
281 
282 Function:  This entry point returns the value of a storage system
283 switch for an entry.
284 
285 
286 Syntax:
287 declare fs_util_$get_switch entry (char(*), char(*), char(*), bit(1)
288      aligned, fixed bin(35));
289 call fs_util_$get_switch (dir_name, entryname, switch_name, value,
290      code);
291 
292 
293 Arguments:
294 dir_name
295    is the absolute pathname of the directory containing the entry.
296    (Input)
297 entryname
298    is the name of the entry.  (Input)
299 switch_name
300    is the name of the switch whose value is sought.  For example, it
301    may be one of the following:  "copy," "complete_volume_dump,"
302    "damaged," "incremental_volume_dump," "safety," "synchronized," or
303    any additional switch supported by the appropriate extended entry
304    type.  (Input)
305 
306 
307 value
308    is the value of the requested switch.  (Output)
309       "1"b means the switch is on
310       "0" means that it is off.
311 code
312    is a standard system status code.  It should be set to
313    error_table_$argerr if switch_name is invalid.  (Output)
314 
315 
316 :Entry:  get_type:  1985-02-27 fs_util_$get_type
317 
318 
319 Function:  This entry point returns the type of a specified entry.
320 
321 
322 Syntax:
323 declare fs_util_$get_type entry (char(*), char(*), char(*),
324      fixed_bin(35));
325 call fs_util_$get_type (dir_name, entryname, type, code);
326 
327 
328 Arguments:
329 dir_name
330    is the absolute pathname of the directory containing the entry.
331    (Input)
332 entryname
333    is the name of the entry.  (Input)
334 type
335    is either the suffix if extended, or one of the name constants for
336    standard entry types found in the include file suffix_info.incl.pl1.
337    (Output)
338 code
339    is a standard system status code.  (Output)
340 
341 
342 :Entry:  get_user_access_modes: 1985-02-27 fs_util_$get_user_access_modes
343 
344 
345 Function:  This entry point returns a user's effective access mode and
346 extended access mode for an entry.  For a description of modes, see
347 "Effective Access" in the "Multics Programmer's Reference Manual",
348 Order No.  AG91.
349 
350 
351 Syntax:
352 declare fs_util_$get_user_access_modes entry (char(*), char(*),
353      char(*), fixed bin, bit(36) aligned, bit(36) aligned, fixed
354      bin(35));
355 call fs_util_$get_user_access_modes (dir_name, entryname, user_name,
356      ring, modes, exmodes, code);
357 
358 
359 Arguments:
360 dir_name
361    is the absolute pathname of the directory containing the entry.
362    (Input)
363 entryname
364    is the name of the entry.  (Input)
365 user_name
366    is the access name of the user in the form Person_id.Project_id.tag.
367    (Input) This is limited to 32 characters.  If null, the access name
368    of the calling process is used.
369 
370 
371 ring
372    is the validation level that is to be used in computing effective
373    access.  (Input) It must be a value between 0 and 7 inclusive, or
374    -1.  If the ring value is -1, the default value of the validation
375    level of the calling process is used.  This default should be used
376    in all cases except those in which a different ring's access is
377    explicitly required.
378 modes
379    are the standard ACL modes of an entry.  (Output)
380 xmodes
381    are the extended ACL modes of an entry.  (Output)
382 code
383    is a standard system status code.  (Output)
384 
385 
386 Notes:  The include file access_modes_values.incl.pl1 defines named
387 constants for the different values of modes.  Extended access modes are
388 defined by the subsystem owning the extended entry.
389 
390 
391 :Entry:  list_acl:  1985-02-27 fs_util_$list_acl
392 
393 
394 Function:  This entry point lists the components of an entry's Access
395 Control List.
396 
397 
398 Syntax:
399 declare fs_util_$list_acl entry (char(*), char(*), char(*), ptr, ptr,
400      fixed bin(35));
401 call fs_util_$list_acl (dir_name, entryname, version, area_ptr,
402      acl_ptr, fixed bin(35));
403 
404 
405 Arguments:
406 dir_name
407    is the absolute pathname of the directory containing the entry.
408    (Input)
409 entryname
410    is the name of the entry.  (Input)
411 version
412    is the version of the acl structure.  (Input)
413 area_ptr
414    is a pointer to an area where fs_util_ can allocate the general_acl
415    structure.  If area_ptr is null, then the user wants access modes
416    for certain ACL entries; these will be specified by the structure
417    pointed to by acl_ptr.  (Input)
418 
419 
420 acl_ptr
421    is a pointer to the general_acl structure.  (Input or Output)
422    Input:  if area_ptr is null, then acl_ptr points to a general_acl
423    structure filled with access names and into which modes will be
424    placed.
425    Output:  if area_ptr is non null, then acl_ptr will point to the
426    start of a newly allocated general_acl structure.
427 code
428    is a standard system status code.  (Output)
429 
430 
431 Notes:  If acl_ptr is used to obtain modes for specified access names
432 (rather than for all access names on an entry), then each ACL entry in
433 the general_acl structure either has status_code set to 0 and contains
434 the entry's mode or has status_code set to error_table_$user_not_found
435 and contains a mode of 0.
436 
437 The general_acl structure and the named constant GENERAL_ACL_VERSION_1
438 are defined in the include file acl_structures.incl.pl1.  For a
439 description of the general_acl structure, see the add_acl_entries
440 entrypoint above.
441 
442 
443 :Entry:  list_extended_acl:  1985-02-27 fs_util_$list_extended_acl
444 
445 
446 Function:  This entry point returns the contents of the Extended Access
447 Control List of a standard entry.
448 
449 
450 Syntax:
451 declare fs_util_$list_extended_acl entry (char(*), char(*), char(*),
452      ptr, ptr, fixed bin(35));
453 call fs_util_$list_extended_acl (dir_name, entryname, version,
454      area_ptr, acl_ptr, code);
455 
456 
457 Arguments:
458 dir_name
459    is the absolute pathname of the directory containing the entry.
460    (Input)
461 entryname
462    is the name of the entry.  (Input)
463 version
464    is the version of the acl structure.  (Output)
465 area_ptr
466    is a pointer to an area where fs_util_ can allocate the
467    general_extended_acl structure.  If area_ptr is null, then the user
468    wants access modes for certain extended ACL entries; these will be
469    specified by the structure pointed to acl_ptr.  (Input)
470 
471 
472 acl_ptr
473    is a pointer to the general_acl structure.  (Input or Output)
474    Input:  if area_ptr is null, then acl_ptr points to a
475    general_extended_acl structure filled with access names and into
476    which modes will be placed.
477    Output:  if area_ptr is non null, then acl_ptr will point to the
478    start of a newly allocated general_extended_acl structure.
479 code
480    is a standard system status code.  (Output)
481 
482 
483 Notes:  This interface is intended to be used only by extended entry
484 type support routines, (also referenced as suffix_XXX_), in order to
485 map an ACL mode provided to fs_util_ into a standard mode/extended mode
486 pair to be placed on the underlying standard entry or entries which are
487 being used to implement the extended entry type.
488 
489 If acl_ptr is used to obtain modes for specified access names (rather
490 than for all access names on an entry), then each ACL entry in the
491 general_extended_acl structure either has status_code set to 0 and
492 contains the entry's mode or has status_code set to
493 error_table_$user_not_found and contains a mode of 0.
494 
495 
496 The general_extended_acl structure and the named constant
497 GENERAL_EXTENDED_ACL_VERSION_1 are defined in the include file
498 acl_structures.incl.pl1.  The general_extended_acl structure is
499 described in the add_extended_acl_entries entrypoint described above.
500 
501 
502 :Entry:  list_switches:  1985-02-27 fs_util_$list_switches
503 
504 
505 Function:  This entry point returns a list of switches supported by the
506 entry type.
507 
508 
509 Syntax:
510 declare fs_util_$list_switches entry (char(*), char(*), char(*), ptr,
511      ptr, fixed bin(35));
512 call fs_util_$list_switches (dir_name, entryname, version, area_ptr,
513      switch_list_ptr, code);
514 
515 
516 Arguments:
517 dir_name
518    is the absolute pathname of the directory containing the entry.
519    (Input)
520 entryname
521    is the name of the entry.  (Input)
522 version
523    is the version of the switch list structure.  (Input)
524 area_ptr
525    is a pointer to an area where fs_util_ can allocate the structure
526    switch_list.  (Input)
527 switch_list_ptr
528    is a pointer to the switch_list structure.  (Output)
529 code
530    is a standard system status code.  (Input)
531 
532 
533 Notes:  The list_switches structure and the named constant
534 SWITCH_LIST_VERSION_1 are defined in the include file
535 suffix_info.incl.pl1.
536 
537 
538 :Entry:  list_switches_for_type: 1985-02-27 fs_util_$list_switches_for_type
539 
540 
541 Function:  This entry point returns a list of switches for a particular
542 type of entry.
543 
544 
545 Syntax:
546 declare fs_util_$list_switches_for_type entry (char(*), char(*), ptr,
547      ptr, fixed bin(35));
548 call fs_util_$list_switches_for_type (type, version, area_ptr,
549      switch_list_ptr, code);
550 
551 
552 Arguments:
553 type
554    is either the suffix if extended, or one of the name constants for
555    standard entry types found in the include file suffix_info.incl.pl1.
556    (Input)
557 version
558    is the version of the switch_list structure.  (Input)
559 area_ptr
560    is a pointer to an area where fs_util_ can allocate the structure
561    switch_list.  (Input)
562 switch_list_ptr
563    is a pointer to the switch_list structure.  (Output)
564 code
565    is a standard system status code.  (Input)
566 
567 
568 Notes:  The list_switches structure and the named constant
569 SWITCH_LIST_VERSION_1 are defined in the include file
570 suffix_info.incl.pl1.  The list_switches structure is described in the
571 list_switches entrypoint above.
572 
573 
574 :Entry:  make_entry:  1985-02-27 fs_util_$make_entry
575 
576 
577 Function:  This entry point constructs a variable to a specified suffix
578 support subroutine for a specified extended entry.
579 
580 
581 Syntax:
582 declare fs_util_$make_entry entry (char(*), char(*), char(*), entry,
583      fixed bin(35));
584 call fs_util_$make_entry (dir_name, entryname, entrypoint,
585      entry_to_call, code);
586 
587 
588 Arguments:
589 dir_name
590    is the absolute pathname of the directory containing the entry.
591    (Input)
592 entryname
593    is the name of the entry.  (Input)
594 entrypoint
595    is the name of the entrypoint that is is to be constructed.  (Input)
596 entry_to_call
597    is the entry variable constructed.  (Output)
598 code
599    is a standard system status code.  (Output)
600 
601 
602 :Entry:  make_entry_for_type:  1985-02-27 fs_util_$make_entry_for_type
603 
604 
605 Function:  This entry point constructs a variable to a specified suffix
606 support subroutine for a specified type of extended entry.
607 
608 
609 Syntax:
610 declare fs_util_$make_entry_for_type entry (char(*), char(*), entry,
611      fixed bin(35));
612 call fs_util_$make_entry_for_type (type, entrypoint, entry_to_call,
613      code);
614 
615 
616 Arguments:
617 type
618    is either the suffix if extended, or one of the name constants for
619    standard entry types found in the include file suffix_info.incl.pl1.
620    (Input)
621 entrypoint
622    is the name of the entrypoint that is is to be constructed.  (Input)
623 entry_to_call
624    is the entry variable constructed.  (Output)
625 code
626    is a standard system status code.  (Output)
627 
628 
629 :Entry:  replace_acl:  1987-09-20 fs_util_$replace_acl
630 
631 
632 Function:  This entry point is used to replace Access Control List
633 components for an entry.
634 
635 
636 Syntax:
637 declare fs_util_$replace_acl entry (char(*), char(*), ptr, bit(1),
638      fixed bin(35));
639 call fs_util_$replace_acl (dir_name, entryname, acl_ptr, no_sysdaemon,
640      code);
641 
642 
643 Arguments:
644 dir_name
645    is the absolute pathname of the directory containing the entry.
646    (Input)
647 entryname
648    is the name of the entry.  (Input)
649 acl_ptr
650    is a pointer to the structure general_acl.  (Input)
651 
652 
653 no_sysdaemon
654    is a switch that indicates whether an rw *.SysDaemon.* entry is to
655    be put on the ACL of the segment after the existing ACL has been
656    deleted and before the user-supplied general_acl entries are added.
657    (Input)
658    "0"b adds rw *.SysDaemon.* entry
659    "1"b replaces the existing ACL with only the user-supplied
660    general_acl.
661 code
662    is a standard system status code.  (Output)
663 
664 
665 Notes:  The general_acl structure and the named constant
666 GENERAL_ACL_VERSION_1 are defined in the include file
667 acl_structure.incl.pl1.  The general_acl structure is described above
668 in the entrypoint add_acl_entries.
669 
670 
671 :Entry:  replace_extended_acl:  1985-02-27 fs_util_$replace_extended_acl
672 
673 
674 Function:  This entry point is used to replace Extended Access Control
675 List components for a standard entry.
676 
677 
678 Syntax:
679 declare fs_util_$replace_extended_acl entry (char(*), char(*), ptr,
680      bit(1), fixed bin(35));
681 call fs_util_$replace_extended_acl (dir_name, entryname, acl_ptr,
682      no_sysdaemon, code);
683 
684 
685 Arguments:
686 dir_name
687    is the absolute pathname of the directory containing the entry.
688    (Input)
689 entryname
690    is the name of the entry.  (Input)
691 acl_ptr
692    is a pointer to the structure general_extended_acl.  (Input)
693 
694 
695 no_sysdaemon
696    is a switch that indicates whether an rw *.SysDaemon.* entry is to
697    be put on the ACL of the segment after the existing ACL has been
698    deleted and before the user-supplied general_acl entries are added.
699    (Input)
700    "0"b adds rw *.SysDaemon.* entry
701    "1"b replaces the existing ACL with only the user-supplied
702    general_acl.
703 code
704    is a standard system status code.  (Output)
705 
706 
707 Notes:  This interface is intended to be used only by extended entry
708 type support routines, (also referenced as suffix_XXX_), in order to
709 map an ACL mode provided to fs_util_ into a standard mode/extended mode
710 pair to be placed on the underlying standard entry or entries which are
711 being used to implement the extended entry type.
712 
713 The structure general_extended_acl and the named constant
714 GENERAL_EXTENDED_ACL_VERSION_1 are defined in the include file
715 acl_structures.incl.pl1.  The structure general_extended_acl is
716 described in the add_extended_acl_entries entry point above.
717 
718 
719 :Entry:  set_bit_count:  2021-10-28  fs_util_$set_bit_count
720 
721 
722 Function:  This entry point sets the number of bits considered useful
723 for an entry.
724 
725 
726 Syntax:
727 declare fs_util_$set_bit_count entry (char (*), char (*),
728    fixed bin(24), fixed bin (35));
729 call fs_util_$set_bit_count (dir_name, entryname, bit_count, code);
730 
731 
732 Arguments:
733 dir_name
734    is the absolute pathname of the directory containing the entry.
735    (Input)
736 entryname
737    is the name of the entry.  (Input)
738 bit_count
739    is the number of bits to be considered useful in the entry.  (Input)
740 code
741    is a standard system status code.  (Output)
742 
743 
744 :Entry:  set_max_length:  1985-02-27 fs_util_$set_max_length
745 
746 
747 Function:  This entry point sets the maximum length a particular entry
748 grow to.
749 
750 
751 Syntax:
752 declare fs_util_$set_max_length entry (char(*), char(*), fixed bin(35),
753         fixed bin(35));
754 call fs_util_$set_max_length (dir_name, entryname, max_length,
755      code);
756 
757 
758 Arguments:
759 dir_name
760    is the absolute pathname of the directory containing the entry.
761    (Input)
762 entryname
763    is the name of the entry.  (Input)
764 max_length
765    is the maximum length in words to be placed on the entry.  (Input)
766 code
767    is a standard system status code.  (Output)
768 
769 
770 :Entry:  set_ring_brackets:  1985-02-27 fs_util_$set_ring_brackets
771 
772 
773 Function:  This entry point sets the ring brackets of an entry.
774 
775 
776 Syntax:
777 declare fs_util_$set_ring_brackets entry (char(*), char(*), (*)fixed
778      bin(3), fixed bin(35));
779 call fs_util_$set_ring_brackets (dir_name, entryname, ring_brackets,
780      code);
781 
782 
783 Arguments:
784 dir_name
785    is the absolute pathname of the directory containing the entry.
786    (Input)
787 entryname
788    is the name of the entry.  (Input)
789 ring_brackets
790    are the bounds of the rings from which an entry is accessible.
791    (Input)
792 code
793    is a standard system status code.  (Output)
794 
795 
796 :Entry:  set_switch:  1986-10-01 fs_util_$set_switch
797 
798 
799 Function:  This entry sets the value of a storage system switch for an
800 entry.
801 
802 
803 Syntax:
804 declare fs_util_$set_switch entry (char(*), char(*), char(*), bit(1)
805      aligned, fixed bin(35));
806 call fs_util_$set_switch (dir_name, entryname, switch_name, value,
807      code);
808 
809 
810 Arguments:
811 dir_name
812    is the absolute pathname of the directory containing the entry.
813    (Input)
814 entryname
815    is the name of the entry.  (Input)
816 switch_name
817    is the name of the switch whose value is to be set.  This can be
818    either "copy," "complete_volume_dump," "damaged,"
819    "incremental_volume_dump," "safety," "synchronized," or any switch
820    on an extend entry type.  (Input)
821 
822 
823 value
824    is the value to which the switch is to be set.  (Input)
825 
826       "1"b means the switch is on
827       "0" means that it is off.
828 code
829    is a standard system status code.  It should be set to
830    error_table_$argerr if switch_name is invalid.  (Output)
831 
832 
833 :Entry:  suffix_info:  1985-02-27 fs_util_$suffix_info
834 
835 
836 Function:  This entry point returns information about an entry's type.
837 
838 
839 Syntax:
840 declare fs_util_$suffix_info entry (char(*), char(*), ptr, fixed
841      bin(35));
842 call fs_util_$suffix_info (dir_name, entryname, suffix_info_ptr, code);
843 
844 
845 Arguments:
846 dir_name
847    is the absolute pathname of the directory containing the entry.
848    (Input)
849 entryname
850    is the name of the entry.  (Input)
851 suffix_info_ptr
852    is a pointer to the suffix_info structure.  (Input)
853 code
854    is a standard system status code.  (Output)
855 
856 
857 Notes:  The suffix_info structure and the named constant
858 SUFFIX_INFO_VERSION_1 are defined in the include file
859 suffix_info.incl.pl1.
860 
861 
862 :Entry:  suffix_info_for_type:  1985-02-27 fs_util_$suffix_info_for_type
863 
864 
865 Function:  This entry point returns information about the
866 characteristics of an entry that is of a given type.  It behaves
867 exactly as the suffix_info entrypoint except that a directory and entry
868 name are not used to determine the type for which suffix info is to be
869 returned.
870 
871 
872 Syntax:
873 declare fs_util_$suffix_info_for_type entry (char(*), ptr, fixed
874      bin(35));
875 call fs_util_$suffix_info_for_type (type, suffix_info_ptr, code);
876 
877 
878 Arguments:
879 type
880    is either the suffix if extended, or one of the name constants for
881    standard entry types found in the include file suffix_info.incl.pl1.
882    (Input)
883 suffix_info_ptr
884    is a pointer to the suffix_info structure.  (Input)
885 code
886    is a standard system status code.  (Output)
887 
888 
889 Notes:  The suffix_info structure and the named constant
890 SUFFIX_INFO_VERSION_1 are defined in the include file
891 suffix_info.incl.pl1.  The suffix_info structure is described in the
892 suffix_info entrypoint above.
893 
894 
895 :hcom:
896 
897 
898 /****^  HISTORY COMMENTS:
899   1) change(2020-01-22,Swenson), approve(2020-01-22,MCR10078),
900      audit(2020-02-01,GDixon), install(2021-11-07,MR12.8-1007):
901      Fix various typos.
902   2) change(2021-11-06,Swenson), approve(2021-11-06,MCR10100),
903      audit(2021-11-07,GDixon), install(2021-11-07,MR12.8-1007):
904      Fix declaration for fs_util_$set_bit_count.
905                                                    END HISTORY COMMENTS */
906 
907