Loading...
Searching...
No Matches
Memory.h File Reference
`#include <Zycore/Defines.h>`
`#include <Zycore/Status.h>`
`#include <Zycore/Types.h>`
Include dependency graph for Memory.h:

Go to the source code of this file.

## Typedefs

typedef enum ZyanMemoryPageProtection_ | ZyanMemoryPageProtection

## Enumerations

enum | ZyanMemoryPageProtection_

## Functions

ZYCORE_EXPORT ZyanU32 | ZyanMemoryGetSystemPageSize (void)
ZYCORE_EXPORT ZyanU32 | ZyanMemoryGetSystemAllocationGranularity (void)
ZYCORE_EXPORT ZyanStatus | ZyanMemoryVirtualProtect (void *address, ZyanUSize size, ZyanMemoryPageProtection protection)
ZYCORE_EXPORT ZyanStatus | ZyanMemoryVirtualFree (void *address, ZyanUSize size)

## Typedef Documentation

## ZyanMemoryPageProtection

typedef enum ZyanMemoryPageProtection_ ZyanMemoryPageProtection

Defines the ZyanMemoryPageProtection enum.

## Enumeration Type Documentation

## ZyanMemoryPageProtection_

enum ZyanMemoryPageProtection_

Defines the ZyanMemoryPageProtection enum.

## Function Documentation

## ZyanMemoryGetSystemAllocationGranularity()

ZYCORE_EXPORT ZyanU32 ZyanMemoryGetSystemAllocationGranularity | ( | void |  | ) |

Returns the system allocation granularity.

The system allocation granularity specifies the minimum amount of bytes which can be allocated at a specific address by a single call of ZyanMemoryVirtualAlloc.

This value is typically 64KiB on Windows systems and equal to the page size on most POSIX platforms.

Returns
  The system allocation granularity.

## ZyanMemoryGetSystemPageSize()

ZYCORE_EXPORT ZyanU32 ZyanMemoryGetSystemPageSize | ( | void |  | ) |

Returns the system page size.

Returns
  The system page size.

## ZyanMemoryVirtualFree()

ZYCORE_EXPORT ZyanStatus ZyanMemoryVirtualFree | ( | void * | address,
|  | ZyanUSize | size )

Releases one or more memory pages starting at the given address.

Parameters

  address | The start address aligned to a page boundary.
  size | The size.

Returns
  A zyan status code.

## ZyanMemoryVirtualProtect()

ZYCORE_EXPORT ZyanStatus ZyanMemoryVirtualProtect | ( | void * | address,
|  | ZyanUSize | size,
|  | ZyanMemoryPageProtection | protection )

Changes the memory protection value of one or more pages.

Parameters

  address | The start address aligned to a page boundary.
  size | The size.
  protection | The new page protection value.

Returns
  A zyan status code.