*** empty log message ***

Wed Jun 19 10:21:24 1996  Miles Bader  <miles@gnu.ai.mit.edu>

	* hurd/hurdlookup.c (__hurd_file_name_lookup_retry,
	__hurd_file_name_lookup, __hurd_file_name_split): Add & use LOOKUP argument. 
	Rename nested function lookup to lookup_op.
	(__file_name_lookup, __file_name_lookup_under):
	Pass 0 for lookup arg to __hurd_file_name_lookup.
	(__file_name_split): Likewise for __hurd_file_name_split.
	* hurd/path-lookup.c (hurd_file_name_path_lookup): Add LOOKUP argument.
	Rename nested function lookup to scan_lookup.
	(file_name_path_lookup): Pass 0 for lookup arg to
	hurd_file_name_path_lookup.
	* hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup,
	__hurd_file_name_lookup_retry, hurd_file_name_lookup_retry: 
	__hurd_file_name_split, hurd_file_name_split, hurd_file_name_lookup):
	Add LOOKUP argument.
	* sysdeps/mach/hurd/access.c (__access): Pass 0 lookup arg to
	__hurd_file_name_lookup.
This commit is contained in:
Miles Bader 1996-06-19 22:38:55 +00:00
parent 92ea4fece7
commit bf0f472003
4 changed files with 67 additions and 8 deletions

View File

@ -1,3 +1,22 @@
Wed Jun 19 10:21:24 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry,
__hurd_file_name_lookup, __hurd_file_name_split): Add & use LOOKUP argument.
Rename nested function lookup to lookup_op.
(__file_name_lookup, __file_name_lookup_under):
Pass 0 for lookup arg to __hurd_file_name_lookup.
(__file_name_split): Likewise for __hurd_file_name_split.
* hurd/path-lookup.c (hurd_file_name_path_lookup): Add LOOKUP argument.
Rename nested function lookup to scan_lookup.
(file_name_path_lookup): Pass 0 for lookup arg to
hurd_file_name_path_lookup.
* hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup,
__hurd_file_name_lookup_retry, hurd_file_name_lookup_retry:
__hurd_file_name_split, hurd_file_name_split, hurd_file_name_lookup):
Add LOOKUP argument.
* sysdeps/mach/hurd/access.c (__access): Pass 0 lookup arg to
__hurd_file_name_lookup.
Mon Jun 17 19:09:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Make-dist (+sysdeps): Move wildcard inside loop to avoid consing

View File

@ -31,6 +31,10 @@ Cambridge, MA 02139, USA. */
is consumed; the right will only be used after *OPERATE returns if
*OPERATE has added its own user reference.
LOOKUP is a function to do the actual filesystem lookup. It is passed the
same arguments that the dir_lookup rpc accepts, and if 0, __dir_lookup is
used.
The second callback function GET_DTABLE_PORT should behave like `getdport'.
All these functions return zero on success or an error code on failure. */
@ -44,6 +48,10 @@ error_t __hurd_file_name_lookup (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name, int flags, mode_t mode,
retry_type *do_retry, string_t retry_name,
mach_port_t *result),
const char *file_name,
int flags, mode_t mode,
file_t *result);
@ -51,6 +59,10 @@ error_t hurd_file_name_lookup (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name, int flags, mode_t mode,
retry_type *do_retry, string_t retry_name,
mach_port_t *result),
const char *file_name,
int flags, mode_t mode,
file_t *result);
@ -64,12 +76,20 @@ error_t __hurd_file_name_split (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name, int flags, mode_t mode,
retry_type *do_retry, string_t retry_name,
mach_port_t *result),
const char *file_name,
file_t *dir, char **name);
error_t hurd_file_name_split (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name, int flags, mode_t mode,
retry_type *do_retry, string_t retry_name,
mach_port_t *result),
const char *file_name,
file_t *dir, char **name);
@ -84,6 +104,12 @@ error_t __hurd_file_name_lookup_retry (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name,
int flags, mode_t mode,
retry_type *do_retry,
string_t retry_name,
mach_port_t *result),
enum retry_type doretry,
char retryname[1024],
int flags, mode_t mode,
@ -92,6 +118,12 @@ error_t hurd_file_name_lookup_retry (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name,
int flags, mode_t mode,
retry_type *do_retry,
string_t retry_name,
mach_port_t *result),
enum retry_type doretry,
char retryname[1024],
int flags, mode_t mode,
@ -122,9 +154,14 @@ error_t hurd_file_name_path_lookup (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name,
int flags, mode_t mode,
retry_type *do_retry,
string_t retry_name,
mach_port_t *result),
const char *file_name, const char *path,
int flags, mode_t mode,
file_t *result, char **prefixed_name);
#endif /* hurd/lookup.h */

View File

@ -89,20 +89,23 @@ file_name_path_scan (const char *file_name, const char *path,
malloced storage containing the prefixed name. */
error_t
hurd_file_name_path_lookup (error_t (*use_init_port)
(int which,
error_t (*operate) (mach_port_t)),
(int which, error_t (*operate) (mach_port_t)),
file_t (*get_dtable_port) (int fd),
error_t (*lookup)
(file_t dir, char *name, int flags, mode_t mode,
retry_type *do_retry, string_t retry_name,
mach_port_t *result),
const char *file_name, const char *path,
int flags, mode_t mode,
file_t *result, char **prefixed_name)
{
error_t lookup (const char *name)
error_t scan_lookup (const char *name)
{
return
__hurd_file_name_lookup (use_init_port, get_dtable_port,
__hurd_file_name_lookup (use_init_port, get_dtable_port, lookup,
name, flags, mode, result);
}
return file_name_path_scan (file_name, path, lookup, prefixed_name);
return file_name_path_scan (file_name, path, scan_lookup, prefixed_name);
}
file_t
@ -112,7 +115,7 @@ file_name_path_lookup (const char *file_name, const char *path,
error_t err;
file_t result;
err = hurd_file_name_path_lookup (&_hurd_ports_use, &__getdport,
err = hurd_file_name_path_lookup (&_hurd_ports_use, &__getdport, 0,
file_name, path, flags, mode,
&result, prefixed_name);

View File

@ -108,7 +108,7 @@ DEFUN(__access, (file, type), CONST char *file AND int type)
if (!err)
/* Look up the file name using the modified init ports. */
err = __hurd_file_name_lookup (&init_port, &__getdport,
err = __hurd_file_name_lookup (&init_port, &__getdport, 0,
file, 0, 0, &io);
/* We are done with _hurd_id.rid_auth now. */