1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef BASE_FILES_DIR_READER_POSIX_H_ 6#define BASE_FILES_DIR_READER_POSIX_H_ 7 8#include "build/build_config.h" 9 10// This header provides a class, DirReaderPosix, which allows one to open and 11// read from directories without allocating memory. For the interface, see 12// the generic fallback in dir_reader_fallback.h. 13 14// Mac note: OS X has getdirentries, but it only works if we restrict Chrome to 15// 32-bit inodes. There is a getdirentries64 syscall in 10.6, but it's not 16// wrapped and the direct syscall interface is unstable. Using an unstable API 17// seems worse than falling back to enumerating all file descriptors so we will 18// probably never implement this on the Mac. 19 20#if defined(OS_LINUX) 21#include "base/files/dir_reader_linux.h" 22#else 23#include "base/files/dir_reader_fallback.h" 24#endif 25 26namespace base { 27 28#if defined(OS_LINUX) 29typedef DirReaderLinux DirReaderPosix; 30#else 31typedef DirReaderFallback DirReaderPosix; 32#endif 33 34} // namespace base 35 36#endif // BASE_FILES_DIR_READER_POSIX_H_ 37