~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to lib/replace/system/dir.h

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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