diff --git a/libctru/include/3ds/services/am.h b/libctru/include/3ds/services/am.h index bf8bc95..859c9e9 100644 --- a/libctru/include/3ds/services/am.h +++ b/libctru/include/3ds/services/am.h @@ -16,6 +16,7 @@ typedef struct Result amInit(); Result amExit(); +Handle *amGetSessionHandle(); /* AM_GetTitleCount() About: Gets the number of titles for a given mediatype diff --git a/libctru/include/3ds/services/fs.h b/libctru/include/3ds/services/fs.h index be53a4d..2f7b4dd 100644 --- a/libctru/include/3ds/services/fs.h +++ b/libctru/include/3ds/services/fs.h @@ -129,6 +129,7 @@ typedef struct Result fsInit(void); Result fsExit(void); +Handle *fsGetSessionHandle(); FS_path FS_makePath(FS_pathType type, const char *path); diff --git a/libctru/include/3ds/srv.h b/libctru/include/3ds/srv.h index 9fbe481..509e37f 100644 --- a/libctru/include/3ds/srv.h +++ b/libctru/include/3ds/srv.h @@ -2,6 +2,7 @@ Result srvInit(); Result srvExit(); +Handle *srvGetSessionHandle(); Result srvRegisterClient(); Result srvGetServiceHandle(Handle* out, const char* name); Result srvRegisterService(Handle* out, const char* name, int maxSessions); diff --git a/libctru/source/services/ac.c b/libctru/source/services/ac.c index 3579a21..04449f0 100644 --- a/libctru/source/services/ac.c +++ b/libctru/source/services/ac.c @@ -91,7 +91,7 @@ Result ACU_WaitInternetConnection() while(1) { ret = ACU_GetWifiStatus(&servhandle, &outval); - if(ret==0 && outval==1)break; + if(ret==0 && outval!=0)break; } svcCloseHandle(servhandle); diff --git a/libctru/source/services/am.c b/libctru/source/services/am.c index 8c0d530..7830651 100644 --- a/libctru/source/services/am.c +++ b/libctru/source/services/am.c @@ -21,6 +21,11 @@ Result amExit() return svcCloseHandle(amHandle); } +Handle *amGetSessionHandle() +{ + return &amHandle; +} + Result AM_GetTitleCount(u8 mediatype, u32 *count) { Result ret = 0; diff --git a/libctru/source/services/fs.c b/libctru/source/services/fs.c index cd48f6f..157583e 100644 --- a/libctru/source/services/fs.c +++ b/libctru/source/services/fs.c @@ -69,6 +69,15 @@ fsExit(void) return svcCloseHandle(fsuHandle); } +/*! Gets the fsuser service session handle. +* +* @returns Handle +*/ +Handle *fsGetSessionHandle() +{ + return &fsuHandle; +} + /*! Initialize FS service handle * * If @a handle is NULL, this initializes @ref fsuHandle. diff --git a/libctru/source/srv.c b/libctru/source/srv.c index 53c0767..2243717 100644 --- a/libctru/source/srv.c +++ b/libctru/source/srv.c @@ -97,6 +97,11 @@ Result srvExit() return 0; } +Handle *srvGetSessionHandle() +{ + return &g_srv_handle; +} + Result srvRegisterClient() { Result rc = 0;