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
#define OS_H
#define SYSTEM_VERSION(major, minor, revision) \
(((major)<<24)|((minor)<<16)|((revision)<<8))
(((major)<<24)|((minor)<<16)|((revision)<<8))
u32 osConvertVirtToPhys(u32 vaddr);
const char* osStrError(u32 error);

View File

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

View File

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

View File

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

View File

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

View File

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