Mercurial > hg > octave-kai > gnulib-hg
annotate lib/openat-priv.h @ 9258:bee5960c276a
Rename search_.h to search.in.h.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Tue, 02 Oct 2007 00:24:48 +0200 |
parents | 4d22e9da1fe7 |
children | bbbbbf4cd1c5 |
rev | line source |
---|---|
7389 | 1 /* Internals for openat-like functions. |
2 | |
3 Copyright (C) 2005, 2006 Free Software Foundation, Inc. | |
6527 | 4 |
5 This program is free software; you can redistribute it and/or modify | |
6 it under the terms of the GNU General Public License as published by | |
7 the Free Software Foundation; either version 2, or (at your option) | |
8 any later version. | |
9 | |
10 This program is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 GNU General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU General Public License | |
16 along with this program; if not, write to the Free Software Foundation, | |
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ | |
18 | |
19 /* written by Jim Meyering */ | |
20 | |
7151 | 21 #include <errno.h> |
7389 | 22 #include <stdlib.h> |
6527 | 23 |
7389 | 24 #define OPENAT_BUFFER_SIZE 512 |
25 char *openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file); | |
6527 | 26 |
7151 | 27 /* Some systems don't have ENOSYS. */ |
28 #ifndef ENOSYS | |
29 # ifdef ENOTSUP | |
30 # define ENOSYS ENOTSUP | |
31 # else | |
32 /* Some systems don't have ENOTSUP either. */ | |
33 # define ENOSYS EINVAL | |
34 # endif | |
35 #endif | |
36 | |
7537
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
37 /* Some systems don't have EOPNOTSUPP. */ |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
38 #ifndef EOPNOTSUPP |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
39 # ifdef ENOTSUP |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
40 # define EOPNOTSUPP ENOTSUP |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
41 # else |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
42 /* Some systems don't have ENOTSUP either. */ |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
43 # define EOPNOTSUPP EINVAL |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
44 # endif |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
45 #endif |
4d22e9da1fe7
* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
Jim Meyering <jim@meyering.net>
parents:
7389
diff
changeset
|
46 |
6527 | 47 /* Trying to access a BUILD_PROC_NAME file will fail on systems without |
48 /proc support, and even on systems *with* ProcFS support. Return | |
49 nonzero if the failure may be legitimate, e.g., because /proc is not | |
50 readable, or the particular .../fd/N directory is not present. */ | |
51 #define EXPECTED_ERRNO(Errno) \ | |
52 ((Errno) == ENOTDIR || (Errno) == ENOENT \ | |
53 || (Errno) == EPERM || (Errno) == EACCES \ | |
54 || (Errno) == ENOSYS /* Solaris 8 */ \ | |
55 || (Errno) == EOPNOTSUPP /* FreeBSD */) |