1 /*--------------------------------------------------------------------*/
2 /*--- User-mode execve(). priv_ume.h ---*/
3 /*--------------------------------------------------------------------*/
6 This file is part of Valgrind, a dynamic binary instrumentation
9 Copyright (C) 2000-2017 Julian Seward
12 This program is free software; you can redistribute it and/or
13 modify it under the terms of the GNU General Public License as
14 published by the Free Software Foundation; either version 2 of the
15 License, or (at your option) any later version.
17 This program is distributed in the hope that it will be useful, but
18 WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with this program; if not, see <http://www.gnu.org/licenses/>.
25 The GNU General Public License is contained in the file COPYING.
28 #if defined(VGO_linux) || defined(VGO_darwin) || defined(VGO_solaris) || defined(VGO_freebsd)
33 #include "pub_core_ume.h" // ExeInfo
35 extern Int
VG_(do_exec_inner
)(const HChar
*exe
, ExeInfo
*info
);
37 #if defined(VGO_linux) || defined(VGO_solaris) || defined(VGO_freebsd)
38 extern Bool
VG_(match_ELF
) ( const void *hdr
, SizeT len
);
39 extern Int
VG_(load_ELF
) ( Int fd
, const HChar
*name
, ExeInfo
*info
);
40 #elif defined(VGO_darwin)
41 extern Bool
VG_(match_macho
) ( const void *hdr
, SizeT len
);
42 extern Int
VG_(load_macho
) ( Int fd
, const HChar
*name
, ExeInfo
*info
);
47 extern Bool
VG_(match_script
) ( const void *hdr
, SizeT len
);
48 extern Int
VG_(load_script
) ( Int fd
, const HChar
*name
, ExeInfo
*info
);
51 #endif // __PRIV_UME_H
53 #endif // defined(VGO_linux) || defined(VGO_darwin) || defined(VGO_solaris)
55 /*--------------------------------------------------------------------*/
57 /*--------------------------------------------------------------------*/