10eae32dcSDimitry Andric // -*- C++ -*- 20eae32dcSDimitry Andric //===----------------------------------------------------------------------===// 30eae32dcSDimitry Andric // 40eae32dcSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 50eae32dcSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 60eae32dcSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 70eae32dcSDimitry Andric // 80eae32dcSDimitry Andric //===----------------------------------------------------------------------===// 90eae32dcSDimitry Andric 100eae32dcSDimitry Andric #ifndef _LIBCPP___FILESYSTEM_SPACE_INFO_H 110eae32dcSDimitry Andric #define _LIBCPP___FILESYSTEM_SPACE_INFO_H 120eae32dcSDimitry Andric 130eae32dcSDimitry Andric #include <__config> 140eae32dcSDimitry Andric #include <cstdint> 150eae32dcSDimitry Andric 1681ad6265SDimitry Andric #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 1781ad6265SDimitry Andric # pragma GCC system_header 1881ad6265SDimitry Andric #endif 1981ad6265SDimitry Andric 20*5f757f3fSDimitry Andric #if _LIBCPP_STD_VER >= 17 210eae32dcSDimitry Andric 220eae32dcSDimitry Andric _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM 230eae32dcSDimitry Andric 2406c3fb27SDimitry Andric struct _LIBCPP_EXPORTED_FROM_ABI space_info { 250eae32dcSDimitry Andric uintmax_t capacity; 260eae32dcSDimitry Andric uintmax_t free; 270eae32dcSDimitry Andric uintmax_t available; 28bdd1243dSDimitry Andric 2906c3fb27SDimitry Andric # if _LIBCPP_STD_VER >= 20 30bdd1243dSDimitry Andric friend _LIBCPP_HIDE_FROM_ABI bool operator==(const space_info&, const space_info&) = default; 31bdd1243dSDimitry Andric # endif 320eae32dcSDimitry Andric }; 330eae32dcSDimitry Andric 340eae32dcSDimitry Andric _LIBCPP_END_NAMESPACE_FILESYSTEM 350eae32dcSDimitry Andric 36*5f757f3fSDimitry Andric #endif // _LIBCPP_STD_VER >= 17 370eae32dcSDimitry Andric 380eae32dcSDimitry Andric #endif // _LIBCPP___FILESYSTEM_SPACE_INFO_H 39