1 |
/* |
2 |
* include/linux/realpath.h |
3 |
* |
4 |
* Get the canonicalized absolute pathnames. The basis for SAKURA and TOMOYO. |
5 |
* |
6 |
* Copyright (C) 2005-2008 NTT DATA CORPORATION |
7 |
* |
8 |
* Version: 1.5.3-pre 2008/01/03 |
9 |
* |
10 |
* This file is applicable to both 2.4.30 and 2.6.11 and later. |
11 |
* See README.ccs for ChangeLog. |
12 |
* |
13 |
*/ |
14 |
|
15 |
#ifndef _LINUX_REALPATH_H |
16 |
#define _LINUX_REALPATH_H |
17 |
|
18 |
struct path_info; |
19 |
|
20 |
/* Returns realpath(3) of the given pathname but ignores chroot'ed root. */ |
21 |
int realpath_from_dentry2(struct dentry *dentry, struct vfsmount *mnt, char *newname, int newname_len); |
22 |
|
23 |
/* Returns realpath(3) of the given pathname but ignores chroot'ed root. */ |
24 |
/* These functions use ccs_alloc(), so caller must ccs_free() if these functions didn't return NULL. */ |
25 |
char *realpath(const char *pathname); |
26 |
char *realpath_nofollow(const char *pathname); |
27 |
char *realpath_from_dentry(struct dentry *dentry, struct vfsmount *mnt); |
28 |
|
29 |
/* Allocate memory for structures. The RAM is chunked, so NEVER try to kfree() the returned pointer. */ |
30 |
void *alloc_element(const unsigned int size); |
31 |
|
32 |
/* Get used RAM size for alloc_elements(). */ |
33 |
unsigned int GetMemoryUsedForElements(void); |
34 |
|
35 |
/* Keep the given name on the RAM. The RAM is shared, so NEVER try to modify or kfree() the returned name. */ |
36 |
const struct path_info *SaveName(const char *name); |
37 |
|
38 |
/* Get used RAM size for SaveName(). */ |
39 |
unsigned int GetMemoryUsedForSaveName(void); |
40 |
|
41 |
unsigned int GetMemoryUsedForDynamic(void); |
42 |
|
43 |
#endif |