summaryrefslogtreecommitdiff
path: root/hurd/hurd/lookup.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-03-06 07:59:23 +0000
committerRoland McGrath <roland@gnu.org>2006-03-06 07:59:23 +0000
commit16a10468376803c5e48ac9c14cfa1a1dd2f7ec8f (patch)
tree2e014adc76adfee74ff4580a1568017f6eae9299 /hurd/hurd/lookup.h
parent7d013a64de1cada889f3db5da793a7b965e87ac1 (diff)
* sysdeps/mach/hurd/faccessat.c: New file.
* sysdeps/mach/hurd/fchmodat.c: New file. * sysdeps/mach/hurd/fchownat.c: New file. * sysdeps/mach/hurd/fxstatat.c: New file. * sysdeps/mach/hurd/fxstatat64.c: New file. * sysdeps/mach/hurd/linkat.c: New file. * sysdeps/mach/hurd/mkdirat.c: New file. * sysdeps/mach/hurd/openat.c: New file. * sysdeps/mach/hurd/openat64.c: New file. * sysdeps/mach/hurd/symlinkat.c: New file. * sysdeps/mach/hurd/unlinkat.c: New file. * sysdeps/mach/hurd/xmknod.c (__xmknod): Just call __xmknodat. Guts move to ... * sysdeps/mach/hurd/xmknodat.c: ... here, new file. * hurd/lookup-at.c: New file. * hurd/Makefile (routines): Add it. * hurd/hurd/fd.h: Declare __file_name_lookup_at, __file_name_split_at and __directory_name_split_at. * hurd/hurd/lookup.h: Declare {,__}hurd_directory_name_split. * hurd/hurdlookup.c (__hurd_directory_name_split): Use __memrchr unconditionally. * sysdeps/mach/hurd/open.c: Define {,__,__libc_,}open64 as aliases. * sysdeps/mach/hurd/open64.c: New file.
Diffstat (limited to 'hurd/hurd/lookup.h')
-rw-r--r--hurd/hurd/lookup.h34
1 files changed, 29 insertions, 5 deletions
diff --git a/hurd/hurd/lookup.h b/hurd/hurd/lookup.h
index faa35e0bf6..1d013d9537 100644
--- a/hurd/hurd/lookup.h
+++ b/hurd/hurd/lookup.h
@@ -1,5 +1,5 @@
/* Declarations of file name translation functions for the GNU Hurd.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -76,8 +76,8 @@ 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,
+ 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,
@@ -86,13 +86,37 @@ 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,
+ 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);
+/* Split DIRECTORY into a parent directory and a name within the directory.
+ This is the same as hurd_file_name_split, but ignores trailing slashes. */
+
+error_t __hurd_directory_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 *directory_name,
+ file_t *dir, char **name);
+error_t hurd_directory_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 *directory_name,
+ file_t *dir, char **name);
+
/* Process the values returned by `dir_lookup' et al, and loop doing
`dir_lookup' calls until one returns FS_RETRY_NONE. The arguments