mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 12:32:40 +02:00
Aligning code style of kernel primitives
This commit is contained in:
parent
282fdefe2b
commit
3ca6e65984
@ -1,8 +1,8 @@
|
||||
typedef struct {
|
||||
Handle MemHandle;
|
||||
size_t Size;
|
||||
Permission Perm;
|
||||
void* MappedAddr;
|
||||
Handle handle;
|
||||
size_t size;
|
||||
Permission perm;
|
||||
void* map_addr;
|
||||
} SharedMemory;
|
||||
|
||||
Result shmemCreate(SharedMemory* s, size_t size, Permission local_perm, Permission remote_perm);
|
||||
|
@ -1,9 +1,9 @@
|
||||
typedef struct {
|
||||
Handle MemHandle;
|
||||
size_t Size;
|
||||
Permission Perm;
|
||||
void* SourceAddr;
|
||||
void* MappedAddr;
|
||||
Handle handle;
|
||||
size_t size;
|
||||
Permission perm;
|
||||
void* src_addr;
|
||||
void* map_addr;
|
||||
} TransferMemory;
|
||||
|
||||
Result tmemCreate(TransferMemory* t, size_t size, Permission perm);
|
||||
|
@ -6,39 +6,39 @@ Result shmemCreate(SharedMemory* s, size_t size, Permission local_perm, Permissi
|
||||
{
|
||||
Result rc;
|
||||
|
||||
s->MemHandle = INVALID_HANDLE;
|
||||
s->Size = size;
|
||||
s->MappedAddr = NULL;
|
||||
s->Perm = local_perm;
|
||||
s->handle = INVALID_HANDLE;
|
||||
s->size = size;
|
||||
s->map_addr = NULL;
|
||||
s->perm = local_perm;
|
||||
|
||||
rc = svcCreateSharedMemory(&s->MemHandle, size, local_perm, remote_perm);
|
||||
rc = svcCreateSharedMemory(&s->handle, size, local_perm, remote_perm);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
void shmemLoadRemote(SharedMemory* s, Handle handle, size_t size, Permission perm)
|
||||
{
|
||||
s->MemHandle = handle;
|
||||
s->Size = size;
|
||||
s->MappedAddr = NULL;
|
||||
s->Perm = perm;
|
||||
s->handle = handle;
|
||||
s->size = size;
|
||||
s->map_addr = NULL;
|
||||
s->perm = perm;
|
||||
}
|
||||
|
||||
Result shmemMap(SharedMemory* s)
|
||||
{
|
||||
Result rc = 0;
|
||||
|
||||
if (s->MappedAddr == NULL)
|
||||
if (s->map_addr == NULL)
|
||||
{
|
||||
void* addr = virtmemReserve(s->Size);
|
||||
void* addr = virtmemReserve(s->size);
|
||||
|
||||
rc = svcMapSharedMemory(s->MemHandle, addr, s->Size, s->Perm);
|
||||
rc = svcMapSharedMemory(s->handle, addr, s->size, s->perm);
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
s->MappedAddr = addr;
|
||||
s->map_addr = addr;
|
||||
}
|
||||
else {
|
||||
virtmemFree(addr, s->Size);
|
||||
virtmemFree(addr, s->size);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -52,33 +52,33 @@ Result shmemUnmap(SharedMemory* s)
|
||||
{
|
||||
Result rc;
|
||||
|
||||
rc = svcUnmapSharedMemory(s->MemHandle, s->MappedAddr, s->Size);
|
||||
rc = svcUnmapSharedMemory(s->handle, s->map_addr, s->size);
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
s->MappedAddr = NULL;
|
||||
s->map_addr = NULL;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
void* shmemGetAddr(SharedMemory* s) {
|
||||
return s->MappedAddr;
|
||||
return s->map_addr;
|
||||
}
|
||||
|
||||
Result shmemClose(SharedMemory* s)
|
||||
{
|
||||
Result rc = 0;
|
||||
|
||||
if (s->MappedAddr != NULL) {
|
||||
if (s->map_addr != NULL) {
|
||||
rc = shmemUnmap(s);
|
||||
}
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
if (s->MemHandle != INVALID_HANDLE) {
|
||||
rc = svcCloseHandle(s->MemHandle);
|
||||
if (s->handle != INVALID_HANDLE) {
|
||||
rc = svcCloseHandle(s->handle);
|
||||
}
|
||||
|
||||
s->MemHandle = INVALID_HANDLE;
|
||||
s->handle = INVALID_HANDLE;
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
@ -6,18 +6,18 @@ Result tmemCreate(TransferMemory* t, size_t size, Permission perm)
|
||||
{
|
||||
Result rc = 0;
|
||||
|
||||
t->MemHandle = INVALID_HANDLE;
|
||||
t->Size = size;
|
||||
t->Perm = perm;
|
||||
t->MappedAddr = NULL;
|
||||
t->SourceAddr = memalign(0x1000, size);
|
||||
t->handle = INVALID_HANDLE;
|
||||
t->size = size;
|
||||
t->perm = perm;
|
||||
t->map_addr = NULL;
|
||||
t->src_addr = memalign(0x1000, size);
|
||||
|
||||
if (t->SourceAddr == NULL) {
|
||||
if (t->src_addr == NULL) {
|
||||
rc = MAKERESULT(MODULE_LIBNX, LIBNX_OUTOFMEM);
|
||||
}
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
rc = svcCreateTransferMemory(&t->MemHandle, t->SourceAddr, size, perm);
|
||||
rc = svcCreateTransferMemory(&t->handle, t->src_addr, size, perm);
|
||||
}
|
||||
|
||||
return rc;
|
||||
@ -25,28 +25,28 @@ Result tmemCreate(TransferMemory* t, size_t size, Permission perm)
|
||||
|
||||
void tmemLoadRemote(TransferMemory* t, Handle handle, size_t size, Permission perm)
|
||||
{
|
||||
t->MemHandle = handle;
|
||||
t->Size = size;
|
||||
t->Perm = perm;
|
||||
t->MappedAddr = NULL;
|
||||
t->SourceAddr = NULL;
|
||||
t->handle = handle;
|
||||
t->size = size;
|
||||
t->perm = perm;
|
||||
t->map_addr = NULL;
|
||||
t->src_addr = NULL;
|
||||
}
|
||||
|
||||
Result tmemMap(TransferMemory* t)
|
||||
{
|
||||
Result rc = 0;
|
||||
|
||||
if (t->MappedAddr == NULL)
|
||||
if (t->map_addr == NULL)
|
||||
{
|
||||
void* addr = virtmemReserve(t->Size);
|
||||
void* addr = virtmemReserve(t->size);
|
||||
|
||||
rc = svcMapTransferMemory(t->MemHandle, addr, t->Size, t->Perm);
|
||||
rc = svcMapTransferMemory(t->handle, addr, t->size, t->perm);
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
t->MappedAddr = addr;
|
||||
t->map_addr = addr;
|
||||
}
|
||||
else {
|
||||
virtmemFree(addr, t->Size);
|
||||
virtmemFree(addr, t->size);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -60,38 +60,38 @@ Result tmemUnmap(TransferMemory* t)
|
||||
{
|
||||
Result rc;
|
||||
|
||||
rc = svcUnmapTransferMemory(t->MemHandle, t->MappedAddr, t->Size);
|
||||
rc = svcUnmapTransferMemory(t->handle, t->map_addr, t->size);
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
t->MappedAddr = NULL;
|
||||
t->map_addr = NULL;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
void* tmemGetAddr(TransferMemory* t) {
|
||||
return t->MappedAddr;
|
||||
return t->map_addr;
|
||||
}
|
||||
|
||||
Result tmemClose(TransferMemory* t)
|
||||
{
|
||||
Result rc = 0;
|
||||
|
||||
if (t->SourceAddr != NULL) {
|
||||
free(t->SourceAddr);
|
||||
if (t->src_addr != NULL) {
|
||||
free(t->src_addr);
|
||||
}
|
||||
|
||||
if (t->MappedAddr != NULL) {
|
||||
if (t->map_addr != NULL) {
|
||||
rc = tmemUnmap(t);
|
||||
}
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
if (t->MemHandle != INVALID_HANDLE) {
|
||||
rc = svcCloseHandle(t->MemHandle);
|
||||
if (t->handle != INVALID_HANDLE) {
|
||||
rc = svcCloseHandle(t->handle);
|
||||
}
|
||||
|
||||
t->SourceAddr = NULL;
|
||||
t->MemHandle = INVALID_HANDLE;
|
||||
t->src_addr = NULL;
|
||||
t->handle = INVALID_HANDLE;
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
@ -12,7 +12,7 @@ static Result _bsdRegisterClient(Handle h, TransferMemory* tmem, u64* pid_out) {
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
ipcSendPid(&c);
|
||||
ipcSendHandleCopy(&c, tmem->MemHandle);
|
||||
ipcSendHandleCopy(&c, tmem->handle);
|
||||
|
||||
struct {
|
||||
u64 magic;
|
||||
@ -31,7 +31,7 @@ static Result _bsdRegisterClient(Handle h, TransferMemory* tmem, u64* pid_out) {
|
||||
raw->unk0[2] = 0x40000;
|
||||
raw->unk0[3] = 0xA500;
|
||||
raw->unk0[4] = 13;
|
||||
raw->tmem_sz = tmem->Size;
|
||||
raw->tmem_sz = tmem->size;
|
||||
|
||||
Result rc = ipcDispatch(h);
|
||||
|
||||
|
@ -43,7 +43,7 @@ Result nvInitialize(nvServiceType servicetype, size_t transfermem_size) {
|
||||
|
||||
if (R_SUCCEEDED(rc)) rc = tmemCreate(&g_nvTransfermem, transfermem_size, PERM_NONE);
|
||||
|
||||
if (R_SUCCEEDED(rc)) rc = _nvInitialize(CUR_PROCESS_HANDLE, g_nvTransfermem.MemHandle, transfermem_size);
|
||||
if (R_SUCCEEDED(rc)) rc = _nvInitialize(CUR_PROCESS_HANDLE, g_nvTransfermem.handle, transfermem_size);
|
||||
|
||||
//Officially ipc control DuplicateSessionEx would be used here.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user