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 27 namespace base { 28 29 #if defined(OS_LINUX) 30 typedef DirReaderLinux DirReaderPosix; 31 #else 32 typedef DirReaderFallback DirReaderPosix; 33 #endif 34 35 } // namespace base 36 37 #endif // BASE_DIR_READER_POSIX_H_ 38