Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * AppArmor security module
0004  *
0005  * This file contains AppArmor basic path manipulation function definitions.
0006  *
0007  * Copyright (C) 1998-2008 Novell/SUSE
0008  * Copyright 2009-2010 Canonical Ltd.
0009  */
0010 
0011 #ifndef __AA_PATH_H
0012 #define __AA_PATH_H
0013 
0014 enum path_flags {
0015     PATH_IS_DIR = 0x1,      /* path is a directory */
0016     PATH_CONNECT_PATH = 0x4,    /* connect disconnected paths to / */
0017     PATH_CHROOT_REL = 0x8,      /* do path lookup relative to chroot */
0018     PATH_CHROOT_NSCONNECT = 0x10,   /* connect paths that are at ns root */
0019 
0020     PATH_DELEGATE_DELETED = 0x10000, /* delegate deleted files */
0021     PATH_MEDIATE_DELETED = 0x20000,  /* mediate deleted paths */
0022 };
0023 
0024 int aa_path_name(const struct path *path, int flags, char *buffer,
0025          const char **name, const char **info,
0026          const char *disconnected);
0027 
0028 #define IN_ATOMIC true
0029 char *aa_get_buffer(bool in_atomic);
0030 void aa_put_buffer(char *buf);
0031 
0032 #endif /* __AA_PATH_H */