mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 12:32:40 +02:00
Change all services except fatal to use hosversion* instead of kernelAboveXYZ
This commit is contained in:
parent
61cc738730
commit
11b7bece4a
@ -6,10 +6,7 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../kernel/ipc.h"
|
||||
#include "../kernel/detect.h"
|
||||
|
||||
#include "../services/sm.h"
|
||||
|
||||
Result nifmInitialize(void);
|
||||
|
@ -3,10 +3,10 @@
|
||||
#include <math.h>
|
||||
#include "types.h"
|
||||
#include "result.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/applet.h"
|
||||
#include "applets/libapplet.h"
|
||||
#include "applets/swkbd.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "runtime/util/utf.h"
|
||||
|
||||
static Result _swkbdGetReplies(SwkbdInline* s);
|
||||
@ -51,19 +51,17 @@ static void _swkbdConfigClear(SwkbdConfig* c) {
|
||||
}
|
||||
|
||||
static void _swkbdInitVersion(u32* version) {
|
||||
*version=0x5;//1.0.0+ version
|
||||
if (kernelAbove500()) {
|
||||
u32 hosver = hosversionGet();
|
||||
if (hosver >= MAKEHOSVERSION(5,0,0))
|
||||
*version = 0x50009;
|
||||
}
|
||||
else if (kernelAbove400()) {
|
||||
else if (hosver >= MAKEHOSVERSION(4,0,0))
|
||||
*version = 0x40008;
|
||||
}
|
||||
else if (kernelAbove300()) {
|
||||
else if (hosver >= MAKEHOSVERSION(3,0,0))
|
||||
*version = 0x30007;
|
||||
}
|
||||
else if (kernelAbove200()) {
|
||||
else if (hosver >= MAKEHOSVERSION(2,0,0))
|
||||
*version = 0x10006;
|
||||
}
|
||||
else
|
||||
*version=0x5;//1.0.0+ version
|
||||
}
|
||||
|
||||
Result swkbdCreate(SwkbdConfig* c, s32 max_dictwords) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include "types.h"
|
||||
#include "result.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/vi.h"
|
||||
#include "display/binder.h"
|
||||
|
||||
@ -47,7 +47,7 @@ Result binderInitSession(Binder* b)
|
||||
}
|
||||
|
||||
// Use TransactParcelAuto when available.
|
||||
if (kernelAbove300())
|
||||
if (hosversionAtLeast(3,0,0))
|
||||
b->has_transact_auto = true;
|
||||
|
||||
return rc;
|
||||
|
@ -1,7 +1,6 @@
|
||||
#include "types.h"
|
||||
#include "result.h"
|
||||
#include "services/fatal.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "kernel/mutex.h"
|
||||
#include "kernel/svc.h"
|
||||
#include "kernel/virtmem.h"
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/svc.h"
|
||||
#include "kernel/event.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/nv.h"
|
||||
#include "nvidia/fence.h"
|
||||
|
||||
@ -138,7 +138,7 @@ static Result _nvFenceWait_100(NvFence* f, s32 timeout_us)
|
||||
|
||||
Result nvFenceWait(NvFence* f, s32 timeout_us)
|
||||
{
|
||||
if (kernelAbove200())
|
||||
if (hosversionAtLeast(2,0,0))
|
||||
return _nvFenceWait_200(f, timeout_us);
|
||||
else
|
||||
return _nvFenceWait_100(f, timeout_us);
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/svc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/nv.h"
|
||||
#include "nvidia/ioctl.h"
|
||||
#include "nvidia/map.h"
|
||||
@ -88,7 +88,7 @@ static Result _nvGpuChannelKickoffRaw(NvGpuChannel* c, u32 flags)
|
||||
fence.id = 0;
|
||||
fence.value = c->fence_incr;
|
||||
|
||||
if (kernelAbove400())
|
||||
if (hosversionAtLeast(4,0,0))
|
||||
return nvioctlChannel_KickoffPb(c->base.fd, c->entries, c->num_entries, flags, &fence);
|
||||
else
|
||||
return nvioctlChannel_SubmitGpfifo(c->base.fd, c->entries, c->num_entries, flags, &fence);
|
||||
|
@ -2,11 +2,11 @@
|
||||
#include <malloc.h>
|
||||
#include "types.h"
|
||||
#include "result.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "kernel/rwlock.h"
|
||||
#include "services/fatal.h"
|
||||
#include "services/usb.h"
|
||||
#include "services/usbds.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "runtime/devices/usb_comms.h"
|
||||
|
||||
#define TOTAL_INTERFACES 4
|
||||
@ -56,7 +56,7 @@ Result usbCommsInitializeEx(u32 num_interfaces, const UsbCommsInterfaceInfo *inf
|
||||
rc = usbDsInitialize();
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
if (kernelAbove500()) {
|
||||
if (hosversionAtLeast(5,0,0)) {
|
||||
u8 iManufacturer, iProduct, iSerialNumber;
|
||||
static const u16 supported_langs[1] = {0x0409};
|
||||
// Send language descriptor
|
||||
@ -137,7 +137,7 @@ Result usbCommsInitializeEx(u32 num_interfaces, const UsbCommsInterfaceInfo *inf
|
||||
}
|
||||
}
|
||||
|
||||
if (R_SUCCEEDED(rc) && kernelAbove500()) {
|
||||
if (R_SUCCEEDED(rc) && hosversionAtLeast(5,0,0)) {
|
||||
rc = usbDsEnable();
|
||||
}
|
||||
|
||||
@ -208,7 +208,7 @@ void usbCommsExit(void)
|
||||
|
||||
static Result _usbCommsInterfaceInit(u32 intf_ind, const UsbCommsInterfaceInfo *info)
|
||||
{
|
||||
if (kernelAbove500()) {
|
||||
if (hosversionAtLeast(5,0,0)) {
|
||||
return _usbCommsInterfaceInit5x(intf_ind, info);
|
||||
} else {
|
||||
return _usbCommsInterfaceInit1x(intf_ind, info);
|
||||
|
@ -3,7 +3,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "kernel/tmem.h"
|
||||
#include "kernel/event.h"
|
||||
#include "services/fatal.h"
|
||||
@ -11,6 +10,7 @@
|
||||
#include "services/apm.h"
|
||||
#include "services/sm.h"
|
||||
#include "runtime/env.h"
|
||||
#include "runtime/hosversion.h"
|
||||
|
||||
__attribute__((weak)) u32 __nx_applet_type = AppletType_Default;
|
||||
__attribute__((weak)) bool __nx_applet_auto_notifyrunning = true;
|
||||
@ -432,7 +432,7 @@ Result appletSetFocusHandlingMode(AppletFocusHandlingMode mode) {
|
||||
|
||||
rc = _appletSetFocusHandlingMode(invals[0], invals[1], invals[2]);
|
||||
|
||||
if (R_SUCCEEDED(rc) && kernelAbove200())
|
||||
if (R_SUCCEEDED(rc) && hosversionAtLeast(2,0,0))
|
||||
rc = _appletSetOutOfFocusSuspendingEnabled(invals[3]);
|
||||
|
||||
return rc;
|
||||
@ -1010,7 +1010,7 @@ Result appletIsGamePlayRecordingSupported(bool *flag) {
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
struct {
|
||||
@ -1047,7 +1047,7 @@ static Result _appletInitializeGamePlayRecording(TransferMemory *tmem) {
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _appletCmdInTmem(&g_appletIFunctions, NULL, 66, tmem);
|
||||
@ -1060,7 +1060,7 @@ Result appletSetGamePlayRecordingState(bool state) {
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication() || g_appletRecordingInitialized==0)
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
struct {
|
||||
@ -1102,7 +1102,7 @@ Result appletInitializeGamePlayRecording(void) {
|
||||
//These checks are done in the called applet funcs, but do it here too so that tmemCreate() doesn't run when it's not needed.
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
rc = tmemCreate(&g_appletRecordingTmem, size, Perm_None);
|
||||
@ -1130,7 +1130,7 @@ Result appletQueryApplicationPlayStatistics(AppletApplicationPlayStatistics *sta
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove500())
|
||||
if (hosversionBefore(5,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
ipcAddRecvBuffer(&c, stats, count*sizeof(AppletApplicationPlayStatistics), BufferType_Normal);
|
||||
@ -1520,7 +1520,7 @@ static Result _appletSetOutOfFocusSuspendingEnabled(u8 inval) {
|
||||
}
|
||||
|
||||
Result appletSetScreenShotImageOrientation(s32 val) {
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
@ -1666,7 +1666,7 @@ static Result _appletHolderCreate(AppletHolder *h, AppletId id, LibAppletMode mo
|
||||
|
||||
if (R_SUCCEEDED(rc)) rc = _appletGetEvent(&h->s, &h->StateChangedEvent, 0, false);//GetAppletStateChangedEvent
|
||||
|
||||
if (R_SUCCEEDED(rc) && kernelAbove200() && h->mode == LibAppletMode_Unknown3) rc = _appletGetIndirectLayerConsumerHandle(&h->s, &h->layer_handle);
|
||||
if (R_SUCCEEDED(rc) && hosversionAtLeast(2,0,0) && h->mode == LibAppletMode_Unknown3) rc = _appletGetIndirectLayerConsumerHandle(&h->s, &h->layer_handle);
|
||||
|
||||
return rc;
|
||||
}
|
||||
@ -1696,7 +1696,7 @@ Result appletHolderGetIndirectLayerConsumerHandle(AppletHolder *h, u64 *out) {
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
if (h->mode!=LibAppletMode_Unknown3)
|
||||
return MAKERESULT(Module_Libnx, LibnxError_BadInput);
|
||||
if (!kernelAbove200())
|
||||
if (hosversionBefore(2,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
if (out) *out = h->layer_handle;
|
||||
@ -1854,7 +1854,7 @@ Result appletCreateTransferMemoryStorage(AppletStorage *s, void* buffer, s64 siz
|
||||
}
|
||||
|
||||
Result appletCreateHandleStorage(AppletStorage *s, s64 inval, Handle handle) {
|
||||
if (!kernelAbove200())
|
||||
if (hosversionBefore(2,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _appletCmdInHandle64(&g_appletILibraryAppletCreator, &s->s, 12, handle, inval);
|
||||
@ -2008,7 +2008,7 @@ Result appletStorageGetHandle(AppletStorage *s, s64 *out, Handle *handle) {
|
||||
if (!serviceIsActive(&s->s))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove200())
|
||||
if (hosversionBefore(2,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
rc = _appletGetSession(&s->s, &tmp_srv, 1);//OpenTransferStorage
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/event.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/auddev.h"
|
||||
#include "services/applet.h"
|
||||
#include "services/sm.h"
|
||||
@ -87,7 +87,7 @@ static Result _auddevGetAudioDeviceService(Service* srv, Service* out_srv, u64 a
|
||||
}
|
||||
|
||||
Result auddevListAudioDeviceName(AudioDeviceName *DeviceNames, s32 max_names, s32 *total_names) {
|
||||
bool new_cmd = kernelAbove300();
|
||||
bool new_cmd = hosversionAtLeast(3,0,0);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -128,7 +128,7 @@ Result auddevListAudioDeviceName(AudioDeviceName *DeviceNames, s32 max_names, s3
|
||||
}
|
||||
|
||||
Result auddevSetAudioDeviceOutputVolume(const AudioDeviceName *DeviceName, float volume) {
|
||||
bool new_cmd = kernelAbove300();
|
||||
bool new_cmd = hosversionAtLeast(3,0,0);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -168,7 +168,7 @@ Result auddevSetAudioDeviceOutputVolume(const AudioDeviceName *DeviceName, float
|
||||
}
|
||||
|
||||
Result auddevGetAudioDeviceOutputVolume(const AudioDeviceName *DeviceName, float *volume) {
|
||||
bool new_cmd = kernelAbove300();
|
||||
bool new_cmd = hosversionAtLeast(3,0,0);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/tmem.h"
|
||||
#include "kernel/event.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/applet.h"
|
||||
#include "services/audren.h"
|
||||
@ -56,11 +56,16 @@ Result audrenInitialize(const AudioRendererConfig* config)
|
||||
return MAKERESULT(Module_Libnx, LibnxError_BadInput);
|
||||
|
||||
// Choose revision (i.e. if splitters are used then at least revision 2 must be used)
|
||||
if (kernelAbove400())
|
||||
u32 hosver = hosversionGet();
|
||||
/*if (hosver >= MAKEHOSVERSION(6,1,0))
|
||||
g_audrenRevision = AUDREN_REVISION_6;
|
||||
else if (hosver >= MAKEHOSVERSION(6,0,0))
|
||||
g_audrenRevision = AUDREN_REVISION_5;
|
||||
else*/ if (hosver >= MAKEHOSVERSION(4,0,0))
|
||||
g_audrenRevision = AUDREN_REVISION_4;
|
||||
else if (kernelAbove300())
|
||||
else if (hosver >= MAKEHOSVERSION(3,0,0))
|
||||
g_audrenRevision = AUDREN_REVISION_3;
|
||||
else if (kernelAbove200())
|
||||
else if (hosver >= MAKEHOSVERSION(2,0,0))
|
||||
g_audrenRevision = AUDREN_REVISION_2;
|
||||
else
|
||||
g_audrenRevision = AUDREN_REVISION_1;
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/bpc.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
@ -18,7 +18,7 @@ Result bpcInitialize(void)
|
||||
if (serviceIsActive(&g_bpcSrv))
|
||||
return 0;
|
||||
|
||||
rc = smGetService(&g_bpcSrv, kernelAbove200() ? "bpc" : "bpc:c");
|
||||
rc = smGetService(&g_bpcSrv, hosversionAtLeast(2,0,0) ? "bpc" : "bpc:c");
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/caps.h"
|
||||
#include "services/capssc.h"
|
||||
#include "services/sm.h"
|
||||
@ -18,7 +18,7 @@ Result capsscInitialize(void) {
|
||||
if (serviceIsActive(&g_capsscSrv))
|
||||
return 0;
|
||||
|
||||
if (!kernelAbove200())
|
||||
if (hosversionBefore(2,0,0))
|
||||
rc = MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
if (R_SUCCEEDED(rc)) rc = smGetService(&g_capsscSrv, "caps:sc");
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/applet.h"
|
||||
#include "services/caps.h"
|
||||
#include "services/capssu.h"
|
||||
@ -20,7 +20,7 @@ Result capssuInitialize(void) {
|
||||
if (serviceIsActive(&g_capssuSrv))
|
||||
return 0;
|
||||
|
||||
if (!kernelAbove400())
|
||||
if (hosversionBefore(4,0,0))
|
||||
rc = MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
if (R_SUCCEEDED(rc)) rc = smGetService(&g_capssuSrv, "caps:su");
|
||||
|
@ -4,7 +4,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/csrng.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/spl.h"
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/fs.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
@ -427,7 +427,7 @@ Result fsOpenSdCardDetectionEventNotifier(FsEventNotifier* out) {
|
||||
|
||||
Result fsIsExFatSupported(bool* out)
|
||||
{
|
||||
if (!kernelAbove200()) {
|
||||
if (hosversionBefore(2,0,0)) {
|
||||
*out = false;
|
||||
return 0;
|
||||
}
|
||||
@ -502,7 +502,7 @@ Result fsOpenFileSystemWithId(FsFileSystem* out, u64 titleId, FsFileSystemType f
|
||||
ipcInitialize(&c);
|
||||
ipcAddSendStatic(&c, sendStr, sizeof(sendStr), 0);
|
||||
|
||||
if (kernelAbove200()) {
|
||||
if (hosversionAtLeast(2,0,0)) {
|
||||
struct {
|
||||
u64 magic;
|
||||
u64 cmd_id;
|
||||
@ -1018,7 +1018,7 @@ Result fsFsGetTotalSpace(FsFileSystem* fs, const char* path, u64* out) {
|
||||
}
|
||||
|
||||
Result fsFsCleanDirectoryRecursively(FsFileSystem* fs, const char* path) {
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
@ -1054,7 +1054,7 @@ Result fsFsCleanDirectoryRecursively(FsFileSystem* fs, const char* path) {
|
||||
}
|
||||
|
||||
Result fsFsGetFileTimeStampRaw(FsFileSystem* fs, const char* path, FsTimeStampRaw *out) {
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
char send_path[FS_MAX_PATH] = {0};
|
||||
@ -1096,7 +1096,7 @@ Result fsFsGetFileTimeStampRaw(FsFileSystem* fs, const char* path, FsTimeStampRa
|
||||
}
|
||||
|
||||
Result fsFsQueryEntry(FsFileSystem* fs, void *out, size_t out_size, const void *in, size_t in_size, const char* path, FsFileSystemQueryType query_type) {
|
||||
if (!kernelAbove400())
|
||||
if (hosversionBefore(4,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
char send_path[FS_MAX_PATH] = {0};
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/fs.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/fsldr.h"
|
||||
@ -26,7 +26,7 @@ Result fsldrInitialize(void) {
|
||||
rc = serviceConvertToDomain(&g_fsldrSrv);
|
||||
}
|
||||
|
||||
if (R_SUCCEEDED(rc) && kernelAbove400()) {
|
||||
if (R_SUCCEEDED(rc) && hosversionAtLeast(4,0,0)) {
|
||||
rc = fsldrSetCurrentProcess();
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/fs.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/fspr.h"
|
||||
@ -24,7 +24,7 @@ Result fsprInitialize(void) {
|
||||
|
||||
Result rc = smGetService(&g_fsprSrv, "fsp-pr");
|
||||
|
||||
if (R_SUCCEEDED(rc) && kernelAbove400()) {
|
||||
if (R_SUCCEEDED(rc) && hosversionAtLeast(4,0,0)) {
|
||||
rc = fsprSetCurrentProcess();
|
||||
if (R_FAILED(rc)) {
|
||||
fsprExit();
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/gpio.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
|
@ -3,10 +3,10 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "kernel/tmem.h"
|
||||
#include "services/hwopus.h"
|
||||
#include "services/sm.h"
|
||||
#include "runtime/hosversion.h"
|
||||
|
||||
static Result _hwopusInitialize(Service* srv, Service* out_srv, TransferMemory *tmem, s32 SampleRate, s32 ChannelCount);
|
||||
static Result _hwopusGetWorkBufferSize(Service* srv, u32 *size, s32 SampleRate, s32 ChannelCount);
|
||||
@ -52,7 +52,7 @@ Result hwopusDecoderMultistreamInitialize(HwopusDecoder* decoder, s32 SampleRate
|
||||
if (serviceIsActive(&decoder->s))
|
||||
return 0;
|
||||
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
if (ChannelCount < 0 || ChannelCount > sizeof(state.channel_mapping))
|
||||
@ -250,8 +250,8 @@ static Result _hwopusGetWorkBufferSizeForMultiStream(Service* srv, u32 *size, Hw
|
||||
}
|
||||
|
||||
Result hwopusDecodeInterleaved(HwopusDecoder* decoder, s32 *DecodedDataSize, s32 *DecodedSampleCount, const void* opusin, size_t opusin_size, s16 *pcmbuf, size_t pcmbuf_size) {
|
||||
if (kernelAbove600()) return _hwopusDecodeInterleaved(decoder, DecodedDataSize, DecodedSampleCount, NULL, 0, opusin, opusin_size, pcmbuf, pcmbuf_size);
|
||||
if (kernelAbove400()) return _hwopusDecodeInterleavedWithPerfOld(decoder, DecodedDataSize, DecodedSampleCount, NULL, opusin, opusin_size, pcmbuf, pcmbuf_size);
|
||||
if (hosversionAtLeast(6,0,0)) return _hwopusDecodeInterleaved(decoder, DecodedDataSize, DecodedSampleCount, NULL, 0, opusin, opusin_size, pcmbuf, pcmbuf_size);
|
||||
if (hosversionAtLeast(4,0,0)) return _hwopusDecodeInterleavedWithPerfOld(decoder, DecodedDataSize, DecodedSampleCount, NULL, opusin, opusin_size, pcmbuf, pcmbuf_size);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/i2c.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/lbl.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <string.h>
|
||||
#include "types.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/hid.h"
|
||||
#include "services/applet.h"
|
||||
#include "services/nfc.h"
|
||||
@ -65,7 +65,7 @@ Result nfpuInitialize(const NfpuInitConfig *config) {
|
||||
rc = _nfpuCreateInterface(&g_nfcuSrv, &g_nfcuInterface);
|
||||
|
||||
if (R_SUCCEEDED(rc))
|
||||
rc = _nfpuInterfaceInitialize(&g_nfcuInterface, kernelAbove400() ? 0 : 400, aruid, config);
|
||||
rc = _nfpuInterfaceInitialize(&g_nfcuInterface, hosversionAtLeast(4,0,0) ? 0 : 400, aruid, config);
|
||||
|
||||
if (R_FAILED(rc))
|
||||
nfpuExit();
|
||||
@ -76,7 +76,7 @@ Result nfpuInitialize(const NfpuInitConfig *config) {
|
||||
void nfpuExit(void) {
|
||||
if (atomicDecrement64(&g_refCnt) == 0) {
|
||||
_nfpuInterfaceFinalize(&g_nfpuInterface, 1);
|
||||
_nfpuInterfaceFinalize(&g_nfcuInterface, kernelAbove400() ? 1 : 401);
|
||||
_nfpuInterfaceFinalize(&g_nfcuInterface, hosversionAtLeast(4,0,0) ? 1 : 401);
|
||||
serviceClose(&g_nfpuInterface);
|
||||
serviceClose(&g_nfcuInterface);
|
||||
serviceClose(&g_nfpuSrv);
|
||||
@ -747,7 +747,7 @@ Result nfpuIsNfcEnabled(bool *out) {
|
||||
raw = serviceIpcPrepareHeader(&g_nfcuInterface, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? 3 : 403;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? 3 : 403;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_nfcuInterface);
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include "services/nifm.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "runtime/hosversion.h"
|
||||
|
||||
static Service g_nifmSrv;
|
||||
static Service g_nifmIGS;
|
||||
@ -27,7 +28,7 @@ Result nifmInitialize(void) {
|
||||
if (R_SUCCEEDED(rc)) rc = serviceConvertToDomain(&g_nifmSrv);
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
if (kernelAbove300())
|
||||
if (hosversionAtLeast(3,0,0))
|
||||
rc = _nifmCreateGeneralService(&g_nifmIGS, 0); // What does this parameter do?
|
||||
else
|
||||
rc = _nifmCreateGeneralServiceOld(&g_nifmIGS);
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/ns.h"
|
||||
|
||||
@ -20,7 +20,7 @@ Result nsInitialize(void)
|
||||
if (serviceIsActive(&g_nsGetterSrv) || serviceIsActive(&g_nsAppManSrv))
|
||||
return 0;
|
||||
|
||||
if(!kernelAbove300())
|
||||
if(hosversionBefore(3,0,0))
|
||||
return smGetService(&g_nsAppManSrv, "ns:am");
|
||||
|
||||
rc = smGetService(&g_nsGetterSrv, "ns:am2");//TODO: Support the other services?(Only useful when ns:am2 isn't accessible)
|
||||
@ -37,7 +37,7 @@ void nsExit(void)
|
||||
{
|
||||
if (atomicDecrement64(&g_nsRefCnt) == 0) {
|
||||
serviceClose(&g_nsAppManSrv);
|
||||
if(!kernelAbove300()) return;
|
||||
if(hosversionBefore(3,0,0)) return;
|
||||
|
||||
serviceClose(&g_nsGetterSrv);
|
||||
}
|
||||
@ -285,7 +285,7 @@ Result nsGetFreeSpaceSize(FsStorageId storage_id, u64 *size)
|
||||
|
||||
Result nsvmInitialize(void)
|
||||
{
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return 0;
|
||||
|
||||
atomicIncrement64(&g_nsvmRefCnt);
|
||||
@ -298,7 +298,7 @@ Result nsvmInitialize(void)
|
||||
|
||||
void nsvmExit(void)
|
||||
{
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return;
|
||||
|
||||
if (atomicDecrement64(&g_nsvmRefCnt) == 0) {
|
||||
@ -322,7 +322,7 @@ Result nsvmNeedsUpdateVulnerability(bool *out) {
|
||||
|
||||
Result rc;
|
||||
|
||||
if (kernelAbove300())
|
||||
if (hosversionAtLeast(3,0,0))
|
||||
rc = serviceIpcDispatch(&g_nsvmSrv);
|
||||
else
|
||||
rc = serviceIpcDispatch(&g_nsAppManSrv);
|
||||
@ -347,7 +347,7 @@ Result nsvmNeedsUpdateVulnerability(bool *out) {
|
||||
|
||||
Result nsvmGetSafeSystemVersion(u16 *out)
|
||||
{
|
||||
if (!kernelAbove300())
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
@ -733,7 +733,7 @@ Result nsdevLaunchApplicationWithStorageId(u64* out_pid, u64 app_title_id, u32 f
|
||||
}
|
||||
|
||||
Result nsdevIsSystemMemoryResourceLimitBoosted(bool* out) {
|
||||
if (!kernelAbove600()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionBefore(6,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -772,7 +772,7 @@ Result nsdevIsSystemMemoryResourceLimitBoosted(bool* out) {
|
||||
}
|
||||
|
||||
Result nsdevGetRunningApplicationProcessId(u64* out_pid) {
|
||||
if (!kernelAbove600()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionBefore(6,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -811,7 +811,7 @@ Result nsdevGetRunningApplicationProcessId(u64* out_pid) {
|
||||
}
|
||||
|
||||
Result nsdevSetCurrentApplicationRightsEnvironmentCanBeActive(bool can_be_active) {
|
||||
if (!kernelAbove600()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionBefore(6,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/pcv.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/pm.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
@ -74,7 +74,7 @@ Result pmdmntGetDebugProcesses(u32* out_count, u64* out_pids, size_t max_pids) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 0 : 1;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 0 : 1;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmdmntSrv);
|
||||
|
||||
@ -111,7 +111,7 @@ Result pmdmntStartProcess(u64 pid) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 1 : 2;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 1 : 2;
|
||||
raw->pid = pid;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmdmntSrv);
|
||||
@ -144,7 +144,7 @@ Result pmdmntGetTitlePid(u64* pid_out, u64 title_id) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 2 : 3;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 2 : 3;
|
||||
raw->title_id = title_id;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmdmntSrv);
|
||||
@ -182,7 +182,7 @@ Result pmdmntEnableDebugForTitleId(Handle* handle_out, u64 title_id) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 3 : 4;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 3 : 4;
|
||||
raw->title_id = title_id;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmdmntSrv);
|
||||
@ -254,7 +254,7 @@ Result pmdmntGetApplicationPid(u64* pid_out) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 4 : 5;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 4 : 5;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmdmntSrv);
|
||||
|
||||
@ -290,7 +290,7 @@ Result pmdmntEnableDebugForApplication(Handle* handle_out) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 5 : 6;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 5 : 6;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmdmntSrv);
|
||||
|
||||
@ -314,7 +314,7 @@ Result pmdmntEnableDebugForApplication(Handle* handle_out) {
|
||||
}
|
||||
|
||||
Result pmdmntDisableDebug(void) {
|
||||
if (!kernelAbove600()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionBefore(6,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -529,7 +529,7 @@ Result pmshellGetProcessEventInfo(PmProcessEventInfo* out) {
|
||||
}
|
||||
|
||||
Result pmshellFinalizeDeadProcess(u64 pid) {
|
||||
if (kernelAbove500()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionAtLeast(5,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -564,7 +564,7 @@ Result pmshellFinalizeDeadProcess(u64 pid) {
|
||||
}
|
||||
|
||||
Result pmshellClearProcessExceptionOccurred(u64 pid) {
|
||||
if (kernelAbove500()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionAtLeast(5,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -610,7 +610,7 @@ Result pmshellNotifyBootFinished(void) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 5 : 7;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 5 : 7;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmshellSrv);
|
||||
|
||||
@ -641,7 +641,7 @@ Result pmshellGetApplicationPid(u64* pid_out) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 6 : 8;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 6 : 8;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmshellSrv);
|
||||
|
||||
@ -666,7 +666,7 @@ Result pmshellGetApplicationPid(u64* pid_out) {
|
||||
}
|
||||
|
||||
Result pmshellBoostSystemMemoryResourceLimit(u64 boost_size) {
|
||||
if (!kernelAbove400()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionBefore(4,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
@ -680,7 +680,7 @@ Result pmshellBoostSystemMemoryResourceLimit(u64 boost_size) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove500() ? 7 : 9;
|
||||
raw->cmd_id = hosversionAtLeast(5,0,0) ? 7 : 9;
|
||||
raw->boost_size = boost_size;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_pmshellSrv);
|
||||
|
@ -8,10 +8,10 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "kernel/event.h"
|
||||
#include "services/psc.h"
|
||||
#include "services/sm.h"
|
||||
#include "runtime/hosversion.h"
|
||||
|
||||
static Service g_pscSrv;
|
||||
static u64 g_refCnt;
|
||||
@ -166,7 +166,7 @@ Result pscPmModuleGetRequest(PscPmModule *module, PscPmState *out_state, u32 *ou
|
||||
}
|
||||
|
||||
Result pscPmModuleAcknowledge(PscPmModule *module, PscPmState state) {
|
||||
if (kernelAbove600()) {
|
||||
if (hosversionAtLeast(6,0,0)) {
|
||||
return _pscPmModuleAcknowledgeEx(module, state);
|
||||
} else {
|
||||
return _pscPmModuleAcknowledge(module);
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "kernel/event.h"
|
||||
#include "services/psm.h"
|
||||
#include "services/sm.h"
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/ro.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
@ -34,7 +34,7 @@ void ldrRoExit(void) {
|
||||
}
|
||||
|
||||
Result roDmntInitialize(void) {
|
||||
if (!kernelAbove300()) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
if (hosversionBefore(3,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
atomicIncrement64(&g_dmntRefCnt);
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/set.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/applet.h"
|
||||
@ -100,7 +100,7 @@ Result setMakeLanguageCode(s32 Language, u64 *LanguageCode) {
|
||||
return MAKERESULT(Module_Libnx, LibnxError_BadInput);
|
||||
|
||||
if (Language >= g_setLanguageCodesTotal) {
|
||||
if (!kernelAbove400()) return MAKERESULT(Module_Libnx, LibnxError_BadInput);
|
||||
if (hosversionBefore(4,0,0)) return MAKERESULT(Module_Libnx, LibnxError_BadInput);
|
||||
return _setMakeLanguageCode(Language, LanguageCode);
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ Result setGetAvailableLanguageCodes(s32 *total_entries, u64 *LanguageCodes, size
|
||||
ipcInitialize(&c);
|
||||
|
||||
Result rc=0;
|
||||
bool new_cmd = kernelAbove400();
|
||||
bool new_cmd = hosversionAtLeast(4,0,0);
|
||||
|
||||
if (!new_cmd) {//On system-version <4.0.0 the sysmodule will close the session if max_entries is too large.
|
||||
s32 tmptotal = 0;
|
||||
@ -254,7 +254,7 @@ Result setGetAvailableLanguageCodeCount(s32 *total) {
|
||||
raw = ipcPrepareHeader(&c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove400() ? 6 : 3;
|
||||
raw->cmd_id = hosversionAtLeast(4,0,0) ? 6 : 3;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_setSrv);
|
||||
|
||||
@ -607,7 +607,7 @@ static Result _setsysGetFirmwareVersionImpl(SetSysFirmwareVersion *out, u32 cmd_
|
||||
|
||||
Result setsysGetFirmwareVersion(SetSysFirmwareVersion *out) {
|
||||
/* GetFirmwareVersion2 does exactly what GetFirmwareVersion does, except it doesn't zero the revision field. */
|
||||
if (kernelAbove300()) {
|
||||
if (hosversionAtLeast(3,0,0)) {
|
||||
return _setsysGetFirmwareVersionImpl(out, 4);
|
||||
} else {
|
||||
return _setsysGetFirmwareVersionImpl(out, 3);
|
||||
|
@ -4,7 +4,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/fs.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/smm.h"
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/sm.h"
|
||||
#include "services/spl.h"
|
||||
|
||||
@ -20,7 +20,7 @@ static Service* _splGetEsSrv(void);
|
||||
static Service* _splGetFsSrv(void);
|
||||
|
||||
Service* _splGetGeneralSrv(void) {
|
||||
if (!kernelAbove400()) {
|
||||
if (hosversionBefore(4,0,0)) {
|
||||
return &g_splSrv;
|
||||
}
|
||||
|
||||
@ -32,7 +32,7 @@ Service* _splGetGeneralSrv(void) {
|
||||
}
|
||||
|
||||
Service* _splGetCryptoSrv(void) {
|
||||
if (!kernelAbove400()) {
|
||||
if (hosversionBefore(4,0,0)) {
|
||||
return &g_splSrv;
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ Service* _splGetCryptoSrv(void) {
|
||||
}
|
||||
|
||||
Service* _splGetRsaSrv(void) {
|
||||
if (!kernelAbove400()) {
|
||||
if (hosversionBefore(4,0,0)) {
|
||||
return &g_splSrv;
|
||||
}
|
||||
|
||||
@ -64,11 +64,11 @@ Service* _splGetRsaSrv(void) {
|
||||
}
|
||||
|
||||
Service* _splGetEsSrv(void) {
|
||||
return kernelAbove400() ? &g_splEsSrv : &g_splSrv;
|
||||
return hosversionAtLeast(4,0,0) ? &g_splEsSrv : &g_splSrv;
|
||||
}
|
||||
|
||||
Service* _splGetFsSrv(void) {
|
||||
return kernelAbove400() ? &g_splFsSrv : &g_splSrv;
|
||||
return hosversionAtLeast(4,0,0) ? &g_splFsSrv : &g_splSrv;
|
||||
}
|
||||
|
||||
/* There are like six services, so these helpers will initialize/exit the relevant services. */
|
||||
@ -95,7 +95,7 @@ void splExit(void) {
|
||||
}
|
||||
|
||||
Result splCryptoInitialize(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvInitialize(&g_splCryptoSrv, &g_splCryptoRefCnt, "spl:mig");
|
||||
} else {
|
||||
return splInitialize();
|
||||
@ -103,7 +103,7 @@ Result splCryptoInitialize(void) {
|
||||
}
|
||||
|
||||
void splCryptoExit(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvExit(&g_splCryptoSrv, &g_splCryptoRefCnt);
|
||||
} else {
|
||||
return splExit();
|
||||
@ -111,7 +111,7 @@ void splCryptoExit(void) {
|
||||
}
|
||||
|
||||
Result splSslInitialize(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvInitialize(&g_splSslSrv, &g_splSslRefCnt, "spl:ssl");
|
||||
} else {
|
||||
return splInitialize();
|
||||
@ -119,7 +119,7 @@ Result splSslInitialize(void) {
|
||||
}
|
||||
|
||||
void splSslExit(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvExit(&g_splSslSrv, &g_splSslRefCnt);
|
||||
} else {
|
||||
return splExit();
|
||||
@ -127,7 +127,7 @@ void splSslExit(void) {
|
||||
}
|
||||
|
||||
Result splEsInitialize(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvInitialize(&g_splEsSrv, &g_splEsRefCnt, "spl:es");
|
||||
} else {
|
||||
return splInitialize();
|
||||
@ -135,7 +135,7 @@ Result splEsInitialize(void) {
|
||||
}
|
||||
|
||||
void splEsExit(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvExit(&g_splEsSrv, &g_splEsRefCnt);
|
||||
} else {
|
||||
return splExit();
|
||||
@ -143,7 +143,7 @@ void splEsExit(void) {
|
||||
}
|
||||
|
||||
Result splFsInitialize(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvInitialize(&g_splFsSrv, &g_splFsRefCnt, "spl:fs");
|
||||
} else {
|
||||
return splInitialize();
|
||||
@ -151,7 +151,7 @@ Result splFsInitialize(void) {
|
||||
}
|
||||
|
||||
void splFsExit(void) {
|
||||
if (kernelAbove400()) {
|
||||
if (hosversionAtLeast(4,0,0)) {
|
||||
return _splSrvExit(&g_splFsSrv, &g_splFsRefCnt);
|
||||
} else {
|
||||
return splExit();
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include "result.h"
|
||||
#include "arm/atomics.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/spsm.h"
|
||||
#include "services/sm.h"
|
||||
|
||||
|
@ -3,10 +3,10 @@
|
||||
#include "result.h"
|
||||
#include "arm/cache.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "services/usb.h"
|
||||
#include "services/usbds.h"
|
||||
#include "services/sm.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "runtime/util/utf.h"
|
||||
|
||||
#define TOTAL_INTERFACES 4
|
||||
@ -49,7 +49,7 @@ Result usbDsInitialize(void)
|
||||
rc = _usbDsGetEvent(&g_usbDsSrv, &g_usbDsStateChangeEvent, 3);
|
||||
|
||||
// Result code doesn't matter here, users can call themselves later, too. This prevents foot shooting.
|
||||
if (R_SUCCEEDED(rc) && kernelAbove500())
|
||||
if (R_SUCCEEDED(rc) && hosversionAtLeast(5,0,0))
|
||||
usbDsClearDeviceData();
|
||||
|
||||
if (R_FAILED(rc))
|
||||
@ -67,7 +67,7 @@ void usbDsExit(void)
|
||||
if (!serviceIsActive(&g_usbDsSrv))
|
||||
return;
|
||||
|
||||
if (kernelAbove500()) {
|
||||
if (hosversionAtLeast(5,0,0)) {
|
||||
usbDsDisable();
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "result.h"
|
||||
#include "arm/cache.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/usb.h"
|
||||
#include "services/usbhs.h"
|
||||
#include "services/sm.h"
|
||||
@ -26,12 +26,12 @@ Result usbHsInitialize(void) {
|
||||
rc = serviceConvertToDomain(&g_usbHsSrv);
|
||||
}
|
||||
|
||||
if (R_SUCCEEDED(rc) && kernelAbove200())
|
||||
if (R_SUCCEEDED(rc) && hosversionAtLeast(2,0,0))
|
||||
rc = _usbHsBindClientProcess(CUR_PROCESS_HANDLE);
|
||||
|
||||
// GetInterfaceStateChangeEvent
|
||||
if (R_SUCCEEDED(rc))
|
||||
rc = _usbHsGetEvent(&g_usbHsSrv, &g_usbHsInterfaceStateChangeEvent, kernelAbove200() ? 6 : 5);
|
||||
rc = _usbHsGetEvent(&g_usbHsSrv, &g_usbHsInterfaceStateChangeEvent, hosversionAtLeast(2,0,0) ? 6 : 5);
|
||||
|
||||
if (R_FAILED(rc))
|
||||
{
|
||||
@ -175,7 +175,7 @@ static Result _usbHsQueryInterfaces(u64 base_cmdid, const UsbHsInterfaceFilter*
|
||||
raw = serviceIpcPrepareHeader(&g_usbHsSrv, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? base_cmdid+1 : base_cmdid;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? base_cmdid+1 : base_cmdid;
|
||||
raw->filter = *filter;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_usbHsSrv);
|
||||
@ -221,7 +221,7 @@ Result usbHsQueryAcquiredInterfaces(UsbHsInterface* interfaces, size_t interface
|
||||
raw = serviceIpcPrepareHeader(&g_usbHsSrv, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? 3 : 2;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? 3 : 2;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_usbHsSrv);
|
||||
|
||||
@ -259,7 +259,7 @@ Result usbHsCreateInterfaceAvailableEvent(Event* event, bool autoclear, u8 index
|
||||
raw = serviceIpcPrepareHeader(&g_usbHsSrv, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? 4 : 3;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? 4 : 3;
|
||||
raw->index = index;
|
||||
raw->filter = *filter;
|
||||
|
||||
@ -299,7 +299,7 @@ Result usbHsDestroyInterfaceAvailableEvent(Event* event, u8 index) {
|
||||
raw = serviceIpcPrepareHeader(&g_usbHsSrv, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? 5 : 4;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? 5 : 4;
|
||||
raw->index = index;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_usbHsSrv);
|
||||
@ -337,7 +337,7 @@ Result usbHsAcquireUsbIf(UsbHsClientIfSession* s, UsbHsInterface *interface) {
|
||||
s32 ID;
|
||||
} *raw;
|
||||
|
||||
if (!kernelAbove300()) {
|
||||
if (hosversionBefore(3,0,0)) {
|
||||
ipcAddRecvBuffer(&c, &s->inf.inf, sizeof(UsbHsInterfaceInfo), BufferType_Normal);
|
||||
}
|
||||
else {
|
||||
@ -349,7 +349,7 @@ Result usbHsAcquireUsbIf(UsbHsClientIfSession* s, UsbHsInterface *interface) {
|
||||
raw = serviceIpcPrepareHeader(&g_usbHsSrv, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? 7 : 6;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? 7 : 6;
|
||||
raw->ID = s->ID;
|
||||
|
||||
Result rc = serviceIpcDispatch(&g_usbHsSrv);
|
||||
@ -373,7 +373,7 @@ Result usbHsAcquireUsbIf(UsbHsClientIfSession* s, UsbHsInterface *interface) {
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
rc = _usbHsGetEvent(&s->s, &s->event0, 0);
|
||||
if (kernelAbove200()) rc = _usbHsGetEvent(&s->s, &s->eventCtrlXfer, 6);
|
||||
if (hosversionAtLeast(2,0,0)) rc = _usbHsGetEvent(&s->s, &s->eventCtrlXfer, 6);
|
||||
|
||||
if (R_FAILED(rc)) {
|
||||
serviceClose(&s->s);
|
||||
@ -486,7 +486,7 @@ Result usbHsIfGetCurrentFrame(UsbHsClientIfSession* s, u32* out) {
|
||||
raw = serviceIpcPrepareHeader(&s->s, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? 4 : 5;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? 4 : 5;
|
||||
|
||||
Result rc = serviceIpcDispatch(&s->s);
|
||||
|
||||
@ -648,7 +648,7 @@ Result usbHsIfCtrlXfer(UsbHsClientIfSession* s, u8 bmRequestType, u8 bRequest, u
|
||||
Result rc=0;
|
||||
UsbHsXferReport report;
|
||||
|
||||
if (!kernelAbove200()) return _usbHsIfSubmitControlRequest(s, bRequest, bmRequestType, wValue, wIndex, wLength, buffer, 0, transferredSize);
|
||||
if (hosversionBefore(2,0,0)) return _usbHsIfSubmitControlRequest(s, bRequest, bmRequestType, wValue, wIndex, wLength, buffer, 0, transferredSize);
|
||||
|
||||
rc = _usbHsIfCtrlXferAsync(s, bmRequestType, bRequest, wValue, wIndex, wLength, buffer);
|
||||
if (R_FAILED(rc)) return rc;
|
||||
@ -686,7 +686,7 @@ Result usbHsIfOpenUsbEp(UsbHsClientIfSession* s, UsbHsClientEpSession* ep, u16 m
|
||||
raw = serviceIpcPrepareHeader(&s->s, &c, sizeof(*raw));
|
||||
|
||||
raw->magic = SFCI_MAGIC;
|
||||
raw->cmd_id = kernelAbove200() ? 9 : 4;
|
||||
raw->cmd_id = hosversionAtLeast(2,0,0) ? 9 : 4;
|
||||
raw->maxUrbCount = maxUrbCount;
|
||||
raw->epType = (desc->bmAttributes & USB_TRANSFER_TYPE_MASK) + 1;
|
||||
raw->epNumber = desc->bEndpointAddress & USB_ENDPOINT_ADDRESS_MASK;
|
||||
@ -716,7 +716,7 @@ Result usbHsIfOpenUsbEp(UsbHsClientIfSession* s, UsbHsClientEpSession* ep, u16 m
|
||||
}
|
||||
|
||||
if (R_SUCCEEDED(rc)) {
|
||||
if (kernelAbove200()) {
|
||||
if (hosversionAtLeast(2,0,0)) {
|
||||
rc = _usbHsCmdNoIO(&ep->s, 3);//Populate
|
||||
if (R_SUCCEEDED(rc)) rc = _usbHsGetEvent(&ep->s, &ep->eventXfer, 2);
|
||||
}
|
||||
@ -737,7 +737,7 @@ Result usbHsIfResetDevice(UsbHsClientIfSession* s) {
|
||||
void usbHsEpClose(UsbHsClientEpSession* s) {
|
||||
if (!serviceIsActive(&s->s)) return;
|
||||
|
||||
_usbHsCmdNoIO(&s->s, kernelAbove200() ? 1 : 3);//Close
|
||||
_usbHsCmdNoIO(&s->s, hosversionAtLeast(2,0,0) ? 1 : 3);//Close
|
||||
|
||||
serviceClose(&s->s);
|
||||
eventClose(&s->eventXfer);
|
||||
@ -879,7 +879,7 @@ Result usbHsEpPostBuffer(UsbHsClientEpSession* s, void* buffer, u32 size, u32* t
|
||||
u32 count=0;
|
||||
UsbHsXferReport report;
|
||||
|
||||
if (!kernelAbove200()) return _usbHsEpSubmitRequest(s, buffer, size, 0, transferredSize);
|
||||
if (hosversionBefore(2,0,0)) return _usbHsEpSubmitRequest(s, buffer, size, 0, transferredSize);
|
||||
|
||||
rc = _usbHsEpPostBufferAsync(s, buffer, size, 0, &xferId);
|
||||
if (R_FAILED(rc)) return rc;
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include "types.h"
|
||||
#include "result.h"
|
||||
#include "kernel/ipc.h"
|
||||
#include "kernel/detect.h"
|
||||
#include "runtime/hosversion.h"
|
||||
#include "services/applet.h"
|
||||
#include "services/vi.h"
|
||||
#include "display/parcel.h"
|
||||
@ -68,7 +68,7 @@ Result viInitialize(ViServiceType service_type)
|
||||
if (g_viServiceType >= ViServiceType_Manager && R_SUCCEEDED(rc))
|
||||
rc = _viGetSessionNoParams(&g_viIApplicationDisplayService, &g_viIManagerDisplayService, 102);
|
||||
|
||||
if (g_viServiceType >= ViServiceType_System && R_SUCCEEDED(rc) && kernelAbove200())
|
||||
if (g_viServiceType >= ViServiceType_System && R_SUCCEEDED(rc) && hosversionAtLeast(2,0,0))
|
||||
rc = _viGetSessionNoParams(&g_viIApplicationDisplayService, &g_viIHOSBinderDriverIndirect, 103);
|
||||
|
||||
if (R_FAILED(rc))
|
||||
|
Loading…
Reference in New Issue
Block a user