summaryrefslogtreecommitdiff
path: root/hurd/hurd
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-03-06 13:15:16 +0000
committerJakub Jelinek <jakub@redhat.com>2006-03-06 13:15:16 +0000
commitd1e6d2178d0b242c9ad40f77216f2f0cae57b97a (patch)
treee7627c83e7bf547bb0e46e9ee5ddd43deb0f95ed /hurd/hurd
parent5cde8cb0286079d731f933b65240528c150dedaa (diff)
Updated to fedora-glibc-20060306T1239cvs/fedora-glibc-2_4-1
Diffstat (limited to 'hurd/hurd')
-rw-r--r--hurd/hurd/fd.h18
-rw-r--r--hurd/hurd/lookup.h34
2 files changed, 46 insertions, 6 deletions
diff --git a/hurd/hurd/fd.h b/hurd/hurd/fd.h
index 198791b807..ad11367f3b 100644
--- a/hurd/hurd/fd.h
+++ b/hurd/hurd/fd.h
@@ -1,5 +1,5 @@
/* File descriptors.
- Copyright (C) 1993,94,95,96,97,98,99,2000,01,02
+ Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -240,5 +240,21 @@ extern int _hurd_select (int nfds, struct pollfd *pollfds,
const struct timespec *timeout,
const sigset_t *sigmask);
+/* Variant of file_name_lookup used in *at function implementations.
+ AT_FLAGS should contain only AT_SYMLINK_NOFOLLOW; other bits
+ cause EINVAL. */
+extern file_t __file_name_lookup_at (int fd, int at_flags,
+ const char *file_name,
+ int flags, mode_t mode);
+
+/* Variant of file_name_split used in *at function implementations. */
+extern file_t __file_name_split_at (int fd, const char *file_name,
+ char **name);
+
+/* Variant of directory_name_split used in *at function implementations. */
+extern file_t __directory_name_split_at (int fd, const char *directory_name,
+ char **name);
+
+
#endif /* hurd/fd.h */
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