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