/usr/include/hphp/util/embedded-data.h is in hhvm-dev 3.21.0+dfsg-2ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | /*
+----------------------------------------------------------------------+
| HipHop for PHP |
+----------------------------------------------------------------------+
| Copyright (c) 2010-present Facebook, Inc. (http://www.facebook.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
*/
#ifndef incl_HPHP_UTIL_EMBEDDED_DATA_H_
#define incl_HPHP_UTIL_EMBEDDED_DATA_H_
#include <cstdint>
#include <string>
namespace HPHP {
///////////////////////////////////////////////////////////////////////////////
struct embedded_data {
std::string m_filename;
uint64_t m_start;
uint64_t m_len;
#ifdef _MSC_VER
void* m_handle;
#endif
};
bool get_embedded_data(const char* section, embedded_data* desc,
const std::string& filename = "");
std::string read_embedded_data(const embedded_data& desc);
/*
* dlopen() the embedded shared object given by `desc'.
*
* Unfortunately, there's no way to do the equivalent of dlopen() on data
* within another file, or even in memory. This means we have to copy the
* section into a temporary file and then dlopen() that.
*
* Returns the result of dlopen() on success, else nullptr. Also logs the
* failure condition with Logger on failure.
*/
void* dlopen_embedded_data(const embedded_data& desc, char* tmp_filename);
/*
* Clean up any /tmp files that we created at process shutdown time.
*/
void embedded_data_cleanup();
///////////////////////////////////////////////////////////////////////////////
}
#endif
|