xref: /llvm-project/libc/src/fcntl/linux/fcntl.cpp (revision 5ff3ff33ff930e4ec49da7910612d8a41eb068cb)
1aca51173SVinayak Dev //===-- Implementation of fcntl -------------------------------------------===//
2aca51173SVinayak Dev //
3aca51173SVinayak Dev // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4aca51173SVinayak Dev // See https://llvm.org/LICENSE.txt for license information.
5aca51173SVinayak Dev // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6aca51173SVinayak Dev //
7aca51173SVinayak Dev //===----------------------------------------------------------------------===//
8aca51173SVinayak Dev 
9aca51173SVinayak Dev #include "src/fcntl/fcntl.h"
10aca51173SVinayak Dev 
110b24b470SXu Zhang #include "src/__support/OSUtil/fcntl.h"
12aca51173SVinayak Dev #include "src/__support/common.h"
13*5ff3ff33SPetr Hosek #include "src/__support/macros/config.h"
14aca51173SVinayak Dev 
15aca51173SVinayak Dev #include <stdarg.h>
16aca51173SVinayak Dev 
17*5ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL {
180b24b470SXu Zhang 
19aca51173SVinayak Dev LLVM_LIBC_FUNCTION(int, fcntl, (int fd, int cmd, ...)) {
20aca51173SVinayak Dev   void *arg;
21aca51173SVinayak Dev   va_list varargs;
22aca51173SVinayak Dev   va_start(varargs, cmd);
23aca51173SVinayak Dev   arg = va_arg(varargs, void *);
24aca51173SVinayak Dev   va_end(varargs);
250b24b470SXu Zhang   return LIBC_NAMESPACE::internal::fcntl(fd, cmd, arg);
260b24b470SXu Zhang }
27aca51173SVinayak Dev 
28*5ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL
29