diff options
author | Miles Bader <miles@gnu.org> | 1996-06-19 22:38:55 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1996-06-19 22:38:55 +0000 |
commit | bf0f472003fa3f6984edb8fb6ae2489680d3e763 (patch) | |
tree | 343cd2e13b449d89864107a73d743d162fa7aa21 /hurd/hurd | |
parent | 92ea4fece749488110975caffdce425d1dc041d3 (diff) |
*** empty log message ***cvs/libc-960620
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.
Diffstat (limited to 'hurd/hurd')
-rw-r--r-- | hurd/hurd/lookup.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/hurd/hurd/lookup.h b/hurd/hurd/lookup.h index 565ab317c8..df5f38ba33 100644 --- a/hurd/hurd/lookup.h +++ b/hurd/hurd/lookup.h @@ -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 */ |