// Copyright (c) 2013 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#include "base/process/process_handle.h"#include <libproc.h>#include <sys/sysctl.h>#include <sys/types.h>#include "base/logging.h"namespacebase{ProcessIdGetParentProcessId(ProcessHandleprocess){structkinfo_procinfo;size_tlength=sizeof(structkinfo_proc);intmib[4]={CTL_KERN,KERN_PROC,KERN_PROC_PID,process};if(sysctl(mib,4,&info,&length,NULL,0)<0){DPLOG(ERROR)<<"sysctl";return-1;}if(length==0)return-1;returninfo.kp_eproc.e_ppid;}FilePathGetProcessExecutablePath(ProcessHandleprocess){charpathbuf[PROC_PIDPATHINFO_MAXSIZE];if(!proc_pidpath(process,pathbuf,sizeof(pathbuf)))returnFilePath();returnFilePath(pathbuf);}}// namespace base