summaryrefslogtreecommitdiff
path: root/hurd/hurd/lookup.h
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/hurd/lookup.h')
-rw-r--r--hurd/hurd/lookup.h39
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 */