SharedCacheRuntime.h [plain text]
#ifndef __DYLD_SHARED_CACHE_RUNTIME_H__
#define __DYLD_SHARED_CACHE_RUNTIME_H__
#include <string.h>
#include <stdint.h>
#include "DyldSharedCache.h"
namespace dyld3 {
struct SharedCacheOptions {
const char* cacheDirOverride;
bool forcePrivate;
bool useHaswell;
bool verbose;
};
struct SharedCacheLoadInfo {
const DyldSharedCache* loadAddress;
long slide;
const launch_cache::binary_format::ImageGroup* cachedDylibsGroup;
const char* errorMessage;
char path[256];
};
bool loadDyldCache(const SharedCacheOptions& options, SharedCacheLoadInfo* results);
struct SharedCacheFindDylibResults {
const mach_header* mhInCache;
const char* pathInCache;
long slideInCache;
const launch_cache::binary_format::Image* imageData;
};
bool findInSharedCacheImage(const SharedCacheLoadInfo& loadInfo, const char* dylibPathToFind, SharedCacheFindDylibResults* results);
bool pathIsInSharedCacheImage(const SharedCacheLoadInfo& loadInfo, const char* dylibPathToFind);
}
#endif // __DYLD_SHARED_CACHE_RUNTIME_H__