/*===- SysUtils.h - Utilities to do low-level system stuff ----------------===*\ * * The LLVM Compiler Infrastructure * * This file was developed by the LLVM research group and is distributed under * the University of Illinois Open Source License. See LICENSE.TXT for details. * *===----------------------------------------------------------------------=== * * * This file contains functions used to do a variety of low-level, often * system-specific, tasks. * \*===----------------------------------------------------------------------===*/ #ifndef SYSUTILS_H #define SYSUTILS_H struct stat; /* * isExecutable - This function returns true if given struct stat describes the * file as being executable. */ unsigned isExecutable(const struct stat *buf); /* * isExecutableFile - This function returns true if the filename specified * exists and is executable. */ unsigned isExecutableFile(const char *ExeFileName); /* * FindExecutable - Find a named executable in the path. */ char *FindExecutable(const char *ExeName); /* * This method finds the real `execve' call in the C library and executes the * given program. */ int executeProgram(const char *filename, char *const argv[], char *const envp[]); #endif