libnx v4.9.0
Loading...
Searching...
No Matches
mm.h
1/**
2 * @file mmu.h
3 * @brief Multimedia (mm) IPC wrapper.
4 * @author averne
5 * @copyright libnx Authors
6 */
7
8#pragma once
9#include "../types.h"
10#include "../sf/service.h"
11
12typedef enum {
13 MmuModuleId_Ram = 2,
14 MmuModuleId_Nvenc = 5,
15 MmuModuleId_Nvdec = 6,
16 MmuModuleId_Nvjpg = 7,
17} MmuModuleId;
18
19typedef struct {
20 MmuModuleId module;
21 u32 id;
23
24Result mmuInitialize(void);
25void mmuExit(void);
26Service* mmuGetServiceSession(void);
27
28Result mmuRequestInitialize(MmuRequest *request, MmuModuleId module, u32 unk, bool autoclear); ///< unk is ignored by official software
29Result mmuRequestFinalize(const MmuRequest *request);
30Result mmuRequestGet(const MmuRequest *request, u32 *out_freq_hz);
31Result mmuRequestSetAndWait(const MmuRequest *request, u32 freq_hz, s32 timeout);
Definition mm.h:19
Service object structure.
Definition service.h:14
u32 Result
Function error code result type.
Definition types.h:44
int32_t s32
32-bit signed integer.
Definition types.h:27
uint32_t u32
32-bit unsigned integer.
Definition types.h:21