#include <stdio.h>
#include <math.h>
#include <string.h>
-#include <3ds/3ds.h>
+#include <3ds.h>
#include "math.h"
#include "test_vsh_shbin.h"
#include "test_png_bin.h"
-#ifndef __3DS_H
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
//might be missing some
#include <3ds/types.h>
+#include <3ds/svc.h>
#include <3ds/srv.h>
+#include <3ds/os.h>
+#include <3ds/AC.h>
#include <3ds/APT.h>
+#include <3ds/CFGNOR.h>
+#include <3ds/CSND.h>
+#include <3ds/FS.h>
+#include <3ds/gfx.h>
#include <3ds/GSP.h>
#include <3ds/GX.h>
#include <3ds/GPU.h>
#include <3ds/HID.h>
+#include <3ds/HTTPC.h>
+#include <3ds/IR.h>
+#include <3ds/PTM.h>
#include <3ds/SHDR.h>
-#include <3ds/svc.h>
-#include <3ds/os.h>
-#include <3ds/gfx.h>
+#include <3ds/SOC.h>
+#ifdef __cplusplus
+}
#endif
-#ifndef AC_H
-#define AC_H
+#pragma once
Result acInit();
Result acExit();
Result ACU_GetWifiStatus(Handle* servhandle, u32 *out);
Result ACU_WaitInternetConnection();
-
-#endif
-
-#ifndef APT_H
-#define APT_H
+#pragma once
// TODO : find a better place to put this
#define RUNFLAG_APTWORKAROUND (BIT(0))
Result APT_ReplySleepNotificationComplete(Handle* handle, NS_APPID appID);
Result APT_PrepareToCloseApplication(Handle* handle, u8 a);
Result APT_CloseApplication(Handle* handle, u32 a, u32 b, u32 c);
-
-#endif
-#ifndef CFGNOR_H
-#define CFGNOR_H
+#pragma once
Result CFGNOR_Initialize(u8 value);
Result CFGNOR_Shutdown();
Result CFGNOR_WriteData(u32 offset, u32 *buf, u32 size);
Result CFGNOR_DumpFlash(u32 *buf, u32 size);
Result CFGNOR_WriteFlash(u32 *buf, u32 size);
-
-#endif
-
-#ifndef CSND_H
-#define CSND_H
+#pragma once
#define CSND_SHAREDMEM_DEFAULT 0x10004000
Result CSND_getchannelstate(u32 entryindex, u32 *out);
Result CSND_getchannelstate_isplaying(u32 entryindex, u8 *status);
-
-#endif
-
#pragma once
-#ifndef FS_H
-#define FS_H
+#include <string.h>
+#include <3ds/types.h>
/*! @file FS.h
*
* Filesystem Services
*/
-#include <string.h>
-#include <3ds/types.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
/*! @defgroup fs_open_flags FS Open Flags
*
* @sa FSUSER_OpenFile
Result FSDIR_Read(Handle handle, u32 *entriesRead, u32 entrycount, FS_dirent *buffer);
Result FSDIR_Close(Handle handle);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-#ifndef GPU_H
-#define GPU_H
+#pragma once
void GPU_Init(Handle *gsphandle);
void GPU_Reset(u32* gxbuf, u32* gpuBuf, u32 gpuBufSize);
void GPU_DrawArray(GPU_Primitive_t primitive, u32 n);
void GPU_DrawElements(GPU_Primitive_t primitive, u32* indexArray, u32 n);
-
-#endif
-#ifndef GSP_H
-#define GSP_H
+#pragma once
#define GSP_REBASE_REG(r) ((r)-0x1EB00000)
Result GSPGPU_UnregisterInterruptRelayQueue(Handle* handle);
Result GSPGPU_TriggerCmdReqQueue(Handle *handle);
Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8], Handle* handle);
-
-#endif
-#ifndef GX_H
-#define GX_H
+#pragma once
#define GX_BUFFER_DIM(w, h) (((h)<<16)|((w)&0xFFFF))
Result GX_SetDisplayTransfer(u32* gxbuf, u32* inadr, u32 indim, u32* outadr, u32 outdim, u32 flags);
Result GX_SetTextureCopy(u32* gxbuf, u32* inadr, u32 indim, u32* outadr, u32 outdim, u32 size, u32 flags);
Result GX_SetCommandList_First(u32* gxbuf, u32* buf0a, u32 buf0s, u32* buf1a, u32 buf1s, u32* buf2a, u32 buf2s);
-
-#endif
-#ifndef HID_H
-#define HID_H
+#pragma once
#define HID_SHAREDMEM_DEFAULT (0x10000000)
Result HIDUSER_DisableAccelerometer();
Result HIDUSER_EnableGyroscope();
Result HIDUSER_DisableGyroscope();
-
-#endif
-#ifndef HTTPC_H
-#define HTTPC_H
+#pragma once
Result HTTPC_Initialize(Handle handle);
Result HTTPC_InitializeConnectionSession(Handle handle, Handle contextHandle);
Result HTTPC_AddRequestHeaderField(Handle handle, Handle contextHandle, char* name, char* value);
Result HTTPC_BeginRequest(Handle handle, Handle contextHandle);
Result HTTPC_ReceiveData(Handle handle, Handle contextHandle, u8* buffer, u32 size);
-
-#endif
-#ifndef IR_H
-#define IR_H
+#pragma once
Result IRU_Initialize(u32 *sharedmem_addr, u32 sharedmem_size);//The permissions for the specified memory is set to RO. This memory must be already mapped.
Result IRU_Shutdown();
Result IRU_GetBitRate(u8 *out);
Result IRU_SetIRLEDState(u32 value);
Result IRU_GetIRLEDRecvState(u32 *out);
-
-#endif
-
-#ifndef PTM_H
-#define PTM_H
+#pragma once
Result ptmInit();
Result ptmExit();
Result PTMU_GetBatteryLevel(Handle* servhandle, u8 *out);
Result PTMU_GetBatteryChargeState(Handle* servhandle, u8 *out);
-
-#endif
-#ifndef SHDR_H
-#define SHDR_H
+#pragma once
typedef enum{
VERTEX_SHDR=0x0,
void DVLE_SendOutmap(DVLE_s* dvle);
void DVLE_SendConstants(DVLE_s* dvle);
-
-#endif
-#ifndef SOC_H
-#define SOC_H
+#pragma once
Result SOC_Initialize(u32 *context_addr, u32 context_size);//Example context_size: 0x48000. The specified context buffer can no longer be accessed by the process which called this function, since the userland permissions for this block are set to no-access.
Result SOC_Shutdown();
int SOC_GetErrno();
-
-#endif
-#ifndef GFX_H
-#define GFX_H
-
+#pragma once
#include <3ds/types.h>
typedef enum
extern u8* gfxTopLeftFramebuffers[2];
extern u8* gfxSubFramebuffers[2];
extern u8* gfxBottomFramebuffers[2];
-
-#endif
-#ifndef OS_H
-#define OS_H
+#pragma once
#define SYSTEM_VERSION(major, minor, revision) \
(((major)<<24)|((minor)<<16)|((revision)<<8))
const char* osStrError(u32 error);
u32 osGetFirmVersion();
u32 osGetKernelVersion();
-
-#endif
-#ifndef SRV_H
-#define SRV_H
+#pragma once
Result srvInit();
Result srvExit();
Result srvRegisterClient();
Result srvGetServiceHandle(Handle* out, char* name);
-
-#endif
types.h _ Various system types.
*/
-#ifndef TYPES_H
-#define TYPES_H
-
-
+#pragma once
#include <stdint.h>
#include <stdbool.h>
typedef void (*ThreadFunc)(u32);
#define BIT(n) (1U<<(n))
-
-#endif