OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [include/] [ftw.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
/* Copyright (C) 1992,1996,1997,1998,1999,2003 Free Software Foundation, Inc.
2
   This file is part of the GNU C Library.
3
 
4
   The GNU C Library is free software; you can redistribute it and/or
5
   modify it under the terms of the GNU Lesser General Public
6
   License as published by the Free Software Foundation; either
7
   version 2.1 of the License, or (at your option) any later version.
8
 
9
   The GNU C Library is distributed in the hope that it will be useful,
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
   Lesser General Public License for more details.
13
 
14
   You should have received a copy of the GNU Lesser General Public
15
   License along with the GNU C Library; if not, write to the Free
16
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17
   02111-1307 USA.  */
18
 
19
/*
20
 *      X/Open Portability Guide 4.2: ftw.h
21
 */
22
 
23
#ifndef _FTW_H
24
#define _FTW_H  1
25
 
26
#include <features.h>
27
 
28
#include <sys/types.h>
29
#include <sys/stat.h>
30
 
31
 
32
__BEGIN_DECLS
33
 
34
/* Values for the FLAG argument to the user function passed to `ftw'
35
   and 'nftw'.  */
36
enum
37
{
38
  FTW_F,                /* Regular file.  */
39
#define FTW_F    FTW_F
40
  FTW_D,                /* Directory.  */
41
#define FTW_D    FTW_D
42
  FTW_DNR,              /* Unreadable directory.  */
43
#define FTW_DNR  FTW_DNR
44
  FTW_NS,               /* Unstatable file.  */
45
#define FTW_NS   FTW_NS
46
 
47
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
48
 
49
  FTW_SL,               /* Symbolic link.  */
50
# define FTW_SL  FTW_SL
51
#endif
52
 
53
#ifdef __USE_XOPEN_EXTENDED
54
/* These flags are only passed from the `nftw' function.  */
55
  FTW_DP,               /* Directory, all subdirs have been visited. */
56
# define FTW_DP  FTW_DP
57
  FTW_SLN               /* Symbolic link naming non-existing file.  */
58
# define FTW_SLN FTW_SLN
59
 
60
#endif  /* extended X/Open */
61
};
62
 
63
 
64
#ifdef __USE_XOPEN_EXTENDED
65
/* Flags for fourth argument of `nftw'.  */
66
enum
67
{
68
  FTW_PHYS = 1,         /* Perform physical walk, ignore symlinks.  */
69
# define FTW_PHYS       FTW_PHYS
70
  FTW_MOUNT = 2,        /* Report only files on same file system as the
71
                           argument.  */
72
# define FTW_MOUNT      FTW_MOUNT
73
  FTW_CHDIR = 4,        /* Change to current directory while processing it.  */
74
# define FTW_CHDIR      FTW_CHDIR
75
  FTW_DEPTH = 8         /* Report files in directory before directory itself.*/
76
# define FTW_DEPTH      FTW_DEPTH
77
};
78
 
79
/* Structure used for fourth argument to callback function for `nftw'.  */
80
struct FTW
81
  {
82
    int base;
83
    int level;
84
  };
85
#endif  /* extended X/Open */
86
 
87
 
88
/* Convenient types for callback functions.  */
89
typedef int (*__ftw_func_t) (__const char *__filename,
90
                             __const struct stat *__status, int __flag);
91
#ifdef __USE_LARGEFILE64
92
typedef int (*__ftw64_func_t) (__const char *__filename,
93
                               __const struct stat64 *__status, int __flag);
94
#endif
95
#ifdef __USE_XOPEN_EXTENDED
96
typedef int (*__nftw_func_t) (__const char *__filename,
97
                              __const struct stat *__status, int __flag,
98
                              struct FTW *__info);
99
# ifdef __USE_LARGEFILE64
100
typedef int (*__nftw64_func_t) (__const char *__filename,
101
                                __const struct stat64 *__status,
102
                                int __flag, struct FTW *__info);
103
# endif
104
#endif
105
 
106
/* Call a function on every element in a directory tree.
107
 
108
   This function is a possible cancellation point and therefore not
109
   marked with __THROW.  */
110
#ifndef __USE_FILE_OFFSET64
111
extern int ftw (__const char *__dir, __ftw_func_t __func, int __descriptors);
112
#else
113
# ifdef __REDIRECT
114
extern int __REDIRECT (ftw, (__const char *__dir, __ftw_func_t __func,
115
                             int __descriptors), ftw64);
116
# else
117
#  define ftw ftw64
118
# endif
119
#endif
120
#ifdef __USE_LARGEFILE64
121
extern int ftw64 (__const char *__dir, __ftw64_func_t __func,
122
                  int __descriptors);
123
#endif
124
 
125
#ifdef __USE_XOPEN_EXTENDED
126
/* Call a function on every element in a directory tree.  FLAG allows
127
   to specify the behaviour more detailed.
128
 
129
   This function is a possible cancellation point and therefore not
130
   marked with __THROW.  */
131
# ifndef __USE_FILE_OFFSET64
132
extern int nftw (__const char *__dir, __nftw_func_t __func, int __descriptors,
133
                 int __flag);
134
# else
135
#  ifdef __REDIRECT
136
extern int __REDIRECT (nftw, (__const char *__dir, __nftw_func_t __func,
137
                              int __descriptors, int __flag), nftw64);
138
#  else
139
#   define nftw nftw64
140
#  endif
141
# endif
142
# ifdef __USE_LARGEFILE64
143
extern int nftw64 (__const char *__dir, __nftw64_func_t __func,
144
                   int __descriptors, int __flag);
145
# endif
146
#endif
147
 
148
__END_DECLS
149
 
150
#endif  /* ftw.h */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.