path.h 955 B

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * AppArmor security module
  4. *
  5. * This file contains AppArmor basic path manipulation function definitions.
  6. *
  7. * Copyright (C) 1998-2008 Novell/SUSE
  8. * Copyright 2009-2010 Canonical Ltd.
  9. */
  10. #ifndef __AA_PATH_H
  11. #define __AA_PATH_H
  12. enum path_flags {
  13. PATH_IS_DIR = 0x1, /* path is a directory */
  14. PATH_SOCK_COND = 0x2,
  15. PATH_CONNECT_PATH = 0x4, /* connect disconnected paths to / */
  16. PATH_CHROOT_REL = 0x8, /* do path lookup relative to chroot */
  17. PATH_CHROOT_NSCONNECT = 0x10, /* connect paths that are at ns root */
  18. PATH_DELEGATE_DELETED = 0x10000, /* delegate deleted files */
  19. PATH_MEDIATE_DELETED = 0x20000, /* mediate deleted paths */
  20. };
  21. int aa_path_name(const struct path *path, int flags, char *buffer,
  22. const char **name, const char **info,
  23. const char *disconnected);
  24. #define IN_ATOMIC true
  25. char *aa_get_buffer(bool in_atomic);
  26. void aa_put_buffer(char *buf);
  27. #endif /* __AA_PATH_H */