1 03/31/83 nd_handler_
2
3
4 Entry points in nd_handler_:
5 List is generated by the help command
6
7
8 :Entry: nd_handler_: 02/08/83 nd_handler_
9
10
11 Function: attempts to resolve the name duplication caused when a
12 program tries to create a segment, multisegment file, or link in a
13 directory that already contains an entry by the same name. If the
14 existing entry has additional names, nd_handler_ tries to delete the
15 name needed for the new entry and, if successful, prints a warning
16 message. If the existing entry has only one name, nd_handler_ queries
17 the user whether or not to delete it. A zero status code in either
18 case means that nd_handler_ has succeeded, and the calling program can
19 retry creating the new entry.
20
21
22 Syntax:
23 dcl nd_handler_ entry char* char* char* fixed bin35;
24 call nd_handler_ caller dn en code;
25
26
27 Arguments:
28 caller
29 is the name of the calling program, used in printed messages.
30 Input
31 dn
32 is the pathname of the directory involved. Input
33 en
34 is the name of the entry that the calling program wants to create.
35 Input
36 code
37 is a standard status code. Output It can be:
38 0
39 if the old entryname has been removed.
40 error_table_$action_not_performed
41 if the user answered "no" to a query.
42 other codes
43 if the old entryname could not be removed for some other reason
44 such as lack of access. An error message is then printed by
45 nd_handler_.
46
47
48 Notes:
49 This subroutine is usually called after another subroutine call has
50 returned error_table_$namedup. If nd_handler_ returns a zero status
51 code, the other subroutine is called a second time. A warning message
52 of the following kind is printed if the existing entry has multiple
53 names:
54 caller: Name duplication. Old name foo removed from >udd>m>Smith>oldseg.
55 If the existing entry has only one name, wording of the query depends
56 on the existing entry's type:
57 caller: Do you want to delete the old segment <path>?
58 caller: Do you want to delete the old multisegment file <path>?
59 caller: Do you want to unlink the old link <path>?
60 Target <path2> exists.
61 or: Target <path2> does not exist.
62 or: Cannot get info for target <path2>.
63 or: No target pathname.
64 The following entry points have the same calling sequence.
65
66
67 :Entry: del: 02/08/83 nd_handler_$del
68
69
70 Function: This entry point queries whether or not to delete the
71 existing entry, regardless of whether or not it has additional names.
72
73
74 :Entry: del_force: 02/08/83 nd_handler_$del_force
75
76
77 Function: This entry point deletes the old entry no query,
78 regardless of whether it has additional names.
79
80
81 :Entry: force: 02/08/83 nd_handler_$force
82
83
84 Function: This entry point deletes the existing entry if it has only
85 one name, rather than issue a query.