Commit Graph

527 Commits

Author SHA1 Message Date
Joel16
eb3c264e88 Add setsysSetColorSetId and region codes 2018-06-13 19:34:20 -04:00
Dave Murphy
9860ad331c implement nanosleep 2018-06-14 00:49:20 +02:00
jarulo
8b793729fc Fix inet_pton4 2018-06-12 13:08:27 +02:00
Somebody Whoisbored
ad4af954c2 Added nifm service (#110)
* Added nifm service
* Properly implemented gethostid
* Implemented gethostname
2018-06-07 18:00:51 -04:00
Joel
3c6344d7f3 Add more set:sys Get*/Set* functions (#108)
* Use setsysGetFlag/setsysSetFlag instead of setsysGet*/setsysSet*.
* Added more setsys Flags (now handled via an enum).
2018-06-07 16:06:36 -04:00
Dave Murphy
3326d5e62d Time fixes (#102)
* provide microseconds to gettimeofday
* implement clock functions
2018-06-07 15:35:41 -04:00
Joel
1abfb02460 Add nsGetSpace commands (#111)
* Add nsGetSpace commands
2018-06-05 22:15:52 -04:00
Adubbz
d3889fb9ed Added a few misc IPC wrappers (#107)
* Added a few misc IPC wrappers
2018-06-04 22:05:51 -04:00
jarulo
a5381e43c0 Fix incorrect pointer reference in socketDeserializeAddrInfo 2018-05-29 15:29:39 -04:00
Joel
deab92d486 Add some setsysGet* functions (#98)
* Add some setsysGet* functions
2018-05-22 11:33:45 -04:00
yellows8
b11288ea44 In jitTransitionToWritable() and jitTransitionToExecutable(), only run the JitType_CodeMemory handling code when it's actually needed. Actually free j->rx_addr in jitClose() for JitType_JitMemory. 2018-05-21 16:59:49 -04:00
yellows8
a12eb11eab Sync jit SVC names with wiki + updated the comment for JitType_JitMemory in jit.h. 2018-05-21 14:32:02 -04:00
yellows8
93957370a9 Disable using JitType_JitMemory on 5.0.0+, resulting in falling back to JitType_CodeMemory if available. 2018-05-21 14:04:20 -04:00
yellows8
726f8adfe3 Replaced the hard-coded timeout error constant in nvgfxEventWait() with the one from result.h. This fixes an issue caused by a past commit. 2018-05-19 21:45:18 -04:00
Joel
3605e40dbd Add string.h to remove compile error (#96)
* Add string.h to remove compile error
2018-05-19 15:41:15 -04:00
Joel
c28cae95cd Add setGetSerialNumber (#95) 2018-05-19 16:50:00 +02:00
yellows8
df203f0697 Added hidMergeSingleJoyAsDualJoy(). 2018-05-18 18:42:48 -04:00
Dave Murphy
28ebb9ed0c implement nxlink stdio redirect (#94) 2018-05-17 00:22:47 +02:00
Dave Murphy
71036319a7 translate crlf eol markers to lf for consistency 2018-05-15 12:27:25 +02:00
yellows8
fdf0949562 Fixed parsing in _socketDeserializeHostent(). 2018-05-15 02:10:13 -04:00
Matthew Bell
61d4140773 Implement pm:info (#88)
* Added pm:info and GetTitleId
2018-05-14 21:09:43 -04:00
yellows8
5ebe01191e Fixed hang in _socketDeserializeHostent(). 2018-05-14 12:37:56 -04:00
yellows8
ce718b3ac2 Set h_errno and errno for the socket.c 'Unimplementable functions'. 2018-05-14 12:32:07 -04:00
yellows8
3f75b79803 Copy the HidControllerHeader for each controller into hid state. Added disabled hidGetControllerType(). 2018-05-12 13:53:11 -04:00
yellows8
c548a76763 In select(), use pollinfo revents instead of events when processing poll() output. 2018-05-10 20:11:07 -04:00
yellows8
c8d68ae853 Fixed _socketOpen(). 2018-05-10 12:35:55 -04:00
yellows8
9c7ed03424 Fixed bsdGetSockOpt. 2018-05-09 22:07:54 -04:00
yellows8
2619142d78 Fixed bsdIoctl. 2018-05-09 12:57:07 -04:00
yellows8
adad6f1c0c Fixed passing rawdata params in _sfdnsresDispatchDnsRequest(). 2018-05-08 22:52:32 -04:00
Michael Scire
fd9378754d Fix asm error in svcGetResourceLimit*Value 2018-05-09 02:32:44 +02:00
yellows8
468924b730 Fixed static-buf-size issue with _bsdNameGetterCommand. 2018-05-08 16:22:18 -04:00
TuxSH
635599491c Add ipcAddSendSmart, ipcAddRecvSmart, use where applicable 2018-05-08 16:17:13 -04:00
Dave Murphy
e648524fa5 fix stringop-truncation warnings (#84)
avoid gcc 8.1.0 diagnostics as per https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wstringop-truncation
2018-05-08 21:58:38 +02:00
Michael Scire
6f248b9b9e Add FS commands for SD card state change detection. 2018-05-08 13:29:56 +02:00
Michael Scire
dc133ab99f Implement all Loader Services. 2018-05-07 17:04:59 +02:00
Michael Scire
836ec09917 Implement CSRNG services 2018-05-07 17:04:59 +02:00
Michael Scire
24b42cb6a3 Implement SPL services 2018-05-07 17:04:59 +02:00
Michael Scire
1cc0ac7a94 Revise LR API to use actual LR function names 2018-05-07 17:04:59 +02:00
Michael Scire
65cca4bf13 Add support for fsp-pr. 2018-05-07 17:04:59 +02:00
Michael Scire
ef47389228 Implement svcMap/UnmapPhysicalMemory(Unsafe), svcSetUnsafeLimit 2018-05-07 14:03:27 +02:00
Michael Scire
7b5d1b1bf3 Implement sm:m. 2018-05-04 01:50:22 +02:00
SciresM
0ac5743c1f Add ResourceLimit SVCs, svcGetProcessInfo (#76) 2018-05-04 00:59:17 +02:00
fincs
e001318c42 Fix strncat vulnerabilities in fs_dev.c [reported by @TuxSH] 2018-05-02 16:09:11 +02:00
fincs
2818c99dea Revise fsdev initialization, see details:
- Removed fsdevInit/Exit
- Now automatically initializing fsdev state on first mount
- Added fsdevMountSdmc (replaces fsdevInit)
- Added fsdevUnmountAll (replaces fsdevExit)
2018-05-01 19:06:14 +02:00
hexkyz
b2b8e1ec67 Implement more SVCs (#74)
Implement svcSetThreadPriority.
Implement svcGetCurrentProcessorNumber.
Implement svcSignalEvent.
Implement svcSendSyncRequestWithUserBuffer.
Implement svcSendAsyncRequestWithUserBuffer.
Implement svcGetThreadId.
Implement svcReplyAndReceiveWithUserBuffer.
Implement svcCreateEvent.
Implement svcReadWriteRegister.
Implement svcCreateInterruptEvent.
Implement svcMapDeviceAddressSpaceByForce.
Implement svcTerminateProcess.
Fix svcMapDeviceAddressSpaceAligned.
Fix svcUnmapDeviceAddressSpace.
2018-04-30 00:43:52 +02:00
yellows8
c2b4f586f2 Merge branch 'master' of github.com:switchbrew/libnx 2018-04-25 12:49:10 -04:00
yellows8
6e1cc4dc1e Added plGetSharedFontByType(). Added _plRequestLoadWait which is used internally for both plGetSharedFontByType() and plGetSharedFont(). Moved offset/size validation code in pl into a dedicated func. 2018-04-25 12:49:01 -04:00
SciresM
d5bce6b0a6 Implement svcCreatePort. (#73)
* Implement svcCreatePort
* Implement svcConnectToPort
* Implement svcUnmapProcessMemory
* Implement svcGetSystemInfo
2018-04-24 18:33:46 -04:00
yellows8
9bb649b5e2 plFontData -> PlFontData and fixed @file in pl.h. 2018-04-24 14:08:12 -04:00
yellows8
07759f38d9 Added pl. 2018-04-23 21:15:32 -04:00
Michael Scire
cea3db77b1 Services: Add fsp-ldr, add lr/fsp-ldr to <switch.h> 2018-04-22 01:15:28 +02:00
yellows8
f727aa669a Added the remaining (pre-4.0.0) hid-serv vibration cmds. 2018-04-19 15:17:22 -04:00
yellows8
37bb9a6b7f Added nacpGetLanguageEntry and SetLanguage_Total. 2018-04-18 23:38:01 -04:00
Michael Scire
5e591d708a LR: Fix style for helper funcs, add comment 2018-04-18 14:06:15 +02:00
Michael Scire
d950853b4a LR: Implement wrappers for some commands 2018-04-18 14:06:15 +02:00
yellows8
a33fc64457 Implemented 3.0.0+ support for ns. 2018-04-15 22:13:07 -04:00
plutooo
daf819cb75 Stylefixes 2018-04-15 23:28:28 +02:00
yellows8
c5bc2ec77a Changed nsApplicationControlData to NsApplicationControlData. 2018-04-15 17:00:50 -04:00
yellows8
c82f2cea00 Added ns impl, and added nsGetApplicationControlData. Imported nacp.h from nx-hbmenu with adjustments. 2018-04-15 15:00:11 -04:00
yellows8
8091db8931 Added FsStorageId. Added pmshell init/exit and pmshellLaunchProcess. 2018-04-12 02:52:49 -04:00
yellows8
a3baa0eeb1 Allow using multiple interfaces with usbComms. Added usbComms Ex funcs. Use RwLock with usbComms. Various other usbComms changes. 2018-04-11 17:18:23 -04:00
yellows8
58835fae1a Use Service for AccountProfile. 2018-04-10 17:06:33 -04:00
yellows8
29211c1800 Use Service for all fs sessions. This fixes an issue with savedata commit. 2018-04-06 12:39:57 -04:00
yellows8
7f158396ad Added impl for accountProfile*. If the inital smGetService fails, attempt to use 'acc:u0'. 2018-03-28 19:31:36 -04:00
yellows8
26d2e6d7f4 Implemented FsSaveDataIterator (aka ISaveDataInfoReader). In fs*Close(), set the handle to INVALID_HANDLE after closing the handle. Changed ContentStorageId in FsSave to SaveDataType. Added enums FsSaveDataSpaceId and FsSaveDataType. Removed FS_MOUNTSAVEDATA_INVAL_DEFAULT/FS_MOUNTSYSTEMSAVEDATA_INVAL_DEFAULT. 2018-03-26 14:45:12 -04:00
Dave Murphy
45b36774e0 add socket flags translation 2018-03-25 17:51:09 +02:00
plutoo
d604976f08 Derp 2018-03-23 19:04:26 +01:00
plutoo
6c72bf8273 Detect 5.0.0 properly 2018-03-23 19:01:09 +01:00
yellows8
bf216aa667 Added mounting for SystemSaveData. 2018-03-22 22:56:38 -04:00
yellows8
51293c7fb0 In socket ioctl(), properly call fcntl-F_SETFL with the new flags. 2018-03-20 22:49:52 -04:00
Dave Murphy
21d27b935e modularise nxlink code 2018-03-18 20:51:49 +01:00
Dave Murphy
1394891509 better tag for nxlink host ip 2018-03-18 20:51:49 +01:00
Dave Murphy
23f577576c more checking of NXLINKED arg 2018-03-18 20:51:49 +01:00
Dave Murphy
e8fdd73561 add support for finding nxlink host 2018-03-18 20:51:49 +01:00
yellows8
213676c5f8 Added hidGetHandheldMode(). 2018-03-15 22:24:52 -04:00
yellows8
5e9869cc41 Added hidSendVibrationValues(). Improved hidInitializeVibrationDevices(), including changing the HidControllerLayoutType param to HidControllerType. 2018-03-14 21:47:21 -04:00
yellows8
3a8a9d7c26 Removed code for g_gfxPixelFormat/gfxSetPixelFormat and use hard-coded constant instead, since changing this value has no affect (even when changing g_gfx_BufferInitData.format). 2018-03-11 22:14:03 -04:00
yellows8
49bea43cce Added envGetLastLoadResult(). 2018-03-11 17:40:28 -04:00
plutoo
e112ab6968 Fix ipc session close race properly 2018-03-11 13:21:36 +01:00
plutoo
e162da18ff Fix race condition in tmem 2018-03-10 21:03:31 +01:00
plutoo
965c7cdd47 Irs stylefix 2018-03-10 14:48:15 +01:00
plutoo
1d34db8497 Improve atomics 2018-03-10 14:41:06 +01:00
plutoo
a102c64341 Introduce atomics.c, refcounting on all services 2018-03-10 14:33:40 +01:00
plutoo
d12e99e3ad Move ipc.h to kernel/ 2018-03-10 14:03:29 +01:00
yellows8
d1cefabd12 Renamed hidInitializeVibrationDevice() to hidInitializeVibrationDevices(), and added support for optionally returning 2 handles + other changes. 2018-03-07 01:16:35 -05:00
yellows8
cbaa0e359b Added hidPermitVibration() and hidIsVibrationPermitted(). 2018-03-06 23:38:33 -05:00
Kostas Missos
e243e4507e [irs] Name image transfer config variables (#61)
* [irs] Name image transfer config variables
2018-03-06 19:33:45 -05:00
yellows8
a3933c7a85 Added hid vibration. 2018-03-06 18:08:57 -05:00
yellows8
e7a4eba71c Added hidSetNpadJoyAssignmentModeSingleByDefault() and hidSetNpadJoyAssignmentModeDual(). Check serviceIsActive() in hidExit(). Use hidSetNpadJoyAssignmentModeDual() for all controllers during hidInitialize()/hidExit(). 2018-03-05 22:37:37 -05:00
Mike H
208daf6344 Audio input implementation and fixes (#60)
* Implemented audin service and fixed released audio buffer handling
2018-03-04 12:20:31 -05:00
yellows8
f7335b7ae5 Only clear allocated tmem when alloc was successful. 2018-03-01 22:57:44 -05:00
yellows8
20a549b46b Clear allocated tmem. 2018-03-01 22:55:17 -05:00
yellows8
07ec16a8e7 Implemented more irs. 2018-03-01 19:14:45 -05:00
yellows8
6dd76f6288 Sync AudioOutBuffer comments with wiki. Updated audoutPlayBuffer() comments. Moved the waiting/post-append code from audoutPlayBuffer() into new func audoutWaitPlayFinish(). Removed '&' from code setting audoutAppendAudioOutBuffer() raw->tag. 2018-02-28 19:37:17 -05:00
plutoo
f4230f3ef0 Fix race condition in hid 2018-03-01 00:15:01 +01:00
plutoo
20f3e87d11 Change type of TryLock to bool 2018-02-28 18:22:28 +01:00
Jules Blok
e966f21800 mutex: Add TryLock() variants. 2018-02-28 18:00:03 +01:00
TuxSH
e0457c4534 Handle bsdInitialize failure codes properly 2018-02-27 19:14:44 +01:00
TuxSH
d33b26016d Add documentation to bsd.h and sfdnsres.h, etc. 2018-02-27 19:14:44 +01:00
TuxSH
3709ee92a5 Fix netdb functions 2018-02-27 19:14:44 +01:00
TuxSH
888f7e101f Fix inet_ntop6 2018-02-27 19:14:44 +01:00
TuxSH
472d305883 Move socket.c definitions around, fix bugs 2018-02-27 19:14:44 +01:00
TuxSH
dcf3e56300 Implement netdb.h functions, fix bugs, etc. 2018-02-27 19:14:44 +01:00
TuxSH
b8fb1722d0 Add sfdnsres 2018-02-27 19:14:44 +01:00
TuxSH
4b685d676b Add basic IPv6 definitions as sfdnsres seems to support it...
...also fix a bug in the inet_* functions.
2018-02-27 19:14:44 +01:00
TuxSH
0b92bb76b0 Add newlib wrapper for sockets...
... fix several bugs, etc.
2018-02-27 19:14:44 +01:00
TuxSH
88dbc66d01 Handle result code+errno properly...
also make fcntl and ioctl non-variadic for convenience for the newlib wrapper
2018-02-27 19:14:44 +01:00
TuxSH
a3e90d68a0 Add all the needed headers from FreeBSD...
... clean them up, also fix some bugs in bsd.c/h, etc.
2018-02-27 19:14:44 +01:00
TuxSH
4d78f12871 Implement most bsd:u/s service commands 2018-02-27 19:14:44 +01:00
yellows8
5664830f35 Fixed args parsing with quotes. 2018-02-27 02:14:23 -05:00
yellows8
f07d09aeb0 Added appletGetDesiredLanguage(). In set-serv('set'), added support for all language/region commands, etc. 2018-02-26 12:34:01 -05:00
plutoo
d3cc781bf6 Stylefix for nro 2018-02-26 02:10:49 +01:00
Dave Murphy
0bbfbadc39 switch to 16x16 console font 2018-02-25 15:49:25 +01:00
yellows8
e24c20f9e7 Added Nro prefix to Asset in nro.h + updated romfs_dev for this. 2018-02-24 15:39:30 -05:00
yellows8
4c1b09d6b9 Check for invalid handle in fs*Close(). Added fsOpenDataStorageByCurrentProcess(), fsStorageRead(), and fsStorageClose(). Added fsdevGetDefaultFileSystem(). Imported nro.h from nx-hbmenu. Implemented proper RomFS support. 2018-02-23 22:29:43 -05:00
yellows8
2022d545dc Store pixel-format in a global instead of hard-coding it and added a disabled func for setting it. Added a pixel-format comment to gfx.h. 2018-02-22 21:49:55 -05:00
yellows8
3c4c35e6e5 Added gfxSetDrawFlip() and gfxConfigureTransform(). 2018-02-22 20:31:51 -05:00
plutoo
60876ef3f3 Eyeballin set:sys 2018-02-22 08:44:12 +01:00
shinyquagsire23
954a48b8fe Add hidMouseRead, allows mouse position/velocity/scrollwheel velocity to be fetched 2018-02-22 06:48:00 +01:00
shinyquagsire23
1b255bfe15 Add usleep 2018-02-21 08:28:18 +01:00
plutoo
f8a86bf7b6 Merge branch 'master' of https://github.com/switchbrew/libnx 2018-02-21 08:38:49 +01:00
plutoo
e25aae5a97 Workaround for burn in issue 2018-02-21 08:38:22 +01:00
yellows8
d61154f0e5 Added timeSetCurrentTime() and attempt to initialize time-serv with 'time:s' first. 2018-02-21 00:26:21 -05:00
yellows8
0dcaeec959 In __libnx_gtod() set tv_usec, and moved+updated the timezones comment. 2018-02-20 22:24:35 -05:00
plutoo
842ce50c2f Condvar fix 2018-02-21 03:05:15 +01:00
yellows8
14263ddd78 Initial time support, timezones are not handled yet. 2018-02-20 18:17:32 -05:00
plutoo
6ee4d389a5 Binder bugfix 2018-02-19 23:40:48 +01:00
Mike H
cde07068dd Return result from audoutPlayBuffer (#46)
* Return result from audoutPlayBuffer
* Add alignment note in header file
2018-02-19 16:43:58 -05:00
yellows8
20cd940095 Implemented arg parsing for NRO env. When args aren't available, set __system_argv to {ptr to NULL} instead of NULL. 2018-02-17 21:25:21 -05:00
yellows8
a1462c8b0b Fixed size of bufferProducerGraphicBuffer and removed the union for it. Removed an invalid comment from gfx.c, since bufferProducerRequestBuffer() is used after bufferProducerGraphicBufferInit(). 2018-02-17 19:35:04 -05:00
Mike H
0e40828c19 Initial audio support (#43)
Initial audio support
2018-02-17 11:40:59 -05:00
yellows8
c22655e7a2 Moved the applet GetEventHandle code outside of the regularapp block since appletMainLoop() uses this event. 2018-02-16 22:54:15 -05:00
yellows8
3c6b8bb6dd Removed envGetArgc() and the related code, since it was removed from wiki-ABI. Updated a comment in argv.c. 2018-02-16 22:40:53 -05:00
yellows8
3f90f3b64c Align width/height to 4 in gfxInitResolution() and gfxConfigureCrop(). Updated the image-transfer code in gfxFlushBuffers() for removing the width misalignment handling. 2018-02-16 20:13:47 -05:00
yellows8
67af341594 Fixed romfs_dir struct for the parent field and fixed romfs_dev.h formatting. 2018-02-13 17:50:21 -05:00
yellows8
f5606bfb8a Added disabled _appletExitProcessAndReturn(). 2018-02-13 12:16:17 -05:00
yellows8
4efcc5b439 Only handle appletIFunctions for non-LibraryApplet. Added remaining init/exit for LibraryApplet. Handle appletExit() properly. 2018-02-12 22:15:56 -05:00
yellows8
83349f946a Use u128 for data-transfer in gfxFlushBuffers() when width is aligned for this. 2018-02-12 18:09:15 -05:00
yellows8
13b4c74723 Updated gfx API. Replaced gfxSetDoubleBuffering() with gfxSetMode(), and added GfxMode enum. Updated gfx.h comments. Updated gfxGetFramebufferDisplayOffset() for using the aligned width. The new GfxMode_LinearDouble is now used by default, apps must not use gfxGetFramebufferDisplayOffset() with this mode. Apps using gfxGetFramebufferDisplayOffset() must be updated. 2018-02-12 16:08:25 -05:00
yellows8
4b2a32af59 Imported transform enums from Android and updated g_gfxQueueBufferData.transform for this. 2018-02-12 11:58:54 -05:00
yellows8
a31e53d57a Added disabled applet code for cmds Exit, LockExit, and UnlockExit. 2018-02-11 15:44:49 -05:00
TuxSH
507bf71a7b Fix NV ioctl nameclashes...
...with bsd ioctls (coming soon) & C++ stdlib
2018-02-10 23:02:05 +01:00
fincs
521bc1c5c9 Document kernel/condvar.h 2018-02-10 22:40:11 +01:00
fincs
78ff885390 Rename __in/out/inout to _in_/etc to avoid problems with C++ system headers 2018-02-10 22:40:11 +01:00
fincs
d2ab48262c Fix breakage after rebase 2018-02-10 22:40:11 +01:00
fincs
cde9d05c80 Optimize/fix several things in svc.s 2018-02-10 22:40:11 +01:00
fincs
c20d372946 Clean up types.h:
- Move Permission to kernel/svc.h (also fix enum naming)
- Add s128, vu128, vs128
- voidfn -> VoidFn
2018-02-10 22:40:11 +01:00
fincs
41da28eb5c Document kernel/: shmem.h, thread.h, tmem.h, virtmem.h 2018-02-10 22:40:11 +01:00
fincs
cbd367c8a0 Document kernel/: detect.h, jit.h, mutex.h, random.h, rwlock.h 2018-02-10 22:40:11 +01:00
yellows8
dc785c1fee Added appletSetScreenShotPermission and appletSetScreenShotImageOrientation. Added LibnxError_IncompatSysVer. 2018-02-08 22:13:56 -05:00