1 |
msalle |
1884 |
/** |
2 |
|
|
* Copyright (c) Members of the EGEE Collaboration. 2010. |
3 |
|
|
* See http://www.eu-egee.org/partners/ for details on the copyright |
4 |
|
|
* holders. |
5 |
|
|
* |
6 |
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
7 |
|
|
* you may not use this file except in compliance with the License. |
8 |
|
|
* You may obtain a copy of the License at |
9 |
|
|
* |
10 |
|
|
* http://www.apache.org/licenses/LICENSE-2.0 |
11 |
|
|
* |
12 |
|
|
* Unless required by applicable law or agreed to in writing, software |
13 |
|
|
* distributed under the License is distributed on an "AS IS" BASIS, |
14 |
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
15 |
|
|
* See the License for the specific language governing permissions and |
16 |
|
|
* limitations under the License. |
17 |
|
|
* |
18 |
|
|
* Authors: Oscar Koeroo, Mischa Sall\'e, Aram Verstegen |
19 |
|
|
* NIKHEF Amsterdam, the Netherlands |
20 |
|
|
* <grid-mw-security@nikhef.nl> |
21 |
|
|
*/ |
22 |
|
|
|
23 |
|
|
/*! |
24 |
|
|
* Returns the fully canonicalized and absolute path for a diretory or NULL on |
25 |
|
|
* error. Memory for the return string is malloced and should be freed by the |
26 |
|
|
* caller. Any path cannot be longer than PATH_MAX. Note that it is necessary |
27 |
|
|
* that we can chdir to dir. |
28 |
|
|
* NOTE: This function is not thread-safe |
29 |
|
|
* \param dir non-absolute and/or non-canonical directory |
30 |
|
|
* \return canonical absolute directory |
31 |
|
|
*/ |
32 |
|
|
char *cgul_realdir(const char *dir); |
33 |
|
|
|
34 |
|
|
/*! |
35 |
|
|
* Returns the fully canonicalized and absolute path for any path or NULL on |
36 |
|
|
* error. Note that this function substitutes the unsafe realpath() or the |
37 |
|
|
* GNU-only canonicalize_file_name(). |
38 |
|
|
* Memory for the return string is malloced and should be freed by the |
39 |
|
|
* caller. Any path cannot be longer than PATH_MAX. Any directory has to be |
40 |
|
|
* accessible, including if it's the last element. |
41 |
|
|
* NOTE: This function is not thread-safe |
42 |
|
|
* \param inpath non-absolute and/or non-canonical path |
43 |
|
|
* \param instat optional stat information on the input (for performance, if |
44 |
|
|
* already available). When NULL it will be determined locally |
45 |
|
|
* when needed. |
46 |
|
|
* \return canonical absolute path |
47 |
|
|
*/ |
48 |
|
|
char *cgul_realpath(const char *inpath, struct stat *instat) |