/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include <sys/stat.h> #ifdef _WIN32 #include <folly/portability/SysTypes.h> // Windows gives weird names to these. #define S_IXUSR … #define S_IWUSR … #define S_IRUSR … // No group/other permissions so default to user. #define S_IXGRP … #define S_IWGRP … #define S_IRGRP … #define S_IXOTH … #define S_IWOTH … #define S_IROTH … #define S_IRWXU … #define S_IRWXG … #define S_IRWXO … #define S_ISDIR … #define S_ISREG … // This isn't defined anywhere, so give a sane value. #define MAXSYMLINKS … extern "C" { int chmod(char const* fn, int am); int fchmod(int fd, mode_t mode); int lstat(const char* path, struct stat* st); int mkdir(const char* fn, int mode); int umask(int md); } #endif