~ubuntu-branches/ubuntu/natty/ecasound2.2/natty

« back to all changes in this revision

Viewing changes to readline-4.0/posixstat.h

  • Committer: Bazaar Package Importer
  • Author(s): Junichi Uekawa
  • Date: 2008-09-26 09:58:52 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20080926095852-k3v9ewhmxpaltusw
Tags: 2.5.2-3
yodl 2.13.1 removed --unique-output option. Remove --unique-output
accordingly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* posixstat.h -- Posix stat(2) definitions for systems that
 
2
   don't have them. */
 
3
 
 
4
/* Copyright (C) 1987,1991 Free Software Foundation, Inc.
 
5
 
 
6
   This file is part of GNU Bash, the Bourne Again SHell.
 
7
 
 
8
   Bash is free software; you can redistribute it and/or modify it
 
9
   under the terms of the GNU General Public License as published by
 
10
   the Free Software Foundation; either version 1, or (at your option)
 
11
   any later version.
 
12
 
 
13
   Bash is distributed in the hope that it will be useful, but WITHOUT
 
14
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 
15
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
 
16
   License for more details.
 
17
 
 
18
   You should have received a copy of the GNU General Public License
 
19
   along with Bash; see the file COPYING.  If not, write to the Free
 
20
   Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
 
21
 
 
22
/* This file should be included instead of <sys/stat.h>.
 
23
   It relies on the local sys/stat.h to work though. */
 
24
#if !defined (_POSIXSTAT_H_)
 
25
#define _POSIXSTAT_H_
 
26
 
 
27
#include <sys/stat.h>
 
28
 
 
29
#if defined (STAT_MACROS_BROKEN)
 
30
#  undef S_ISBLK
 
31
#  undef S_ISCHR
 
32
#  undef S_ISDIR
 
33
#  undef S_ISFIFO
 
34
#  undef S_ISREG
 
35
#  undef S_ISLNK
 
36
#endif /* STAT_MACROS_BROKEN */
 
37
 
 
38
/* These are guaranteed to work only on isc386 */
 
39
#if !defined (S_IFDIR) && !defined (S_ISDIR)
 
40
#  define S_IFDIR 0040000
 
41
#endif /* !S_IFDIR && !S_ISDIR */
 
42
#if !defined (S_IFMT)
 
43
#  define S_IFMT  0170000
 
44
#endif /* !S_IFMT */
 
45
 
 
46
/* Posix 1003.1 5.6.1.1 <sys/stat.h> file types */
 
47
 
 
48
/* Some Posix-wannabe systems define _S_IF* macros instead of S_IF*, but
 
49
   do not provide the S_IS* macros that Posix requires. */
 
50
 
 
51
#if defined (_S_IFMT) && !defined (S_IFMT)
 
52
#define S_IFMT _S_IFMT
 
53
#endif
 
54
#if defined (_S_IFIFO) && !defined (S_IFIFO)
 
55
#define S_IFIFO _S_IFIFO
 
56
#endif
 
57
#if defined (_S_IFCHR) && !defined (S_IFCHR)
 
58
#define S_IFCHR _S_IFCHR
 
59
#endif
 
60
#if defined (_S_IFDIR) && !defined (S_IFDIR)
 
61
#define S_IFDIR _S_IFDIR
 
62
#endif
 
63
#if defined (_S_IFBLK) && !defined (S_IFBLK)
 
64
#define S_IFBLK _S_IFBLK
 
65
#endif
 
66
#if defined (_S_IFREG) && !defined (S_IFREG)
 
67
#define S_IFREG _S_IFREG
 
68
#endif
 
69
#if defined (_S_IFLNK) && !defined (S_IFLNK)
 
70
#define S_IFLNK _S_IFLNK
 
71
#endif
 
72
#if defined (_S_IFSOCK) && !defined (S_IFSOCK)
 
73
#define S_IFSOCK _S_IFSOCK
 
74
#endif
 
75
 
 
76
/* Test for each symbol individually and define the ones necessary (some
 
77
   systems claiming Posix compatibility define some but not all). */
 
78
 
 
79
#if defined (S_IFBLK) && !defined (S_ISBLK)
 
80
#define S_ISBLK(m)      (((m)&S_IFMT) == S_IFBLK)       /* block device */
 
81
#endif
 
82
 
 
83
#if defined (S_IFCHR) && !defined (S_ISCHR)
 
84
#define S_ISCHR(m)      (((m)&S_IFMT) == S_IFCHR)       /* character device */
 
85
#endif
 
86
 
 
87
#if defined (S_IFDIR) && !defined (S_ISDIR)
 
88
#define S_ISDIR(m)      (((m)&S_IFMT) == S_IFDIR)       /* directory */
 
89
#endif
 
90
 
 
91
#if defined (S_IFREG) && !defined (S_ISREG)
 
92
#define S_ISREG(m)      (((m)&S_IFMT) == S_IFREG)       /* file */
 
93
#endif
 
94
 
 
95
#if defined (S_IFIFO) && !defined (S_ISFIFO)
 
96
#define S_ISFIFO(m)     (((m)&S_IFMT) == S_IFIFO)       /* fifo - named pipe */
 
97
#endif
 
98
 
 
99
#if defined (S_IFLNK) && !defined (S_ISLNK)
 
100
#define S_ISLNK(m)      (((m)&S_IFMT) == S_IFLNK)       /* symbolic link */
 
101
#endif
 
102
 
 
103
#if defined (S_IFSOCK) && !defined (S_ISSOCK)
 
104
#define S_ISSOCK(m)     (((m)&S_IFMT) == S_IFSOCK)      /* socket */
 
105
#endif
 
106
 
 
107
/*
 
108
 * POSIX 1003.1 5.6.1.2 <sys/stat.h> File Modes
 
109
 */
 
110
 
 
111
#if !defined (S_IRWXU)
 
112
#  if !defined (S_IREAD)
 
113
#    define S_IREAD     00400
 
114
#    define S_IWRITE    00200
 
115
#    define S_IEXEC     00100
 
116
#  endif /* S_IREAD */
 
117
 
 
118
#  if !defined (S_IRUSR)
 
119
#    define S_IRUSR     S_IREAD                 /* read, owner */
 
120
#    define S_IWUSR     S_IWRITE                /* write, owner */
 
121
#    define S_IXUSR     S_IEXEC                 /* execute, owner */
 
122
 
 
123
#    define S_IRGRP     (S_IREAD  >> 3)         /* read, group */
 
124
#    define S_IWGRP     (S_IWRITE >> 3)         /* write, group */
 
125
#    define S_IXGRP     (S_IEXEC  >> 3)         /* execute, group */
 
126
 
 
127
#    define S_IROTH     (S_IREAD  >> 6)         /* read, other */
 
128
#    define S_IWOTH     (S_IWRITE >> 6)         /* write, other */
 
129
#    define S_IXOTH     (S_IEXEC  >> 6)         /* execute, other */
 
130
#  endif /* !S_IRUSR */
 
131
 
 
132
#  define S_IRWXU       (S_IRUSR | S_IWUSR | S_IXUSR)
 
133
#  define S_IRWXG       (S_IRGRP | S_IWGRP | S_IXGRP)
 
134
#  define S_IRWXO       (S_IROTH | S_IWOTH | S_IXOTH)
 
135
#endif /* !S_IRWXU */
 
136
 
 
137
/* These are non-standard, but are used in builtins.c$symbolic_umask() */
 
138
#define S_IRUGO         (S_IRUSR | S_IRGRP | S_IROTH)
 
139
#define S_IWUGO         (S_IWUSR | S_IWGRP | S_IWOTH)
 
140
#define S_IXUGO         (S_IXUSR | S_IXGRP | S_IXOTH)
 
141
 
 
142
#endif /* _POSIXSTAT_H_ */