path.h 932 B

1234567891011121314151617181920212223242526272829303132
  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_CONNECT_PATH = 0x4, /* connect disconnected paths to / */
  15. PATH_CHROOT_REL = 0x8, /* do path lookup relative to chroot */
  16. PATH_CHROOT_NSCONNECT = 0x10, /* connect paths that are at ns root */
  17. PATH_DELEGATE_DELETED = 0x10000, /* delegate deleted files */
  18. PATH_MEDIATE_DELETED = 0x20000, /* mediate deleted paths */
  19. };
  20. int aa_path_name(const struct path *path, int flags, char *buffer,
  21. const char **name, const char **info,
  22. const char *disconnected);
  23. #define IN_ATOMIC true
  24. char *aa_get_buffer(bool in_atomic);
  25. void aa_put_buffer(char *buf);
  26. #endif /* __AA_PATH_H */