xref: /llvm-project/libc/src/unistd/linux/getpid.cpp (revision 3db5c1eeb08766cdd84a3186a1d2be6ab63b2883)
14f1474daSSiva Chandra Reddy //===-- Linux implementation of getpid ------------------------------------===//
24f1474daSSiva Chandra Reddy //
34f1474daSSiva Chandra Reddy // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
44f1474daSSiva Chandra Reddy // See https://llvm.org/LICENSE.txt for license information.
54f1474daSSiva Chandra Reddy // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
64f1474daSSiva Chandra Reddy //
74f1474daSSiva Chandra Reddy //===----------------------------------------------------------------------===//
84f1474daSSiva Chandra Reddy 
94f1474daSSiva Chandra Reddy #include "src/unistd/getpid.h"
10*3db5c1eeSSchrodinger ZHU Yifan 
11*3db5c1eeSSchrodinger ZHU Yifan #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
124f1474daSSiva Chandra Reddy #include "src/__support/common.h"
13*3db5c1eeSSchrodinger ZHU Yifan #include "src/__support/macros/config.h"
14*3db5c1eeSSchrodinger ZHU Yifan 
15*3db5c1eeSSchrodinger ZHU Yifan #include <sys/syscall.h> // For syscall numbers.
16*3db5c1eeSSchrodinger ZHU Yifan 
175ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL {
184f1474daSSiva Chandra Reddy 
19*3db5c1eeSSchrodinger ZHU Yifan LLVM_LIBC_FUNCTION(pid_t, getpid, ()) {
20*3db5c1eeSSchrodinger ZHU Yifan   return LIBC_NAMESPACE::syscall_impl<pid_t>(SYS_getpid);
21*3db5c1eeSSchrodinger ZHU Yifan }
224f1474daSSiva Chandra Reddy 
235ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL
24