mirror of
https://github.com/switchbrew/libnx.git
synced 2025-12-08 21:25:14 +01:00
25 lines
690 B
C
25 lines
690 B
C
typedef struct {
|
|
u32 fd;
|
|
bool has_init;
|
|
} NvAddressSpace;
|
|
|
|
typedef enum {
|
|
NvPageSize_4K = 0x1000,
|
|
NvPageSize_64K = 0x10000
|
|
} NvPageSize;
|
|
|
|
typedef u64 iova_t;
|
|
|
|
|
|
Result nvasCreate(NvAddressSpace* a);
|
|
void nvasClose(NvAddressSpace* a);
|
|
|
|
Result nvasReserveAlign(NvAddressSpace* a, NvPageSize align, u32 pages, NvPageSize page_sz, iova_t* iova_out);
|
|
Result nvasReserveAtFixedAddr(NvAddressSpace* a, iova_t addr, u32 pages, NvPageSize page_sz);
|
|
Result nvasReserveFull(NvAddressSpace* a);
|
|
|
|
Result nvasMapBuffer(NvAddressSpace* a, NvBuffer* buffer, NvBufferKind kind, iova_t* iova_out);
|
|
|
|
struct NvChannel;
|
|
Result nvasBindToChannel(NvAddressSpace* a, struct NvChannel* channel);
|