Symbian platform (C++)
SDK native APIs, runtime and tooling
Loading...
Searching...
No Matches
exports.h
Go to the documentation of this file.
1#ifndef SYMBIAN_E32_EXPORTS_H_
2#define SYMBIAN_E32_EXPORTS_H_
3
4#include <cstddef>
5#include <cstdint>
6#include <set>
7#include <string>
8#include <string_view>
9#include <vector>
10
11#include <absl/status/statusor.h>
12
13#include "symbian/e32/e32.h"
14#include "symbian/e32/imports.h"
15
16namespace symbian::e32::internal {
17
18absl::StatusOr<std::vector<ExportSlot>> ResolveExports(
19 std::string_view elf, const std::vector<Section>& sections,
20 const Segment& code, uint32_t entry, std::string_view definition);
21
22// Returns a full absence bitmap, retaining one bits beyond the last ordinal.
23std::string ExportBitmap(const std::vector<ExportSlot>& exports);
24
25absl::StatusOr<std::string> EncodeCodeRelocations(
26 const std::vector<uint32_t>& offsets,
27 const std::set<uint32_t>& data_targets = {});
28absl::StatusOr<std::vector<uint32_t>> DecodeCodeRelocations(
29 std::string_view bytes, uint32_t code_size,
30 std::set<uint32_t>* data_targets = nullptr);
31
32} // namespace symbian::e32::internal
33
34#endif // SYMBIAN_E32_EXPORTS_H_
std::vector< uint32_t > code
Definition e32.cc:70
Definition exports.cc:14
std::string ExportBitmap(const std::vector< ExportSlot > &exports)
Definition exports.cc:101
absl::StatusOr< std::string > EncodeCodeRelocations(const std::vector< uint32_t > &offsets, const std::set< uint32_t > &data_targets)
Definition exports.cc:112
absl::StatusOr< std::vector< uint32_t > > DecodeCodeRelocations(std::string_view bytes, uint32_t code_size, std::set< uint32_t > *data_targets)
Definition exports.cc:156
absl::StatusOr< std::vector< ExportSlot > > ResolveExports(std::string_view elf, const std::vector< Section > &sections, const Segment &code, uint32_t entry, std::string_view definition)
Definition exports.cc:23
std::string_view bytes
Definition exports.cc:74