//===-- Linux implementation of pathconf_utils ----------------------------===// // // 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 // //===----------------------------------------------------------------------===// // This header must go before limits_macros.h otherwise libc header may choose // to undefine LINK_MAX. #include <linux/limits.h> // For LINK_MAX and other limits #include "hdr/limits_macros.h" #include "hdr/unistd_macros.h" #include "src/__support/OSUtil/syscall.h" // For internal syscall function. #include "src/__support/common.h" #include "src/__support/macros/config.h" #include "src/errno/libc_errno.h" #include "src/sys/statvfs/linux/statfs_utils.h" // other linux specific includes #include <linux/bfs_fs.h> #if __has_include(<linux/ufs_fs.h>) #include <linux/ufs_fs.h> #else // from https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/ #define UFS_MAGIC … #endif #include <linux/magic.h> // For common FS magics namespace LIBC_NAMESPACE_DECL { long filesizebits(const statfs_utils::LinuxStatFs &s) { … } long link_max(const statfs_utils::LinuxStatFs &s) { … } long symlinks(const statfs_utils::LinuxStatFs &s) { … } long pathconfig(const statfs_utils::LinuxStatFs &s, int name) { … } } // namespace LIBC_NAMESPACE_DECL