mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 04:22:50 +02:00
Clean up types.h:
- Move Permission to kernel/svc.h (also fix enum naming) - Add s128, vu128, vs128 - voidfn -> VoidFn
This commit is contained in:
parent
41da28eb5c
commit
c20d372946
@ -12,6 +12,17 @@
|
||||
/// Pseudo handle for the current thread
|
||||
#define CUR_THREAD_HANDLE 0xFFFF8000
|
||||
|
||||
/// Memory permission bitmasks.
|
||||
typedef enum {
|
||||
Perm_None = 0, ///< No permissions.
|
||||
Perm_R = BIT(0), ///< Read permission.
|
||||
Perm_W = BIT(1), ///< Write permission.
|
||||
Perm_X = BIT(2), ///< Execute permission.
|
||||
Perm_Rw = Perm_R | Perm_W, ///< Read/write permissions.
|
||||
Perm_Rx = Perm_R | Perm_X, ///< Read/execute permissions.
|
||||
Perm_DontCare = BIT(28), ///< Don't care
|
||||
} Permission;
|
||||
|
||||
typedef struct {
|
||||
u64 addr;
|
||||
u64 size;
|
||||
|
@ -18,42 +18,34 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef uint8_t u8; ///< 8-bit unsigned integer
|
||||
typedef uint16_t u16; ///< 16-bit unsigned integer
|
||||
typedef uint32_t u32; ///< 32-bit unsigned integer
|
||||
typedef uint64_t u64; ///< 64-bit unsigned integer
|
||||
typedef __uint128_t u128; ///< 128-bit unsigned integer
|
||||
typedef uint8_t u8; ///< 8-bit unsigned integer.
|
||||
typedef uint16_t u16; ///< 16-bit unsigned integer.
|
||||
typedef uint32_t u32; ///< 32-bit unsigned integer.
|
||||
typedef uint64_t u64; ///< 64-bit unsigned integer.
|
||||
typedef __uint128_t u128; ///< 128-bit unsigned integer.
|
||||
|
||||
typedef int8_t s8; ///< 8-bit signed integer
|
||||
typedef int16_t s16; ///< 16-bit signed integer
|
||||
typedef int32_t s32; ///< 32-bit signed integer
|
||||
typedef int64_t s64; ///< 64-bit signed integer
|
||||
typedef int8_t s8; ///< 8-bit signed integer.
|
||||
typedef int16_t s16; ///< 16-bit signed integer.
|
||||
typedef int32_t s32; ///< 32-bit signed integer.
|
||||
typedef int64_t s64; ///< 64-bit signed integer.
|
||||
typedef __int128_t s128; ///< 128-bit unsigned integer.
|
||||
|
||||
typedef volatile u8 vu8; ///< 8-bit volatile unsigned integer.
|
||||
typedef volatile u16 vu16; ///< 16-bit volatile unsigned integer.
|
||||
typedef volatile u32 vu32; ///< 32-bit volatile unsigned integer.
|
||||
typedef volatile u64 vu64; ///< 64-bit volatile unsigned integer.
|
||||
typedef volatile u8 vu8; ///< 8-bit volatile unsigned integer.
|
||||
typedef volatile u16 vu16; ///< 16-bit volatile unsigned integer.
|
||||
typedef volatile u32 vu32; ///< 32-bit volatile unsigned integer.
|
||||
typedef volatile u64 vu64; ///< 64-bit volatile unsigned integer.
|
||||
typedef volatile u128 vu128; ///< 128-bit volatile unsigned integer.
|
||||
|
||||
typedef volatile s8 vs8; ///< 8-bit volatile signed integer.
|
||||
typedef volatile s16 vs16; ///< 16-bit volatile signed integer.
|
||||
typedef volatile s32 vs32; ///< 32-bit volatile signed integer.
|
||||
typedef volatile s64 vs64; ///< 64-bit volatile signed integer.
|
||||
typedef volatile s8 vs8; ///< 8-bit volatile signed integer.
|
||||
typedef volatile s16 vs16; ///< 16-bit volatile signed integer.
|
||||
typedef volatile s32 vs32; ///< 32-bit volatile signed integer.
|
||||
typedef volatile s64 vs64; ///< 64-bit volatile signed integer.
|
||||
typedef volatile s128 vs128; ///< 128-bit volatile signed integer.
|
||||
|
||||
typedef u32 Handle; ///< Kernel object handle.
|
||||
typedef u32 Result; ///< Function error code result type.
|
||||
typedef void (*ThreadFunc)(void *); ///< Thread entrypoint function.
|
||||
typedef void (*voidfn)(void); ///< Function without arguments nor return value.
|
||||
|
||||
/// Permission bitmasks
|
||||
typedef enum {
|
||||
PERM_NONE = 0, ///< No permissions.
|
||||
PERM_R = 1, ///< Read permission.
|
||||
PERM_W = 2, ///< Write permission.
|
||||
PERM_X = 4, ///< Execute permission.
|
||||
PERM_RW = PERM_R | PERM_W, ///< Read/write permissions.
|
||||
PERM_RX = PERM_R | PERM_X, ///< Read/execute permissions.
|
||||
PERM_DONTCARE = 0x10000000, ///< Don't care
|
||||
} Permission;
|
||||
typedef void (*VoidFn)(void); ///< Function without arguments nor return value.
|
||||
|
||||
/// Creates a bitmask from a bit number.
|
||||
#define BIT(n) (1U<<(n))
|
||||
|
@ -54,10 +54,10 @@ Result jitCreate(Jit* j, size_t size)
|
||||
rc = svcCreateJitMemory(&j->handle, j->src_addr, j->size);
|
||||
if (R_SUCCEEDED(rc))
|
||||
{
|
||||
rc = svcMapJitMemory(j->handle, JitMapOperation_MapOwner, j->rw_addr, j->size, PERM_RW);
|
||||
rc = svcMapJitMemory(j->handle, JitMapOperation_MapOwner, j->rw_addr, j->size, Perm_Rw);
|
||||
if (R_SUCCEEDED(rc))
|
||||
{
|
||||
rc = svcMapJitMemory(j->handle, JitMapOperation_MapSlave, j->rx_addr, j->size, PERM_RX);
|
||||
rc = svcMapJitMemory(j->handle, JitMapOperation_MapSlave, j->rx_addr, j->size, Perm_Rx);
|
||||
|
||||
if (R_FAILED(rc)) {
|
||||
svcMapJitMemory(j->handle, JitMapOperation_UnmapOwner, j->rw_addr, j->size, 0);
|
||||
@ -113,7 +113,7 @@ Result jitTransitionToExecutable(Jit* j)
|
||||
rc = svcMapProcessCodeMemory(envGetOwnProcessHandle(), (u64) j->rx_addr, (u64) j->src_addr, j->size);
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
rc = svcSetProcessMemoryPermission(envGetOwnProcessHandle(), (u64) j->rx_addr, j->size, PERM_RX);
|
||||
rc = svcSetProcessMemoryPermission(envGetOwnProcessHandle(), (u64) j->rx_addr, j->size, Perm_Rx);
|
||||
|
||||
if (R_FAILED(rc)) {
|
||||
jitTransitionToWritable(j);
|
||||
|
@ -56,7 +56,7 @@ Result hidInitialize(void)
|
||||
|
||||
if (R_SUCCEEDED(rc))
|
||||
{
|
||||
shmemLoadRemote(&g_hidSharedmem, sharedmem_handle, 0x40000, PERM_R);
|
||||
shmemLoadRemote(&g_hidSharedmem, sharedmem_handle, 0x40000, Perm_R);
|
||||
|
||||
rc = shmemMap(&g_hidSharedmem);
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ Result nvInitialize(nvServiceType servicetype, size_t transfermem_size)
|
||||
g_nvIpcBufferSize = 0;
|
||||
rc = ipcQueryPointerBufferSize(g_nvSrv.handle, &g_nvIpcBufferSize);
|
||||
|
||||
if (R_SUCCEEDED(rc)) rc = tmemCreate(&g_nvTransfermem, transfermem_size, PERM_NONE);
|
||||
if (R_SUCCEEDED(rc)) rc = tmemCreate(&g_nvTransfermem, transfermem_size, Perm_None);
|
||||
|
||||
if (R_SUCCEEDED(rc)) rc = _nvInitialize(CUR_PROCESS_HANDLE, g_nvTransfermem.handle, transfermem_size);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user