libnx
switch.h
Go to the documentation of this file.
1 /**
2  * @file switch.h
3  * @brief Central Switch header. Includes all others.
4  * @copyright libnx Authors
5  */
6 #pragma once
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #include "switch/types.h"
13 #include "switch/result.h"
14 
15 #include "switch/nro.h"
16 #include "switch/nacp.h"
17 
18 #include "switch/arm/tls.h"
19 #include "switch/arm/cache.h"
20 
21 #include "switch/kernel/svc.h"
22 #include "switch/kernel/tmem.h"
23 #include "switch/kernel/shmem.h"
24 #include "switch/kernel/mutex.h"
25 #include "switch/kernel/rwlock.h"
26 #include "switch/kernel/condvar.h"
27 #include "switch/kernel/thread.h"
28 #include "switch/kernel/virtmem.h"
29 #include "switch/kernel/detect.h"
30 #include "switch/kernel/random.h"
31 #include "switch/kernel/jit.h"
32 #include "switch/kernel/ipc.h"
33 
34 #include "switch/services/sm.h"
35 #include "switch/services/smm.h"
36 #include "switch/services/fs.h"
37 #include "switch/services/fsldr.h"
38 #include "switch/services/fspr.h"
39 #include "switch/services/acc.h"
40 #include "switch/services/apm.h"
41 #include "switch/services/applet.h"
42 #include "switch/services/audin.h"
43 #include "switch/services/audout.h"
44 #include "switch/services/csrng.h"
45 //#include "switch/services/bsd.h" Use switch/runtime/devices/socket.h instead
46 #include "switch/services/fatal.h"
47 #include "switch/services/time.h"
48 #include "switch/services/usb.h"
49 #include "switch/services/hid.h"
50 #include "switch/services/irs.h"
51 #include "switch/services/pl.h"
52 #include "switch/services/vi.h"
53 #include "switch/services/nv.h"
54 #include "switch/services/ns.h"
55 #include "switch/services/ldr.h"
56 #include "switch/services/pm.h"
57 #include "switch/services/set.h"
58 #include "switch/services/lr.h"
59 #include "switch/services/spl.h"
60 
61 #include "switch/gfx/gfx.h"
62 #include "switch/gfx/binder.h"
63 #include "switch/gfx/parcel.h"
64 #include "switch/gfx/buffer_producer.h"
65 #include "switch/gfx/ioctl.h"
66 #include "switch/gfx/nvioctl.h"
67 #include "switch/gfx/nvgfx.h"
68 
69 #include "switch/runtime/env.h"
70 #include "switch/runtime/nxlink.h"
71 
73 
78 #include "switch/runtime/devices/socket.h"
79 
80 #ifdef __cplusplus
81 }
82 #endif
83 
AArch64 thread local storage.
NVIDIA low level driver (nvdrv*) service IPC wrapper.
Security Processor Liaison (spl*) service IPC wrapper.
Service manager (sm) IPC wrapper.
Various system types.
Time services IPC wrapper.
Display (vi:*) service IPC wrapper.
Settings services IPC wrapper.
Fatal error (fatal:u) service IPC wrapper.
Human input device (hid) service IPC wrapper.
NRO headers.
Transfer memory handling.
Filesystem (fsp-srv) service IPC wrapper.
Control.nacp structure / related code for nacp.
pl:u service IPC wrapper.
Process management (pm*) service IPC wrapper.
ServiceManager-IManager (sm:m) service IPC wrapper.
Homebrew environment definitions and utilities.
Virtual memory mapping utilities.
RomFS driver.
Multi-threading support.
Switch result code tools.
High-level graphics API.
Condition variable synchronization primitive.
UTF conversion functions.
FilesystemProxy-ForLoader (fsp-ldr) service IPC wrapper.
Applet (applet) service IPC wrapper.
AArch64 cache operations.
HID IR sensor (irs) service IPC wrapper.
Mutex synchronization primitive.
Just-in-time compilation support.
FS driver, using devoptab.
Location Resolver (lr) service IPC wrapper.
Account (acc:*) service IPC wrapper.
Performance management (apm) service IPC wrapper.
FilesystemProxy-ProgramRegistry (fsp-pr) service IPC wrapper.
Framebuffer text console.
Cryptographically-Secure Random Number Generation (csrng) service IPC wrapper.
USB (usb:*) service IPC wrapper.
Inter-process communication handling.
OS-seeded pseudo-random number generation support (ChaCha algorithm).
Loader (ldr*) service IPC wrapper.
Wrappers for kernel syscalls.
USB comms.
Read/write lock synchronization primitive.
NS service IPC wrapper.
Shared memory object handling.
Audio output service.
Kernel version detection.
Audio input service.