Commit Graph

1185 Commits

Author SHA1 Message Date
fincs
47b0403333
Pass plain AccountUid inputs by value instead of by non-const pointer 2019-10-21 16:57:01 +02:00
fincs
13fbde91b0
fsdev: Added fsdevMountSaveData/SystemSaveData wrappers 2019-10-21 12:38:18 +02:00
fincs
54f6fa5420
fs: Use official method names, document min sysver, correct a few parameters 2019-10-21 12:37:38 +02:00
fincs
c77b88d868
Major cleanup and refactor of fsdev and romfsdev, see details:
fsdev:
- Removed fsdevGetDefaultFileSystem and default-fs handling
- Refactored CWD support to have (dynamically allocated) per-device CWDs
  (CWD support as a whole can be turned off with __nx_fsdev_support_cwd)
- Optimized calls by passing pointer to device through r->deviceData
- Use the per-thread path buffer directly as the argument to FS functions
- Removed redundant cross-device check in fsdev_rename
- Fixed string comparison logic in fsdevFindDevice
- fsdev_fixpath now accepts an input device in order to skip device
  lookup (extensively used along with r->deviceData)
- Mounting a filesystem now automatically sets the default device
  if there wasn't any previous default device (or if it's stdnull)
- fsdevMountSdmc no longer sets cwd to the folder containing the
  executable - this logic was moved to a new internal function
  called on startup by default (and it is now disabled for NSOs)
- Other miscellaneous optimizations

romfsdev:
- Cleaned up romfsMount* functions, removed unused/unnecessary logic
- Changed romfsMount* functions to return real result codes
- Renamed romfsMount to romfsMountSelf and improved documentation
- Removed romfsInitFromFile and romfsInitFromStorage (use Mount instead)
- Added documentation for romfsInit and romfsExit
2019-10-20 22:22:04 +02:00
yellows8
0403c988ba
hidsys: Fixed cmd order. Fixed output size for hidsysGetUniquePadSerialNumber. 2019-10-20 02:35:30 -04:00
fincs
26a0ee4af3
fsdev/romfsdev: Reduce TLS usage by sharing the path buffer 2019-10-20 02:48:04 +02:00
yellows8
a774fb81cc
Added hidsysSetNotificationLedPatternWithTimeout. Updated docs with sysver requirements which were previously missing. 2019-10-19 19:51:51 -04:00
Michael Scire
2e2d227ac7
vi: update for new-ipc 2019-10-20 01:13:40 +02:00
Michael Scire
23950cc10e
lr: update for new-ipc 2019-10-20 01:13:40 +02:00
Michael Scire
9e2df3ad53
ldr: update for new-ipc 2019-10-20 01:13:40 +02:00
Michael Scire
a3e7b1affb
smm: update for new-ipc 2019-10-20 01:13:40 +02:00
Michael Scire
71b44cfb02
psc: update for new-ipc 2019-10-20 01:13:39 +02:00
Michael Scire
61fabbe1bc
i2c: update for new-ipc 2019-10-20 01:13:39 +02:00
Michael Scire
861e9d7c3d
fsldr: assume domain 2019-10-20 01:13:23 +02:00
Michael Scire
7292ddfcd8
fspr: update for new-ipc 2019-10-20 01:11:27 +02:00
Michael Scire
77563f027a
bpc: update for new-ipc 2019-10-20 01:11:26 +02:00
Michael Scire
040767ce57
clkrst: update for new-ipc 2019-10-20 01:11:25 +02:00
Michael Scire
960f99e7a2
pcv: update for new-ipc 2019-10-20 01:11:24 +02:00
Michael Scire
16fde00323
spsm: update for new-ipc 2019-10-20 01:11:23 +02:00
Michael Scire
48905d70d2
gpio: update for new-ipc 2019-10-20 01:11:23 +02:00
yellows8
edcd25bdae
Added hiddbgWriteSerialFlash. 2019-10-19 18:42:45 -04:00
yellows8
ecd6cd73ca
Fixed hiddbgReadSerialFlash. Added hiddbgAcquireOperationEventHandle and hiddbgGetOperationResult. 2019-10-19 12:19:23 -04:00
yellows8
9b44261767
Fixed memset in usbHsEpClose() which was using sizeof() with the wrong struct. Closes #337. 2019-10-18 22:29:20 -04:00
SciresM
415adf5b93 threads: support using existing mem as stack (#336) 2019-10-19 04:25:23 +02:00
fincs
69a63bbee8
fsdev: Reduce TLS footprint for rarely used codepaths 2019-10-19 04:00:50 +02:00
yellows8
5f5d4c9785
pdm: Renamed PdmApplicationEvent to PdmAppletEvent, and renamed pdmqryQueryApplicationEvent to pdmqryQueryAppletEvent. Renamed *entryindex fields in various structs to *entry_index. Updated param types and minor param name adjustments. 2019-10-18 16:53:26 -04:00
fincs
3c610fb2cb
fsdev: Allow directory entry cache size to be configured dynamically 2019-10-18 21:23:11 +02:00
yellows8
d1c045f745
usbhs: Updated for new-ipc. Minor improvements and improved docs. 2019-10-17 23:23:06 -04:00
yellows8
e82819d8a4
usbds: Updated for new-ipc. Added sysver checking. Updated the intf_num param type for usbDsRegisterInterfaceEx, likewise with intf_num fields used elsewhere. Renamed the Service 'h' field in UsbDsInterface/UsbDsEndpoint to 's'. Minor improvements + improved docs.
usbComms: Fixed locking issue which caused a hang in usbCommsInitialize*() when init fails.
2019-10-17 17:34:36 -04:00
yellows8
45bf08bf8d
audren: Updated for new-ipc. Renamed audrenGetServiceSession to audrenGetServiceSession_AudioRenderer. Use the [3.0.0+] *Auto cmd with audrenRequestUpdateAudioRenderer when available. Minor adjustments + improved docs. 2019-10-16 10:14:57 -04:00
yellows8
d40cc55833
audin: Updated for new-ipc. Use the [3.0.0+] *Auto cmds when available. Added count param to audinListAudioIns. Added audinGetServiceSession and audinGetServiceSession_AudioIn. 2019-10-15 19:58:12 -04:00
yellows8
6fb5806d51
audout: Minor internal adjustment. 2019-10-15 19:07:55 -04:00
yellows8
80cc0bb86a
audout: Added audoutGetServiceSession and audoutGetServiceSession_AudioOut. Improved docs. 2019-10-15 18:13:22 -04:00
yellows8
dcafcd0d94
audout: Use the [3.0.0+] *Auto cmds when available. 2019-10-15 17:27:26 -04:00
yellows8
39a67c6c31
audout: Updated for new-ipc. Added count param to audoutListAudioOuts. 2019-10-15 14:07:28 -04:00
yellows8
1526e8e98e
Updated hwopus for new-ipc. Added types.h include to auddev.h/hwopus.h. 2019-10-14 21:07:38 -04:00
yellows8
f4ce807b1b
auddev: Updated for new-ipc and improved docs. 2019-10-14 19:59:04 -04:00
yellows8
98968b45f3
nfc: Replaced HidControllerID usage with struct NfcDeviceHandle. Updated params for nfpListDevices. Minor internal changes. 2019-10-14 17:21:38 -04:00
yellows8
a14cd3a70c
set: Replaced SetSysFlag/setsysGetFlag/setsysSetFlag with dedicated funcs for each flag, which also handles checking sysver now when needed. Fixed cmd order. Improved docs. 2019-10-14 14:31:22 -04:00
yellows8
a489a123c2
grc: Updated for new-ipc and fixed cmd order. 2019-10-13 22:49:06 -04:00
yellows8
67ccc66f15
Changed the nfpu prefix to nfp. Changed the nfcu prefix to nfc. Renamed nfpuIsNfcEnabled to nfcIsNfcEnabled. Added nfpSetServiceType/nfcSetServiceType and the enums for it. Moved nfc service init/exit into seperate funcs nfcInitialize/nfcExit. Renamed NfpuInitConfig to NfcRequiredMcuVersionData, removed it from nfpInitialize() input, and handle it properly as an array. Minor other changes. 2019-10-13 19:38:24 -04:00
yellows8
1a0b5569ab
nfc: Updated for new-ipc. Added sysver check for nfpuAttachAvailabilityChangeEvent which was missing. Fixed the order of cmds. Renamed nfpuGetInterface to nfpuGetServiceSession_Interface. Added nfpuGetServiceSession, nfcuGetServiceSession, and nfcuGetServiceSession_Interface. Various minor changes and improved docs. 2019-10-13 13:36:51 -04:00
yellows8
16e4e9e2b3
hid: Updated for new-ipc. Updated param types. Minor improvements and improved docs. 2019-10-12 12:29:51 -04:00
yellows8
58346564f7
irs: Updated for new-ipc. Improved docs. 2019-10-11 22:35:56 -04:00
yellows8
5b51efe4a8
hiddbg: Updated for new-ipc. Improved docs. 2019-10-11 21:27:32 -04:00
yellows8
55f769e0b8
hidsys: Updated for new-ipc. Updated param types. Fixed cmd order. Fixed _hidsysGetMaskedSupportedNpadStyleSet to actually use the input AppletResourceUserId, not g_hidsysAppletResourceUserId. Added hidsysAcquireSleepButtonEventHandle to the .h, which was previously missing. Minor changes + improved docs. 2019-10-11 15:34:34 -04:00
yellows8
d3376aa816
lbl: Updated for new-ipc and improved docs. 2019-10-11 11:18:51 -04:00
yellows8
d25144afbd
pl: Updated for new-ipc. Updated param types for plGetSharedFontByType and plGetSharedFont. Improved docs and minor other changes. 2019-10-11 01:47:23 -04:00
yellows8
44c45555cd
pctl: Updated for new-ipc. Added pctlGetServiceSession and pctlGetServiceSession_Service. 2019-10-10 22:03:22 -04:00
yellows8
1b610070f5
pdmqry: Updated for new-ipc and updated for using AccountUid. Renamed pdmqryGetUserPlayedApplications to pdmqryQueryRecentlyPlayedApplication. Renamed pdmqryGetUserAccountEvent to pdmqryGetRecentlyPlayedApplicationUpdateEvent. Minor param name adjustment. 2019-10-10 21:06:14 -04:00
yellows8
39288a832e
capssc: Updated for new-ipc. 2019-10-10 13:01:25 -04:00
yellows8
21e35ede7c
capsu: Updated for new-ipc. Updated param types for capsuGetAlbumFileList*(), and updated for using AccountUid. Improved docs. 2019-10-10 12:44:21 -04:00
yellows8
2940833a1b
caps(su): Updated for new-ipc. Updated for using AccountUid. 2019-10-08 22:01:37 -04:00
yellows8
3a1459cf4c
applet: Updated for using AccountUid and improved docs. 2019-10-08 21:05:00 -04:00
yellows8
3e5c129431
fs: Updated for using AccountUid and removed FS_SAVEDATA_USERID_COMMONSAVE. 2019-10-08 18:05:25 -04:00
yellows8
929990b7c8
web/friendsLa: Updated for using AccountUid. Renamed webConfigSetUserID to webConfigSetUid, and renamed WebArgType_UserID to WebArgType_Uid. 2019-10-08 17:44:53 -04:00
yellows8
95f91c431c
account: Updated for new-ipc. Renamed the username field in AccountProfileBase to nickname. Fixed various param types, and also removed the output bool from accountGetLastOpenedUser. Added struct AccountUid for proper userIDs, which replaces u128-userIDs. Added accountUidIsValid. Added accountSetServiceType()/AccountServiceType. Improved docs and minor improvements.
env: Updated UserIdStorage handling for using AccountUid.
2019-10-08 15:41:18 -04:00
yellows8
040b33c457
time: Updated for new-ipc. Renamed _timeGetClockSession to timeGetServiceSession_SystemClock, and added it to the .h. Added timeGetServiceSession_TimeZoneService. Fixed the order of cmds. Fixed param types for timeGetTotalLocationNameCount, timeLoadLocationNameList, timeToPosixTime, and timeToPosixTimeWithMyRule. The location_name_size param for timeLoadLocationNameList was replaced with location_name_max, which is max entries instead of buffer byte-size. Internal improvements and improved docs. 2019-10-06 22:06:22 -04:00
yellows8
ae582d8cb4
Changed the output of appletGetOperationMode/appletGetPerformanceMode to enums AppletOperationMode/ApmPerformanceMode. 2019-10-06 19:05:58 -04:00
yellows8
71e249e6a4
apm: Updated for new-ipc. Added enum ApmPerformanceMode. Added apmGetServiceSession_Session. Improved docs. 2019-10-06 19:02:05 -04:00
yellows8
ed2d72b9ff
csrng: Updated for new-ipc. Removed copyright comment-header in the .c (other .c don't have it and the .h has one anyway). 2019-10-06 15:49:36 -04:00
yellows8
e320f3cdf1
psm: Updated for new-ipc and minor internal improvements. 2019-10-06 12:24:29 -04:00
yellows8
75795933a7
nifm: Updated for new-ipc. Added nifmGetServiceSession_StaticService and nifmGetServiceSession_GeneralService. Fixed order of cmds and improved docs. Improved _nifmCreateGeneralService. 2019-10-05 12:38:42 -04:00
yellows8
be2cb63722
wlaninf: Updated for new-ipc. 2019-10-04 20:36:51 -04:00
yellows8
1c334bafb9
set: Updated for new-ipc. Changed the type of the Language param for setMakeLanguage*() from s32 to SetLanguage. Added size_out param to setsysGetSettingsItemValue which was previously missing. Minor param name adjustment for setsysBindFatalDirtyFlagEvent. Improved docs. 2019-10-04 14:41:10 -04:00
yellows8
62192cac0a
Removed sm.h include from applet.c which is no longer needed. 2019-10-03 21:48:36 -04:00
yellows8
c4b1a68269
applet: Added macros in applet.c for defining cmds' impl in a single line, using the ipc helper funcs. Some cmds which previously didn't have NotInitialized checks now do so via the macros. Fixed the order of some cmds. 2019-10-03 20:03:45 -04:00
yellows8
9916fe93a0
applet: Updated for new-ipc, various internal improvements, and changed the transfer_size param type for appletReadThemeStorage to u64. 2019-10-02 19:02:20 -04:00
yellows8
127408a1f7
Fixed ipc output/etc for ncmContentStorageListPlaceHolder, nsvmGetSafeSystemVersion, and nsdevPrepareLaunchProgramFromHost (caused by new-ipc changes). 2019-10-01 20:43:03 -04:00
yellows8
2e56959916
Updated ts for new IPC. 2019-09-30 20:04:51 -04:00
yellows8
08272ed12e
Improved docs. Added nsGetServiceSession_GetterInterface, nsGetServiceSession_ApplicationManagerInterface, nsvmGetServiceSession, nsdevGetServiceSession, and nssuGetServiceSession. 2019-09-30 19:23:36 -04:00
yellows8
e483dc87a0
Added NsApplicationControlSource for use with nsGetApplicationControlData. Fixed actual_size handling for nsGetApplicationControlData. 2019-09-26 18:42:47 -04:00
yellows8
653a1a6b9a
Fixed the param and sysver-check for nsvmGetSafeSystemVersion, and updated docs. 2019-09-26 17:21:54 -04:00
yellows8
075a743cfb
Added support for nssu, and added the structs/enums for it. Added NSSU_CARDUPDATE_TMEM_SIZE_DEFAULT. Moved cmd_id param in the ns helper funcs to the last param. Improved docs. 2019-09-26 17:07:26 -04:00
yellows8
0749dfd67f
Added services/async. 2019-09-26 16:57:39 -04:00
Adubbz
8330f23d20 Updated ncm to new libnx ipc (#331)
* Updated to new libnx ipc
* Improved docs
* Added firmware req comments
* Improved ncmContentMetaDatabaseGetContentIdByType
* Fix ncmContentMetaDatabaseGetContentIdByTypeAndIdOffset
2019-09-25 21:52:51 -04:00
yellows8
f9eb0c88ee
Use new IPC with ns. Updated the params for nsListApplicationRecord/nsListApplicationContentMetaStatus. Updated docs. 2019-09-23 21:01:10 -04:00
fincs
b30b567228
fsdev: Convert time into proper POSIX UTC timestamps (FS reports local time instead) 2019-09-22 18:14:10 +02:00
fincs
c3f0210cf6
time: Correct timeToPosixTime(WithMyRule) to accept number of timestamps instead of raw byte size 2019-09-22 18:12:28 +02:00
fincs
ecbc77840e
fs: Update names of enum/flag types for style consistency and correctness 2019-09-21 19:54:21 +02:00
fincs
77888f8b1f
fs: Use new IPC interface + fixes, see details:
- Argument types corrected to better reflect their actual types
  (mostly several incorrect instances of size_t were changed to u64)
- Const correctness fixes
- fsEventNotifierGetEventHandle changed to output an Event (with
  user configurable autoclear) instead of a raw Handle
2019-09-21 16:27:15 +02:00
fincs
62d795a3c6
fs: Add support for setting priority through IPC context [5.0.0+] 2019-09-21 03:31:08 +02:00
fincs
8a0aef8824
Fix new compiler warnings raised by GCC 9.x 2019-09-21 00:58:33 +02:00
Michael Scire
76daefae78 ro: update to use new-ipc 2019-09-20 12:17:57 -07:00
Michael Scire
f5f768ea5c fsldr: update to use new-ipc 2019-09-20 12:17:46 -07:00
Michael Scire
aafbc310c2 spl: update to use new-ipc 2019-09-20 12:17:27 -07:00
Michael Scire
f465206082 pm: update to use new-ipc 2019-09-20 12:16:54 -07:00
fincs
10d07f3a8a
fs: Implement skeleton required for new IPC and multi-session support (no actual cmds converted yet to new IPC) 2019-09-20 19:39:32 +02:00
fincs
96fc7dd8cd
Minor style fixes in new IPC code 2019-09-20 14:54:45 +02:00
fincs
5ab1219f40
Add internal service guard helper, needed for proper thread safe service init/exit 2019-09-20 02:28:46 +02:00
fincs
4eda677b93
Add compiler optimization hint to remove unused domain handling code 2019-09-20 01:36:22 +02:00
fincs
dedd29b431
sm: Remove smHasInitialized (use Initialize+GetService+Exit instead) 2019-09-19 23:47:37 +02:00
fincs
43ad77e8d2
nv: Use new IPC interface 2019-09-19 13:23:16 +02:00
fincs
99c325ed5b
Further cleanup in SM code; smEncodeName is now constexpr 2019-09-19 12:56:21 +02:00
fincs
51db782e7a
fatal: Use new IPC interface 2019-09-19 04:23:00 +02:00
fincs
6ad0042147
Introduce new IPC interface wrapper code, see details:
- Service object moved away from sm.h and into its own file (sf/service.h)
- Service object completely redesigned, but a (mostly)
  backwards compatible API was kept
- New low level HIPC request/response code
- New CMIF client-oriented code
- New service IPC dispatch functions
- Pointer buffer size automatically retrieved for all sessions
- Removed previous manual pointer buffer size query code
- SM rewritten with new IPC code
- All other services are still pending IPC rewrite
2019-09-19 03:50:28 +02:00
yellows8
f4fe3376bd
Fixed the names for nsdevLaunchApplication, nsdevLaunchApplicationWithStorageId, nsdevGetRunningApplicationProcessId, and nsdevSetCurrentApplicationRightsEnvironmentCanBeActive. Updated the sysver checks for nsdevIsSystemMemoryResourceLimitBoosted since it was removed with [9.0.0+]. 2019-09-17 13:19:29 -04:00
yellows8
b1317d3ff8
Added ts. 2019-09-14 20:46:37 -04:00
yellows8
fa25df27d0
Added support for friendsLa. Added friends.h. 2019-09-14 19:26:07 -04:00
yellows8
4ce9c0b038
Updated hdls to support [9.0.0+]. Added hiddbgGetUniquePadDeviceTypeSetInternal. Actually load the output rc from resp in AbstractedPad/VirtualPad funcs. 2019-09-14 11:13:56 -04:00