Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / ftw.h @ 14

History | View | Annotate | Download (2.27 KB)

1 13 up20180614
/* $NetBSD: ftw.h,v 1.1 2005/12/30 23:07:33 agc Exp $ */
2
3
/*        From OpenBSD: ftw.h,v 1.1 2003/07/21 21:13:18 millert Exp         */
4
5
/*
6
 * Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com>
7
 *
8
 * Permission to use, copy, modify, and distribute this software for any
9
 * purpose with or without fee is hereby granted, provided that the above
10
 * copyright notice and this permission notice appear in all copies.
11
 *
12
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19
 *
20
 * Sponsored in part by the Defense Advanced Research Projects
21
 * Agency (DARPA) and Air Force Research Laboratory, Air Force
22
 * Materiel Command, USAF, under agreement number F39502-99-1-0512.
23
 */
24
25
#ifndef        _FTW_H
26
#define        _FTW_H
27
28
#include <sys/types.h>
29
#include <sys/stat.h>
30
31
/*
32
 * Valid flags for the 3rd argument to the function that is passed as the
33
 * second argument to ftw(3) and nftw(3).  Say it three times fast!
34
 */
35
#define        FTW_F                0        /* File.  */
36
#define        FTW_D                1        /* Directory.  */
37
#define        FTW_DNR                2        /* Directory without read permission.  */
38
#define        FTW_DP                3        /* Directory with subdirectories visited.  */
39
#define        FTW_NS                4        /* Unknown type; stat() failed.  */
40
#define        FTW_SL                5        /* Symbolic link.  */
41
#define        FTW_SLN                6        /* Sym link that names a nonexistent file.  */
42
43
/*
44
 * Flags for use as the 4th argument to nftw(3).  These may be ORed together.
45
 */
46
#define        FTW_PHYS        0x01        /* Physical walk, don't follow sym links.  */
47
#define        FTW_MOUNT        0x02        /* The walk does not cross a mount point.  */
48
#define        FTW_DEPTH        0x04        /* Subdirs visited before the dir itself. */
49
#define        FTW_CHDIR        0x08        /* Change to a directory before reading it. */
50
51
struct FTW {
52
        int base;
53
        int level;
54
};
55
56
__BEGIN_DECLS
57
int        ftw(const char *, int (*)(const char *, const struct stat *, int), int);
58
int        nftw(const char *, int (*)(const char *, const struct stat *, int,
59
            struct FTW *), int, int);
60
__END_DECLS
61
62
#endif        /* !_FTW_H */