1/* Generic dirent.h */ 2/* $OpenLDAP$ */ 3/* This work is part of OpenLDAP Software <http://www.openldap.org/>. 4 * 5 * Copyright 1998-2011 The OpenLDAP Foundation. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted only as authorized by the OpenLDAP 10 * Public License. 11 * 12 * A copy of this license is available in file LICENSE in the 13 * top-level directory of the distribution or, alternatively, at 14 * <http://www.OpenLDAP.org/license.html>. 15 */ 16 17#ifndef _AC_DIRENT_H 18#define _AC_DIRENT_H 19 20#ifdef HAVE_DIRENT_H 21# include <dirent.h> 22# define NAMLEN(dirent) strlen((dirent)->d_name) 23#elif defined(_MSC_VER) 24#include <windows.h> 25#ifndef MAX_PATH 26#define MAX_PATH 260 27#endif 28struct dirent { 29 char *d_name; 30}; 31typedef struct DIR { 32 HANDLE dir; 33 struct dirent data; 34 int first; 35 char buf[MAX_PATH+1]; 36} DIR; 37DIR *opendir(const char *name); 38struct dirent *readdir(DIR *dir); 39int closedir(DIR *dir); 40#else 41# define dirent direct 42# define NAMLEN(dirent) (dirent)->d_namlen 43# ifdef HAVE_SYS_NDIR_H 44# include <sys/ndir.h> 45# endif 46# ifdef HAVE_SYS_DIR_H 47# include <sys/dir.h> 48# endif 49# ifdef HAVE_NDIR_H 50# include <ndir.h> 51# endif 52#endif 53 54#endif /* _AC_DIRENT_H */ 55