First
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (c) Electronic Arts Inc. All rights reserved.
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if defined(EA_PRAGMA_ONCE_SUPPORTED)
|
||||
#pragma once // Some compilers (e.g. VC++) benefit significantly from using this. We've measured 3-4% build speed improvements in apps as a result.
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef EATHREAD_CALLSTACK_APPLE_H
|
||||
#define EATHREAD_CALLSTACK_APPLE_H
|
||||
|
||||
|
||||
#include <eathread/eathread_callstack.h>
|
||||
|
||||
namespace EA
|
||||
{
|
||||
namespace Thread
|
||||
{
|
||||
|
||||
/// ModuleInfoApple
|
||||
///
|
||||
/// This struct is based on the EACallstack ModuleInfo struct, but that can't be used here because
|
||||
/// this package is a lower level package than EACallstack.
|
||||
///
|
||||
struct ModuleInfoApple
|
||||
{
|
||||
char8_t mPath[256]; /// File name or file path
|
||||
char8_t mName[256]; /// Module name. Usually the same as the file name without the extension.
|
||||
uint64_t mBaseAddress; /// Base address in memory.
|
||||
uint64_t mSize; /// Module size in memory.
|
||||
char mType[32]; /// The type field (e.g. __TEXT) from the vmmap output.
|
||||
char mPermissions[16]; /// The permissions "r--/rwx" kind of string from the vmmap output.
|
||||
};
|
||||
|
||||
|
||||
#if EATHREAD_APPLE_GETMODULEINFO_ENABLED
|
||||
/// GetModuleInfoApple
|
||||
///
|
||||
/// This function exists for the purpose of being a central module/VM map info collecting function,
|
||||
/// used by a couple functions within this package.
|
||||
/// Writes as many entries as possible to the user-supplied array, up to the capacity of the array.
|
||||
/// Returns the required number of entries, which may be more than the user-supplied capacity in the
|
||||
/// case that the user didn't supply enough.
|
||||
///
|
||||
size_t GetModuleInfoApple(ModuleInfoApple* pModuleInfoAppleArray, size_t moduleInfoAppleArrayCapacity,
|
||||
const char* pTypeFilter = NULL, bool bEnableCache = true);
|
||||
#endif
|
||||
|
||||
|
||||
} // namespace Callstack
|
||||
|
||||
} // namespace EA
|
||||
|
||||
#endif // Header include guard
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user