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