2006-09-18 22:49:20 +00:00
# ifndef _system_dir_h
# define _system_dir_h
/*
Unix SMB / CIFS implementation .
directory system include wrappers
Copyright ( C ) Andrew Tridgell 2004
2007-06-02 09:10:08 +00:00
* * NOTE ! The following LGPL license applies to the replace
* * library . This does NOT imply that all of Samba is released
* * under the LGPL
2006-09-18 22:49:20 +00:00
2007-06-02 09:10:08 +00:00
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
2007-07-10 01:44:42 +00:00
version 3 of the License , or ( at your option ) any later version .
2007-06-02 09:10:08 +00:00
This library is distributed in the hope that it will be useful ,
2006-09-18 22:49:20 +00:00
but WITHOUT ANY WARRANTY ; without even the implied warranty of
2007-06-02 09:10:08 +00:00
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
2007-07-10 03:42:26 +00:00
License along with this library ; if not , see < http : //www.gnu.org/licenses/>.
2006-09-18 22:49:20 +00:00
*/
2018-11-20 13:57:48 +01:00
# ifdef HAVE_DIRENT_H
2006-09-18 22:49:20 +00:00
# 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
2018-11-20 13:57:48 +01:00
# ifdef HAVE_LIBGEN_H
2016-12-01 12:12:47 +11:00
# include <libgen.h>
# endif
2006-09-18 22:49:20 +00:00
/* 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