source: branches/samba-3.5.x/lib/replace/system/dir.h

Last change on this file was 414, checked in by Herwig Bauernfeind, 15 years ago

Samba 3.5.0: Initial import

File size: 1.8 KB
Line 
1#ifndef _system_dir_h
2#define _system_dir_h
3/*
4 Unix SMB/CIFS implementation.
5
6 directory system include wrappers
7
8 Copyright (C) Andrew Tridgell 2004
9
10 ** NOTE! The following LGPL license applies to the replace
11 ** library. This does NOT imply that all of Samba is released
12 ** under the LGPL
13
14 This library is free software; you can redistribute it and/or
15 modify it under the terms of the GNU Lesser General Public
16 License as published by the Free Software Foundation; either
17 version 3 of the License, or (at your option) any later version.
18
19 This library is distributed in the hope that it will be useful,
20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 Lesser General Public License for more details.
23
24 You should have received a copy of the GNU Lesser General Public
25 License along with this library; if not, see <http://www.gnu.org/licenses/>.
26*/
27
28#if HAVE_DIRENT_H
29# include <dirent.h>
30# define NAMLEN(dirent) strlen((dirent)->d_name)
31#else
32# define dirent direct
33# define NAMLEN(dirent) (dirent)->d_namlen
34# if HAVE_SYS_NDIR_H
35# include <sys/ndir.h>
36# endif
37# if HAVE_SYS_DIR_H
38# include <sys/dir.h>
39# endif
40# if HAVE_NDIR_H
41# include <ndir.h>
42# endif
43#endif
44
45#ifndef HAVE_MKDIR_MODE
46#define mkdir(dir, mode) mkdir(dir)
47#endif
48
49/* Test whether a file name is the "." or ".." directory entries.
50 * These really should be inline functions.
51 */
52#ifndef ISDOT
53#define ISDOT(path) ( \
54 *((const char *)(path)) == '.' && \
55 *(((const char *)(path)) + 1) == '\0' \
56 )
57#endif
58
59#ifndef ISDOTDOT
60#define ISDOTDOT(path) ( \
61 *((const char *)(path)) == '.' && \
62 *(((const char *)(path)) + 1) == '.' && \
63 *(((const char *)(path)) + 2) == '\0' \
64 )
65#endif
66
67#endif
Note: See TracBrowser for help on using the repository browser.