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, write to the Free Software
24 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
27 The GNU General Public License is contained in the file COPYING.
30 #if defined(VGO_linux) || defined(VGO_darwin) || defined(VGO_solaris)
35 #include "pub_core_ume.h" // ExeInfo
37 extern Int
VG_(do_exec_inner
)(const HChar
*exe
, ExeInfo
*info
);
39 #if defined(VGO_linux) || defined(VGO_solaris)
40 extern Bool
VG_(match_ELF
) ( const void *hdr
, SizeT len
);
41 extern Int
VG_(load_ELF
) ( Int fd
, const HChar
*name
, ExeInfo
*info
);
42 #elif defined(VGO_darwin)
43 extern Bool
VG_(match_macho
) ( const void *hdr
, SizeT len
);
44 extern Int
VG_(load_macho
) ( Int fd
, const HChar
*name
, ExeInfo
*info
);
49 extern Bool
VG_(match_script
) ( const void *hdr
, SizeT len
);
50 extern Int
VG_(load_script
) ( Int fd
, const HChar
*name
, ExeInfo
*info
);
53 #endif // __PRIV_UME_H
55 #endif // defined(VGO_linux) || defined(VGO_darwin) || defined(VGO_solaris)
57 /*--------------------------------------------------------------------*/
59 /*--------------------------------------------------------------------*/