//===-- Definition of type struct dirent ----------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_LIBC_TYPES_STRUCT_DIRENT_H #define LLVM_LIBC_TYPES_STRUCT_DIRENT_H #include "ino_t.h" #include "off_t.h" struct dirent { ino_t d_ino; #ifdef __linux__ off_t d_off; unsigned short d_reclen; #endif unsigned char d_type; // The user code should use strlen to determine actual the size of d_name. // Likewise, it is incorrect and prohibited by the POSIX standard to detemine // the size of struct dirent type using sizeof. The size should be got using // a different method, for example, from the d_reclen field on Linux. char d_name[1]; }; #endif // LLVM_LIBC_TYPES_STRUCT_DIRENT_H