Homogenize indentation (use tabs)

This commit is contained in:
fincs 2014-08-21 22:59:42 +02:00
parent a0f8a6d153
commit 8fccb570e5
6 changed files with 167 additions and 170 deletions

View File

@ -1,9 +1,8 @@
#ifndef OS_H #ifndef OS_H
#define OS_H #define OS_H
#define SYSTEM_VERSION(major, minor, revision) \ #define SYSTEM_VERSION(major, minor, revision) \
(((major)<<24)|((minor)<<16)|((revision)<<8)) (((major)<<24)|((minor)<<16)|((revision)<<8))
u32 osConvertVirtToPhys(u32 vaddr); u32 osConvertVirtToPhys(u32 vaddr);
const char* osStrError(u32 error); const char* osStrError(u32 error);

View File

@ -5,23 +5,22 @@
#ifndef SVC_H #ifndef SVC_H
#define SVC_H #define SVC_H
typedef enum { typedef enum {
MEMOP_FREE =1, // Free heap MEMOP_FREE =1, // Free heap
MEMOP_ALLOC=3, // Allocate heap MEMOP_ALLOC=3, // Allocate heap
MEMOP_MAP =4, // Mirror mapping MEMOP_MAP =4, // Mirror mapping
MEMOP_UNMAP=5, // Mirror unmapping MEMOP_UNMAP=5, // Mirror unmapping
MEMOP_PROT =6, // Change protection MEMOP_PROT =6, // Change protection
MEMOP_FREE_LINEAR =0x10001, // Free linear heap MEMOP_FREE_LINEAR =0x10001, // Free linear heap
MEMOP_ALLOC_LINEAR=0x10003 // Allocate linear heap MEMOP_ALLOC_LINEAR=0x10003 // Allocate linear heap
} MemOp; } MemOp;
typedef enum { typedef enum {
MEMPERM_READ =1, MEMPERM_READ =1,
MEMPERM_WRITE =2, MEMPERM_WRITE =2,
MEMPERM_EXECUTE=4, MEMPERM_EXECUTE=4,
MEMPERM_MAX =0xFFFFFFFF //force 4-byte MEMPERM_MAX =0xFFFFFFFF //force 4-byte
} MemPerm; } MemPerm;
u32* getThreadCommandBuffer(void); u32* getThreadCommandBuffer(void);
@ -50,5 +49,4 @@ s32 svcConnectToPort(volatile Handle* out, const char* portName);
s32 svcSendSyncRequest(Handle session); s32 svcSendSyncRequest(Handle session);
s32 svcGetProcessId(u32 *out, Handle handle); s32 svcGetProcessId(u32 *out, Handle handle);
#endif #endif

View File

@ -2,11 +2,11 @@
#define NETDB_H #define NETDB_H
struct hostent { struct hostent {
char * h_name; char * h_name;
char ** h_aliases; char ** h_aliases;
int h_addrtype; int h_addrtype;
int h_length; int h_length;
char ** h_addr_list; char ** h_addr_list;
}; };

View File

@ -4,50 +4,50 @@
u32 osConvertVirtToPhys(u32 vaddr) u32 osConvertVirtToPhys(u32 vaddr)
{ {
if(vaddr >= 0x14000000 && vaddr < 0x1c000000) if(vaddr >= 0x14000000 && vaddr < 0x1c000000)
return vaddr + 0x0c000000; // LINEAR heap return vaddr + 0x0c000000; // LINEAR heap
if(vaddr >= 0x1F000000 && vaddr < 0x1F600000) if(vaddr >= 0x1F000000 && vaddr < 0x1F600000)
return vaddr - 0x07000000; // VRAM return vaddr - 0x07000000; // VRAM
if(vaddr >= 0x1FF00000 && vaddr < 0x1FF80000) if(vaddr >= 0x1FF00000 && vaddr < 0x1FF80000)
return vaddr + 0x00000000; // DSP memory return vaddr + 0x00000000; // DSP memory
if(vaddr >= 0x30000000 && vaddr < 0x40000000) if(vaddr >= 0x30000000 && vaddr < 0x40000000)
return vaddr - 0x10000000; // Only available under FIRM v8+ for certain processes. return vaddr - 0x10000000; // Only available under FIRM v8+ for certain processes.
return 0; return 0;
} }
u32 osGetFirmVersion() { u32 osGetFirmVersion() {
return (*(u32*)0x1FF80000) & ~0xFF; return (*(u32*)0x1FF80000) & ~0xFF;
} }
u32 osGetKernelVersion() { u32 osGetKernelVersion() {
return (*(u32*)0x1FF80060) & ~0xFF; return (*(u32*)0x1FF80060) & ~0xFF;
} }
const char* osStrError(u32 error) { const char* osStrError(u32 error) {
switch((error>>26) & 0x3F) { switch((error>>26) & 0x3F) {
case 0: case 0:
return "Success."; return "Success.";
case 1: case 1:
return "Nothing happened."; return "Nothing happened.";
case 2: case 2:
return "Would block."; return "Would block.";
case 3: case 3:
return "Not enough resources."; return "Not enough resources.";
case 4: case 4:
return "Not found."; return "Not found.";
case 5: case 5:
return "Invalid state."; return "Invalid state.";
case 6: case 6:
return "Unsupported."; return "Unsupported.";
case 7: case 7:
return "Invalid argument."; return "Invalid argument.";
case 8: case 8:
return "Wrong argument."; return "Wrong argument.";
case 9: case 9:
return "Interrupted."; return "Interrupted.";
case 10: case 10:
return "Internal error."; return "Internal error.";
default: default:
return "Unknown."; return "Unknown.";
} }
} }

View File

@ -20,133 +20,133 @@ static circlePosition cPos;
Result hidInit(u32* sharedMem) Result hidInit(u32* sharedMem)
{ {
if(!sharedMem)sharedMem=(u32*)HID_SHAREDMEM_DEFAULT; if(!sharedMem)sharedMem=(u32*)HID_SHAREDMEM_DEFAULT;
Result ret=0; Result ret=0;
// Request service. // Request service.
if((ret=srvGetServiceHandle(&hidHandle, "hid:USER")))return ret; if((ret=srvGetServiceHandle(&hidHandle, "hid:USER")))return ret;
// Get sharedmem handle. // Get sharedmem handle.
if((ret=HIDUSER_GetSharedMem(&hidMemHandle))) goto cleanup1; if((ret=HIDUSER_GetSharedMem(&hidMemHandle))) goto cleanup1;
// Map HID shared memory at addr "sharedMem". // Map HID shared memory at addr "sharedMem".
hidSharedMem=sharedMem; hidSharedMem=sharedMem;
if((ret=svcMapMemoryBlock(hidMemHandle, (u32)hidSharedMem, MEMPERM_READ, 0x10000000)))goto cleanup2; if((ret=svcMapMemoryBlock(hidMemHandle, (u32)hidSharedMem, MEMPERM_READ, 0x10000000)))goto cleanup2;
// Reset internal state. // Reset internal state.
kOld = kHeld = kDown = kUp = 0; kOld = kHeld = kDown = kUp = 0;
return 0; return 0;
cleanup2: cleanup2:
svcCloseHandle(hidMemHandle); svcCloseHandle(hidMemHandle);
cleanup1: cleanup1:
svcCloseHandle(hidHandle); svcCloseHandle(hidHandle);
return ret; return ret;
} }
void hidExit() void hidExit()
{ {
// Unmap HID sharedmem and close handles. // Unmap HID sharedmem and close handles.
svcUnmapMemoryBlock(hidMemHandle, (u32)hidSharedMem); svcUnmapMemoryBlock(hidMemHandle, (u32)hidSharedMem);
svcCloseHandle(hidMemHandle); svcCloseHandle(hidMemHandle);
svcCloseHandle(hidHandle); svcCloseHandle(hidHandle);
} }
void hidScanInput() void hidScanInput()
{ {
kOld = kHeld; kOld = kHeld;
int padId = hidSharedMem[4]; int padId = hidSharedMem[4];
kHeld = hidSharedMem[10 + padId*4]; kHeld = hidSharedMem[10 + padId*4];
cPos = *(circlePosition*)&hidSharedMem[10 + padId*4 + 3]; cPos = *(circlePosition*)&hidSharedMem[10 + padId*4 + 3];
int touchId = hidSharedMem[42 + 4]; int touchId = hidSharedMem[42 + 4];
tPos = *(touchPosition*)&hidSharedMem[42 + 8 + touchId*2]; tPos = *(touchPosition*)&hidSharedMem[42 + 8 + touchId*2];
if (hidSharedMem[42 + 8 + touchId*2 + 1]) if (hidSharedMem[42 + 8 + touchId*2 + 1])
kHeld |= KEY_TOUCH; kHeld |= KEY_TOUCH;
kDown = (~kOld) & kHeld; kDown = (~kOld) & kHeld;
kUp = kOld & (~kHeld); kUp = kOld & (~kHeld);
} }
u32 hidKeysHeld() u32 hidKeysHeld()
{ {
return kHeld; return kHeld;
} }
u32 hidKeysDown() u32 hidKeysDown()
{ {
return kDown; return kDown;
} }
u32 hidKeysUp() u32 hidKeysUp()
{ {
return kUp; return kUp;
} }
void hidTouchRead(touchPosition* pos) void hidTouchRead(touchPosition* pos)
{ {
if (pos) *pos = tPos; if (pos) *pos = tPos;
} }
void hidCircleRead(circlePosition* pos) void hidCircleRead(circlePosition* pos)
{ {
if (pos) *pos = cPos; if (pos) *pos = cPos;
} }
Result HIDUSER_GetSharedMem(Handle* outMemHandle) Result HIDUSER_GetSharedMem(Handle* outMemHandle)
{ {
u32* cmdbuf=getThreadCommandBuffer(); u32* cmdbuf=getThreadCommandBuffer();
cmdbuf[0]=0xa0000; //request header code cmdbuf[0]=0xa0000; //request header code
Result ret=0; Result ret=0;
if((ret=svcSendSyncRequest(hidHandle)))return ret; if((ret=svcSendSyncRequest(hidHandle)))return ret;
if(outMemHandle)*outMemHandle=cmdbuf[3]; if(outMemHandle)*outMemHandle=cmdbuf[3];
return cmdbuf[1]; return cmdbuf[1];
} }
Result HIDUSER_EnableAccelerometer() Result HIDUSER_EnableAccelerometer()
{ {
u32* cmdbuf=getThreadCommandBuffer(); u32* cmdbuf=getThreadCommandBuffer();
cmdbuf[0]=0x110000; //request header code cmdbuf[0]=0x110000; //request header code
Result ret=0; Result ret=0;
if((ret=svcSendSyncRequest(hidHandle)))return ret; if((ret=svcSendSyncRequest(hidHandle)))return ret;
return cmdbuf[1]; return cmdbuf[1];
} }
Result HIDUSER_DisableAccelerometer() Result HIDUSER_DisableAccelerometer()
{ {
u32* cmdbuf=getThreadCommandBuffer(); u32* cmdbuf=getThreadCommandBuffer();
cmdbuf[0]=0x120000; //request header code cmdbuf[0]=0x120000; //request header code
Result ret=0; Result ret=0;
if((ret=svcSendSyncRequest(hidHandle)))return ret; if((ret=svcSendSyncRequest(hidHandle)))return ret;
return cmdbuf[1]; return cmdbuf[1];
} }
Result HIDUSER_EnableGyroscope() Result HIDUSER_EnableGyroscope()
{ {
u32* cmdbuf=getThreadCommandBuffer(); u32* cmdbuf=getThreadCommandBuffer();
cmdbuf[0]=0x130000; //request header code cmdbuf[0]=0x130000; //request header code
Result ret=0; Result ret=0;
if((ret=svcSendSyncRequest(hidHandle)))return ret; if((ret=svcSendSyncRequest(hidHandle)))return ret;
return cmdbuf[1]; return cmdbuf[1];
} }
Result HIDUSER_DisableGyroscope() Result HIDUSER_DisableGyroscope()
{ {
u32* cmdbuf=getThreadCommandBuffer(); u32* cmdbuf=getThreadCommandBuffer();
cmdbuf[0]=0x140000; //request header code cmdbuf[0]=0x140000; //request header code
Result ret=0; Result ret=0;
if((ret=svcSendSyncRequest(hidHandle)))return ret; if((ret=svcSendSyncRequest(hidHandle)))return ret;
return cmdbuf[1]; return cmdbuf[1];
} }

View File

@ -20,12 +20,12 @@
*/ */
typedef struct { typedef struct {
u32 num; u32 num;
struct { struct {
char name[8]; char name[8];
Handle handle; Handle handle;
} services[]; } services[];
} service_list_t; } service_list_t;
extern service_list_t* __service_ptr; extern service_list_t* __service_ptr;
@ -35,86 +35,86 @@ static Handle g_srv_handle = 0;
static int __name_cmp(const char* a, const char* b) { static int __name_cmp(const char* a, const char* b) {
u32 i; u32 i;
for(i=0; i<8; i++) { for(i=0; i<8; i++) {
if(a[i] != b[i]) if(a[i] != b[i])
return 1; return 1;
if(a[i] == '\0') if(a[i] == '\0')
return 0; return 0;
} }
return 0; return 0;
} }
static Handle __get_handle_from_list(char* name) { static Handle __get_handle_from_list(char* name) {
if((u32)__service_ptr == 0) if((u32)__service_ptr == 0)
return 0; return 0;
u32 i, num = __service_ptr->num; u32 i, num = __service_ptr->num;
for(i=0; i<num; i++) { for(i=0; i<num; i++) {
if(__name_cmp(__service_ptr->services[i].name, name) == 0) if(__name_cmp(__service_ptr->services[i].name, name) == 0)
return __service_ptr->services[i].handle; return __service_ptr->services[i].handle;
} }
return 0; return 0;
} }
Result srvInit() Result srvInit()
{ {
Result rc = 0; Result rc = 0;
if((rc = svcConnectToPort(&g_srv_handle, "srv:")))return rc; if((rc = svcConnectToPort(&g_srv_handle, "srv:")))return rc;
if((rc = srvRegisterClient())) { if((rc = srvRegisterClient())) {
svcCloseHandle(g_srv_handle); svcCloseHandle(g_srv_handle);
g_srv_handle = 0; g_srv_handle = 0;
} }
return rc; return rc;
} }
Result srvExit() Result srvExit()
{ {
if(g_srv_handle != 0)svcCloseHandle(g_srv_handle); if(g_srv_handle != 0)svcCloseHandle(g_srv_handle);
g_srv_handle = 0; g_srv_handle = 0;
return 0; return 0;
} }
Result srvRegisterClient() Result srvRegisterClient()
{ {
u32* cmdbuf = getThreadCommandBuffer(); u32* cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = 0x10002; cmdbuf[0] = 0x10002;
cmdbuf[1] = 0x20; cmdbuf[1] = 0x20;
Result rc; Result rc;
if((rc = svcSendSyncRequest(g_srv_handle)))return rc; if((rc = svcSendSyncRequest(g_srv_handle)))return rc;
return cmdbuf[1]; return cmdbuf[1];
} }
Result srvGetServiceHandle(Handle* out, char* name) Result srvGetServiceHandle(Handle* out, char* name)
{ {
/* Look in service-list given to us by loader. If we find find a match, /* Look in service-list given to us by loader. If we find find a match,
we return it. */ we return it. */
Handle h = __get_handle_from_list(name); Handle h = __get_handle_from_list(name);
if(h != 0) { if(h != 0) {
return svcDuplicateHandle(out, h); return svcDuplicateHandle(out, h);
} }
/* Normal request to service manager. */ /* Normal request to service manager. */
u32* cmdbuf = getThreadCommandBuffer(); u32* cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = 0x50100; cmdbuf[0] = 0x50100;
strcpy((char*) &cmdbuf[1], name); strcpy((char*) &cmdbuf[1], name);
cmdbuf[3] = strlen(name); cmdbuf[3] = strlen(name);
cmdbuf[4] = 0x0; cmdbuf[4] = 0x0;
Result rc; Result rc;
if((rc = svcSendSyncRequest(g_srv_handle)))return rc; if((rc = svcSendSyncRequest(g_srv_handle)))return rc;
*out = cmdbuf[3]; *out = cmdbuf[3];
return cmdbuf[1]; return cmdbuf[1];
} }