1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved. 2 // This source code is licensed under both the GPLv2 (found in the 3 // COPYING file in the root directory) and Apache 2.0 License 4 // (found in the LICENSE.Apache file in the root directory). 5 // 6 // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 7 // Use of this source code is governed by a BSD-style license that can be 8 // found in the LICENSE file. See the AUTHORS file for names of contributors. 9 // 10 // See port_example.h for documentation for the following types/functions. 11 12 #pragma once 13 14 #ifdef ROCKSDB_PLATFORM_POSIX 15 #include <dirent.h> 16 #include <sys/types.h> 17 #elif defined(OS_WIN) 18 19 namespace ROCKSDB_NAMESPACE { 20 namespace port { 21 22 struct dirent { 23 char d_name[_MAX_PATH]; /* filename */ 24 }; 25 26 struct DIR; 27 28 DIR* opendir(const char* name); 29 30 dirent* readdir(DIR* dirp); 31 32 int closedir(DIR* dirp); 33 34 } // namespace port 35 36 using port::dirent; 37 using port::DIR; 38 using port::opendir; 39 using port::readdir; 40 using port::closedir; 41 42 } // namespace ROCKSDB_NAMESPACE 43 44 #endif // OS_WIN 45