1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/process/process_handle.h"
6
7 #include <unistd.h>
8
9 namespace base {
10
GetCurrentProcId()11 ProcessId GetCurrentProcId() {
12 return getpid();
13 }
14
GetCurrentProcessHandle()15 ProcessHandle GetCurrentProcessHandle() {
16 return GetCurrentProcId();
17 }
18
OpenProcessHandle(ProcessId pid,ProcessHandle * handle)19 bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle) {
20 // On Posix platforms, process handles are the same as PIDs, so we
21 // don't need to do anything.
22 *handle = pid;
23 return true;
24 }
25
OpenPrivilegedProcessHandle(ProcessId pid,ProcessHandle * handle)26 bool OpenPrivilegedProcessHandle(ProcessId pid, ProcessHandle* handle) {
27 // On POSIX permissions are checked for each operation on process,
28 // not when opening a "handle".
29 return OpenProcessHandle(pid, handle);
30 }
31
OpenProcessHandleWithAccess(ProcessId pid,uint32 access_flags,ProcessHandle * handle)32 bool OpenProcessHandleWithAccess(ProcessId pid,
33 uint32 access_flags,
34 ProcessHandle* handle) {
35 // On POSIX permissions are checked for each operation on process,
36 // not when opening a "handle".
37 return OpenProcessHandle(pid, handle);
38 }
39
CloseProcessHandle(ProcessHandle process)40 void CloseProcessHandle(ProcessHandle process) {
41 // See OpenProcessHandle, nothing to do.
42 return;
43 }
44
GetProcId(ProcessHandle process)45 ProcessId GetProcId(ProcessHandle process) {
46 return process;
47 }
48
49 } // namespace base
50