Source code pulled from OpenBSD for OpenNTPD. The place to contribute to this code is via the OpenBSD CVS tree.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.2 KiB

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