libnx  v4.6.0
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 #include "switch/arm/counter.h"
21 
22 #include "switch/kernel/svc.h"
23 #include "switch/kernel/wait.h"
24 #include "switch/kernel/tmem.h"
25 #include "switch/kernel/shmem.h"
26 #include "switch/kernel/mutex.h"
27 #include "switch/kernel/event.h"
28 #include "switch/kernel/levent.h"
29 #include "switch/kernel/uevent.h"
30 #include "switch/kernel/utimer.h"
31 #include "switch/kernel/rwlock.h"
32 #include "switch/kernel/condvar.h"
33 #include "switch/kernel/thread.h"
35 #include "switch/kernel/virtmem.h"
36 #include "switch/kernel/detect.h"
37 #include "switch/kernel/random.h"
38 #include "switch/kernel/jit.h"
39 #include "switch/kernel/barrier.h"
40 
41 #include "switch/sf/hipc.h"
42 #include "switch/sf/cmif.h"
43 #include "switch/sf/service.h"
44 #include "switch/sf/sessionmgr.h"
45 #include "switch/sf/tipc.h"
46 
47 #include "switch/services/sm.h"
48 #include "switch/services/smm.h"
49 #include "switch/services/fs.h"
50 #include "switch/services/fsldr.h"
51 #include "switch/services/fspr.h"
52 #include "switch/services/acc.h"
53 #include "switch/services/apm.h"
54 #include "switch/services/applet.h"
55 #include "switch/services/async.h"
56 #include "switch/services/audctl.h"
57 #include "switch/services/audin.h"
58 #include "switch/services/audout.h"
59 #include "switch/services/audrec.h"
60 #include "switch/services/audren.h"
61 #include "switch/services/auddev.h"
62 #include "switch/services/hwopus.h"
63 #include "switch/services/csrng.h"
64 #include "switch/services/lbl.h"
65 #include "switch/services/i2c.h"
66 #include "switch/services/gpio.h"
67 #include "switch/services/uart.h"
68 #include "switch/services/bpc.h"
69 #include "switch/services/pcv.h"
70 #include "switch/services/clkrst.h"
71 #include "switch/services/fan.h"
72 #include "switch/services/pgl.h"
73 #include "switch/services/psm.h"
74 #include "switch/services/spsm.h"
75 //#include "switch/services/bsd.h" Use <sys/socket.h> instead
76 //#include "switch/services/sfdnsres.h" Use <netdb.h> instead
77 //#include "switch/services/htcs.h"
78 #include "switch/services/fatal.h"
79 #include "switch/services/time.h"
80 #include "switch/services/usb.h"
81 #include "switch/services/usbds.h"
82 #include "switch/services/usbhs.h"
83 #include "switch/services/hid.h"
84 #include "switch/services/hidbus.h"
85 #include "switch/services/hiddbg.h"
86 #include "switch/services/hidsys.h"
87 #include "switch/services/irs.h"
88 #include "switch/services/pl.h"
89 #include "switch/services/vi.h"
90 #include "switch/services/nv.h"
91 #include "switch/services/nifm.h"
92 #include "switch/services/nim.h"
93 #include "switch/services/ns.h"
94 #include "switch/services/ldr.h"
95 #include "switch/services/ro.h"
96 #include "switch/services/tc.h"
97 #include "switch/services/ts.h"
98 #include "switch/services/pm.h"
99 #include "switch/services/set.h"
100 #include "switch/services/ssl.h"
101 #include "switch/services/lr.h"
102 #include "switch/services/bt.h"
103 #include "switch/services/btdrv.h"
104 #include "switch/services/btm.h"
105 #include "switch/services/btmu.h"
106 #include "switch/services/btmsys.h"
107 #include "switch/services/spl.h"
108 #include "switch/services/ncm.h"
109 #include "switch/services/psc.h"
110 #include "switch/services/caps.h"
111 #include "switch/services/capsa.h"
112 #include "switch/services/capsc.h"
113 #include "switch/services/capsdc.h"
114 #include "switch/services/capsu.h"
115 #include "switch/services/capssc.h"
116 #include "switch/services/capssu.h"
117 #include "switch/services/capmtp.h"
118 #include "switch/services/nfc.h"
119 #include "switch/services/wlaninf.h"
120 #include "switch/services/pctl.h"
121 #include "switch/services/pdm.h"
122 #include "switch/services/grc.h"
123 #include "switch/services/friends.h"
124 #include "switch/services/notif.h"
125 #include "switch/services/mii.h"
126 #include "switch/services/miiimg.h"
127 #include "switch/services/ldn.h"
128 #include "switch/services/lp2p.h"
129 #include "switch/services/news.h"
130 #include "switch/services/ins.h"
131 #include "switch/services/ectx.h"
132 #include "switch/services/avm.h"
133 #include "switch/services/mm.h"
134 
135 #include "switch/display/binder.h"
136 #include "switch/display/parcel.h"
137 #include "switch/display/buffer_producer.h"
140 
141 #include "switch/nvidia/ioctl.h"
142 #include "switch/nvidia/graphic_buffer.h"
143 #include "switch/nvidia/fence.h"
144 #include "switch/nvidia/map.h"
145 #include "switch/nvidia/address_space.h"
146 #include "switch/nvidia/channel.h"
147 #include "switch/nvidia/gpu.h"
148 #include "switch/nvidia/gpu_channel.h"
149 
150 #include "switch/audio/driver.h"
151 
153 #include "switch/applets/album_la.h"
155 #include "switch/applets/hid_la.h"
156 #include "switch/applets/mii_la.h"
157 #include "switch/applets/nfp_la.h"
158 #include "switch/applets/nifm_la.h"
159 #include "switch/applets/pctlauth.h"
160 #include "switch/applets/psel.h"
161 #include "switch/applets/error.h"
162 #include "switch/applets/swkbd.h"
163 #include "switch/applets/web.h"
164 
165 #include "switch/runtime/env.h"
167 #include "switch/runtime/diag.h"
168 #include "switch/runtime/nxlink.h"
169 #include "switch/runtime/resolver.h"
170 #include "switch/runtime/pad.h"
171 #include "switch/runtime/ringcon.h"
172 #include "switch/runtime/btdev.h"
173 
174 #include "switch/runtime/util/utf.h"
175 
180 #include "switch/runtime/devices/socket.h"
181 
182 #include "switch/crypto/aes.h"
183 #include "switch/crypto/aes_cbc.h"
184 #include "switch/crypto/aes_ctr.h"
185 #include "switch/crypto/aes_xts.h"
186 #include "switch/crypto/cmac.h"
187 
188 #include "switch/crypto/sha256.h"
189 #include "switch/crypto/sha1.h"
190 #include "switch/crypto/hmac.h"
191 
192 #include "switch/crypto/crc.h"
193 
194 #ifdef __cplusplus
195 }
196 #endif
197 
Account (acc:*) service IPC wrapper.
Hardware accelerated AES-ECB implementation.
Hardware accelerated AES-CBC implementation.
Hardware accelerated AES-CTR implementation.
Hardware accelerated AES-XTS implementation.
Wrapper for using the Album LibraryApplet.
Performance management (apm) service IPC wrapper.
Applet (applet) service IPC wrapper.
NS/NIM IAsync* IPC wrapper.
Audio Control IPC wrapper.
IAudioDevice IPC wrapper.
Audio input service.
Audio output service.
Audio Recorder IPC wrapper.
Audio renderer service.
AVM services IPC wrapper.
Multi-threading Barrier.
Board power control (bpc) service IPC wrapper.
Bluetooth user (bt) service IPC wrapper.
Wrapper around the bt/btmu services for using bluetooth BLE.
Bluetooth driver (btdrv) service IPC wrapper.
btm service IPC wrapper.
btm:sys (btm system) service IPC wrapper.
btm:u (btm user) service IPC wrapper.
AArch64 cache operations.
capmtp service IPC wrapper.
Common caps (caps:*) service IPC header.
Album Accessor (caps:a) service IPC wrapper.
Album Control (caps:c) service IPC wrapper.
Jpeg Decoder (caps:dc) service IPC wrapper.
Screenshot control (caps:sc) service IPC wrapper.
Application screenshot saving (caps:su) service IPC wrapper.
Application Album (caps:u) service IPC wrapper.
Clkrst service IPC wrapper.
Hardware accelerated AES-CMAC implementation.
Common Message Interface Framework protocol.
Condition variable synchronization primitive.
Framebuffer text console.
AArch64 system counter-timer.
Hardware accelerated CRC32 implementation.
Cryptographically-Secure Random Number Generation (csrng) service IPC wrapper.
Kernel capability detection.
Debugging and diagnostics utilities.
Audio driver (audren wrapper).
[11.0.0+] Error Context services IPC wrapper.
Homebrew environment definitions and utilities.
Wrapper for using the error LibraryApplet.
Kernel-mode event synchronization primitive.
Fan service IPC wrapper.
Fatal error (fatal:u) service IPC wrapper.
Framebuffer wrapper object, providing support for software rendered graphics.
Wrapper for using the MyPage (friends) LibraryApplet.
Filesystem (fsp-srv) service IPC wrapper.
FS driver, using devoptab.
FilesystemProxy-ForLoader (fsp-ldr) service IPC wrapper.
FilesystemProxy-ProgramRegistry (fsp-pr) service IPC wrapper.
GPIO service IPC wrapper.
GRC Game Recording (grc:*) service IPC wrapper.
Human input device (hid) service IPC wrapper.
Wrapper for using the controller LibraryApplet.
hidbus service IPC wrapper, for using external devices attached to HID controllers.
hid:dbg service IPC wrapper.
hid:sys service IPC wrapper.
Horizon Inter-Process Communication protocol.
Hardware accelerated HMAC-SHA(1, 256) implementation.
Horizon OS (HOS) version detection utilities.
Hardware Opus audio service IPC wrapper.
I2C service IPC wrapper.
INS services IPC wrapper.
HID IR sensor (irs) service IPC wrapper.
Just-in-time compilation support.
LBL service IPC wrapper.
LDN (local network communications) IPC wrapper.
Loader (ldr*) service IPC wrapper.
Light event synchronization primitive [4.0.0+].
LibraryApplet wrapper.
lp2p service IPC wrapper, for local-WLAN communications with accessories.
Location Resolver (lr) service IPC wrapper.
Mii services (mii:*) IPC wrapper.
Wrapper for using the MiiEdit LibraryApplet.
Mii image (miiimg) service IPC wrapper.
Mutex synchronization primitive.
Control.nacp structure / related code for nacp.
Native window (NWindow) wrapper object, used for presenting images to the display (or other sinks).
Content Manager (ncm) service IPC wrapper.
News service IPC wrapper.
Nintendo Figurine (amiibo) Platform (nfp:user) service IPC wrapper.
Wrapper for using the cabinet (amiibo) LibraryApplet.
Network interface service IPC wrapper.
Wrapper for using the nifm LibraryApplet (the launched applet varies).
Network Install Manager (nim) service IPC wrapper.
Alarm notification (notif:*) service IPC wrapper.
NRO headers.
NS services IPC wrapper.
NVIDIA low level driver (nvdrv*) service IPC wrapper.
Simple wrapper for the HID Npad API.
Parental Controls service IPC wrapper.
Wrapper for using the Parental Controls authentication LibraryApplet.
PCV service IPC wrapper.
PDM (pdm:*) service IPC wrapper.
PGL service IPC wrapper.
pl:u service IPC wrapper.
Process management (pm*) service IPC wrapper.
PSC service IPC wrapper.
Wrapper for using the playerSelect (user selection) LibraryApplet.
PSM service IPC wrapper.
OS-seeded pseudo-random number generation support (ChaCha algorithm).
Switch result code tools.
Wrapper for using the Ring-Con attached to a Joy-Con, with hidbus.
Relocatable Objects (ro) service IPC wrapper.
RomFS driver.
Read/write lock synchronization primitive.
Thread synchronization based on Mutex.
Service wrapper object.
Settings services IPC wrapper.
Hardware accelerated SHA1 implementation.
Hardware accelerated SHA256 implementation.
Shared memory object handling.
Service manager (sm) IPC wrapper.
ServiceManager-IManager (sm:m) service IPC wrapper.
Security Processor Liaison (spl*) service IPC wrapper.
SPSM service IPC wrapper.
Wrappers for kernel syscalls.
Wrapper for using the swkbd (software keyboard) LibraryApplet.
Temperature control (tc) service IPC wrapper.
Multi-threading support.
Time services IPC wrapper.
Tiny IPC protocol.
AArch64 thread local storage.
Transfer memory handling.
Temperature measurement (ts) service IPC wrapper.
Various system types.
UART service IPC wrapper.
User-mode event synchronization primitive.
Common USB (usb:*) service IPC header.
USB comms.
USB (usb:ds) service IPC wrapper.
USB (usb:hs) devices service IPC wrapper.
UTF conversion functions.
User-mode timer synchronization primitive.
Display (vi:*) service IPC wrapper.
Virtual memory mapping utilities.
User mode synchronization primitive waiting operations.
Wrapper for using the web LibraryApplets.
WLAN InfraManager service IPC wrapper.