1// Copyright (c) 2010 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_DIR_READER_POSIX_H_ 6#define BASE_DIR_READER_POSIX_H_ 7#pragma once 8 9#include "build/build_config.h" 10 11// This header provides a class, DirReaderPosix, which allows one to open and 12// read from directories without allocating memory. For the interface, see 13// the generic fallback in dir_reader_fallback.h. 14 15// Mac note: OS X has getdirentries, but it only works if we restrict Chrome to 16// 32-bit inodes. There is a getdirentries64 syscall in 10.6, but it's not 17// wrapped and the direct syscall interface is unstable. Using an unstable API 18// seems worse than falling back to enumerating all file descriptors so we will 19// probably never implement this on the Mac. 20 21#if defined(OS_LINUX) 22#include "base/dir_reader_linux.h" 23#else 24#include "base/dir_reader_fallback.h" 25#endif 26 27namespace base { 28 29#if defined(OS_LINUX) 30typedef DirReaderLinux DirReaderPosix; 31#else 32typedef DirReaderFallback DirReaderPosix; 33#endif 34 35} // namespace base 36 37#endif // BASE_DIR_READER_POSIX_H_ 38