diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-09-16 16:30:14 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-09-16 16:30:14 +0200 |
commit | 0888ffa2b7382a1c4781ae54bad53eac3b229365 (patch) | |
tree | 5a0fb9930c68f307954f87a9aa97e83740d3ab59 /replace/system/dir.h | |
parent | ec1c854f2175823bd1ad39c2e272d1b3fab80bf1 (diff) | |
download | samba-0888ffa2b7382a1c4781ae54bad53eac3b229365.tar.gz samba-0888ffa2b7382a1c4781ae54bad53eac3b229365.tar.bz2 samba-0888ffa2b7382a1c4781ae54bad53eac3b229365.zip |
Make Samba 3 and Samba 4 both use the same single copy of libreplace.
Diffstat (limited to 'replace/system/dir.h')
-rw-r--r-- | replace/system/dir.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/replace/system/dir.h b/replace/system/dir.h new file mode 100644 index 0000000000..dec2d54649 --- /dev/null +++ b/replace/system/dir.h @@ -0,0 +1,67 @@ +#ifndef _system_dir_h +#define _system_dir_h +/* + Unix SMB/CIFS implementation. + + directory system include wrappers + + Copyright (C) Andrew Tridgell 2004 + + ** NOTE! The following LGPL license applies to the replace + ** library. This does NOT imply that all of Samba is released + ** under the LGPL + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see <http://www.gnu.org/licenses/>. +*/ + +#if HAVE_DIRENT_H +# include <dirent.h> +# define NAMLEN(dirent) strlen((dirent)->d_name) +#else +# define dirent direct +# define NAMLEN(dirent) (dirent)->d_namlen +# if HAVE_SYS_NDIR_H +# include <sys/ndir.h> +# endif +# if HAVE_SYS_DIR_H +# include <sys/dir.h> +# endif +# if HAVE_NDIR_H +# include <ndir.h> +# endif +#endif + +#ifndef HAVE_MKDIR_MODE +#define mkdir(dir, mode) mkdir(dir) +#endif + +/* Test whether a file name is the "." or ".." directory entries. + * These really should be inline functions. + */ +#ifndef ISDOT +#define ISDOT(path) ( \ + *((const char *)(path)) == '.' && \ + *(((const char *)(path)) + 1) == '\0' \ + ) +#endif + +#ifndef ISDOTDOT +#define ISDOTDOT(path) ( \ + *((const char *)(path)) == '.' && \ + *(((const char *)(path)) + 1) == '.' && \ + *(((const char *)(path)) + 2) == '\0' \ + ) +#endif + +#endif |