blob: 7819d3ed5b5ae69e4452fe71a52742a59cb9f889 [file] [log] [blame]
Damien Martin-Guillerezf88f4d82015-09-25 13:56:55 +00001// Copyright 2014 The Bazel Authors. All rights reserved.
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01002//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14package com.google.devtools.build.lib.unix;
15
jmmv50adefb2020-10-02 09:25:34 -070016import com.google.devtools.build.lib.jni.JniLoader;
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010017
18/**
19 * Various utilities related to UNIX processes.
20 */
21public final class ProcessUtils {
22
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010023 static {
jmmv50adefb2020-10-02 09:25:34 -070024 JniLoader.loadJni();
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010025 }
26
jmmv50adefb2020-10-02 09:25:34 -070027 private ProcessUtils() {}
28
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010029 /**
30 * Native wrapper around POSIX getgid(2).
31 *
32 * @return the real group ID of the current process.
33 */
34 public static native int getgid();
35
36 /**
37 * Native wrapper around POSIX getpid(2) syscall.
38 *
39 * @return the process ID of this process.
40 */
41 public static native int getpid();
42
43 /**
44 * Native wrapper around POSIX getuid(2).
45 *
46 * @return the real user ID of the current process.
47 */
48 public static native int getuid();
49}