Fri May 3 13:32:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
authorroland <roland>
Sat, 4 May 1996 09:24:04 +0000 (09:24 +0000)
committerroland <roland>
Sat, 4 May 1996 09:24:04 +0000 (09:24 +0000)
* hurd/hurd.h: Declare _hurdsig_traced.
* hurd/path-lookup.c: New file.
* hurd/Makefile (routines): Add path-lookup.
* hurd/hurd/lookup.h: Declare file_name_path_scan,
hurd_file_name_path_lookup.
* hurd/hurd.h: Declare file_name_path_lookup.

hurd/hurd.h

index 55be157..212db45 100644 (file)
@@ -76,6 +76,7 @@ extern int _hurd_exec_flags;  /* Flags word passed in exec_startup.  */
 extern struct hurd_port *_hurd_ports;
 extern unsigned int _hurd_nports;
 extern volatile mode_t _hurd_umask;
+extern sigset_t _hurdsig_traced;
 
 /* Shorthand macro for internal library code referencing _hurd_ports (see
    <hurd/port.h>).  */
@@ -183,6 +184,21 @@ extern file_t file_name_lookup_under (file_t startdir, const char *file,
                                      int flags, mode_t mode);
 
 
+/* Lookup FILE_NAME and return the node opened with FLAGS & MODE
+   (see hurd_file_name_lookup for details), but a simple file name (without
+   any directory prefixes) will be consecutively prefixed with the pathnames
+   in the `:' separated list PATH until one succeeds in a successful lookup.
+   If none succeed, then the first error that wasn't ENOENT is returned, or
+   ENOENT if no other errors were returned.  If PREFIXED_NAME is non-NULL,
+   then if the result is looked up directly, *PREFIXED_NAME is set to NULL, and
+   if it is looked up using a prefix from PATH, *PREFIXED_NAME is set to
+   malloc'd storage containing the prefixed name.  */
+extern file_t file_name_path_lookup (const char *file_name, const char *path,
+                                    int flags, mode_t mode,
+                                    char **prefixed_name);
+
+
+
 /* Open a file descriptor on a port.  FLAGS are as for `open'; flags
    affected by io_set_openmodes are not changed by this.  If successful,
    this consumes a user reference for PORT (which will be deallocated on