libnx  v4.2.0
address_space.h
1 #pragma once
2 #include "types.h"
3 #include "ioctl.h"
4 
5 typedef struct NvAddressSpace {
6  u32 fd;
7  u32 page_size;
8  bool has_init;
10 
11 Result nvAddressSpaceCreate(NvAddressSpace* a, u32 page_size);
12 void nvAddressSpaceClose(NvAddressSpace* a);
13 
14 Result nvAddressSpaceAlloc(NvAddressSpace* a, bool sparse, u64 size, iova_t* iova_out);
15 Result nvAddressSpaceAllocFixed(NvAddressSpace* a, bool sparse, u64 size, iova_t iova);
16 Result nvAddressSpaceFree(NvAddressSpace* a, iova_t iova, u64 size);
17 
18 Result nvAddressSpaceMap(NvAddressSpace* a, u32 nvmap_handle, bool is_gpu_cacheable, NvKind kind, iova_t* iova_out);
19 Result nvAddressSpaceMapFixed(NvAddressSpace* a, u32 nvmap_handle, bool is_gpu_cacheable, NvKind kind, iova_t iova);
20 Result nvAddressSpaceModify(NvAddressSpace* a, iova_t iova, u64 offset, u64 size, NvKind kind);
21 Result nvAddressSpaceUnmap(NvAddressSpace* a, iova_t iova);
u32
uint32_t u32
32-bit unsigned integer.
Definition: types.h:21
u64
uint64_t u64
64-bit unsigned integer.
Definition: types.h:22
Result
u32 Result
Function error code result type.
Definition: types.h:44
types.h
NvAddressSpace
Definition: address_space.h:5