[email protected] | d88e17f | 2012-06-29 21:09:14 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
[email protected] | ef73044e | 2010-03-11 15:25:54 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
3 | // found in the LICENSE file. | ||||
4 | |||||
[email protected] | d88e17f | 2012-06-29 21:09:14 | [diff] [blame] | 5 | #ifndef BASE_FILES_DIR_READER_POSIX_H_ |
6 | #define BASE_FILES_DIR_READER_POSIX_H_ | ||||
[email protected] | ef73044e | 2010-03-11 15:25:54 | [diff] [blame] | 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 | |||||
[email protected] | 70635d2 | 2010-03-11 19:59:03 | [diff] [blame] | 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 | |||||
Sean McAllister | 39b8d34 | 2020-08-25 09:08:32 | [diff] [blame] | 20 | #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) |
[email protected] | d88e17f | 2012-06-29 21:09:14 | [diff] [blame] | 21 | #include "base/files/dir_reader_linux.h" |
[email protected] | ef73044e | 2010-03-11 15:25:54 | [diff] [blame] | 22 | #else |
[email protected] | d88e17f | 2012-06-29 21:09:14 | [diff] [blame] | 23 | #include "base/files/dir_reader_fallback.h" |
[email protected] | ef73044e | 2010-03-11 15:25:54 | [diff] [blame] | 24 | #endif |
25 | |||||
26 | namespace base { | ||||
27 | |||||
Sean McAllister | 39b8d34 | 2020-08-25 09:08:32 | [diff] [blame] | 28 | #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) |
[email protected] | ef73044e | 2010-03-11 15:25:54 | [diff] [blame] | 29 | typedef DirReaderLinux DirReaderPosix; |
30 | #else | ||||
31 | typedef DirReaderFallback DirReaderPosix; | ||||
32 | #endif | ||||
33 | |||||
34 | } // namespace base | ||||
35 | |||||
tfarina | a3116351 | 2015-05-13 22:10:15 | [diff] [blame] | 36 | #endif // BASE_FILES_DIR_READER_POSIX_H_ |